/* MedicalDoc — design system */
@font-face{font-family:Manrope;font-weight:400;font-display:swap;src:url(../fonts/Manrope-400-latin.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:500;font-display:swap;src:url(../fonts/Manrope-500-latin.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:600;font-display:swap;src:url(../fonts/Manrope-600-latin.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:700;font-display:swap;src:url(../fonts/Manrope-700-latin.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:800;font-display:swap;src:url(../fonts/Manrope-800-latin.woff2) format("woff2")}

:root{
  --ink:#0b1f1c; --ink-2:#2b403c; --muted:#5d716d; --faint:#8a9a97;
  --bg:#f3f6f5; --card:#fff; --line:#e1e8e6; --line-2:#cfd9d6;
  --brand:#0b7a6b; --brand-d:#085f53; --brand-l:#e2f3ef; --brand-xl:#f1f9f7;
  --accent:#e8623e; --accent-l:#fdeee9;
  --ok:#1b8f58; --ok-l:#e3f5ec; --warn:#b97a02; --warn-l:#fdf3dc; --err:#c93c3c; --err-l:#fbe9e9; --info:#2563eb; --info-l:#e8effd;
  --r:14px; --r-s:9px; --sh:0 1px 2px rgba(11,31,28,.04),0 6px 24px rgba(11,31,28,.06);
  --sh-l:0 12px 40px rgba(11,31,28,.14);
  --side:248px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.55 Manrope,system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0 0 .4em;line-height:1.2;letter-spacing:-.015em;font-weight:700}
h1{font-size:1.75rem;font-weight:800}h2{font-size:1.25rem}h3{font-size:1.05rem}
p{margin:0 0 1em}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
img,svg{max-width:100%}
.ic{flex:none;vertical-align:middle}
small,.small{font-size:.85rem}
.muted{color:var(--muted)}.faint{color:var(--faint)}
.mt0{margin-top:0}.mb0{margin-bottom:0}.mt{margin-top:1rem}.mt2{margin-top:2rem}.mb{margin-bottom:1rem}
.right{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}
.row{display:flex;gap:.75rem;align-items:center}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.spacer{flex:1}
.stack{display:flex;flex-direction:column;gap:.75rem}
.grid{display:grid;gap:1rem}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* botoes */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.62rem 1.05rem;border:1px solid transparent;border-radius:var(--r-s);font:600 .93rem Manrope,sans-serif;cursor:pointer;text-decoration:none!important;transition:background .15s,border-color .15s,transform .05s;line-height:1.2;background:var(--brand);color:#fff}
.btn:hover{background:var(--brand-d)}.btn:active{transform:translateY(1px)}
.btn.sec{background:#fff;color:var(--ink);border-color:var(--line-2)}.btn.sec:hover{background:var(--brand-xl);border-color:var(--brand)}
.btn.ghost{background:transparent;color:var(--brand)}.btn.ghost:hover{background:var(--brand-l)}
.btn.acc{background:var(--accent);color:#fff}.btn.acc:hover{background:#cf4f2d}
.btn.danger{background:#fff;color:var(--err);border-color:#efc2c2}.btn.danger:hover{background:var(--err-l)}
.btn.sm{padding:.4rem .75rem;font-size:.84rem}.btn.lg{padding:.85rem 1.5rem;font-size:1rem;border-radius:11px}
.btn.block{display:flex;width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}

/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:1.25rem}
.card.flat{box-shadow:none}.card.pad0{padding:0}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.card-h h2,.card-h h3{margin:0}
.card.brand{background:linear-gradient(135deg,#0b7a6b,#0a5f66);color:#fff;border:0}
.card.brand .muted{color:rgba(255,255,255,.78)}
.kpi{display:flex;flex-direction:column;gap:.15rem}
.kpi b{font-size:1.9rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.kpi span{color:var(--muted);font-size:.85rem}

/* badges */
.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .6rem;border-radius:99px;font-size:.75rem;font-weight:700;background:var(--brand-l);color:var(--brand-d);white-space:nowrap}
.badge.ok{background:var(--ok-l);color:#0f6b3f}.badge.warn{background:var(--warn-l);color:#8a5a00}.badge.err{background:var(--err-l);color:#a02a2a}.badge.info{background:var(--info-l);color:#1d4ed8}.badge.gray{background:#eceff0;color:#4b5b58}
.dot{width:8px;height:8px;border-radius:50%;background:var(--faint);display:inline-block}.dot.on{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.25)}

/* forms */
label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.3rem;color:var(--ink-2)}
.field{margin-bottom:1rem}
input,select,textarea{width:100%;padding:.64rem .8rem;border:1px solid var(--line-2);border-radius:var(--r-s);font:inherit;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(11,122,107,.15)}
textarea{min-height:90px;resize:vertical}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--brand)}
.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:500;font-size:.9rem}
.check input{margin-top:.25rem}
.err-msg{color:var(--err);font-size:.82rem;margin-top:.25rem}
.hint{color:var(--muted);font-size:.8rem;margin-top:.25rem}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1rem}.fgrid .full{grid-column:1/-1}

/* tabelas */
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:.6rem .8rem;border-bottom:1px solid var(--line)}
.tbl td{padding:.75rem .8rem;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover{background:var(--brand-xl)}
.tbl-wrap{overflow-x:auto}

/* avatar */
.avatar{width:42px;height:42px;border-radius:50%;background:var(--brand-l);color:var(--brand-d);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;flex:none;position:relative}
.avatar.lg{width:72px;height:72px;font-size:1.5rem}.avatar.sm{width:32px;height:32px;font-size:.78rem}
.avatar .st{position:absolute;right:0;bottom:0;width:13px;height:13px;border-radius:50%;background:var(--faint);border:2px solid #fff}.avatar .st.on{background:#22c55e}

/* flash / toast */
.flash{padding:.75rem 1rem;border-radius:var(--r-s);margin-bottom:1rem;font-weight:600;font-size:.92rem;display:flex;gap:.6rem;align-items:center}
.flash.ok{background:var(--ok-l);color:#0f6b3f}.flash.erro{background:var(--err-l);color:#a02a2a}
.toasts{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:9999}
.toast{background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:var(--r-s);box-shadow:var(--sh-l);font-size:.9rem;font-weight:600;max-width:340px;animation:up .25s}
.toast.err{background:var(--err)}.toast.ok{background:var(--ok)}
@keyframes up{from{opacity:0;transform:translateY(8px)}}

/* app shell */
.shell{display:grid;grid-template-columns:var(--side) 1fr;min-height:100vh}
.side{background:#0b1f1c;color:#cfe1dd;padding:1.1rem .85rem;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}
.brandmark{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.15rem;color:#fff;padding:.3rem .55rem 1.1rem;letter-spacing:-.02em}
.brandmark:hover{text-decoration:none}
.brandmark svg.logo{width:32px;height:32px}
.nav-l{display:flex;align-items:center;gap:.7rem;padding:.62rem .75rem;border-radius:10px;color:#b9cfca;font-weight:600;font-size:.92rem}
.nav-l:hover{background:rgba(255,255,255,.07);color:#fff;text-decoration:none}
.nav-l.on{background:rgba(255,255,255,.12);color:#fff}
.nav-l .pill{margin-left:auto;background:var(--accent);color:#fff;font-size:.7rem;font-weight:800;border-radius:99px;padding:.05rem .45rem;min-width:20px;text-align:center}
.nav-sep{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:#6f8c86;padding:.9rem .75rem .3rem;font-weight:700}
.side-foot{margin-top:auto;padding:.8rem .6rem 0;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:#8fa9a3}
.main{min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:1rem;padding:.8rem 1.75rem;background:rgba(243,246,245,.85);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.topbar h1{font-size:1.15rem;margin:0}
.iconbtn{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2);cursor:pointer}
.iconbtn:hover{background:var(--brand-xl);text-decoration:none}
.iconbtn .n{position:absolute;top:-3px;right:-3px;background:var(--accent);color:#fff;font-size:.65rem;font-weight:800;border-radius:99px;min-width:18px;height:18px;display:none;align-items:center;justify-content:center;padding:0 4px}
.iconbtn .n.show{display:flex}
.content{padding:1.5rem 1.75rem 3rem;max-width:1240px;width:100%}
.menu-btn{display:none}
.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}
.page-h p{margin:0;color:var(--muted)}
.drop{position:absolute;right:1.75rem;top:60px;width:340px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-l);display:none;z-index:30;overflow:hidden}
.drop.show{display:block}
.drop .it{display:block;padding:.75rem 1rem;border-bottom:1px solid var(--line);color:var(--ink)}.drop .it:hover{background:var(--brand-xl);text-decoration:none}
.drop .it.nova{background:var(--brand-xl)}.drop .it b{display:block;font-size:.88rem}.drop .it span{font-size:.8rem;color:var(--muted)}

/* listas */
.list{display:flex;flex-direction:column}
.li{display:flex;gap:.9rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--line)}
.li:last-child{border-bottom:0}
.li .grow{flex:1;min-width:0}
.li b{display:block}
.empty{text-align:center;padding:2.2rem 1rem;color:var(--muted)}
.empty .ic{width:44px;height:44px;color:var(--line-2);margin-bottom:.5rem}
.date-chip{width:54px;text-align:center;background:var(--brand-l);color:var(--brand-d);border-radius:11px;padding:.4rem 0;flex:none}
.date-chip b{display:block;font-size:1.25rem;font-weight:800;line-height:1.1}.date-chip span{font-size:.68rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em}

/* especialidades */
.esp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}
.esp{display:flex;flex-direction:column;gap:.35rem;padding:.9rem;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink);transition:.15s}
.esp:hover{border-color:var(--brand);box-shadow:var(--sh);text-decoration:none;transform:translateY(-1px)}
.esp .ic{color:var(--brand)}.esp b{font-size:.9rem}.esp small{color:var(--muted)}

/* medico card */
.doc-card{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}
.stars{color:#e9a400;font-weight:700;display:inline-flex;gap:.2rem;align-items:center}
.slots{display:flex;flex-wrap:wrap;gap:.5rem}
.slot{padding:.5rem .8rem;border:1px solid var(--line-2);border-radius:9px;background:#fff;font:700 .9rem Manrope;cursor:pointer;color:var(--ink)}
.slot:hover{border-color:var(--brand);background:var(--brand-xl)}.slot.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.days{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem}
.day{flex:none;width:62px;text-align:center;padding:.5rem 0;border:1px solid var(--line-2);border-radius:11px;background:#fff;cursor:pointer;font-family:inherit;color:var(--ink)}
.day small{display:block;color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:700}.day b{font-size:1.15rem}
.day.on{background:var(--brand);color:#fff;border-color:var(--brand)}.day.on small{color:rgba(255,255,255,.8)}.day.off{opacity:.4;cursor:default}

/* tabs */
.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1rem;overflow-x:auto}
.tab{padding:.6rem 1rem;font-weight:700;font-size:.9rem;color:var(--muted);border:0;background:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;font-family:inherit;margin-bottom:-1px}
.tab:hover{color:var(--ink)}.tab.on{color:var(--brand);border-bottom-color:var(--brand)}
.pane{display:none}.pane.on{display:block}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(11,31,28,.55);display:none;align-items:center;justify-content:center;z-index:100;padding:1rem}
.modal-bg.show{display:flex}
.modal{background:#fff;border-radius:16px;box-shadow:var(--sh-l);width:100%;max-width:520px;max-height:92vh;overflow:auto;padding:1.5rem}
.modal.wide{max-width:860px}

/* timeline prontuario */
.tl{position:relative;padding-left:1.4rem;border-left:2px solid var(--line)}
.tl-i{position:relative;margin-bottom:1.25rem}
.tl-i::before{content:"";position:absolute;left:calc(-1.4rem - 7px);top:.35rem;width:12px;height:12px;border-radius:50%;background:var(--brand);border:3px solid var(--bg)}
.soap dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--brand-d);margin-top:.7rem}
.soap dd{margin:.15rem 0 0;white-space:pre-wrap}

/* upload */
.dz{border:2px dashed var(--line-2);border-radius:var(--r);padding:2rem;text-align:center;background:#fff;transition:.15s;cursor:pointer}
.dz:hover,.dz.over{border-color:var(--brand);background:var(--brand-xl)}
.dz .ic{width:38px;height:38px;color:var(--brand)}
.prog{height:8px;border-radius:99px;background:var(--line);overflow:hidden}.prog i{display:block;height:100%;width:0;background:var(--brand);transition:width .2s}
.fileline{display:flex;gap:.75rem;align-items:center;font-size:.85rem;padding:.35rem 0}

/* chat */
.chat{display:flex;flex-direction:column;height:100%;min-height:320px}
.chat-msgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.45rem;background:var(--bg)}
.msg{max-width:78%;padding:.55rem .85rem;border-radius:14px;background:#fff;border:1px solid var(--line);align-self:flex-start;word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap}
.msg.me{align-self:flex-end;background:var(--brand);color:#fff;border-color:var(--brand)}
.msg time{display:block;font-size:.68rem;opacity:.65;margin-top:.15rem;text-align:right}
.msg a{color:inherit;text-decoration:underline}.msg img{max-width:220px;border-radius:8px;display:block;margin-top:.3rem}
.day-sep{align-self:center;font-size:.72rem;color:var(--muted);background:#e9eeed;border-radius:99px;padding:.1rem .7rem;font-weight:700}
.chat-in{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid var(--line);background:#fff;align-items:flex-end}
.chat-in textarea{min-height:42px;max-height:120px;resize:none;padding:.6rem .75rem}
.inbox{display:grid;grid-template-columns:320px 1fr;height:calc(100vh - 150px);min-height:480px;padding:0;overflow:hidden}
.inbox-l{border-right:1px solid var(--line);overflow-y:auto}
.conv{display:flex;gap:.75rem;padding:.9rem 1rem;border-bottom:1px solid var(--line);color:var(--ink);align-items:center}
.conv:hover,.conv.on{background:var(--brand-xl);text-decoration:none}.conv .grow{min-width:0;flex:1}.conv small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* publico */
.pub-nav{display:flex;align-items:center;gap:1.5rem;padding:1rem max(1.25rem,calc((100vw - 1180px)/2));position:sticky;top:0;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);z-index:50;border-bottom:1px solid var(--line)}
.pub-nav .brandmark{color:var(--ink);padding:0}
.pub-nav nav{display:flex;gap:1.4rem;margin-left:1rem}.pub-nav nav a{color:var(--ink-2);font-weight:600;font-size:.92rem}
.wrap{max-width:1180px;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:520px;margin:0 auto}
.auth-wrap{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem}
.auth-card{width:100%;max-width:460px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh);padding:2rem}
.auth-card.wide{max-width:640px}
.foot{background:#0b1f1c;color:#9db5b0;padding:2.5rem 0 2rem;margin-top:4rem;font-size:.88rem}
.foot a{color:#cfe1dd}.foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.foot h4{color:#fff;font-size:.9rem}

.hero{position:relative;background:radial-gradient(1200px 500px at 85% -10%,#cdeee6 0,transparent 60%),linear-gradient(180deg,#f7fbfa,#eaf5f2);padding:4.5rem 0 5rem;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.hero h1{font-size:3.1rem;line-height:1.05;letter-spacing:-.035em;margin-bottom:1rem}
.hero h1 em{font-style:normal;color:var(--brand)}
.hero .lead{font-size:1.15rem;color:var(--ink-2);max-width:34rem}
.hero .cta{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0 1.2rem}
.trust{display:flex;gap:1.4rem;flex-wrap:wrap;color:var(--muted);font-size:.85rem;font-weight:600}.trust span{display:flex;gap:.4rem;align-items:center}
.mock{background:#0e1a18;border-radius:20px;padding:12px;box-shadow:0 30px 70px rgba(11,31,28,.28);transform:perspective(1400px) rotateY(-6deg) rotateX(2deg)}
.mock-in{border-radius:12px;background:linear-gradient(135deg,#17322d,#0d1f1c);aspect-ratio:16/11;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 150px}
.mock-v{position:relative;background:radial-gradient(circle at 50% 38%,#2c5a50 0,#14302a 70%)}
.mock-v .who{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.5);color:#fff;font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:99px}
.mock-v .me{position:absolute;right:12px;top:12px;width:92px;height:66px;border-radius:10px;background:radial-gradient(circle at 50% 40%,#7a5a45,#3b2a22);border:2px solid rgba(255,255,255,.25)}
.mock-v .ctr{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.mock-v .ctr i{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.16);display:block}.mock-v .ctr i.r{background:#e5484d}
.mock-p{background:#f4f8f7;padding:10px;font-size:.62rem;display:flex;flex-direction:column;gap:6px;color:#16302b}
.mock-p b{font-size:.66rem;color:var(--brand-d)}.mock-p .ln{height:6px;border-radius:3px;background:#d3e1de}.mock-p .ln.s{width:60%}
.mock-p .scan{aspect-ratio:1;border-radius:8px;background:radial-gradient(circle at 50% 50%,#c9d0d0 0,#6c7676 38%,#101414 62%);margin-top:auto}
section.sec{padding:4.5rem 0}section.sec.alt{background:#fff;border-block:1px solid var(--line)}
.sec-h{max-width:640px;margin-bottom:2.2rem}.sec-h .kick{color:var(--brand);font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}
.sec-h h2{font-size:2.1rem;letter-spacing:-.03em}
.feat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}
.feat .ico{width:46px;height:46px;border-radius:12px;background:var(--brand-l);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem}
.feat h3{margin-bottom:.3rem}.feat p{color:var(--muted);margin:0;font-size:.93rem}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.step{counter-increment:s;position:relative;padding-top:2.6rem}
.step::before{content:counter(s);position:absolute;top:0;left:0;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.step p{color:var(--muted);font-size:.92rem}
.cmp{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.cmp th,.cmp td{padding:.8rem 1rem;border-bottom:1px solid var(--line);text-align:center;font-size:.92rem}.cmp th:first-child,.cmp td:first-child{text-align:left}
.cmp th{background:var(--brand-xl);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.cmp .y{color:var(--ok);font-weight:800}.cmp .n{color:var(--faint)}
.band{background:linear-gradient(135deg,#0b7a6b,#0a5f66);color:#fff;border-radius:22px;padding:3rem;display:flex;gap:2rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.band h2{font-size:1.9rem;margin:0 0 .4rem}.band p{margin:0;opacity:.85}

/* documento (print) */
.doc-sheet{background:#fff;max-width:794px;margin:1.5rem auto;padding:56px 64px;box-shadow:var(--sh);border-radius:6px;min-height:900px;position:relative;font-size:14px}
.doc-head{display:flex;justify-content:space-between;border-bottom:3px solid var(--brand);padding-bottom:14px;margin-bottom:22px}
.doc-title{font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:18px 0 14px;text-align:center}
.doc-box{border:1px solid var(--line-2);border-radius:6px;padding:10px 14px;margin-bottom:14px;font-size:13px}
.doc-item{padding:9px 0;border-bottom:1px dashed var(--line-2)}
.doc-foot{position:absolute;left:64px;right:64px;bottom:40px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;display:flex;justify-content:space-between;gap:14px}
.print-bar{max-width:794px;margin:1rem auto 0;display:flex;gap:.6rem;justify-content:flex-end;padding:0 4px}

@media(max-width:980px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;left:0;top:0;bottom:0;width:272px;z-index:90;transform:translateX(-100%);transition:transform .2s;box-shadow:var(--sh-l)}
  .side.open{transform:none}
  .menu-btn{display:inline-flex}
  .content{padding:1.1rem 1rem 3rem}.topbar{padding:.7rem 1rem}
  .g3,.g4{grid-template-columns:repeat(2,1fr)}
  .hero .wrap{grid-template-columns:1fr}.hero h1{font-size:2.4rem}.mock{transform:none}
  .steps{grid-template-columns:repeat(2,1fr)}.foot .cols{grid-template-columns:1fr}
  .inbox{grid-template-columns:1fr;height:auto}.inbox-l{max-height:220px;border-right:0;border-bottom:1px solid var(--line)}
  .pub-nav nav{display:none}
  .drop{right:1rem;width:calc(100vw - 2rem)}
}
@media(max-width:640px){
  .g2,.g3,.g4,.fgrid{grid-template-columns:1fr}
  .doc-card{grid-template-columns:auto 1fr}.doc-card .act{grid-column:1/-1}
  h1{font-size:1.5rem}.hero{padding:2.5rem 0 3rem}.hero h1{font-size:2rem}section.sec{padding:3rem 0}.sec-h h2{font-size:1.6rem}
  .band{padding:1.75rem}.steps{grid-template-columns:1fr}
  .auth-card{padding:1.4rem}
  .doc-sheet{padding:28px 20px}.doc-foot{left:20px;right:20px}
}
@media print{
  body{background:#fff}.print-bar,.no-print{display:none!important}
  .doc-sheet{box-shadow:none;margin:0;max-width:none;padding:24px 8px}
}

/* layouts em duas colunas */
.grid>*,.split>*,.row>.grow{min-width:0}
.split{display:grid;gap:1rem;align-items:start;grid-template-columns:1fr 1fr}
.split.a{grid-template-columns:1.4fr 1fr}.split.b{grid-template-columns:1fr 1.1fr}.split.c{grid-template-columns:1.2fr 1fr}.split.d{grid-template-columns:1.3fr 1fr}.split.e{grid-template-columns:1.8fr 1fr}
.split.mt{margin-top:1rem}
@media(max-width:980px){.split,.split.a,.split.b,.split.c,.split.d,.split.e{grid-template-columns:1fr}}
[hidden]{display:none!important}
.row.wrap{align-content:flex-start}

/* termo de adesao */
.termo-box{max-height:62vh;overflow-y:auto;padding:1.6rem 1.8rem;line-height:1.7;font-size:.95rem;border-bottom:1px solid var(--line)}
.termo-box:focus{outline:0}
.termo-t{font-size:1.25rem;text-align:center;margin-bottom:1rem}
.termo-h{margin-top:1.5rem;font-size:1rem;text-transform:uppercase;letter-spacing:.03em;color:var(--brand-d)}
.termo-box p,.termo-print p{margin:.55rem 0;text-align:justify}.termo-box ul,.termo-print ul{margin:.4rem 0 .6rem 1.2rem;padding:0}
.termo-end{padding:.7rem 1.8rem;font-size:.85rem;font-weight:700;color:var(--muted);background:var(--bg);border-radius:0 0 var(--r) var(--r)}.termo-end.ok{color:var(--ok)}
.termo-print{font-size:12.5px;line-height:1.55}.termo-print .termo-t{font-size:15px}.termo-print .termo-h{font-size:12.5px;margin-top:14px}
