*{box-sizing:border-box} :root{--primary:#2347a5;--secondary:#b4233c;--card:#fff;--ink:#172033;--muted:#748096;--line:#e2e8f0;--app:#f3f5f9;--sidebar:#fff;--accent-soft:#edf2ff;--font:"Inter",sans-serif}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--app);font-size:13px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,[contenteditable]:focus-visible{outline:2px solid #7895ef;outline-offset:2px}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:28px;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;min-width:220px}.brand-mark{height:36px;width:36px;border-radius:11px;background:linear-gradient(145deg,#315bd4,#172d77);color:#fff;display:grid;place-items:center;font-size:21px;font-weight:800}.brand strong{display:block;font-size:14px;letter-spacing:-.3px}.brand small{display:block;color:#8993a7;font-size:9px;letter-spacing:1.6px;margin-top:3px}.doc-title{display:flex;align-items:center;gap:9px;flex:1;max-width:420px}.doc-title input{border:0;background:transparent;font-weight:600;color:#3a455b;width:100%;font-size:13px}.status-dot{width:7px;height:7px;background:#29b67a;border-radius:50%}.top-actions{display:flex;gap:8px;align-items:center}.btn{border:1px solid transparent;border-radius:8px;padding:9px 13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn-primary{background:var(--primary);color:white;box-shadow:0 3px 7px #2347a526}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{background:transparent;color:#5a6579}.btn-ghost:hover{background:#f2f4f8}.btn-outline{background:white;border-color:#dbe2ed;color:#46536a}.btn-outline:hover{border-color:#9caed1;background:#f8faff}.btn-danger{background:#fff5f5;border-color:#ffd8d8;color:#b4233c}.btn-small{padding:7px 9px;font-size:11px}.full-width{width:100%}.icon-btn{border:0;background:transparent;color:#667085;border-radius:7px;padding:6px 9px;font-size:18px}.icon-btn:hover{background:#eef2f8}.app-shell{display:grid;grid-template-columns:252px minmax(400px,1fr) 270px;min-height:calc(100vh - 68px)}.sidebar{background:var(--sidebar);min-width:0}.left-sidebar{border-right:1px solid var(--line);padding:19px 14px}.right-sidebar{border-left:1px solid var(--line);padding:21px 17px}.side-heading{display:flex;align-items:center;justify-content:space-between;color:#9aa3b3;font-weight:700;letter-spacing:1.3px;font-size:10px;padding:0 7px 16px}.nav-item{border:0;background:transparent;width:100%;text-align:left;display:flex;gap:11px;align-items:center;padding:10px 12px;border-radius:8px;color:#657086;margin:2px 0;font-weight:500}.nav-item.active{background:#edf2ff;color:#294ca9;font-weight:700}.sidebar-content{padding-top:15px}.section-label{font-size:9px;font-weight:800;letter-spacing:1.3px;color:#9aa3b3;margin:16px 3px 9px}.block-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.insert-card{min-width:0;border:1px solid #e6eaf1;background:white;border-radius:9px;padding:10px 9px;text-align:left;display:flex;flex-direction:column;gap:5px;transition:.15s}.insert-card:hover{border-color:#aabbea;box-shadow:0 4px 12px #1c36700c;transform:translateY(-1px)}.insert-card b{font-size:11px;color:#354057}.insert-card small{font-size:9px;color:#8993a5;line-height:1.4}.mini-icon{height:27px;width:29px;display:grid;place-items:center;border-radius:7px;font-weight:800;font-size:12px}.purple{background:#f1eaff;color:#7b4bc4}.blue{background:#e9f1ff;color:#3865ca}.teal{background:#e3f8f4;color:#168c7b}.orange{background:#fff0df;color:#c77920}.pink{background:#ffeaf0;color:#c34e79}.green{background:#e7f8e9;color:#2e9955}.callout-list{display:grid;gap:5px}.callout-option{border:0;background:transparent;display:flex;align-items:center;gap:8px;text-align:left;padding:8px 5px;color:#526076;font-size:10px;border-radius:6px}.callout-option:hover{background:#f5f7fb}.callout-option span:last-child{margin-left:auto;color:#a0a8b7;font-size:15px}.callout-swatch{width:8px;height:25px;border-radius:4px}.callout-swatch.definition{background:#3e78ce}.callout-swatch.attention{background:#e5a33a}.callout-swatch.clinical{background:#36a7ba}.callout-swatch.summary{background:#42a579}.left-sidebar .full-width{margin-top:17px}.workspace{min-width:0;display:flex;flex-direction:column;background:#f1f3f8}.workspace-toolbar{height:55px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px}.view-switch{display:flex;background:#f3f5f9;padding:3px;border-radius:8px;gap:2px}.view-btn{border:0;background:transparent;border-radius:6px;padding:7px 11px;color:#788297;font-size:11px}.view-btn.active{background:#fff;color:#34415a;box-shadow:0 1px 4px #1b2b4c18;font-weight:700}.toolbar-right{display:flex;align-items:center;gap:9px;color:#8a94a6;font-size:11px}.toolbar-right .icon-btn{background:#fff;border:1px solid #e3e7ef;padding:4px 8px}.canvas-scroll{overflow:auto;flex:1;padding:34px 24px 55px;min-height:500px}.book-canvas{margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:28px;transform-origin:top center}.ebook-page{position:relative;flex:none;background:var(--page-bg,#fff);width:794px;height:1123px;box-shadow:0 7px 24px #26365314,0 0 0 1px #dfe4ed;overflow:hidden;padding:68px 68px 70px;color:var(--ink);font-family:var(--font);display:flex;flex-direction:column;--page-primary:var(--primary);--page-secondary:var(--secondary)}.book-canvas.size-wide .ebook-page{width:1123px;height:632px;padding:46px 58px 52px}.ebook-page.cover-page{padding:0}.page-content{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;min-height:0;gap:18px}.cover-page .page-content{padding:115px 75px 75px;justify-content:center}.cover-decoration{position:absolute;inset:0;background:linear-gradient(125deg,#e9efff 0%,transparent 52%),radial-gradient(ellipse at 100% 0%,#d5e2ff 0,transparent 42%);pointer-events:none}.cover-page h1{font-size:48px;line-height:1.12;letter-spacing:-1.7px;color:var(--primary);margin:24px 0 14px;max-width:570px}.cover-subtitle{font-size:18px;line-height:1.7;color:#66728a;max-width:510px}.block-badge{display:inline-block;background:var(--primary);color:white;border-radius:5px;padding:6px 10px;font-size:10px;letter-spacing:1.1px;font-weight:800;width:max-content;max-width:100%}.cover-meta{margin-top:auto;color:#7d8799;font-size:10px;letter-spacing:1.6px;font-weight:700}.page-footer{position:absolute;bottom:25px;left:68px;right:68px;display:flex;justify-content:space-between;align-items:center;color:#9aa3b2;font-size:8px;letter-spacing:1px;border-top:1px solid #cfd7e466;padding-top:12px}.cover-page .page-footer{left:35px;right:35px}.ebook-page:not(.cover-page) .page-content{padding-bottom:20px}.editable-block{position:relative;border-radius:7px;outline:1px solid transparent;transition:outline-color .1s;min-width:0}.editable-block:hover{outline:1px dashed #b9c8e7}.editable-block.selected{outline:2px solid #6c8de2;outline-offset:4px}.editable-block h2,.editable-block h3{color:var(--primary);margin:0 0 12px;line-height:1.25}.editable-block h2{font-size:30px;letter-spacing:-.7px}.editable-block h3{font-size:21px}.editable-block p{font-size:13px;line-height:1.8;color:inherit;margin:0 0 10px}.editable-block ul,.editable-block ol{padding-left:22px;line-height:1.8}.text-block{font-size:13px;line-height:1.8}.text-block:empty:before{content:"Clique aqui para escrever seu texto…";color:#a0a8b7}.callout-block{display:flex;gap:13px;padding:17px 18px;border-radius:8px;border:1px solid #dce5f0;background:#f6f9ff}.callout-block .callout-icon{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:16px;font-weight:800}.callout-block h3{font-size:13px;margin:1px 0 7px;color:inherit}.callout-block p{font-size:11px;line-height:1.75;margin:0}.callout-block.definition{border-left:4px solid #3976ca;background:#f0f6ff;color:#23466f}.callout-block.definition .callout-icon{background:#dceaff;color:#2864b5}.callout-block.attention{border-left:4px solid #d9942f;background:#fff8e9;color:#79501c}.callout-block.attention .callout-icon{background:#ffedc7;color:#aa6a13}.callout-block.clinical{border-left:4px solid #2a9cad;background:#edfaff;color:#205b6a}.callout-block.clinical .callout-icon{background:#d2f2f6;color:#177c8d}.callout-block.summary{border-left:4px solid #29966b;background:#effbf5;color:#245d49}.callout-block.summary .callout-icon{background:#d6f5e4;color:#23875c}.columns-block{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.columns-block.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.column-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px;min-height:95px}.column-card h3{font-size:13px;margin-bottom:7px}.column-card p{font-size:11px;line-height:1.65}.image-block img{display:block;max-width:100%;max-height:410px;object-fit:contain;margin:0 auto;border-radius:7px}.image-block figcaption{font-size:10px;color:#7c879a;text-align:center;margin-top:9px;font-style:italic}.table-wrap{overflow:visible}.ebook-table{width:100%;border-collapse:collapse;font-size:10px;line-height:1.55}.ebook-table th{background:var(--primary);color:#fff;text-align:left;padding:10px 9px}.ebook-table td{padding:9px;border-bottom:1px solid #e2e8f0}.ebook-table tbody tr:nth-child(even){background:#f2f5fa}.question-item{border:1px solid #e0e6ef;border-radius:8px;padding:14px;margin:8px 0;background:var(--card)}.question-item .q-title{font-weight:700;line-height:1.6;margin-bottom:9px}.question-item label{display:block;padding:5px 0;color:#566176;font-size:11px}.answer-toggle{border:0;background:#edf3ff;color:#3158aa;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:700;margin-top:7px}.answer-content{margin-top:9px;background:#f1faf5;padding:10px;border-radius:6px;font-size:11px;line-height:1.7}.page-empty{border:1px dashed #cbd5e1;border-radius:9px;padding:30px;text-align:center;color:#8490a4}.canvas-bottom{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;color:#9aa3b2;font-size:10px;background:#f8f9fc;border-top:1px solid #e7eaf1}.inspector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#a1a9b8}.inspector-header h3{font-size:15px;margin:5px 0 0;letter-spacing:-.3px}.inspector-icon{height:33px;width:33px;border-radius:10px;background:#edf2ff;color:#3459b8;display:grid;place-items:center;font-size:18px}.inspector-section{border-bottom:1px solid #edf0f5;padding:0 0 18px;margin-bottom:18px}.field-label{display:block;font-size:10px;font-weight:700;color:#606c81;margin-bottom:8px}.field-control{width:100%;height:36px;border:1px solid #dfe5ee;border-radius:7px;padding:0 10px;background:#fff;color:#455168;font-size:11px}.theme-swatches{display:flex;gap:8px;margin:12px 0 14px}.swatch{height:27px;width:27px;border-radius:8px;border:3px solid white;box-shadow:0 0 0 1px #d9e0ea}.swatch.active{box-shadow:0 0 0 2px #6b86d7}.swatch-health{background:linear-gradient(135deg,#2347a5 50%,#b4233c 50%)}.swatch-nature{background:linear-gradient(135deg,#087f68 50%,#c6a66b 50%)}.swatch-custom{background:conic-gradient(#e64b4b,#e6d84b,#4fc16b,#4b9fe6,#a14be6,#e64b4b)}.color-row{display:flex;align-items:center;gap:10px;margin-top:9px}.color-row label{display:flex;align-items:center;justify-content:space-between;gap:7px;flex:1;color:#7b8597;font-size:10px}.color-row input[type=color]{width:26px;height:26px;border:1px solid #dfe5ee;background:#fff;border-radius:6px;padding:2px}.space-top{margin-top:14px}.upload-mini{display:block;margin-top:10px;border:1px dashed #d3dbe8;padding:10px;border-radius:7px;color:#68758c;font-size:10px;cursor:pointer;text-align:center}.upload-mini:hover{background:#f7f9fd}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.block-inspector{font-size:11px;color:#7b8597}.empty-inspector{line-height:1.7;background:#f7f8fb;padding:12px;border-radius:7px}.inspector-control{margin:9px 0}.inspector-control label{display:block;font-size:10px;margin-bottom:5px;color:#69758a}.inspector-control input,.inspector-control select,.inspector-control textarea{width:100%;border:1px solid #dce3ed;border-radius:6px;padding:7px;background:#fff;color:#445168}.inspector-control input[type=color]{height:30px;padding:2px}.page-list{display:grid;gap:7px}.page-list-item{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid #e1e6ef;border-radius:8px;cursor:pointer}.page-list-item.active{border-color:#8da5e3;background:#f5f7ff}.page-thumb{height:42px;background:#fff;border:1px solid #e1e5ed;border-radius:3px;display:grid;place-items:center;color:#9ca7b8;font-size:10px}.page-list-item b{font-size:10px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-list-item small{font-size:9px;color:#8993a4}.page-list-actions{display:flex;flex-direction:column}.page-list-actions button{border:0;background:transparent;color:#7a8597;padding:1px 4px}.hint{font-size:10px;color:#9099a9;line-height:1.7;margin:12px 3px}.drop-zone{border:1px dashed #bdc9dc;border-radius:11px;padding:22px 12px;text-align:center;background:#fafbfe;display:flex;align-items:center;flex-direction:column;gap:9px}.drop-zone.dragover{background:#edf3ff;border-color:#5576ce}.drop-zone b{font-size:11px}.drop-zone small{font-size:9px;color:#929bad}.upload-symbol{height:35px;width:35px;border-radius:10px;background:#e9efff;color:#345ab9;font-size:23px;display:grid;place-items:center}.drop-zone .btn{margin-top:4px;font-size:10px}.import-options{display:grid;gap:9px;margin-top:15px;color:#68758a;font-size:10px}.import-options input{accent-color:var(--primary)}.hidden{display:none!important}.modal-backdrop{position:fixed;inset:0;background:#1720337a;z-index:30;display:grid;place-items:center;padding:20px}.modal{width:min(470px,100%);background:#fff;border-radius:14px;padding:22px;box-shadow:0 20px 80px #101a3033}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal h2{font-size:17px;margin:0}.modal p{font-size:11px;color:#6d788c;line-height:1.7}.drop-zone.compact{padding:26px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.2s;background:#18243b;color:#fff;padding:11px 16px;border-radius:9px;box-shadow:0 8px 30px #14213a30;font-size:12px;z-index:50}.toast.show{opacity:1;transform:translate(-50%,0)}body.dark-ui{--app:#171c27;--sidebar:#202634;--line:#333c4c;color:#e7eaf1}body.dark-ui .topbar,body.dark-ui .workspace-toolbar,body.dark-ui .insert-card,body.dark-ui .field-control,body.dark-ui .btn-outline{background:#202634;color:#e7eaf1;border-color:#3a4353}body.dark-ui .workspace{background:#171c27}body.dark-ui .nav-item,body.dark-ui .callout-option,body.dark-ui .insert-card b{color:#c2cbda}body.dark-ui .nav-item.active{background:#2c3855;color:#b9caff}body.dark-ui .view-switch{background:#171c27}body.dark-ui .view-btn.active{background:#343e50;color:white}body.dark-ui .canvas-bottom{background:#202634}body.dark-ui .left-sidebar,body.dark-ui .right-sidebar{border-color:#333c4c}body.dark-ui .empty-inspector{background:#171c27}body.dark-ui .page-list-item{border-color:#3a4353}body.dark-ui .doc-title input{color:#e7eaf1}@media(max-width:1200px){.app-shell{grid-template-columns:220px minmax(350px,1fr)}.right-sidebar{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:18px}.inspector-header{grid-column:1/-1;margin-bottom:0}.inspector-section{margin:0}.ebook-page{transform-origin:top center}.brand{min-width:180px}}@media(max-width:760px){.topbar{height:auto;min-height:62px;padding:10px 12px;gap:10px;flex-wrap:wrap}.brand{min-width:0;flex:1}.brand small{display:none}.doc-title{order:3;max-width:none;flex-basis:100%;padding-left:4px}.top-actions{gap:3px}.top-actions .btn{padding:8px;font-size:10px}.top-actions .btn span,.top-actions #saveBtn{display:none}.app-shell{display:flex;flex-direction:column}.left-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:10px}.side-heading{padding-bottom:5px}.left-sidebar>.nav-item{display:inline-flex;width:auto;margin-right:3px;padding:8px}.sidebar-content{padding-top:4px}.block-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.insert-card{padding:7px}.insert-card small{display:none}.section-label{margin-top:10px}.callout-list{grid-template-columns:1fr 1fr}.left-sidebar .full-width{margin-top:9px}.workspace-toolbar{height:48px;padding:0 10px}.canvas-scroll{padding:20px 12px;min-height:480px}.ebook-page{transform:scale(.55);transform-origin:top center;margin-bottom:-505px}.book-canvas.size-wide .ebook-page{transform:scale(.4);margin-bottom:-380px}.book-canvas{gap:15px}.right-sidebar{display:block;padding:15px}.inspector-section{margin-bottom:14px}.inspector-header{margin-bottom:15px}.canvas-bottom{padding:0 10px;font-size:9px}.page-list{grid-template-columns:1fr 1fr}.cover-page h1{font-size:42px}.view-btn{padding:6px 8px}.toolbar-right{gap:5px}}@media print{body{background:white}.topbar,.left-sidebar,.right-sidebar,.workspace-toolbar,.canvas-bottom,.toast{display:none!important}.app-shell,.workspace,.canvas-scroll{display:block;overflow:visible;background:white;padding:0;margin:0}.book-canvas{gap:0!important}.ebook-page{box-shadow:none!important;margin:0!important;break-after:page;page-break-after:always;transform:none!important}.ebook-page:last-child{break-after:auto;page-break-after:auto}}

/* ================================================================
   Melhorias e correções do editor (ver. 2)
   Esta seção substitui/estende a folha de estilos base acima.
   ================================================================ */

.heading-block .block-badge{cursor:text;user-select:text}
.image-placeholder{min-height:110px;border:1px dashed #9cacc7;background:#f6f8fc;border-radius:8px;display:grid;place-items:center;text-align:center;padding:20px;color:#61718d;cursor:pointer;font-size:12px}
.image-placeholder:hover{background:#edf3ff;border-color:#5b7bd0}

/* Bloco de gráfico simples (barras) */
.chart-block{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:18px}
.chart-block h3{margin:0 0 18px;color:var(--primary);font-size:17px}
.bar-chart{display:grid;gap:13px}
.bar-row{display:grid;grid-template-columns:minmax(65px,100px) 1fr 35px;align-items:center;gap:9px;font-size:10px}
.bar-row>span{color:var(--ink)}.bar-row>b{text-align:right;color:var(--ink)}
.bar-track{height:15px;border-radius:4px;background:#edf1f7;overflow:hidden}
.bar-track i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--primary),#6f91e7);min-width:3px}
.chart-caption{font-size:10px!important;color:#7c879a!important;margin:15px 0 0!important}
.bar-chart.chart-column{display:flex;align-items:end;gap:14px;min-height:180px;padding:12px;border-bottom:1px solid var(--line)}
.chart-column .bar-row{display:flex;flex:1;min-width:0;flex-direction:column-reverse;gap:6px;align-items:center}
.chart-column .bar-track{width:100%;height:135px;display:flex;align-items:end;background:transparent}
.chart-column .bar-track i{display:block;width:70%!important;max-width:70%;background:var(--primary);border-radius:5px 5px 0 0}
.chart-column .bar-row span,.chart-column .bar-row b{font-size:10px;text-align:center}
.chart-donut .bar-row{display:grid;grid-template-columns:90px 1fr 35px;gap:8px;align-items:center}
.chart-donut .bar-track{height:12px;border-radius:20px;overflow:hidden;background:#edf0f5}
.chart-donut .bar-track i{display:block;height:100%;background:var(--secondary);border-radius:20px}

.workspace:fullscreen{overflow:auto;background:#eef1f7;padding:0}
.workspace:fullscreen .canvas-scroll{height:calc(100vh - 90px);overflow:auto}
.workspace:fullscreen .ebook-page{box-shadow:0 8px 30px #18243b26}
.workspace:fullscreen .workspace-toolbar{position:sticky;top:0;z-index:3}
#undoBtn:disabled{opacity:.4;cursor:not-allowed}

.ebook-page:not(.cover-page) .page-content{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start;gap:0}
.ebook-page:not(.cover-page) .page-content>.editable-block{width:100%;flex:0 0 auto}
.ebook-page:not(.cover-page) .page-content>.editable-block[style*="flex: 0 0 48%"],.ebook-page:not(.cover-page) .page-content>.editable-block[style*="flex:0 0 48%"]{width:48%}

.table-tools{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.table-tools button{font-size:9px;border:1px solid #dce3ed;background:#f8faff;color:#53627c;padding:5px 8px;border-radius:5px}
.table-wrap{overflow-x:auto;overflow-y:visible;max-width:100%}
@media print{.no-export{display:none!important}}

.badge-actions{display:flex;gap:5px;flex-wrap:wrap}

/* Layout fix: keep the tool panels available while the document itself scrolls. */
@media (min-width: 1201px) {
  html, body { height: 100%; }
  body { overflow: hidden; }
  .topbar { position: relative; flex: 0 0 68px; }
  .app-shell { height: calc(100vh - 68px); min-height: 0; overflow: hidden; }
  .sidebar { height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
  .left-sidebar, .right-sidebar { position: relative; align-self: stretch; }
  .workspace { height: 100%; min-height: 0; overflow: hidden; }
  .canvas-scroll { min-height: 0; height: auto; }
}

/* Canva-like block handle and free positioning. */
.block-drag-handle {
  position: absolute; top: 3px; right: 3px; z-index: 20;
  display: none; align-items: center; gap: 4px;
  border: 1px solid #b7c7ed; border-radius: 6px;
  padding: 4px 7px; background: #fff; color: #3158aa;
  box-shadow: 0 2px 8px #172b4d20; font: 700 11px/1.2 var(--font);
  cursor: grab; touch-action: none; user-select: none;
}
.block-drag-handle span { font-size: 10px; }
.editable-block.selected > .block-drag-handle { display: inline-flex; }
.block-drag-handle.dragging { cursor: grabbing; background: #eaf0ff; box-shadow: 0 5px 16px #172b4d30; }
.editable-block[style*="position: absolute"] { max-width: calc(100% - 2px); }
.editable-block[style*="position: absolute"] > .block-drag-handle { display: inline-flex; }
@media (max-width: 1200px) {
  .block-drag-handle { padding: 5px 8px; }
}
@media print {
  .block-drag-handle { display: none !important; }
}

/* Keep the navigation controls pinned inside the scrollable left panel. */
.sidebar-fixed-nav {
  position: sticky; top: -19px; z-index: 8;
  margin: -19px -14px 0; padding: 19px 14px 8px;
  background: var(--sidebar); border-bottom: 1px solid var(--line);
}
.left-sidebar { scroll-padding-top: 150px; }
.right-sidebar .inspector-header {
  position: sticky; top: -21px; z-index: 5;
  padding: 21px 0 10px; margin: -21px 0 22px;
  background: var(--sidebar);
}
@media (max-width: 760px) {
  .sidebar-fixed-nav { top: -10px; margin: -10px -10px 0; padding: 10px 10px 7px; }
  .left-sidebar>.nav-item { display: inline-flex; width: auto; margin-right: 3px; padding: 8px; }
  .sidebar-fixed-nav>.nav-item { display: inline-flex; width: auto; margin-right: 3px; padding: 8px; }
  .right-sidebar .inspector-header { top: -15px; margin: -15px 0 15px; padding: 15px 0 8px; }
}
@media (max-width: 760px) { .top-actions #openProjectBtn { display: none; } }

/* Tablet/compact desktop: retain both side panels beside the canvas. */
@media (max-width: 1200px) and (min-width: 761px) {
  html, body { height: 100%; }
  body { overflow: hidden; }
  .topbar { position: relative; height: 68px; min-height: 68px; padding: 0 10px; gap: 8px; flex-wrap: nowrap; }
  .brand { min-width: 140px; }
  .doc-title { max-width: 180px; }
  .top-actions { gap: 3px; }
  .top-actions .btn { padding: 8px; font-size: 10px; }
  .top-actions #openProjectBtn { font-size: 0; padding: 8px; }
  .top-actions #openProjectBtn::before { content: "↥"; font-size: 14px; }
  .app-shell { grid-template-columns: 190px minmax(300px, 1fr) 245px; height: calc(100vh - 68px); min-height: 0; overflow: hidden; }
  .sidebar { height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .left-sidebar { padding: 14px 10px; }
  .right-sidebar { grid-column: auto; display: block; border-left: 1px solid var(--line); border-top: 0; padding: 18px 12px; }
  .workspace { height: 100%; min-height: 0; overflow: hidden; }
  .canvas-scroll { min-height: 0; height: auto; padding: 24px 14px 40px; }
  .sidebar-fixed-nav { top: -14px; margin: -14px -10px 0; padding: 14px 10px 7px; }
  .right-sidebar .inspector-header { top: -18px; margin: -18px 0 18px; padding: 18px 0 9px; }
}
/* Ferramentas adicionais de edição */
.shape-object{min-height:110px;min-width:120px;display:flex;align-items:center;justify-content:center;padding:18px;background:#dbeafe;border:0 solid #334155;color:#172033;border-radius:0;text-align:center;}
.shape-object[data-shape="circle"]{width:180px;height:180px;min-width:180px;min-height:180px;border-radius:50%;margin:8px auto;}
.shape-object[data-shape="pill"]{border-radius:24px;}
.ebook-list{padding-left:24px;line-height:1.8;}
.ebook-checklist{display:grid;gap:10px;}
.ebook-checklist label{display:flex;align-items:flex-start;gap:8px;line-height:1.6;}
.ebook-checklist input[type="checkbox"]{margin-top:4px;flex:0 0 auto;}
.image-block{margin:0;padding:0;border:0;min-width:0;max-width:100%;}
.image-block img{max-width:100%;height:auto;}
.page-footer .footer-label{outline-offset:2px;}
.checkbox-line{display:flex;gap:7px;align-items:center;margin-top:8px;color:#69758a;font-size:10px;}

/* Barra flutuante de formatação de texto (fonte, tamanho, cor, opacidade…). */
.text-toolbar{position:fixed!important;top:12px;left:12px;margin:0;z-index:1000;display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:8px;max-width:min(96vw,900px);background:#fff;border:1px solid #dce3ed;border-radius:9px;box-shadow:0 12px 36px #17203330;pointer-events:auto;user-select:none;}
.text-toolbar[hidden]{display:none!important;}
.text-toolbar button,.text-toolbar select,.text-toolbar input[type="number"]{height:30px;border:1px solid #dce3ed;background:#fff;color:#334155;border-radius:5px;padding:4px 7px;}
.text-toolbar select{max-width:105px;font-size:10px;}
.text-toolbar input[type="number"]{width:55px;}
.text-toolbar label{display:flex;align-items:center;gap:3px;font-size:9px;color:#667085;}
.text-toolbar input,.text-toolbar select{user-select:auto}
.text-toolbar input[type="color"]{width:25px;height:25px;padding:1px;border:1px solid #dce3ed;border-radius:4px;}
.text-toolbar input[type="range"]{width:55px;}
.text-toolbar output{min-width:32px;text-align:right;font-size:9px;font-weight:700;color:#3158aa;background:#edf2ff;border-radius:4px;padding:3px 5px;}
@media(max-width:760px){.text-toolbar{position:sticky;top:0}.shape-object[data-shape="circle"]{width:140px;height:140px;min-width:140px;min-height:140px}}

/* Capa neutra: sem o degradê azulado padrão. */
.cover-decoration{background:none!important;background-color:transparent!important}
/* Os números podem ser desativados individualmente pelo controle de paginação. */
.page-number[style*="display: none"]{display:none!important}
/* Dragging reorders blocks in document flow; it never leaves them floating over other content. */
.block-drop-placeholder{display:block;width:100%;min-height:36px;border:2px dashed var(--primary,#2347a5);border-radius:8px;background:color-mix(in srgb,var(--primary,#2347a5) 7%,transparent);margin:8px 0;box-sizing:border-box}
.editable-block.is-reordering{display:none!important}

/* ----------------------------------------------------------------
   Redimensionamento de blocos — CORRIGIDO.
   Antes: arrastar a alça reduzia visualmente o tamanho do texto (escala CSS),
   mesmo sem o campo "Tamanho da fonte" mudar — o que confundia o usuário.
   Agora: redimensionar NUNCA altera o tamanho real do texto.
   - Blocos de texto (título, subtítulo, texto, listas, tabelas, destaques,
     colunas, questões, gráfico): só é possível ajustar a LARGURA; a altura
     sempre acompanha o conteúdo automaticamente, então nada é cortado.
     O espaço entre a borda do bloco e o texto é controlado à parte pelo
     campo "Preenchimento interno" no painel do bloco selecionado.
   - Formas e imagens: largura E altura são ajustáveis livremente (útil para
     enquadrar/recortar), já que não têm texto corrido para quebrar linha.
   ---------------------------------------------------------------- */
.editable-block{
  position:relative;resize:horizontal;overflow:auto;contain:layout style;
  min-width:160px;max-width:100%;min-height:34px;
  padding:6px;box-sizing:border-box;flex:0 0 auto;
  /* Espaçamento padrão entre blocos (ajustável em "Espaçamento entre blocos",
     no painel de personalização). Quando o usuário define um valor específico
     para ESTE bloco em "Espaçamento inferior", o estilo embutido (inline)
     sempre tem prioridade sobre esta regra — nenhum CSS extra é necessário
     para isso, é o comportamento padrão da cascata. */
  margin-bottom:var(--block-gap,16px);
}
.editable-block.selected{outline:2px solid #6c8de2;outline-offset:2px;cursor:default}
.editable-block[data-type="shape"],.editable-block[data-type="image"]{resize:both;overflow:hidden;}
.editable-block>.block-drag-handle{position:absolute;right:3px;top:3px;z-index:30;}
@media(max-width:760px){.editable-block{min-width:140px}}
@media print{.editable-block{resize:none!important}}

/* Subtítulo (novo tipo de bloco de texto): destaque secundário, sem maiúsculas. */
.subheading-text{font-size:19px;font-weight:600;color:var(--secondary);margin:0 0 10px;letter-spacing:-.2px;line-height:1.3}
/* Título (bloco "heading" inserido no corpo do e-book): grande, negrito e
   maiúsculas, como pedido. Não afeta o título grande da capa (h1), que
   continua com o estilo editorial próprio dela. */
.editable-block.heading-block h2{text-transform:uppercase;font-weight:800;letter-spacing:.2px}
/* Texto corrido: sempre peso normal (nunca negrito por padrão). */
.text-block{font-weight:400}

/* Indicação visual de que o conteúdo ultrapassa o limite da página (quebra de página). */
.ebook-page.page-overflow{box-shadow:0 0 0 3px #e5484d80,0 7px 24px #26365314}
.overflow-banner{position:absolute;left:0;right:0;bottom:44px;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#fef2f2;color:#9b1c1c;font-size:10.5px;font-weight:600;padding:8px 14px;border-top:2px dashed #e5484d;border-bottom:2px dashed #e5484d}
.overflow-banner .overflow-fix{background:#e5484d;color:#fff;border:0;border-radius:6px;padding:6px 10px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}
.overflow-banner .overflow-fix:hover{filter:brightness(1.08)}

/* Margens de página: campo desabilitado para a capa (ocupa a folha inteira). */
#pageMarginsSection.margins-disabled{opacity:.45}
#pageMarginsSection.margins-disabled input,#pageMarginsSection.margins-disabled button{cursor:not-allowed}

/* Palavras da página, ao lado da dica de seleção. */
#wordCountLabel{color:#8a94a6}


/* v3 — Controles individuais de séries e correção de alturas das colunas.
   Classes limitadas ao componente de gráficos: não interferem nas outras páginas. */
.chart-inspector{border:1px solid #e0e6f0;padding:11px;border-radius:9px;background:#f9fbff}
.chart-inspector #chartApplyColor{margin:5px 0 11px}
.chart-series-title{display:flex;justify-content:space-between;align-items:center;color:#273b59;font-weight:800;margin:13px 0 10px}
.chart-series-title small{font-size:9px;font-weight:500;color:#8a94a8}
.chart-series-editor{display:grid;gap:10px}
.chart-series-item{padding:10px;background:#fff;border:1px solid #e1e8f3;border-radius:9px}
.chart-series-item>label{font-weight:700}
.chart-series-item .chart-edit-name{font-weight:600;margin-bottom:8px}
.chart-series-fields{display:grid;grid-template-columns:1fr 74px;gap:9px;align-items:end}
.chart-series-fields input[type=color]{height:34px}
.chart-series-item input[type=range]{padding:0;margin:10px 0 3px;accent-color:var(--primary);height:14px}
.chart-item-actions{display:flex;gap:5px;margin-top:6px}
.chart-item-actions button{flex:1;font-size:9px;padding:5px 3px;background:#f7f9fe;color:#4d5d7a;border:1px solid #dde4f2;border-radius:5px}
.chart-item-actions button:disabled{opacity:.38;cursor:not-allowed}
.chart-item-actions .chart-remove-one{color:#b4233c}
.chart-inspector #chartInspectorAdd{margin-top:11px}
.bar-track i{background:var(--bar-color,var(--primary));transition:width .1s,height .1s}
.bar-chart.chart-column .bar-track{height:145px;align-items:flex-end;justify-content:center}
.bar-chart.chart-column .bar-track i{width:70%!important;max-width:70%;height:var(--bar-percent,50%)!important;min-height:0;min-width:0;background:var(--bar-color,var(--primary));border-radius:5px 5px 0 0}
.bar-chart.chart-donut .bar-track i{background:var(--bar-color,var(--secondary))}
.bar-row>span[contenteditable],.bar-row>b[contenteditable]{outline-offset:3px}
.editable-block .image-block img{display:block;max-width:100%;height:auto;object-fit:contain;margin:auto}
.editable-block .subheading-text{text-transform:none}

.import-image-warning{border:1px dashed #e5a348;background:#fffbeb;color:#895922;border-radius:8px;padding:16px;font-size:11px;line-height:1.5;text-align:center}

/* v4 — seleção, marcação de inserção, movimentação multipágina e imagens. */
.insert-help{font-size:10px;line-height:1.55;color:#64748b;background:#f3f6fd;border:1px solid #e1e7f4;border-radius:8px;padding:9px 10px;margin:3px 0 12px}
.keyboard-hint{color:#8b94a5;font-size:9px}
.editable-block.insert-anchor-before::before,.editable-block.insert-anchor-after::after{content:'';position:absolute;left:1%;width:98%;height:3px;pointer-events:none;background:#4169cf;border-radius:5px;z-index:14;box-shadow:0 0 0 2px #ffffffa0}
.editable-block.insert-anchor-before::before{top:-5px}.editable-block.insert-anchor-after::after{bottom:-5px}
@media print{.editable-block.insert-anchor-before::before,.editable-block.insert-anchor-after::after{display:none!important}}
.editable-block .callout-body{white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:11px;line-height:1.75}
.image-toolbar{position:fixed;z-index:1010;display:flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:min(96vw,940px);padding:8px;background:#fff;border:1px solid #d3ddf0;border-radius:10px;box-shadow:0 12px 32px #17203335;color:#334155}
.image-toolbar[hidden],.crop-backdrop[hidden]{display:none!important}
.image-toolbar button{border:1px solid #d5dded;background:#f8faff;color:#23478b;border-radius:6px;min-height:29px;padding:5px 8px;font-size:11px;font-weight:650;cursor:pointer}
.image-toolbar button:hover{background:#e8eeff}
.image-opacity-label{display:flex;align-items:center;gap:5px;font-size:10px;white-space:nowrap;padding:0 5px}
.image-opacity-label input{width:82px;accent-color:#3158aa}.image-opacity-label output{min-width:36px}
.crop-backdrop{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;background:#101b31af;padding:14px}
.crop-dialog{background:#fff;border-radius:13px;padding:18px;width:min(810px,96vw);max-height:96vh;overflow:auto;box-shadow:0 16px 60px #0005}
.crop-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.crop-header h2{font-size:17px;margin:0;color:#172033}.crop-header button{font-size:26px;border:0;background:none;cursor:pointer}
.crop-dialog p{color:#64748b;font-size:12px;line-height:1.5}
.crop-canvas-wrap{position:relative;width:max-content;max-width:100%;border:1px solid #b8c8e5;touch-action:none;cursor:crosshair;background:repeating-conic-gradient(#edf2fb 0% 25%,#fff 0% 50%) 50%/16px 16px;line-height:0;margin:12px auto;overflow:hidden}
.crop-canvas-wrap canvas{display:block;max-width:100%;height:auto}
.crop-selection{position:absolute;border:2px solid #fff;outline:2px solid #2563eb;box-shadow:0 0 0 3000px #101b3166;pointer-events:none;z-index:1;box-sizing:border-box}
.crop-actions{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:760px){.image-toolbar{gap:3px;padding:5px}.image-toolbar button{min-height:27px;padding:3px 6px}.image-opacity-label input{width:50px}}

/* ================================================================
   Versão 5 — Biblioteca organizada, cabeçalho e listas
   ================================================================ */
.tool-group,.inspector-group{border:1px solid #e3e9f2;border-radius:11px;background:#fff;margin:8px 0 12px;padding:0 8px 10px;box-shadow:0 1px 2px #192b4510}
.tool-group>summary,.inspector-group>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;color:#304563;padding:12px 8px;font-weight:750;font-size:11px;user-select:none}
.tool-group>summary small{font-size:9px;color:#9ca7b7;font-weight:500;margin-left:auto}
.tool-group>summary::after,.inspector-group>summary::after{content:'⌄';color:#6785c7;font-size:16px;line-height:1;transform:rotate(-90deg);transition:transform .15s}
.tool-group[open]>summary::after,.inspector-group[open]>summary::after{transform:rotate(0deg)}
.tool-group>summary::-webkit-details-marker,.inspector-group>summary::-webkit-details-marker{display:none}
.tool-group .block-grid,.tool-group .callout-list{margin-top:8px}
.tool-group .insert-card{min-width:0}
.inspector-group{padding:0 11px 12px;margin-bottom:10px;border-bottom:1px solid #e3e9f2}
.inspector-group>summary{margin:0 -4px 9px;position:relative}
.inspector-group:not([open]){padding-bottom:0}
.inspector-group:not([open])>summary{margin-bottom:0}
.inspector-group[open]>.field-label{margin-top:12px}
.inspector-group#pageMarginsSection.margins-disabled{opacity:.66}
.insert-help{background:#f3f7ff;color:#526582;border:1px solid #e1eafb;border-radius:9px;padding:10px;line-height:1.55;font-size:10px}
.region-editor{padding:12px 0;margin-top:10px;border-top:1px dashed #dce4ef}
.region-editor h4{margin:0 0 9px;font-size:12px;color:#415776}
.region-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:10px 0}
.region-cols>label{min-width:0;display:block;font-size:9px;color:#607189}
.region-cols .field-control{margin-top:4px;min-width:0;width:100%;height:32px;padding:4px 6px;font-size:9px}
.region-uploads .upload-mini{padding:7px 2px;line-height:1.3;font-size:9px;margin:0;overflow-wrap:anywhere}
.region-cols .btn{padding:5px 3px!important;white-space:normal;font-size:9px}
.region-range{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.region-range label{font-size:10px;color:#6a7890;display:flex;gap:5px;align-items:center}
.region-range input{border:1px solid #d8dfec;border-radius:5px;width:46px;padding:4px 2px;text-align:center}
/* Header is inside the paper margins and stays visible in PDF output. */
.ebook-page>.page-header{position:absolute;top:17px;left:68px;right:68px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:start;z-index:2;font-size:var(--header-font-size,10px);line-height:1.35;color:#697b95;max-height:57px;overflow:hidden;pointer-events:none}
.ebook-page>.page-header[hidden]{display:none!important}
.ebook-page>.page-header .header-zone{display:flex;min-width:0;flex-direction:column;justify-content:start;align-items:flex-start;gap:3px;overflow-wrap:anywhere}
.ebook-page>.page-header .header-zone[data-zone=center]{align-items:center;text-align:center}
.ebook-page>.page-header .header-zone[data-zone=right]{align-items:flex-end;text-align:right}
.page-header .header-zone img{max-width:100%;height:var(--header-img-height,28px);width:auto;object-fit:contain}
.page-header .header-zone-text{overflow-wrap:anywhere;max-width:100%}
.book-canvas.size-wide .ebook-page>.page-header{left:58px;right:58px;top:8px;max-height:42px}
.ebook-page>.page-footer{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:7px;font-size:var(--footer-font-size,10px);letter-spacing:.1px;line-height:1.3}
.ebook-page .page-footer .footer-center{text-align:center}
.ebook-page .page-footer .footer-extra-right{text-align:right}
.ebook-page .page-footer .footer-label{min-width:0;overflow-wrap:anywhere}
/* A pasted rich font is never allowed to override the small, light caption style. */
.ebook-page figure.image-block figcaption,
.ebook-page figure.image-block figcaption *,
.ebook-page .chart-caption,.ebook-page .chart-caption *{font-family:var(--font)!important;font-size:10px!important;line-height:1.6!important;font-weight:400!important;color:#8290a6!important;letter-spacing:0!important;background:transparent!important;}
.ebook-page figure.image-block figcaption{margin:8px 0 0!important;text-align:center;font-style:italic!important;white-space:pre-wrap;min-height:14px}
.ebook-page .chart-caption{font-style:italic!important}
.text-toolbar-divider{height:25px;border-left:1px solid #dce4ec;margin:0 3px}
.text-toolbar button[data-list]{min-width:31px;font-weight:700;color:#365ca7;background:#f2f6ff}
.ebook-list.dash-list{list-style:none!important;padding-left:21px}
.ebook-list.dash-list>li{position:relative}
.ebook-list.dash-list>li::before{content:'–';position:absolute;left:-17px;font-weight:700}
/* Robust fullscreen regardless of fullscreen API availability. */
.workspace:fullscreen,.workspace:-webkit-full-screen,
.workspace.immersive-workspace{height:100vh!important;height:100dvh!important;min-height:0!important;max-height:100vh!important;max-height:100dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#eef1f7!important}
.workspace.immersive-workspace{position:fixed!important;inset:0!important;z-index:2000!important;width:100vw!important}
.workspace:fullscreen .canvas-scroll,.workspace.immersive-workspace .canvas-scroll{height:100%!important;min-height:0!important;flex:1!important;overflow:auto!important}
.workspace:fullscreen .workspace-toolbar,.workspace.immersive-workspace .workspace-toolbar{flex:none!important;position:relative!important;z-index:3!important}
.workspace:fullscreen .canvas-bottom,.workspace.immersive-workspace .canvas-bottom{flex:none!important}
body.immersive-active{overflow:hidden!important}
@media(max-width:1200px){.right-sidebar{display:block}.inspector-group{display:block}.region-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.tool-group,.inspector-group{margin:8px 0}.region-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.ebook-page>.page-header{top:16px;left:68px;right:68px}.workspace.immersive-workspace .canvas-scroll{min-height:0!important}}
@media print{.workspace.immersive-workspace{position:static!important}.tool-group{display:none!important}}
/* Converted highlights use an editable div so their content may contain multiple paragraphs. */
.callout-block .callout-main{flex:1;min-width:0}
.callout-block .callout-body{font-size:11px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;min-height:1em}
.callout-block .callout-body p{font-size:inherit;line-height:inherit;margin:0 0 6px}

/* v6 — navegação por tarefas, painel de sumário, controle de capa. */
.sidebar-fixed-nav{display:grid;gap:3px;border-bottom:1px solid #e7ebf2;padding-bottom:14px}
.sidebar-fixed-nav .nav-item{padding:11px 12px;font-size:12px;font-weight:600}
.tool-group>summary{font-size:11px;line-height:1.3}
.tool-group .block-grid .insert-card{min-height:73px}
.inspector-group>summary{font-size:11px;line-height:1.35}
.toc-settings-panel{margin-top:16px;border-top:1px solid #e6edf8;padding-top:6px}
.toc-settings-panel .hint{font-size:10px;line-height:1.55}
.toc-settings-panel .checkbox-line{margin:14px 0}
.toc-mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:11px 0}
.toc-mode-buttons .btn{font-size:10px;white-space:normal;padding:8px 4px}
#tocLibrary .btn{min-height:36px}
#tocLibrary .btn:disabled{opacity:.48;cursor:default}
.ebook-page .cover-meta.editable-block{margin-top:auto;padding:4px 1px;flex:none;width:max-content;max-width:100%;}
.ebook-page .cover-meta.editable-block > .cover-meta{margin-top:0}
.ebook-page .toc-document{width:100%;max-width:100%;break-inside:avoid;min-height:100px;color:var(--ink)}
.toc-document .toc-heading{font-size:27px;color:var(--primary);font-weight:800;letter-spacing:-.4px;margin:0 0 26px}
.toc-document .toc-entries{display:grid;grid-template-rows:repeat(auto-fill, minmax(24px,auto));gap:1px 18px;min-width:0}
.toc-row{min-height:24px;display:flex;align-items:baseline;gap:8px;min-width:0;font-size:12px;line-height:1.55;padding:2px 0}
.toc-row.toc-level-1 .toc-item-title{font-weight:700;color:var(--ink)}
.toc-row.toc-level-2 .toc-item-title{color:#51617b;font-size:11px;padding-left:13px}
.toc-item-title{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.toc-leader{flex:1 1 5px;min-width:10px;height:1em;border-bottom:1px dotted #9ba9bd;opacity:.8}
.toc-page-number{flex:none;min-width:25px;font-weight:700;color:var(--primary);text-align:right;font-variant-numeric:tabular-nums}
.toc-empty{font:italic 12px/1.7 var(--font);color:#8290a6}
.toc-document[data-toc-mode="manual"] .toc-item-title[contenteditable="true"],.toc-document[data-toc-mode="manual"] .toc-page-number[contenteditable="true"]{outline-offset:2px;cursor:text}
.toc-inspector{display:grid;gap:10px}
.toc-inspector p{font-size:11px;color:#64748b;line-height:1.6}
/* Um índice grande pode ser dividido visualmente em colunas, sem esconder entradas. */
.ebook-page .toc-document .toc-entries.toc-two-columns{display:block;column-count:2;column-gap:22px}
.toc-entries.toc-two-columns .toc-row{break-inside:avoid;page-break-inside:avoid}
@media(max-width:960px){.sidebar-fixed-nav .nav-item{font-size:11px}}
@media print{.toc-settings-panel,.toc-inspector{display:none!important}}

.toc-entries.toc-three-columns{display:block;column-count:3;column-gap:14px}
.toc-three-columns .toc-row{break-inside:avoid;page-break-inside:avoid;font-size:10.5px;min-height:22px}
.toc-three-columns .toc-level-2 .toc-item-title{font-size:10px;padding-left:7px}
.toc-edit-actions{display:flex;gap:3px;align-self:center;opacity:.22;transition:opacity .12s}
.toc-row:hover .toc-edit-actions,.toc-edit-actions:focus-within{opacity:1}
.toc-edit-actions button{font-size:10px;border:1px solid #d4e0f4;border-radius:4px;background:#f8fbff;color:#4265ae;padding:0 3px;line-height:18px;cursor:pointer}
.toc-edit-actions button:hover{background:#e6eeff}
.toc-document[data-toc-mode="manual"] .toc-leader{min-width:4px}
.book-canvas.size-wide .toc-document[data-toc-columns="auto"] .toc-entries.toc-two-columns, .book-canvas.size-wide .toc-document:not([data-toc-columns]) .toc-entries.toc-two-columns{column-count:3}
@media print{.toc-edit-actions{display:none!important}}

/* V7 — orientação escolhida pelo usuário, sem heurística que substitua sua opção. */
.toc-columns-control{display:flex;flex-direction:column;gap:7px;margin:13px 0 5px;font-size:11px;font-weight:700;color:#52617a}
.toc-columns-control select{width:100%;min-height:37px;padding:8px 10px;border:1px solid #dce4f0;border-radius:8px;color:#364761;background:#fff;font-size:11px;font-weight:500}
.toc-columns-control select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.ebook-page .toc-document .toc-entries.toc-one-column{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;column-count:auto;gap:1px 0}
.toc-entries.toc-one-column .toc-row{font-size:12px;min-height:24px;line-height:1.55}
.toc-entries.toc-one-column .toc-level-2 .toc-item-title{font-size:11px;padding-left:13px}

/* V8 — navegação, seleção múltipla, leitura e exportação */
.page-create-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}
.page-create-tools .btn{font-size:10px;min-width:0;padding:8px 4px}
.page-list-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;min-width:48px}
.page-list-actions button{border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:10px;color:#4266ac;padding:3px 4px}
.page-list-actions button:hover{border-color:#c6d5f0;background:#eef4ff}
.editable-block.multi-selected{outline:2px solid #597bd0!important;outline-offset:2px}
.editable-block.multi-selected>.block-drag-handle{display:inline-flex}
.multi-inspector{background:#eff5ff;padding:12px;border:1px solid #c5d6f2;border-radius:8px;color:#24477c}
.multi-inspector p{font-size:11px;line-height:1.5}
.block-drop-placeholder{border-color:#326de0!important;background:#dce8ff8a!important;pointer-events:none}
.editable-block.shape-merge-target{outline:3px dashed #149a72!important;outline-offset:3px}
.toc-heading-more{font-size:18px!important;margin-bottom:15px!important;font-weight:700!important}
.export-choice{display:inline-flex;align-items:stretch;border-radius:8px;overflow:hidden;border:1px solid #27459c}
.export-choice #exportBtn{border-radius:0;border:0}
.export-choice #exportFormat{font:600 11px var(--font);color:#244a98;border:0;border-left:1px solid #bdd0fa;background:#f7faff;max-width:104px;padding:6px 4px;cursor:pointer}
.reading-preview[hidden]{display:none!important}
.reading-preview{position:fixed;inset:0;z-index:200;background:#eef1f6;display:flex;flex-direction:column;color:#243454}
.reading-preview-head{position:relative;flex:none;min-height:58px;background:#fff;border-bottom:1px solid #dce4ef;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 24px;box-shadow:0 1px 6px #17203312}
.reading-preview-head strong{font-size:14px}
.reading-preview-head span{color:#6c7d99;font-size:12px}
.reading-preview-scroll{flex:1;overflow:auto;padding:30px 20px 65px;overscroll-behavior:contain}
.reading-preview .preview-canvas{margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:25px}
.reading-preview .ebook-page{transform:none!important;transform-origin:center!important;margin:0!important;overflow:hidden;box-shadow:0 10px 34px #10234423}
.reading-preview .ebook-page .editable-block{outline:none!important;resize:none!important;cursor:default!important}
.reading-preview .ebook-page .page-content{pointer-events:none}
.reading-preview .ebook-page .no-export,.reading-preview .ebook-page .overflow-banner{display:none!important}
body.preview-open{overflow:hidden!important}
@media(max-width:800px){.export-choice #exportFormat{max-width:72px;font-size:9px}.reading-preview-scroll{padding:15px 8px}.reading-preview .preview-canvas{transform:scale(.65);transform-origin:top center;width:max-content}.reading-preview .reading-preview-head{padding:10px}}
@media print{.reading-preview{display:none!important}.multi-inspector{display:none!important}.editable-block.multi-selected{outline:none!important}}
.reading-preview .preview-gabarito{padding:55px;background:#fff;color:#172033;font:16px/1.5 Arial,sans-serif;overflow:hidden}
.reading-preview .preview-gabarito h1{font-size:25px}
.reading-preview .preview-gabarito section{margin:16px 0}
.reading-preview .preview-gabarito small{color:#7b879c}
