:root{

  --ink:#0B2E52;
  --ink-deep:#071F38;
  --ink-soft:#274B72;
  --ink-pale:#7E97B4;
  --accent:#1668B3;
  --accent-dark:#11538F;
  --accent-bg:#EAF2FA;
  --gold:#B08A34;
  --gold-bg:#FBF4E4;
  --ok:#1F6B4A;
  --ok-bg:#E6F2EC;
  --warn:#9C3025;
  --warn-bg:#F8E9E7;
  --bg:#EDF0F4;
  --panel:#FFFFFF;
  --line:#D5DBE4;
  --line-soft:#E6EAF0;
  --text:#1B2430;
  --text-soft:#54606F;
  --text-faint:#8792A1;
  --radius:10px;
  --radius-sm:6px;
  --font-display:Georgia,'Iowan Old Style','Palatino Linotype',Palatino,serif;
  --font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-doc:Arial,Helvetica,sans-serif;
  --font-toc:Arial,Helvetica,sans-serif;
  --shadow-page:0 1px 2px rgba(11,46,82,.08), 0 18px 38px -14px rgba(11,46,82,.34);
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-ui);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
button{font-family:inherit}
textarea,input,select{font-family:inherit}
::selection{background:#CFE2F5;color:var(--ink)}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}

#app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}

.topbar{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;gap:16px;
  padding:12px 22px;
  background:linear-gradient(180deg,var(--ink) 0%,var(--ink-deep) 100%);
  border-bottom:3px solid var(--gold);
  color:#fff;
  box-shadow:0 2px 14px rgba(20,24,46,.25);
}
.topbar .brand{display:flex;align-items:center;gap:12px;min-width:0}

.brand-mark{
  height:46px;flex:none;
  display:flex;align-items:center;justify-content:center;
}
.brand-mark img{height:100%;width:auto;display:block}
.brand-text{min-width:0}
.brand-text .t1{font-family:var(--font-display);font-size:15.5px;line-height:1.2;font-weight:700;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-text .t2{font-size:10.5px;color:#A9C0DA;letter-spacing:.5px;white-space:nowrap;text-transform:uppercase}
.topbar-spacer{flex:1}
.topbar-actions{display:flex;gap:10px;flex:none}
.topbar-tabs{display:none;gap:4px;background:rgba(255,255,255,.08);padding:3px;border-radius:9px;margin-right:6px}
.topbar-tabs button{
  border:0;background:transparent;color:#D6DAEC;padding:7px 14px;border-radius:7px;
  font-size:13px;font-weight:600;cursor:pointer;
}
.topbar-tabs button.active{background:#fff;color:var(--ink)}

.btn{
  appearance:none;border:0;cursor:pointer;border-radius:8px;
  font-weight:650;font-size:13.5px;letter-spacing:.1px;
  padding:10px 16px;display:inline-flex;align-items:center;gap:8px;
  transition:transform .12s ease, box-shadow .12s ease, background .15s ease;
}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.14), 0 6px 16px -6px rgba(22,104,179,.7)}
.btn-primary:hover{background:var(--accent-dark)}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.22)}
.btn-ghost:hover{background:rgba(255,255,255,.18)}
.btn-outline{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn-outline:hover{background:#F5F6F9}
.btn-sm{padding:6px 11px;font-size:12.5px;border-radius:7px}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.btn .spin{width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.layout{
  flex:1;display:grid;

  grid-template-columns:var(--largura-editor, 46%) 8px 1fr;
  min-height:0;min-width:0;overflow:hidden;
}
.pane{min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain}
.pane-editor{
  padding:16px 26px 120px;
  background:var(--bg);
}
.pane-preview{
  padding:34px 28px 120px;
  background:
    radial-gradient(1200px 500px at 50% -10%, rgba(255,255,255,.55), transparent 60%),
    var(--bg);
  display:flex;flex-direction:column;align-items:center;gap:26px;
  overflow:auto;
}
.pane-preview > *{flex:none}

.ed-intro{margin:0 0 22px;padding:16px 18px;background:var(--accent-bg);border:1px solid #C6DCF1;border-left:4px solid var(--accent);border-radius:var(--radius)}
.ed-intro p{margin:0 0 10px;font-size:12.8px;line-height:1.6;color:#22456B}
.ed-intro p:last-child{margin-bottom:0}
.ed-intro b{color:var(--ink)}
.ed-intro-title{
  margin:0 0 6px;font-family:var(--font-display);font-size:14px;font-weight:700;
  color:var(--ink);letter-spacing:.1px;
}
.ed-intro-title + p{margin-bottom:14px}
.ed-intro p + .ed-intro-title{margin-top:4px}

.section-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  margin-bottom:18px;
  overflow:hidden;
}
.section-head{
  display:flex;align-items:center;gap:12px;
  padding:16px 18px;
  cursor:pointer;user-select:none;
  border-bottom:1px solid transparent;
}
.section-head:hover{background:#FAFAFC}
.section-num{
  width:30px;height:30px;border-radius:8px;flex:none;
  background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;font-size:14px;
}
.section-titles{flex:1;min-width:0}
.section-titles h2{margin:0;font-family:var(--font-display);font-size:16.5px;color:var(--ink);font-weight:700}
.section-titles p{margin:2px 0 0;font-size:12px;color:var(--text-soft)}
.section-chevron{flex:none;width:20px;height:20px;color:var(--text-faint);transition:transform .2s ease}
.section-card.open .section-chevron{transform:rotate(180deg)}
.section-card.open .section-head{border-bottom-color:var(--line)}
.section-body{padding:18px;display:none}
.section-card.open .section-body{display:block}

.section-card.open{overflow:visible}
.section-card.open .section-head{
  border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);
}
.section-card.open .section-body{
  border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);
}
.section-body-inner > * + *{margin-top:14px}

.field{display:block}
.field label{display:block;font-size:12.5px;font-weight:650;color:var(--ink-soft);margin-bottom:6px;letter-spacing:.1px}
.field .hint{font-weight:500;color:var(--text-faint);font-size:11.5px;margin-left:6px}
.field input[type=text],.field input[type=date],.field select,.field textarea{
  width:100%;border:1px solid var(--line);border-radius:8px;
  padding:9px 11px;font-size:13.5px;color:var(--text);background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(168,128,47,.15);
}
.field textarea{resize:vertical;min-height:92px;line-height:1.5}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:480px){.field-row{grid-template-columns:1fr}}

.upload-box{
  border:1.5px dashed var(--line);border-radius:9px;padding:14px;
  background:#FBFBFD;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;
}
.upload-box:hover{border-color:var(--accent);background:var(--accent-bg)}
.upload-box input{display:none}
.upload-box .ub-label{font-size:12.5px;color:var(--text-soft);font-weight:600}
.upload-box .ub-sub{font-size:11px;color:var(--text-faint);margin-top:2px}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.thumb{
  position:relative;width:64px;height:64px;border-radius:7px;overflow:hidden;
  border:1px solid var(--line);background:#fff;
}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb .rm{
  position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;
  background:rgba(20,20,25,.72);color:#fff;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;
}
.thumb .rm:hover{background:var(--warn)}

.req-list{display:flex;flex-direction:column;gap:10px}
.req-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.req-head{
  display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;background:#F9FAFC;
}
.req-head:hover{background:#F2F4F8}
.req-head .roman{
  font-family:var(--font-display);font-weight:700;color:var(--ink);font-size:13.5px;flex:none;
  width:28px;
}
.req-head .rtitle{flex:1;font-size:12.6px;font-weight:650;color:var(--text);line-height:1.35}
.req-head .rcount{
  flex:none;font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-bg);
  padding:2px 8px;border-radius:20px;
}
.req-chevron{flex:none;width:16px;height:16px;color:var(--text-faint);transition:transform .2s}
.req-card.open .req-chevron{transform:rotate(180deg)}
.req-body{display:none;padding:6px 14px 14px}
.req-card.open .req-body{display:block}

.item-row{border-top:1px solid var(--line-soft);padding:10px 0}
.item-row:first-child{border-top:0}
.item-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.item-check input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent);flex:none;cursor:pointer}
.item-check .itxt{flex:1;font-size:12.6px;line-height:1.4;color:var(--text)}
.item-check .imeta{display:block;font-size:11px;color:var(--text-faint);margin-top:2px}
.item-detail{
  margin:10px 0 4px 26px;padding:12px;background:#FAFAFC;border:1px solid var(--line-soft);
  border-radius:8px;display:flex;flex-direction:column;gap:12px;
}
.item-detail .field-row-sm{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.experiencia-block{display:flex;flex-direction:column;gap:10px}
.experiencia-block + .experiencia-block{padding-top:14px;border-top:1px dashed var(--line)}
.exp-header{display:flex;align-items:center;justify-content:space-between;margin:-2px 0 -2px}
.exp-header span{font-size:11px;font-weight:750;letter-spacing:.3px;color:var(--accent);text-transform:uppercase}
.exp-remove{
  border:0;background:transparent;color:var(--warn);font-size:11.5px;font-weight:650;
  cursor:pointer;padding:2px 6px;border-radius:5px;
}
.exp-remove:hover{background:var(--warn-bg)}
.add-exp-btn{align-self:flex-start;margin-top:2px}
.modalidade-toggle{display:flex;gap:8px}
.modalidade-toggle label{
  flex:1;text-align:center;font-size:12px;font-weight:650;padding:7px;border:1px solid var(--line);
  border-radius:7px;cursor:pointer;color:var(--text-soft);
}
.modalidade-toggle input{display:none}
.modalidade-toggle input:checked + span{color:#fff}
.modalidade-toggle label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}

.score-panel{
  background:linear-gradient(160deg,var(--ink),#123A63);
  border-radius:var(--radius);padding:18px;color:#fff;margin-bottom:16px;
  display:flex;gap:16px;align-items:center;
  position:sticky;top:8px;z-index:8;
  box-shadow:0 10px 24px -14px rgba(11,46,82,.55);
}
.seal{
  flex:none;width:84px;height:84px;position:relative;
}
.seal svg{width:100%;height:100%;transform:rotate(-90deg)}
.seal .seal-num{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.seal .seal-num b{font-family:var(--font-display);font-size:19px;line-height:1}
.seal .seal-num span{font-size:9px;color:#B7CDE4;letter-spacing:.4px}
.score-info{flex:1;min-width:0}
.score-info .si-row{display:flex;justify-content:space-between;font-size:12px;color:#B7CDE4;margin-bottom:6px}
.score-info .si-row b{color:#fff;font-weight:700}
.score-status{
  display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
  padding:4px 10px;border-radius:20px;margin-top:2px;
}
.score-status.ok{background:rgba(70,180,130,.22);color:#8FE3BA}
.score-status.warn{background:rgba(230,120,100,.22);color:#F3B2A2}

.doc-toolbar{
  width:100%;max-width:816px;display:flex;align-items:center;justify-content:space-between;
  gap:10px;flex-wrap:wrap;
}
.doc-toolbar .zoom{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px}
.doc-toolbar .zoom button{border:0;background:transparent;width:26px;height:26px;border-radius:6px;cursor:pointer;color:var(--ink);font-size:15px}
.doc-toolbar .zoom button:hover{background:var(--line-soft)}
.doc-toolbar .zoom span{font-size:11.5px;color:var(--text-soft);width:38px;text-align:center}
.doc-meta{font-size:12px;color:var(--text-soft)}

.pages-wrap{display:flex;flex-direction:column;align-items:center;gap:22px;--zoom:0.7}

.page-frame{
  width:calc(210mm * var(--zoom));height:calc(297mm * var(--zoom));
  flex:none;overflow:hidden;
}
.page{
  background:#fff;width:210mm;height:297mm;flex:none;position:relative;
  box-shadow:var(--shadow-page);
  transform:scale(var(--zoom));transform-origin:top left;
}

.page-pagenum{
  position:absolute;top:20mm;right:20mm;font-family:var(--font-doc);font-size:10pt;color:#000;
}
.page-content{
  position:absolute;top:3cm;left:3cm;right:2cm;bottom:2cm;overflow:hidden;
}

.cover-page .page-content{display:flex;flex-direction:column;align-items:center;text-align:center;top:2.4cm}

.cover-inst{font-family:var(--font-doc);font-weight:400;font-size:12pt;color:#000;line-height:1.35;margin-top:6mm;text-transform:uppercase}
.cover-mid{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14mm}

.cover-name{font-family:var(--font-doc);font-weight:400;font-size:12pt;color:#000;text-transform:uppercase}
.cover-title{font-family:var(--font-doc);font-weight:700;font-size:12pt;color:#000;max-width:100%;white-space:nowrap}
.cover-bottom{padding-bottom:8mm}
.cover-city{font-family:var(--font-doc);font-weight:400;font-size:12pt;color:#000;margin-bottom:6mm;text-transform:uppercase}
.cover-date{font-family:var(--font-doc);font-weight:400;font-size:12pt;color:#000;text-transform:uppercase}

.toc-title{font-family:var(--font-doc);font-weight:700;font-size:12pt;color:#000;margin:0 0 18pt;text-align:center;text-transform:uppercase;letter-spacing:.5px}

.toc-entry{font-family:var(--font-doc);font-size:12pt;color:#000;line-height:1.5;margin-bottom:0;
  display:flex;align-items:flex-end;gap:6pt;text-align:left}
.toc-entry .tt{flex:1;min-width:0}

.toc-entry .dots{white-space:nowrap;letter-spacing:1px;color:#555}
.toc-entry .pg{flex:none;white-space:nowrap}
.toc-lvl0{font-weight:700;text-transform:uppercase;padding-left:0}
.toc-lvl1{font-weight:400;text-transform:uppercase;padding-left:14pt}
.toc-lvl2{font-weight:700;padding-left:32pt}

.docbody{font-family:var(--font-doc);font-size:12pt;line-height:1.5;color:#000;text-align:justify}

.doc-h1{font-family:var(--font-doc);font-weight:700;font-size:12pt;color:#000;margin:18pt 0 18pt;line-height:1.5;text-align:left;text-transform:uppercase}
.doc-h1 + .doc-h1{margin-top:0}

.page-content > .doc-h1:first-child,
.page-content > .doc-h2:first-child,
.page-content > .doc-h3:first-child{margin-top:0}

.doc-h2{font-weight:400;text-transform:uppercase;font-size:12pt;padding-left:26pt;text-indent:-26pt;margin:18pt 0 18pt;text-align:left;line-height:1.5}
.doc-h3{font-weight:700;text-transform:none;font-size:12pt;padding-left:34pt;text-indent:-34pt;margin:18pt 0 18pt;text-align:left;line-height:1.5}
.doc-p{margin:0 0 0;text-align:justify;text-indent:1.25cm;line-height:1.5}
.doc-p.no-indent{text-indent:0}
.doc-field{margin:0;text-indent:0;text-align:left}
.doc-field b{font-weight:400}

.doc-label{font-weight:400;margin:18pt 0 0;text-indent:1.25cm;text-align:left}

.doc-fig{margin:18pt 0 18pt;text-align:center}
.doc-fig .cap{font-weight:400;font-size:10pt;line-height:1.2;margin-bottom:6pt;text-align:center;text-indent:0}
.doc-fig .src{font-size:10pt;line-height:1.2;margin-top:6pt;text-align:center;text-indent:0}
.doc-fig img{max-width:100%;margin:0 auto;border:1px solid #ccc}
.doc-empty-note{font-style:italic;color:#8a8a8a;font-size:10pt;text-indent:1.25cm;text-align:left}

body.tab-editor .pane-preview{display:none}
body.tab-preview .pane-editor{display:none}

@media (max-width:940px){
  .layout{grid-template-columns:1fr;overflow:hidden}
  .divisor{display:none}
  .pane-editor,.pane-preview{width:100%}
  .pane-editor{border-right:0}

  .topbar{flex-wrap:wrap;row-gap:9px;padding-bottom:11px}
  .topbar-spacer{display:none}
  .topbar-actions{margin-left:auto}
  .topbar-tabs{display:flex;order:10;flex:1 1 100%;margin-right:0}
  .topbar-tabs button{flex:1}

  .save-status{padding:6px;border-radius:50%}
  .save-status .lbl{display:none}
}
@media (max-width:640px){
  .topbar{padding:10px 12px 11px;gap:8px}
  .brand-mark{height:34px}
  .brand-text{display:none}
  .pane-editor{padding:18px 14px 100px}
  .pane-preview{padding:18px 10px 100px}
  .btn span.full{display:none}
  .btn{padding:9px 11px}
  .topbar-actions{gap:6px}
  #btnReset{padding:9px 10px}
}

#toast{
  position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);
  background:var(--ink);color:#fff;padding:12px 18px;border-radius:9px;font-size:13px;
  box-shadow:0 10px 30px rgba(0,0,0,.3);z-index:100;opacity:0;pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;max-width:86vw;
}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#toast.err{background:#7A2A21}

#measure-probe{position:absolute;left:-99999px;top:0;visibility:hidden;pointer-events:none}

.save-status{
  display:flex;align-items:center;gap:7px;flex:none;
  font-size:11.5px;color:#B7CDE4;padding:5px 11px;border-radius:20px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);
}
.save-status .dot{width:7px;height:7px;border-radius:50%;background:#5FD39B;flex:none;transition:background .2s}
.save-status.saving .dot{background:var(--gold)}
.save-status.failed .dot{background:#F0806E}
.save-status.failed{color:#F3C0B7}

.menu-wrap{position:relative}
.menu{
  position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:246px;
  background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px;
  box-shadow:0 16px 40px -12px rgba(11,46,82,.45);
}
.menu button{
  display:block;width:100%;text-align:left;border:0;background:transparent;
  padding:9px 11px;border-radius:7px;font-size:13px;color:var(--text);cursor:pointer;
}
.menu button:hover{background:var(--accent-bg);color:var(--ink)}
.menu button.danger{color:var(--warn)}
.menu button.danger:hover{background:var(--warn-bg)}
.menu-sep{height:1px;background:var(--line-soft);margin:5px 4px}

.expand-btn{
  float:right;border:1px solid var(--line);background:#fff;color:var(--accent);
  font-size:10.5px;font-weight:700;letter-spacing:.2px;padding:2px 8px;border-radius:5px;
  cursor:pointer;margin-top:-2px;
}
.expand-btn:hover{background:var(--accent-bg);border-color:var(--accent)}

.modal-backdrop{
  position:fixed;inset:0;z-index:90;background:rgba(11,31,56,.55);
  display:flex;align-items:center;justify-content:center;padding:24px;
  backdrop-filter:blur(2px);
}
.modal-backdrop[hidden]{display:none}
.modal-card{
  background:#fff;border-radius:12px;width:min(880px,100%);height:min(78vh,760px);
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 30px 70px -20px rgba(7,31,56,.6);
}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;border-bottom:1px solid var(--line);background:#FAFBFD;
}
.modal-head h3{margin:0;font-family:var(--font-display);font-size:16px;color:var(--ink)}
.modal-head-actions{display:flex;align-items:center;gap:12px}
.char-count{font-size:11.5px;color:var(--text-faint)}
#expandArea{
  flex:1;border:0;outline:none;resize:none;padding:22px 26px;
  font-family:var(--font-doc);font-size:15px;line-height:1.75;color:var(--text);
}
@media (max-width:640px){
  .modal-backdrop{padding:0}
  .modal-card{height:100vh;width:100vw;border-radius:0}
}

.restore-banner{
  margin:0 0 18px;padding:13px 15px;border-radius:var(--radius);
  background:var(--gold-bg);border:1px solid #E8D6AC;border-left:4px solid var(--gold);
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.restore-banner .rb-text{flex:1;min-width:180px;font-size:12.6px;color:#5C4718;line-height:1.5}
.restore-banner .rb-actions{display:flex;gap:8px}

.version-card{
  background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--ink);
  border-radius:var(--radius);padding:14px 16px;margin:0 0 18px;

  position:sticky;top:0;z-index:5;
  box-shadow:0 6px 16px -12px rgba(11,46,82,.6);
}
.version-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.version-title{font-family:var(--font-display);font-size:14.5px;font-weight:700;color:var(--ink)}
.version-hint{font-size:11.5px;color:var(--text-soft);line-height:1.45}
.version-toggle{display:flex;gap:8px}
.version-toggle button{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;
  border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 8px;
  cursor:pointer;color:var(--text-soft);transition:background .15s,border-color .15s,color .15s;
}
.version-toggle button b{font-size:13px;font-weight:700}
.version-toggle button span{font-size:10.5px;letter-spacing:.2px}

.version-toggle button:not(.active):hover{border-color:var(--accent);background:var(--accent-bg)}
.version-toggle button.active[data-versao="restrito"]{background:var(--ink);border-color:var(--ink);color:#fff}
.version-toggle button.active[data-versao="restrito"] span{color:#B7CDE4}
.version-toggle button.active[data-versao="publico"]{background:var(--ok);border-color:var(--ok);color:#fff}
.version-toggle button.active[data-versao="publico"] span{color:#BFDDCD}

.version-toggle button[data-versao="publico"]:not(.active):hover{border-color:var(--ok);background:var(--ok-bg)}

.version-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
  padding:3px 10px;border-radius:20px;background:var(--ink);color:#fff;letter-spacing:.2px;
}

.version-badge.publico{background:var(--ok);color:#fff}

.req-mark{
  display:inline-block;margin-left:6px;font-size:10px;font-weight:700;letter-spacing:.3px;
  text-transform:uppercase;color:var(--warn);background:var(--warn-bg);
  padding:1px 6px;border-radius:20px;vertical-align:1px;
}
.field-note{margin:6px 0 0;font-size:11px;color:var(--text-faint);line-height:1.45}
.field.missing select,.field.missing input,.field.missing textarea{border-color:var(--warn);box-shadow:0 0 0 3px rgba(156,48,37,.12)}

.item-check .inum{font-weight:700;color:var(--ink)}

.section-head:focus-visible,
.req-head:focus-visible,
.item-check:focus-within,
.upload-box:focus-within{
  outline:2px solid var(--accent);
  outline-offset:-2px;
  border-radius:8px;
}

#sentinela-css{position:absolute;left:-9999px;top:0;width:7px;height:1px}

.doc-h4{font-weight:400;text-transform:none;font-size:12pt;padding-left:42pt;text-indent:-42pt;margin:18pt 0 18pt;text-align:left;line-height:1.5}
.page-content > .doc-h4:first-child{margin-top:0}
.toc-lvl3{font-weight:400;padding-left:46pt}

.exp-header .exp-num{
  display:inline-block;font-family:var(--font-ui);font-weight:700;
  font-size:11.5px;font-variant-numeric:tabular-nums;letter-spacing:.3px;
  color:#0A3D6B;background:#D6E7F7;border:1px solid #A9CCEC;
  border-radius:5px;padding:1px 7px;margin-right:5px;text-transform:none;
}
.exp-num:empty{display:none}

.divisor{
  background:var(--line);cursor:col-resize;position:relative;
  transition:background .15s;touch-action:none;
}
.divisor::before{
  content:'';position:absolute;top:0;bottom:0;left:-5px;right:-5px;
}
.divisor::after{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:2px;height:34px;border-radius:2px;background:var(--ink-pale);opacity:.8;
}
.divisor:hover,.divisor.arrastando{background:var(--accent)}
.divisor:hover::after,.divisor.arrastando::after{background:#fff;opacity:1}
.divisor:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
body.redimensionando{cursor:col-resize;user-select:none}
body.redimensionando iframe{pointer-events:none}

.aviso-armazenamento{background:var(--warn-bg);border-color:#E7C4BE;border-left-color:var(--warn)}
.aviso-armazenamento .rb-text{color:#6B2A22}

.doc-h1-centro{text-align:center}

.opcao-formato{
  display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--line-soft);cursor:pointer;
}
.opcao-formato input{margin-top:2px;width:15px;height:15px;accent-color:var(--accent);flex:none;cursor:pointer}
.opcao-formato span{font-size:12px;line-height:1.45;color:var(--text)}
.opcao-formato em{display:block;font-style:normal;font-size:11px;color:var(--text-faint);margin-top:2px}

.campo-data{position:relative;display:block}
.campo-data input[type=text]{width:100%;padding-right:40px}
.campo-data .data-picker{
  position:absolute;right:10px;bottom:2px;width:1px;height:1px;
  opacity:0;pointer-events:none;border:0;padding:0;margin:0;
}
.campo-data .btn-calendario{
  position:absolute;right:4px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;border:0;background:transparent;border-radius:6px;
  cursor:pointer;color:var(--text-faint);display:flex;align-items:center;justify-content:center;
}
.campo-data .btn-calendario svg{width:18px;height:18px}
.campo-data .btn-calendario:hover{background:var(--accent-bg);color:var(--accent)}
.campo-data .btn-calendario:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
input.data-invalida{border-color:var(--warn);box-shadow:0 0 0 3px rgba(156,48,37,.12)}

.pane-preview{padding-top:0}
.doc-toolbar{
  position:sticky;top:0;z-index:6;
  background:var(--bg);
  padding:16px 0 12px;
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 14px -12px rgba(11,46,82,.55);
}

.doc-fig[data-fig]{position:relative}
.doc-fig[data-fig] img{transition:none}
.doc-fig[data-fig]::after{
  content:'';position:absolute;inset:0;border:1px dashed transparent;pointer-events:none;
}
.doc-fig[data-fig]:hover::after,.doc-fig.redimensionando::after{border-color:var(--accent)}

.fig-pega{
  position:absolute;right:4px;bottom:4px;width:16px;height:16px;border-radius:4px;
  background:var(--accent);border:2px solid #fff;box-shadow:0 1px 4px rgba(11,46,82,.55);
  cursor:nwse-resize;opacity:0;transition:opacity .12s;touch-action:none;z-index:4;
}
.fig-medida{
  position:absolute;right:4px;top:4px;background:var(--ink);color:#fff;
  font-family:var(--font-ui);font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;
  box-shadow:0 1px 4px rgba(11,46,82,.35);
  opacity:0;transition:opacity .12s;pointer-events:none;z-index:4;
}
.fig-reset{
  position:absolute;left:4px;top:4px;background:#fff;color:var(--accent);
  border:1px solid var(--accent);font-family:var(--font-ui);font-size:10px;font-weight:700;
  padding:1px 7px;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .12s;z-index:4;
  box-shadow:0 1px 4px rgba(11,46,82,.28);
}
.doc-fig[data-fig]:hover .fig-pega,.doc-fig[data-fig]:hover .fig-medida,
.doc-fig[data-fig]:hover .fig-reset,.doc-fig.redimensionando .fig-pega,
.doc-fig.redimensionando .fig-medida{opacity:1}

body.exportando .fig-pega,body.exportando .fig-medida,body.exportando .fig-reset{display:none}
body.exportando .doc-fig[data-fig]::after{border-color:transparent}

body.exportando .pane-preview{display:flex !important}
body.exportando .pane-editor{display:none !important}

a.brand{text-decoration:none;color:inherit;border-radius:8px}
a.brand:hover .t1{text-decoration:underline}
a.brand:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.ed-intro a{color:var(--accent);font-weight:600}
.ed-intro a:hover{color:var(--ink)}

.rodape{
  margin-top:28px;padding:18px 2px 4px;border-top:1px solid var(--line);
  text-align:center;
}
.rodape-links{margin:0 0 6px;font-size:12.5px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.rodape-sep{color:var(--line)}
.link-rodape{
  background:none;border:0;padding:0;font:inherit;color:var(--accent);
  font-weight:600;cursor:pointer;text-decoration:none;
}
.link-rodape:hover,.rodape-links a:hover{color:var(--ink);text-decoration:underline}
.rodape-links a{color:var(--accent);font-weight:600;text-decoration:none}
.link-rodape:focus-visible,.rodape-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.rodape-nota{margin:0;font-size:11.5px;color:var(--text-faint);line-height:1.5}

.modal-doc{width:min(680px,100%);height:auto;max-height:min(80vh,720px)}
.doc-legal{
  flex:1;min-height:0;overflow-y:auto;outline:none;
  padding:20px 26px 26px;line-height:1.65;font-size:13.5px;color:var(--text);
}
.doc-legal .doc-legal-resumo{
  background:var(--accent-bg);border-left:3px solid var(--accent);
  padding:11px 14px;border-radius:6px;margin:0 0 16px;color:#22456B;font-size:13px;
}
.doc-legal h4{
  font-family:var(--font-display);font-size:14px;color:var(--ink);
  margin:20px 0 6px;font-weight:700;
}
.doc-legal h4:first-of-type{margin-top:0}
.doc-legal p{margin:0 0 10px}
.doc-legal ul{margin:0 0 10px;padding-left:20px}
.doc-legal li{margin:4px 0}
.doc-legal a{color:var(--accent);font-weight:600}
.doc-legal code{background:var(--panel-2);padding:1px 5px;border-radius:4px;font-size:12.5px}

.doc-legal .contato-endereco{
  font-family:var(--font-ui);font-size:15px;font-weight:700;
  background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  padding:11px 14px;text-align:center;margin:0 0 12px;user-select:all;
}
.doc-legal .doc-legal-nota{font-size:12px;color:var(--text-faint);margin:-4px 0 4px}

.doc-legal a.btn{display:inline-flex;text-decoration:none}
.doc-legal a.btn-primary{color:#fff}
.doc-legal a.btn-primary:hover{color:#fff}

.aviso-geral{
  background:#FBF3DF;border-left:3px solid var(--gold);
  padding:11px 14px;border-radius:6px;margin:0 0 14px !important;
  font-size:12.5px;line-height:1.55;color:#5B4708;
}
.aviso-geral b{color:#3B2E0C}

.btn-janela{
  display:inline-flex;align-items:center;gap:7px;flex:none;
  background:var(--panel);border:1px solid var(--line);border-radius:8px;
  padding:6px 11px;cursor:pointer;font-family:var(--font-ui);font-size:12px;
  font-weight:600;color:var(--text);transition:.14s;
}
.btn-janela svg{width:17px;height:17px;flex:none;color:var(--accent)}
.btn-janela:hover{border-color:var(--accent);background:var(--accent-bg)}
.btn-janela:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn-janela.ativo{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-janela.ativo svg{color:#fff}

body.previa-externa .layout{grid-template-columns:1fr}
body.previa-externa .divisor{display:none}
body.previa-externa .pane-preview{
  position:absolute;left:-99999px;width:900px;visibility:hidden;
}

body.exportando.previa-externa .pane-preview{
  position:static !important;left:auto !important;width:auto !important;
  visibility:visible !important;
}
body.exportando .previa-fora{display:none !important}

.previa-fora{
  position:fixed;right:20px;bottom:20px;z-index:40;
  display:flex;align-items:center;justify-content:center;
}
.previa-fora[hidden]{display:none}
.pf-caixa{
  max-width:320px;text-align:center;background:var(--panel);
  border:1px solid var(--line);border-left:4px solid var(--accent);
  border-radius:12px;padding:16px 18px;
  box-shadow:0 12px 30px -12px rgba(11,46,82,.45);
}
.pf-titulo{font-family:var(--font-display);font-size:15px;color:var(--ink);font-weight:700}
.pf-caixa p{margin:8px 0 16px;font-size:12.5px;line-height:1.55;color:var(--text-faint)}
.pf-acoes{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}

@media (max-width:940px){
  .btn-janela .rot-janela{display:none}
  .btn-janela{padding:6px 8px}
}
@media (max-width:640px){
  .btn-janela{display:none}
}

body.enquadrado > *:not(.bloqueio-iframe){display:none !important}
.bloqueio-iframe{
  position:fixed;inset:0;z-index:9999;background:var(--bg);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.bi-caixa{
  max-width:460px;text-align:center;background:var(--panel);
  border:1px solid var(--line);border-top:5px solid var(--gold);
  border-radius:12px;padding:30px 32px;
}
.bi-caixa h1{margin:0 0 12px;font-family:var(--font-display);font-size:19px;color:var(--ink)}
.bi-caixa p{margin:0 0 16px;font-size:13px;line-height:1.6;color:var(--text)}
.bi-caixa .bi-nota{margin:16px 0 0;font-size:11.5px;color:var(--text-faint)}

@media (max-width:640px){
  .score-panel{padding:12px 14px;gap:12px}
  .score-panel .seal{width:60px;height:60px}
  .score-panel .seal-num b{font-size:19px}
  .score-panel .seal-num span{font-size:8px}
}

.section-card[data-section="s4"] .req-card,
.section-card[data-section="s4"] .req-head,
.section-card[data-section="s4"] .item-row,
.section-card[data-section="s4"] .experiencia-block,
.section-card[data-section="s4"] input,
.section-card[data-section="s4"] textarea{
  scroll-margin-top:130px;
}
