@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/figtree-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/figtree-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/figtree-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/figtree-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Young Serif';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/young-serif-latin-400-normal.woff2) format('woff2')}
:root{
  --paper:#F5F7F4; --surface:#FFFFFF; --ink:#1F2D2B; --ink-2:#5E6B68; --ink-3:#66726F; --focus:#2E6E62;
  --line:#E2E9E5; --mist:#DCE8E1; --mist-2:#EEF4F0;
  --primary:#2E6E62; --primary-2:#4E9483; --primary-ink:#FFFFFF;
  --honey:#E9A23B; --honey-soft:#FCEFD9; --brick:#C4513A; --brick-soft:#F8E2DC; --ok:#3E8E5E; --ok-soft:#E1F1E6; --sky:#5A87B5; --plum:#8C6BB1;
  --radius:14px; --radius-sm:10px;
  --serif:'Young Serif', Georgia, serif; --sans:'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --shadow:0 1px 2px rgba(31,45,43,.05), 0 6px 24px -12px rgba(31,45,43,.12);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--primary)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2.5px solid var(--focus);outline-offset:2px;border-radius:6px}
h1,h2,h3{margin:0;font-weight:400}
h1{font-family:var(--serif);font-size:30px;line-height:1.15;letter-spacing:-.2px}
h2{font-family:var(--serif);font-size:21px;line-height:1.25}
h3{font-size:15px;font-weight:600}
.muted{color:var(--ink-2)} .small{font-size:13px} .tiny{font-size:12px;color:var(--ink-3)}
.num{font-variant-numeric:tabular-nums}

/* ---------- marca ---------- */
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:23px;color:var(--ink);letter-spacing:-.3px;padding-left:4px}
.brand img{width:36px;height:36px}
.auth-art .brand{color:#F7F3E8;font-size:27px}.auth-art .brand img{width:44px;height:44px}
.mobile-top .brand{font-size:20px}.mobile-top .brand img{width:30px;height:30px}

/* ---------- autenticação ---------- */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.auth-art{background:var(--primary);color:#F7F3E8;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}

.auth-art blockquote{margin:0;font-family:var(--serif);font-size:34px;line-height:1.2;max-width:15ch}
.auth-art p{max-width:42ch;opacity:.85}
.auth-art svg.wave{position:absolute;right:-40px;top:34%;width:560px;opacity:.16}
.auth-form{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.auth-card{width:100%;max-width:380px}
.auth-card h1{margin-bottom:6px}
.auth-card form{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.auth-card .switch{margin-top:18px;font-size:14px;color:var(--ink-2)}
.auth-mobile-logo{display:none!important;margin-bottom:28px}
@media (max-width:860px){.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-mobile-logo{display:flex!important}}

/* ---------- formulários ---------- */
label.f{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--ink-2);font-weight:500}
.input,select.input,textarea.input{width:100%;padding:10px 12px;border:1px solid #CFDAD5;background:var(--surface);border-radius:var(--radius-sm);font-size:15px;color:var(--ink)}
.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(46,110,98,.15)}
textarea.input{min-height:84px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink)}
.check input{margin-top:3px;accent-color:var(--primary);width:17px;height:17px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid transparent;background:var(--primary);color:#fff;font-weight:600;cursor:pointer;text-decoration:none;font-size:14.5px;transition:background .15s}
.btn:hover{background:#255a50}
.btn.ghost{background:transparent;color:var(--primary);border-color:#BFD3CB}
.btn.ghost:hover{background:var(--mist-2)}
.btn.danger{background:var(--brick)} .btn.danger:hover{background:#a8432f}
.btn.sm{padding:6px 12px;font-size:13px}
.btn[disabled]{opacity:.55;cursor:default}
.alert{padding:11px 14px;border-radius:var(--radius-sm);font-size:14px}
.alert.err{background:var(--brick-soft);color:#7d2b1c}
.alert.ok{background:var(--ok-soft);color:#245a3a}
.alert.info{background:var(--mist-2);color:var(--ink)}
.alert.warn{background:#FBF1DC;color:#6E4A0C}
.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}

/* ---------- estrutura do app ---------- */
.app{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;padding:24px 16px;display:flex;flex-direction:column;gap:22px;border-right:1px solid var(--line);background:var(--surface)}

.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--ink-2);text-decoration:none;font-weight:500}
.nav a svg{width:20px;height:20px;flex:none}
.nav a:hover{background:var(--mist-2);color:var(--ink)}
.nav a[aria-current=page]{background:var(--mist);color:var(--primary);font-weight:600}
.nav .sep{height:1px;background:var(--line);margin:10px 6px}
details>summary::-webkit-details-marker{display:none}
.nav button{all:unset;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--ink-2);cursor:pointer;font-weight:500}
.nav button svg{width:20px;height:20px;flex:none}
.nav button:hover{background:var(--mist-2);color:var(--ink)}
.nav button[aria-current=page]{background:var(--mist);color:var(--primary);font-weight:600}
.nav button:focus-visible{outline:2.5px solid var(--focus)}
.side .who{margin-top:auto;padding:12px;border-radius:12px;background:var(--mist-2);font-size:13px}
.side .who b{display:block;font-size:14px}
.side .who a{font-size:13px}
.main{padding:28px 36px 60px;max-width:1240px;width:100%}
.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.page-head p{margin:6px 0 0;color:var(--ink-2);max-width:62ch}
.view[hidden]{display:none}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.card h2{margin-bottom:4px}
.card .sub{margin:0 0 14px;color:var(--ink-2);font-size:13.5px}
.stack{display:flex;flex-direction:column;gap:18px}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.seg{display:inline-flex;background:var(--mist-2);border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button{all:unset;cursor:pointer;padding:6px 12px;border-radius:999px;font-size:13px;color:var(--ink-2);font-weight:500}
.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.seg button:focus-visible{outline:2px solid var(--focus)}
.mobile-top{display:none}
.tabbar{display:none}

/* ---------- status ---------- */
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}
.st-out{color:#A8432F} .st-near{color:#8F5A0B} .st-ok{color:#2F7A4C} .st-none{color:var(--ink-3)}
.bg-out{background:var(--brick)} .bg-near{background:var(--honey)} .bg-ok{background:var(--ok)} .bg-none{background:#C6D0CC}
.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap}
.pill.out{background:var(--brick-soft);color:#8f3523}.pill.near{background:var(--honey-soft);color:#8a5a10}.pill.ok{background:var(--ok-soft);color:#2c6a45}.pill.none{background:var(--mist-2);color:var(--ink-2)}

/* ---------- resumo: mapa do corpo ---------- */
.story{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:28px;align-items:start}
.bodymap{background:linear-gradient(180deg,var(--mist-2),var(--surface));border:1px solid var(--line);border-radius:20px;padding:18px 10px 10px;position:relative}
.bodymap svg{width:100%;height:auto;display:block}
.bodymap .organ{cursor:pointer;transition:filter .15s, opacity .15s}
.bodymap .organ:hover,.bodymap .organ.sel{filter:drop-shadow(0 0 6px rgba(31,45,43,.35))}
.bodymap .organ:focus-visible{outline:none;filter:drop-shadow(0 0 3px var(--focus)) drop-shadow(0 0 1px var(--focus))}
.bodymap .legend{display:flex;gap:14px;justify-content:center;font-size:12px;color:var(--ink-2);padding:8px 0 4px;flex-wrap:wrap}
.bodymap .legend span{display:inline-flex;align-items:center;gap:6px}
.organ-panel h2{display:flex;align-items:center;gap:10px}
.mk-list{display:flex;flex-direction:column}
.mk-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--line);cursor:pointer;background:none;border-left:0;border-right:0;border-top:0;text-align:left;width:100%}
.mk-row:hover{background:var(--mist-2)}
.mk-row .v{font-weight:600;font-variant-numeric:tabular-nums}
.mk-row .r{font-size:12px;color:var(--ink-3);min-width:92px;text-align:right}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.attn{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
.metric{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}
.metric .k{font-size:12.5px;color:var(--ink-2)}
.metric .v{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px;line-height:1.2}
.metric .v small{font-size:13px;font-weight:500;color:var(--ink-2);margin-left:3px}
.metric .h{font-size:12px;margin-top:4px}
.attn{gap:10px}
.attn-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.attn-item .pill{margin-top:1px}

/* ---------- exames ---------- */
.lab{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}
.mk-nav{max-height:calc(100vh - 140px);overflow:auto;position:sticky;top:20px;padding:10px}
.mk-nav input{margin-bottom:8px}
.mk-group{font-size:12px;color:var(--ink-3);font-weight:600;padding:12px 8px 4px}
.mk-btn{all:unset;box-sizing:border-box;display:grid;grid-template-columns:10px minmax(0,1fr) 64px;gap:10px;align-items:center;width:100%;padding:7px 8px;border-radius:9px;cursor:pointer;font-size:14px}
.mk-btn:hover{background:var(--mist-2)}
.mk-btn[aria-pressed=true]{background:var(--mist)}
.mk-btn:focus-visible{outline:2px solid var(--focus)}
.mk-btn canvas{width:64px;height:22px}
.chart-wrap{position:relative;height:340px}
.chart-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:10px}
.big{font-size:34px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}
.big small{font-size:15px;color:var(--ink-2);font-weight:500;margin-left:4px}
.crit{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--mist-2);font-size:13.5px}
table.t{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
table.t th{text-align:left;font-weight:600;color:var(--ink-2);font-size:12.5px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0}
table.t td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
table.t td.n,table.t th.n{text-align:right}
.tbox{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:12px}
.icon-btn{all:unset;cursor:pointer;padding:4px 6px;border-radius:6px;color:var(--ink-3)}
.icon-btn:hover{background:var(--mist-2);color:var(--ink)}

/* ---------- upload ---------- */
.drop{border:2px dashed #BFD3CB;border-radius:18px;padding:40px 20px;text-align:center;background:var(--surface);cursor:pointer;transition:background .15s,border-color .15s}
.drop:hover,.drop.over{background:var(--mist-2);border-color:var(--primary)}
.drop svg{width:44px;height:44px;color:var(--primary)}
.drop b{display:block;font-size:17px;margin:8px 0 4px}
.review td .input{padding:6px 8px;font-size:14px}
.review select.input{min-width:170px}
.progress{height:6px;background:var(--mist);border-radius:99px;overflow:hidden}
.progress i{display:block;height:100%;width:40%;background:var(--primary);animation:slide 1.2s infinite ease-in-out}
@keyframes slide{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}

/* ---------- recomendações ---------- */
.recs{display:flex;flex-direction:column;gap:12px}
.rec{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:8px;border-left:4px solid var(--line)}
.rec.p-alta{border-left-color:var(--brick)} .rec.p-media{border-left-color:var(--honey)} .rec.p-baixa{border-left-color:var(--primary-2)}
.rec-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.rec-top h3{font-size:16px}
.rec .tipo{font-size:12.5px;color:var(--ink-2);background:var(--mist-2);padding:2px 10px;border-radius:99px}
.rec p{margin:0;line-height:1.55}
.rec .lab{display:block;font-size:12px;color:var(--ink-3);font-weight:600;margin-bottom:1px}
.rec .src{font-size:12.5px;color:var(--ink-2)}
.disclaimer{font-size:13px;color:var(--ink-2);background:var(--honey-soft);border-radius:12px;padding:12px 14px}

/* ---------- corpo ---------- */
.calc-list{display:flex;flex-direction:column}
.calc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--line)}
.calc .v{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.calc .d{grid-column:1/-1;font-size:12.5px;color:var(--ink-2)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;z-index:50;box-shadow:var(--shadow)}
.empty{padding:28px;text-align:center;color:var(--ink-2)}
.empty b{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}
dialog{border:none;border-radius:18px;padding:24px;max-width:520px;width:calc(100% - 32px);box-shadow:0 20px 60px -20px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(31,45,43,.35)}

@media (max-width:1100px){.story{grid-template-columns:minmax(0,1fr)}.bodymap{max-width:420px;margin:0 auto;width:100%}.lab{grid-template-columns:minmax(0,1fr)}.mk-nav{position:static;max-height:300px}.row3{grid-template-columns:1fr 1fr}}
@media (max-width:820px){
  .app{grid-template-columns:minmax(0,1fr);align-content:start}
  .side{display:none}
  .mobile-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:20}
  
  .main{padding:20px 16px 96px}
  .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);z-index:30;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .tabbar button{all:unset;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--ink-2);padding:4px 6px;border-radius:8px;cursor:pointer}
  .tabbar button svg{width:22px;height:22px}
  .tabbar button[aria-current=page]{color:var(--primary);font-weight:600}
  .row2,.row3{grid-template-columns:1fr}
  .metrics{grid-template-columns:1fr 1fr}
  .attn{grid-template-columns:1fr}
  .mk-row{grid-template-columns:14px minmax(0,1fr) auto}
  .mk-row .r{display:none}
  h1{font-size:25px}
  .chart-wrap{height:280px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.side,.tabbar,.mobile-top,.no-print{display:none!important}.app{display:block}.main{padding:0}.card,.rec{break-inside:avoid}}

/* ---------- envio em lote e conferência ---------- */
.qlist{display:flex;flex-direction:column}
.qrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}
.qname{display:flex;flex-direction:column;gap:3px;min-width:0;word-break:break-word}
.crow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.cact{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.cact select.input{max-width:220px;padding:6px 10px;font-size:14px}
.cact .input{padding:6px 10px;font-size:14px}
@media (max-width:820px){.crow{grid-template-columns:1fr}.cact{justify-content:flex-start}}

/* peso e bioimpedância detalhada */
.wrow{display:flex;gap:18px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.wrow>div:first-child{flex:1 1 280px;min-width:0}
.wform{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.wform .f{margin:0}
.wlist{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.wchip{background:var(--mist-2);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;color:#5E6B68}
.wchip b{color:#1F2D2B}
.wchip .up{color:#B5563A;font-weight:600}.wchip .down{color:#2E6E62;font-weight:600}
.bio-detail{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:26px;align-items:start}
.segfigs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.segfig{margin:0;text-align:center}
.segfig svg{width:100%;height:auto;max-width:220px}
.segfig figcaption{font-size:12.5px;font-weight:600;color:#5E6B68;margin-top:2px}
@media (max-width:980px){.bio-detail{grid-template-columns:minmax(0,1fr)}.segfigs{max-width:440px;margin:0 auto;width:100%}}

/* exames em cards */
.xfilters{display:flex;flex-direction:column;gap:12px;padding:16px}
.xf-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.xf-row>.tiny{min-width:62px}
.xf-row input[type=search]{flex:1 1 240px;min-width:0}
.xf-row select{flex:0 1 220px;width:auto}
.seg.chips button .cnt{display:inline-block;margin-left:6px;font-size:11.5px;color:var(--ink-3);font-weight:600}
.seg button.warn[aria-pressed=true]{background:var(--brick);color:#fff}
.xgroup{font-size:19px;margin:22px 2px 10px}
.xgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.xcard{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 14px 12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s,transform .15s,border-color .15s;border-top:4px solid #C6D0CC;min-width:0}
.xcard.st-out{border-top-color:#C4513A}.xcard.st-near{border-top-color:#E9A23B}.xcard.st-ok{border-top-color:#3E8E5E}
.xcard:hover{box-shadow:0 10px 26px -14px rgba(31,45,43,.35);transform:translateY(-1px)}
.xcard:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.xc-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.xc-top h3{font-size:15.5px;margin:0;line-height:1.25;overflow-wrap:anywhere}
.xc-val{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.xc-val b{font-size:24px;font-weight:700;letter-spacing:-.01em}
.xc-val .u{font-size:12.5px;color:var(--ink-3)}
.xc-val .dl{margin-left:auto;font-size:12px;color:var(--ink-2);font-weight:600}
canvas.mini{width:100%;height:86px;display:block}
.mini-empty{height:86px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink-3);background:var(--mist-2);border-radius:10px;text-align:center;padding:0 8px}
.xc-foot{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--ink-3);flex-wrap:wrap}
.xc-flag{position:absolute;top:-11px;right:12px}
dialog.wide{max-width:920px;width:calc(100% - 32px);max-height:calc(100vh - 40px);overflow:auto;padding:0}
dialog.wide>*{margin-left:24px;margin-right:24px}
.xd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;position:sticky;top:0;background:var(--surface);padding:20px 0 10px;z-index:2;border-bottom:1px solid var(--line);margin-bottom:14px}
.xd-head h2{margin:2px 0 0}
.xd-close{font-size:18px}
.xd-sum{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px}
.xd-sum-r{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.xd-chart{height:280px}
.xd-sec{margin-top:22px;padding-bottom:4px}
.xd-sec:last-child{padding-bottom:24px}
.xd-sec>h3{font-size:17px;margin:0 0 10px}
.xd-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.xd-info{background:var(--mist-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.xd-two .xd-info{margin-bottom:12px}
.xd-info h4{margin:0 0 4px;font-size:14px;display:flex;align-items:center;flex-wrap:wrap}
.xd-info p{margin:0;font-size:14px;line-height:1.55}
.xd-info.hl{background:var(--brick-soft);border-color:#EBC3B5}
@media (max-width:700px){.xd-two{grid-template-columns:minmax(0,1fr)}dialog.wide{max-height:100vh;height:100vh;width:100%;max-width:100%;border-radius:0}dialog.wide>*{margin-left:16px;margin-right:16px}.xd-chart{height:230px}.xgrid{grid-template-columns:minmax(0,1fr)}.xf-row>.tiny{min-width:0;width:100%}.xfilters .seg{flex-wrap:nowrap;overflow-x:auto;max-width:100%;border-radius:14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.xfilters .seg::-webkit-scrollbar{display:none}.xfilters .seg button{white-space:nowrap;flex:0 0 auto}.xf-row select{flex:1 1 100%}.xfilters{gap:8px}}

/* administração: provedores de IA */
.prov-pick{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.prov{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;background:var(--surface)}
.prov:has(input:checked){border-color:#2E6E62;background:var(--mist-2);box-shadow:0 0 0 1px #2E6E62 inset}
.prov input{margin-top:3px;accent-color:#2E6E62}
.prov>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.prov-box{border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.prov-box summary{cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:4px}

/* módulo médico */
.acting-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--honey-soft);border:1px solid #F1D29C;border-radius:14px;padding:10px 14px;margin-bottom:18px;font-size:14px}
.ac-wrap{position:relative;flex:1 1 260px;min-width:0}
.ac-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px -14px rgba(31,45,43,.35);max-height:300px;overflow:auto;padding:4px}
.ac-opt{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px;line-height:1.35}
.ac-opt.on,.ac-opt:hover{background:var(--mist-2)}
.rx-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rx-items{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.rx-item{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}
.rx-item.ex{flex-direction:row;align-items:center;flex-wrap:wrap}
.rx-item.ex .rx-n{flex:1 1 220px}
.rx-item.blocked{border-color:#EBC3B5;background:var(--brick-soft)}
.rx-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rx-n{font-weight:600;font-size:14.5px}
.rx-grid{display:flex;gap:8px;flex-wrap:wrap}
.rx-grid>.input{flex:1 1 200px}
.rx-q{display:flex;gap:6px}
.rx-cls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rx-foot{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:sticky;bottom:0;background:var(--surface);padding:14px 0 20px;border-top:1px solid var(--line);margin-top:18px;z-index:3}
.chips-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--mist-2);border:1px solid var(--line);border-radius:999px;padding:5px 6px 5px 12px;font-size:13px;max-width:100%}
.chip-x{all:unset;cursor:pointer;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--ink-2)}
.chip-x:hover{background:var(--line)}
.chip-x:focus-visible{outline:2px solid var(--focus)}
.rx-sugg{background:var(--mist-2);border-radius:14px;padding:12px 16px;margin:0 0 6px}
.rx-sugg>summary{cursor:pointer;list-style-position:inside}
.rx-sugg-rec{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.bulk-list{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:8px 12px;display:flex;flex-direction:column;gap:6px}
.pt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.pt-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}
.pt-card.pend{border-style:dashed}
.pt-main h3{margin:0 0 2px;font-size:17px}
.pt-meta{display:flex;flex-direction:column;gap:4px}
.pt-act,.app-act{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.app-row,.tpl-row,.rx-doc{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.tpl-row,.rx-doc{grid-template-columns:minmax(0,1fr) auto}
.app-date{display:flex;flex-direction:column;align-items:center;min-width:52px;background:var(--mist-2);border-radius:10px;padding:6px 8px}
.rx-doc-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:3px}
.verify{max-width:720px;margin:0 auto;padding:32px 16px 60px}
.verify-form{display:flex;gap:10px;align-items:flex-end;margin:18px 0}
.verify-card{margin-top:8px;border-top:5px solid #3E8E5E}
.verify-card.bad{border-top-color:#C4513A}
.verify-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.verify-dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 12px;margin:0;font-size:14px}
.verify-dl dt{color:var(--ink-2)}
.verify-dl dd{margin:0}
.verify-items{padding-left:20px;line-height:1.55;margin:0}
.verify-note{margin-top:16px;line-height:1.5}
@media (max-width:700px){.app-row,.tpl-row,.rx-doc{grid-template-columns:minmax(0,1fr)}.app-row .app-date{flex-direction:row;gap:6px;justify-self:start}.pt-list{grid-template-columns:minmax(0,1fr)}.verify-dl{grid-template-columns:minmax(0,1fr)}.rx-foot{justify-content:stretch}.rx-foot .btn{flex:1 1 auto}}

.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

/* análise integrada (IA) */
.ins-box{margin-bottom:8px;display:flex;flex-direction:column;gap:14px;border-top:4px solid var(--primary)}
.ins-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.ins-head h2{display:flex;align-items:center}
.ins-stale{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--honey-soft);color:#8a5a10;border-radius:var(--radius-sm);padding:6px 6px 6px 12px}
.ins-sum{margin:0;font-size:15.5px;line-height:1.6;background:var(--mist-2);border-radius:var(--radius-sm);padding:12px 14px}
.ins-wait{display:flex;flex-direction:column;gap:10px;padding:10px 0}
.ins-empty{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.rec.ins.calm{border-left-color:var(--ok)}
.ins-chips{display:flex;flex-wrap:wrap;gap:6px}
.ins-org{font-size:12px;font-weight:600;color:var(--primary);background:var(--mist-2);border-radius:99px;padding:3px 10px}
.ins-mk{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;border:1px solid var(--line);border-radius:99px;padding:3px 10px;background:var(--surface)}
.ins-mk:hover{border-color:var(--primary-2)} .ins-mk:focus-visible{outline:2px solid var(--focus)}
.ins-mk .dot{width:8px;height:8px}
.ins-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.ins-cols h3{font-size:15px;margin:0 0 6px}
.ins-cols ul{margin:0;padding-left:18px;line-height:1.7}
.head-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}

/* tabela de usuários (admin) vira cartões no celular */
.t-cards td.acts{min-width:240px}
@media (max-width:760px){
  .tbox:has(.t-cards){overflow:visible;max-height:none;border:0;background:none}
  .t-cards,.t-cards tbody,.t-cards tr,.t-cards td{display:block;width:100%}
  .t-cards thead{display:none}
  .t-cards tr{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}
  .t-cards td{border:0!important;padding:5px 0!important;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;overflow-wrap:anywhere}
  .t-cards td::before{content:attr(data-label);flex:0 0 96px;font-size:12px;color:var(--ink-3);font-weight:600}
  .t-cards td.acts{min-width:0;display:block;padding-top:10px!important}
  .t-cards td.acts::before{display:none}
  .t-cards td.acts form .btn{flex:1 1 auto}
}

/* botões do topo no celular: Consultório, Admin e Sair cabem juntos */
.mt-acts{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.mt-acts form{margin:0}
@media (max-width:460px){.mobile-top:has(.mt-acts > :nth-child(3)) .brand span{display:none}.mt-acts .btn.sm{padding-left:11px;padding-right:11px}}

/* remédios em uso */
.meds-box{display:flex;flex-direction:column;gap:14px}
.meds-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.meds-head .sub{max-width:640px}
.meds{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.med{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--primary-2);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.med.k-hormonio{border-left-color:var(--honey)} .med.k-suplemento{border-left-color:var(--ok)} .med.k-formula{border-left-color:var(--plum)}
.med.off{opacity:.75;background:var(--mist-2)}
.med-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.med-top h3{font-size:16px;margin:0;min-width:0;overflow-wrap:anywhere}
.med .tipo{font-size:12px;color:var(--ink-2);background:var(--mist-2);padding:2px 10px;border-radius:99px}
.med-comp{display:flex;flex-wrap:wrap;gap:5px}
.med-comp .comp{font-size:12px;padding:2px 9px;border-radius:99px;background:var(--mist-2);color:var(--ink-2)}
.med-comp .comp.hit{background:#EEE7F6;color:#5B3F80;font-weight:600}
.med-comp small{font-weight:400;opacity:.8}
.med .lab{display:block;font-size:12px;color:var(--ink-3);font-weight:600;margin-bottom:4px}
.med-eff .chips-row{display:flex;flex-wrap:wrap;gap:6px}
.eff-chip{all:unset;cursor:pointer;font-size:12.5px;padding:3px 10px;border-radius:99px;border:1px solid var(--line);background:var(--surface)}
.eff-chip b{color:var(--primary)}
.eff-chip.int b{color:#8a5a10}
.eff-chip:hover:not(:disabled){border-color:var(--primary-2)}
.eff-chip:focus-visible{outline:2px solid var(--focus)}
.eff-chip.nodata{cursor:default;color:var(--ink-3);border-style:dashed}
.med-ba{background:var(--mist-2);border-radius:var(--radius-sm);padding:8px 10px}
.ba-row{display:grid;grid-template-columns:minmax(96px,1fr) auto 12px auto auto;gap:6px 8px;align-items:baseline;font-size:13px;padding:2px 0}
.ba-row>span{min-width:0;overflow-wrap:break-word;hyphens:auto}
.med-intf{font-size:12.5px;background:var(--honey-soft);color:#6f4a0e;border-radius:var(--radius-sm);padding:7px 10px;margin-bottom:6px;line-height:1.5}
.ba-row small{color:var(--ink-3);font-size:11px}
.ba-row .up{color:#8f3523}.ba-row .down{color:#2c6a45}
.med-act{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.btn.danger-t{color:var(--brick)}
.meds-past summary{cursor:pointer;font-weight:600;color:var(--ink-2);margin-bottom:10px}
dialog.wide-form{max-width:760px;width:calc(100% - 24px)}
.rxr{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.rxr.dup{background:var(--mist-2)}
.rxr-h{align-items:center}
.rxr-h b{font-size:15px}
.xd-meds{display:flex;flex-direction:column;gap:8px}
.xd-med{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;background:#F6F2FA;border:1px solid #E4DBEF;border-radius:var(--radius-sm);padding:10px 12px}
.xd-med.off{background:var(--mist-2);border-color:var(--line)}
.eff-d{width:28px;height:28px;border-radius:50%;background:#EEE7F6;color:#5B3F80;display:flex;align-items:center;justify-content:center;font-weight:700}
.eff-d.int{background:var(--honey-soft);color:#8a5a10}
.xd-med .src{font-size:12px;color:var(--ink-2);margin-top:2px}
@media (max-width:700px){.meds{grid-template-columns:minmax(0,1fr)}.ba-row{grid-template-columns:minmax(90px,1fr) auto 12px auto}.ba-row>span:last-child{display:none}}

/* cartões de remédio compactos: listas longas recolhidas */
.meds{align-items:start}
.clamp-hid{display:none!important}
.more-btn{all:unset;cursor:pointer;font-size:12px;font-weight:600;color:var(--primary);padding:3px 10px;border-radius:99px;background:var(--mist-2)}
.more-btn:hover{background:var(--mist)}
.more-btn:focus-visible{outline:2px solid var(--focus)}
.med-ba .more-btn{margin-top:4px;display:inline-block}
details.med-intf summary{cursor:pointer;list-style:none}
details.med-intf summary::-webkit-details-marker{display:none}
details.med-intf summary::after{content:' ▾';opacity:.7}
details.med-intf[open] summary::after{content:' ▴'}

.ba-row{grid-template-columns:minmax(0,1fr) auto 12px auto 52px!important;column-gap:8px}
.ba-row .ba-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ba-row>span:last-child{text-align:right}
.ba-dates{font-weight:400}
@media (max-width:700px){.ba-row{grid-template-columns:minmax(0,1fr) auto 12px auto!important}}
.med-act{align-items:center}
.med-act .btn.sm{padding-left:12px;padding-right:12px}
.med-act .danger-t{margin-left:auto;color:var(--brick)}

/* 1.9.3 — "aguardando conferência", unidade diferente e "precisa de atenção agora" */
.st-rev{color:#5B4A9E} .bg-rev{background:#7E6BC4} .pill.rev{background:#ECE8F8;color:#4A3A8C}
.xcard.st-rev{border-top-color:#7E6BC4}
.urgent{border:1px solid #F1C7BD;border-left:4px solid var(--brick);margin-bottom:18px}
.urgent h2{margin:0}
.urg-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 12px;align-items:start;padding:10px 0;border-top:1px solid var(--line)}
.urg-item:first-of-type{border-top:0}
.urg-item .pill{white-space:nowrap}
.urg-act{display:flex;gap:6px}
@media (max-width:560px){.urg-item{grid-template-columns:1fr}.urg-act{justify-content:flex-start}}
.toast.err{background:#8f2f1f;border-radius:14px;display:flex;gap:12px;align-items:center;max-width:min(560px,calc(100vw - 32px));padding:12px 12px 12px 18px}
.toast.err span{flex:1}
.toast-x{all:unset;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:15px}
.toast-x:hover{background:rgba(255,255,255,.15)} .toast-x:focus-visible{outline:2px solid #fff;outline-offset:1px}
dialog .toast{position:sticky;bottom:0;left:auto;transform:none;margin-top:12px}

/* 1.9.4 — celular, acessibilidade e cores com um só significado */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tabbar button:focus-visible,.icon-btn:focus-visible,.toast-x:focus-visible{outline:2.5px solid var(--focus);outline-offset:2px}
.icon-btn{min-width:32px;min-height:32px;display:inline-grid;place-items:center;box-sizing:border-box}
.recs-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}
@media (max-width:820px){.recs-layout{grid-template-columns:minmax(0,1fr)}.tabbar button{min-width:48px;min-height:44px;justify-content:center;box-sizing:border-box}}
.status-strip{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.ss-i{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;min-height:40px;cursor:pointer;font-size:14px;color:var(--ink)}
.ss-i:hover{border-color:var(--primary-2)} .ss-i b{font-size:15px}
.cmp-more{margin:0 0 16px} .cmp-more summary{cursor:pointer;font-size:13px;color:var(--ink-2);padding:8px 0;min-height:32px}
.prio{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:3px 10px 3px 8px;white-space:nowrap}
.prio i{display:inline-block;width:4px;border-radius:2px;background:var(--line);margin-right:1px}
.prio i:nth-child(1){height:7px} .prio i:nth-child(2){height:10px} .prio i:nth-child(3){height:13px;margin-right:6px}
.prio-alta i,.prio-media i:nth-child(-n+2),.prio-baixa i:nth-child(1){background:var(--ink)}
.prio-alta{color:var(--ink);border-color:var(--ink-3)}
.st-tag{display:inline-block;margin-left:6px;font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--mist-2);vertical-align:1px}
.st-tag.st-out{background:var(--brick-soft);color:#8f3523}.st-tag.st-near{background:var(--honey-soft);color:#7a4e0c}.st-tag.st-ok{background:var(--ok-soft);color:#2c6a45}
.calc .v.est{color:var(--ink-2)}
.pill.crit{background:#8f2f1f;color:#fff}

/* variação dentro da variação biológica do exame (LS-2026-035) */
.dl.dl-bio{opacity:.55}

/* lote 9: contexto, condições, consulta, metas, adesão e diário */
.x-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.x-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line,#E2E9E5);border-radius:10px;min-height:44px}
.x-list li .check{margin:0}
.goal{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line,#E2E9E5);flex-wrap:wrap}
.goal:first-of-type{border-top:0}
.dots{display:inline-flex;gap:4px;align-items:center;margin-top:4px}
.dots i{width:12px;height:12px;border-radius:50%;border:1.5px solid #8FB5AA;display:inline-block}
.dots i.on{background:#2E6E62;border-color:#2E6E62}
.medchk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}
.water .progress{margin-top:6px;max-width:420px}
.x-row{margin-bottom:18px;align-items:start}
.x-row>.card{margin-bottom:0}
@media (max-width:760px){.x-row{grid-template-columns:1fr}}
.water .progress{height:10px}.water .progress i{animation:none}

/* LS-2026-043: área de toque de 44 px no celular (WCAG 2.5.5); tabelas viram cartões abaixo */
@media (max-width:760px),(pointer:coarse){
  .btn,.btn.sm,a.btn,.seg button,.chips button,.ss-i,.eff-chip,.more-btn,.icon-btn,.linkbtn.big,.pt-act .btn{min-height:44px}
  .icon-btn{min-width:44px}
  .seg button,.chips button,.eff-chip,.more-btn{padding-top:8px;padding-bottom:8px}
  .input,select.input{min-height:44px}
  summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
  label.check{min-height:44px;align-items:center}
  label.check input[type=checkbox]{width:22px;height:22px}
  .x-list li .check{min-height:44px}
}
@media (max-width:760px),(pointer:coarse){.mk-row{min-height:44px}.cmp-more>summary{min-height:44px}}
@media (max-width:760px),(pointer:coarse){.attn-item a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}}
/* auditoria 15 (F15): links de fonte com área de toque maior no celular */
@media (max-width:760px),(pointer:coarse){.src a,.xd-info a,p.tiny a,.ins .src a{display:inline-block;padding:12px 0;line-height:20px}}

/* página Peptídeos */
.pep-sec{margin-bottom:26px}
.pep-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.pep-h h2{margin:0}
.pep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.pep-mine.off{opacity:.75}
.pep-exams{list-style:none;margin:8px 0;padding:0;display:grid;gap:4px;font-size:14px}
.pep-exams .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:1px}
.pep-doc{background:#FCEFD9;border-left:3px solid #E9A23B;padding:8px 12px;border-radius:8px;font-size:14px;margin:10px 0}
.pep-pick{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.pep-pick button{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:6px 12px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--ink)}
.pep-pick button[aria-pressed=true]{background:#2E6E62;color:#fff;border-color:#2E6E62}
.pep-stage{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;align-items:stretch}
.pep-stage-3d{position:relative;height:520px;border-radius:var(--radius);overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#1B3431,#0E1A18 70%);color:#E8F2EF}
.pep-stage-3d.pep-flat{background:var(--surface);color:var(--ink);display:flex;align-items:center;justify-content:center;padding:12px}
.pep-stage-3d canvas{width:100%!important;height:100%!important;display:block;touch-action:none;cursor:grab}
.pep-stage-3d .b3-labels{position:absolute;inset:0;pointer-events:none}
.pep-stage-3d .b3-label{position:absolute;left:0;top:0;margin:-34px 0 0 0;translate:-50% 0;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;background:rgba(14,26,24,.85);border:1px solid rgba(143,227,207,.3);white-space:nowrap;color:#E8F2EF}
.pep-stage-3d .b3-label.st-rev{color:#D6CCF5;border-color:rgba(149,131,214,.7)}
.pep-stage-3d .b3-label.st-out{color:#FFB3A5;border-color:rgba(226,97,74,.7)}
.pep-stage-3d .b3-label.st-near{color:#FFD99A;border-color:rgba(240,176,74,.7)}
.pep-stage-3d .b3-tip{position:absolute;pointer-events:none;font-size:12.5px;background:rgba(14,26,24,.92);border:1px solid rgba(143,227,207,.3);padding:4px 10px;border-radius:8px;color:#E8F2EF}
.pep-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;overflow:auto;max-height:520px}
.pep-panel h3{margin:0 0 6px}
.pep-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin:6px 0 10px}
.pep-legend i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.pep-organ h4{margin:10px 0 4px}
.pep-list{display:grid;gap:10px}
.pep-card summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;min-height:44px}
.pep-name{font-weight:700;font-size:17px}
.pep-body{margin-top:10px}
.pep-reg{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:10px 0}
.pep-reg>div{background:var(--mist,#EEF4F0);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.pep-risks{margin:6px 0;padding-left:18px;display:grid;gap:6px}
.pep-dose{border:1px dashed #C4513A;border-radius:12px;padding:10px 12px;margin:10px 0}
.pep-dose h4{margin:0 0 6px}
.pep-dose ul{margin:0;padding-left:18px;display:grid;gap:6px}
.pep-link{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px;text-decoration:none;color:inherit;min-height:44px}
.pep-link .pep-go{margin-left:auto;font-size:22px;color:var(--primary)}
.bg-rev{background:#7E6BC4}
@media (max-width:860px){.pep-stage{grid-template-columns:1fr}.pep-stage-3d{height:440px}.pep-panel{max-height:none}}
@media (max-width:760px),(pointer:coarse){.pep-pick button{min-height:44px}}
.pep-alerts ul{margin:6px 0;padding-left:0;list-style:none;display:grid;gap:6px;font-size:14px}
.pep-alerts h4{margin:10px 0 4px}
.pep-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
@media (max-width:760px),(pointer:coarse){.pep-dose a,.pep-alerts a,.pep-src a{display:inline-block;padding:12px 0;line-height:20px}}
/* 2.2.0: família vê os exames liberados, sem enviar nem alterar */
body[data-readonly] .nav [data-view=enviar],body[data-readonly] .tabbar [data-view=enviar]{display:none!important}
.nav a.nav-bill{margin-top:2px}
/* 2.4.0: Peptídeos por objetivo e WikiPeptídeos */
.pep-tabs{margin-bottom:16px;flex-wrap:wrap}
.pep-tabs button{min-height:44px;display:inline-flex;align-items:center;padding:6px 16px;font-size:14.5px}
.pep-tabs button[aria-pressed=true]{font-weight:700}
.pep-goals{flex-wrap:wrap;gap:6px;border-radius:18px;padding:6px}
.pep-goals button{min-height:44px;display:inline-flex;align-items:center;padding:6px 16px;font-size:14.5px;background:var(--surface);border:1px solid var(--line)}
.pep-goals button[aria-pressed=true]{background:#2E6E62;color:#fff;border-color:#2E6E62}
.pep-aviso{background:var(--mist,#EEF4F0);border-radius:10px;padding:8px 12px;margin:8px 0}
.pep-res-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pep-res-h h3{margin:0}
.pep-obj{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}
.pep-dose.compact{padding:8px 10px}
.pep-dose.compact h4{font-size:14px}
.pep-idx{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 14px;font-size:14px}
.pep-idx a{color:var(--primary);text-decoration:none;padding:4px 0}
.pep-ads-t{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:14px;margin:6px 0 10px}
.pep-ads-t>div{display:grid;grid-template-columns:1fr 1fr}
.pep-ads-t>div>span{padding:8px 10px;border-top:1px solid var(--line)}
.pep-ads-t>div>span:first-child{background:#FCEFD9}
.pep-ads-t .pep-ads-hd>span{font-weight:700;border-top:0;background:var(--mist,#EEF4F0)!important}
.pep-mix h4{margin:0 0 6px}
@media (max-width:600px){.pep-ads-t>div{grid-template-columns:1fr}.pep-ads-t .pep-ads-hd{display:none}.pep-ads-t>div>span:first-child::before{content:'Anúncio: ';font-weight:700}.pep-ads-t>div>span:last-child::before{content:'Estudos: ';font-weight:700}}
@media (max-width:760px),(pointer:coarse){.pep-idx a{padding:12px 0;line-height:20px}}
.pep-src ul{margin:4px 0 0;padding-left:18px;display:grid;gap:2px}
.pep-dose.compact>summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.pep-end{margin:10px 0 0;font-weight:600;color:#8A5A12}
@media (max-width:760px),(pointer:coarse){.pep-mix a{display:inline-block;padding:12px 0;line-height:20px}}
/* 2.5.0: comparador */
.pep-cmp-pick{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.pep-cmp-pick select{min-height:44px}
.pep-cmp-sel{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}
.pep-chip{display:inline-flex;align-items:center;gap:4px;background:var(--mist,#EEF4F0);border-radius:99px;padding:2px 4px 2px 12px;font-size:14px}
.pep-chip button{all:unset;cursor:pointer;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:18px}
.pep-chip button:focus-visible{outline:2px solid var(--focus)}
.pep-cmp{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:10px 0}
.pep-cmp-t{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}
.pep-cmp-t th,.pep-cmp-t td{border-top:1px solid var(--line);padding:10px;vertical-align:top;text-align:left}
.pep-cmp-t thead th{border-top:0;font-size:15px;background:var(--mist,#EEF4F0)}
.pep-cmp-t tbody th{width:160px;min-width:130px;font-weight:600;color:var(--ink-2);background:var(--surface);position:sticky;left:0;z-index:1}
.pep-cmp-t td{min-width:200px}
.pep-cmp-ul{margin:0;padding-left:16px;display:grid;gap:4px}
.pep-cmp-alert{margin:8px 0}
@media (max-width:600px){.pep-cmp-t tbody th{width:110px;min-width:110px;font-size:13px}.pep-cmp-t td{min-width:190px}}
.pep-cmp-hint{display:none;margin:6px 0 0}
@media (max-width:700px){.pep-cmp-hint{display:block}}
.pep-cmp-t thead th.pep-cmp-corner{position:sticky;left:0;z-index:2}
