
/* escola.fun — Ferramentas PDF */
.pdf-hero {
  padding-bottom: 3rem;
}
.pdf-privacy-pill {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .72rem;
  border-radius:999px;
  border:1px solid #a9ddbf;
  background:#effaf4;
  color:#146c43;
  font-size:.78rem;
  font-weight:800;
}
.pdf-tool-grid .tool-card {
  position:relative;
}
.pdf-tool-grid .pdf-featured {
  border-color:#99bee7;
  box-shadow:0 16px 42px rgba(13,110,253,.08);
}
.pdf-tool-grid .pdf-featured::before {
  content:"PARA PROFESSORES";
  position:absolute;
  right:1rem;
  top:1rem;
  padding:.22rem .45rem;
  border-radius:999px;
  background:#eaf3ff;
  color:#0d6efd;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.04em;
}
.pdf-drop {
  border:2px dashed #c6d7e5;
  border-radius:1.1rem;
  padding:2rem 1.2rem;
  text-align:center;
  background:#f9fbfd;
  transition:.18s ease;
  cursor:pointer;
}
.pdf-drop.is-over {
  border-color:#0d6efd;
  background:#eef6ff;
}
.pdf-drop i {
  display:block;
  font-size:2rem;
  color:#0d6efd;
  margin-bottom:.5rem;
}
.pdf-drop strong,
.pdf-drop span {
  display:block;
}
.pdf-drop span {
  color:#6a7d8d;
  font-size:.86rem;
  margin-top:.25rem;
}
.pdf-file-chip {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.75rem .85rem;
  border:1px solid #dce6ed;
  border-radius:.9rem;
  background:#fff;
}
.pdf-file-chip > div {
  min-width:0;
}
.pdf-file-chip strong,
.pdf-file-chip span {
  display:block;
}
.pdf-file-chip strong {
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pdf-file-chip span {
  color:#718393;
  font-size:.78rem;
}
.pdf-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.pdf-work-note {
  display:flex;
  gap:.7rem;
  align-items:flex-start;
  padding:.85rem .95rem;
  border:1px solid #d9e6ef;
  border-radius:.9rem;
  background:#f8fbfd;
}
.pdf-work-note i {
  color:#18845a;
  font-size:1.05rem;
}
.pdf-work-note strong,
.pdf-work-note span {
  display:block;
}
.pdf-work-note span {
  color:#6e8292;
  font-size:.8rem;
  margin-top:.1rem;
}

/* Editor */
.pdf-editor-shell {
  position:relative;
  border:1px solid #d8e4ed;
  border-radius:1.1rem;
  overflow:visible;
  background:#eef3f7;
}
.pdf-editor-toolbar {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.45rem;
  padding:.7rem;
  background:#fff;
  border-bottom:1px solid #d8e4ed;
  position:sticky;
  top:var(--pdf-nav-height, 72px);
  z-index:80;
  box-shadow:0 8px 24px rgba(16,42,67,.08);
}
.pdf-editor-toolbar .btn.active {
  color:#fff;
  background:#0d6efd;
  border-color:#0d6efd;
}
.pdf-editor-grid {
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  min-height:760px;
}
.pdf-page-sidebar {
  position:sticky;
  top:calc(var(--pdf-nav-height, 72px) + var(--pdf-toolbar-height, 58px));
  align-self:start;
  padding:.75rem;
  overflow:auto;
  max-height:calc(100vh - var(--pdf-nav-height, 72px) - var(--pdf-toolbar-height, 58px) - 16px);
  border-right:1px solid #d8e4ed;
  background:#f8fafc;
  z-index:12;
}
.pdf-thumb {
  width:100%;
  padding:.45rem;
  margin-bottom:.6rem;
  border:1px solid #d9e3ea;
  border-radius:.75rem;
  background:#fff;
  cursor:pointer;
}
.pdf-thumb.active {
  border-color:#0d6efd;
  box-shadow:0 0 0 .14rem rgba(13,110,253,.08);
}
.pdf-thumb canvas {
  width:100%;
  height:auto;
  display:block;
  border-radius:.35rem;
}
.pdf-thumb span {
  display:block;
  text-align:center;
  margin-top:.35rem;
  color:#617689;
  font-size:.72rem;
  font-weight:700;
}
.pdf-canvas-area {
  overflow:visible;
  padding:1.2rem;
  min-width:0;
}
.pdf-page-stage {
  position:relative;
  width:max-content;
  margin:0 auto;
  background:#fff;
  box-shadow:0 12px 34px rgba(16,42,67,.14);
}
.pdf-page-stage #pdfBaseCanvas {
  display:block;
}
.pdf-page-stage .canvas-container {
  position:absolute !important;
  inset:0 !important;
}
.pdf-editor-status {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.55rem .75rem;
  background:#fff;
  border-top:1px solid #d8e4ed;
  color:#657a8b;
  font-size:.78rem;
}
.pdf-color-input {
  width:42px;
  height:38px;
  padding:.2rem;
}
.pdf-signature-pad {
  width:100%;
  height:190px;
  border:1px solid #cddbe6;
  border-radius:.8rem;
  background:#fff;
  touch-action:none;
}

/* Organizer */
.pdf-page-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:.8rem;
}
.pdf-page-card {
  position:relative;
  border:1px solid #d8e4ed;
  border-radius:.9rem;
  background:#fff;
  padding:.55rem;
  cursor:grab;
}
.pdf-page-card.sortable-ghost {
  opacity:.35;
}
.pdf-page-card canvas {
  width:100%;
  height:180px;
  object-fit:contain;
  display:block;
  background:#f2f5f7;
  border-radius:.5rem;
}
.pdf-page-card-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.35rem;
  margin-top:.45rem;
}
.pdf-page-card-title {
  min-width:0;
  font-size:.72rem;
  font-weight:750;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pdf-page-card-actions {
  display:flex;
  gap:.25rem;
}
.pdf-page-card .form-check {
  position:absolute;
  top:.75rem;
  left:.75rem;
  padding:.3rem .35rem .3rem 1.85rem;
  border-radius:.55rem;
  background:rgba(255,255,255,.92);
  z-index:2;
}

/* Image -> PDF */
.image-page-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
  gap:.8rem;
}
.image-page-card {
  border:1px solid #d8e4ed;
  border-radius:.9rem;
  background:#fff;
  padding:.55rem;
  cursor:grab;
}
.image-page-card img {
  width:100%;
  height:170px;
  object-fit:contain;
  background:#f2f5f7;
  border-radius:.5rem;
}
.image-page-meta {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.4rem;
  margin-top:.45rem;
}
.image-page-name {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.73rem;
  font-weight:750;
}

/* Compressor */
.pdf-result-box {
  border:1px solid #d8e4ed;
  border-radius:1rem;
  background:#fff;
  padding:1rem;
}
.pdf-result-number {
  font-size:2rem;
  font-weight:900;
  color:#102a43;
  line-height:1;
}
.pdf-saving-good { color:#146c43; }
.pdf-saving-bad { color:#a61d2d; }

@media (max-width:991.98px) {
  .pdf-editor-grid {
    grid-template-columns:1fr;
  }
  .pdf-page-sidebar {
    display:flex;
    gap:.55rem;
    overflow-x:auto;
    overflow-y:hidden;
    max-height:none;
    border-right:0;
    border-bottom:1px solid #d8e4ed;
  }
  .pdf-thumb {
    flex:0 0 120px;
    margin-bottom:0;
  }
  .pdf-editor-toolbar {
    top:0;
  }
}


/* ===== Editor PDF — comentários/correções v1.2 ===== */
.pdf-editor-shell {
  position: relative;
}

.pdf-comment-tooltip {
  position:absolute;
  z-index:80;
  width:min(330px, calc(100% - 24px));
  padding:.78rem .88rem;
  border:1px solid #d9d1f7;
  border-radius:.8rem;
  background:#fff;
  color:#26364a;
  box-shadow:0 14px 38px rgba(16,42,67,.18);
  pointer-events:none;
  font-size:.86rem;
  line-height:1.45;
}

.pdf-comment-tooltip::before {
  content:"";
  position:absolute;
  left:-7px;
  top:18px;
  width:13px;
  height:13px;
  background:#fff;
  border-left:1px solid #d9d1f7;
  border-bottom:1px solid #d9d1f7;
  transform:rotate(45deg);
}

.pdf-comment-tooltip-label {
  color:#6d50bc;
  font-size:.7rem;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.045em;
  margin-bottom:.28rem;
}

#commentText.is-invalid {
  border-color:var(--bs-form-invalid-border-color);
  box-shadow:0 0 0 .25rem rgba(220,53,69,.1);
}


/* ===== Editor PDF — scroll contínuo v1.3 ===== */
.pdf-continuous-pages {
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  align-items:center;
}
.pdf-page-wrap {
  width:100%;
  scroll-margin-top:calc(var(--pdf-nav-height, 72px) + var(--pdf-toolbar-height, 58px) + 16px);
}
.pdf-page-number-label {
  width:max-content;
  margin:0 auto .45rem;
  padding:.28rem .62rem;
  border:1px solid #d5e1ea;
  border-radius:999px;
  background:#fff;
  color:#617689;
  font-size:.72rem;
  font-weight:800;
  box-shadow:0 3px 12px rgba(16,42,67,.04);
}
.pdf-page-wrap.active .pdf-page-number-label {
  border-color:#8ab8eb;
  background:#eef6ff;
  color:#0d6efd;
}
.pdf-page-wrap.active .pdf-page-stage {
  box-shadow:0 0 0 2px rgba(13,110,253,.18),0 15px 38px rgba(16,42,67,.16);
}
.pdf-page-stage {
  margin:0 auto;
}
.pdf-pages-loading {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  min-height:360px;
  color:#526a7d;
}
.pdf-editor-status {
  position:sticky;
  bottom:0;
  z-index:40;
  box-shadow:0 -6px 18px rgba(16,42,67,.06);
}
@media (max-width:991.98px) {
  .pdf-page-sidebar {
    position:sticky;
    top:calc(var(--pdf-nav-height, 72px) + var(--pdf-toolbar-height, 58px));
    z-index:30;
    max-height:none;
  }
  .pdf-canvas-area { padding:.75rem; }
  .pdf-page-stage { transform-origin:top center; }
}


/* ===== Editor PDF v1.4 — toolbar fixa + seleção real de texto ===== */
:root {
  --pdf-nav-height: 78px;
  --pdf-toolbar-height: 58px;
}

.pdf-editor-toolbar {
  position: sticky !important;
  top: var(--pdf-nav-height, 78px) !important;
  z-index: 1025 !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(16,42,67,.14) !important;
}

.pdf-page-sidebar {
  top: calc(var(--pdf-nav-height, 78px) + var(--pdf-toolbar-height, 58px)) !important;
}

.pdf-page-wrap {
  scroll-margin-top: calc(var(--pdf-nav-height, 78px) + var(--pdf-toolbar-height, 58px) + 18px);
}

.pdf-page-stage > canvas:first-child {
  position: relative;
  z-index: 1;
}

.pdf-text-layer {
  position: absolute;
  inset: 0;
  z-index: 3;
  overflow: hidden;
  opacity: 1;
  line-height: 1;
  text-align: initial;
  transform-origin: 0 0;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.pdf-text-layer :is(span, br) {
  position: absolute;
  color: transparent;
  white-space: pre;
  cursor: text;
  transform-origin: 0% 0%;
}

.pdf-text-layer span::selection,
.pdf-text-layer br::selection {
  background: rgba(139,92,246,.38);
}

.pdf-page-stage .canvas-container {
  z-index: 5 !important;
}

.pdf-editor-shell.is-text-select .pdf-page-stage .canvas-container {
  pointer-events: none !important;
}

.pdf-editor-shell.is-text-select .pdf-text-layer {
  z-index: 6;
  pointer-events: auto;
  user-select: text;
  -webkit-user-select: text;
  cursor: text;
}

.pdf-selection-action {
  position: fixed;
  z-index: 1100;
}

.pdf-selection-action .btn {
  white-space: nowrap;
  border-radius: .75rem;
}

.pdf-selected-text-preview {
  padding: .75rem .85rem;
  border: 1px solid #ded6fa;
  border-radius: .8rem;
  background: #f8f6ff;
  color: #435064;
  line-height: 1.45;
  max-height: 125px;
  overflow: auto;
}

#textSelectBtn.active,
#objectSelectBtn.active {
  color: #fff !important;
}

@media (max-width: 991.98px) {
  :root {
    --pdf-nav-height: 68px;
  }

  .pdf-editor-toolbar {
    top: var(--pdf-nav-height, 68px) !important;
  }
}


/* ===== Editor PDF v1.5 ===== */
/* O posicionamento fixo da toolbar passa a ser controlado por JS. */
.pdf-editor-toolbar {
  position:relative !important;
}

.pdf-editor-toolbar.is-fixed {
  position:fixed !important;
  top:var(--pdf-toolbar-fixed-top, 78px) !important;
  left:var(--pdf-toolbar-fixed-left, 0px) !important;
  width:var(--pdf-toolbar-fixed-width, auto) !important;
}

.pdf-editor-toolbar-spacer {
  width:100%;
}

.pdf-text-layer {
  font-family:sans-serif;
}

.pdf-text-layer span,
.pdf-text-layer br {
  color:transparent !important;
}

.pdf-editor-shell.is-text-select .pdf-text-layer span {
  cursor:text !important;
}

.pdf-editor-shell.is-text-select .pdf-page-stage {
  cursor:text;
}


/* ===== Editor PDF v1.6 — comentários por seleção/caixa + export ===== */
.pdf-editor-shell.is-comment-box .pdf-page-stage .canvas-container {
  pointer-events:auto !important;
}

.pdf-editor-shell.is-comment-box .pdf-page-stage {
  cursor:crosshair !important;
}

.pdf-editor-shell.is-comment-box .pdf-page-stage .upper-canvas {
  cursor:crosshair !important;
}

#addComment.active {
  color:#fff !important;
  background:#0d6efd !important;
  border-color:#0d6efd !important;
}

.pdf-selected-box-preview {
  display:flex;
  align-items:center;
  padding:.72rem .82rem;
  border:1px solid #d9d1f7;
  border-radius:.8rem;
  background:#faf8ff;
  color:#51436f;
  font-size:.86rem;
}

.pdf-editor-toast {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:1200;
  width:min(430px, calc(100vw - 32px));
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  padding:.9rem 1rem;
  border:1px solid #d6e2ec;
  border-radius:1rem;
  background:#fff;
  color:#24384b;
  box-shadow:0 18px 50px rgba(16,42,67,.2);
  opacity:0;
  transform:translateY(12px);
  transition:opacity .2s ease, transform .2s ease;
}

.pdf-editor-toast.is-visible {
  opacity:1;
  transform:translateY(0);
}

.pdf-editor-toast-icon {
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eaf3ff;
  color:#0d6efd;
}

.pdf-editor-toast strong,
.pdf-editor-toast span {
  display:block;
}

.pdf-editor-toast span {
  margin-top:.16rem;
  color:#63798b;
  font-size:.82rem;
  line-height:1.4;
}

.pdf-editor-toast.is-success {
  border-color:#a9ddbf;
}

.pdf-editor-toast.is-success .pdf-editor-toast-icon {
  color:#146c43;
  background:#edf9f2;
}

.pdf-editor-toast.is-danger {
  border-color:#efb4bb;
}

.pdf-editor-toast.is-danger .pdf-editor-toast-icon {
  color:#b42334;
  background:#fff0f2;
}

.pdf-editor-toast.is-info .pdf-editor-toast-icon {
  color:#0d6efd;
  background:#eaf3ff;
}


/* ===== Editor PDF v1.7 — marcador por seleção + Delete ===== */
#addHighlight.active {
  color:#664d03 !important;
  background:#fff3cd !important;
  border-color:#ffca2c !important;
  box-shadow:0 0 0 .18rem rgba(255,193,7,.12);
}

.pdf-editor-shell.is-marker-select .pdf-text-layer span::selection,
.pdf-editor-shell.is-marker-select .pdf-text-layer br::selection {
  background:rgba(255,193,7,.42) !important;
}

.pdf-editor-shell.is-marker-select .pdf-text-layer {
  cursor:text !important;
}

.pdf-editor-shell.is-marker-select .pdf-page-stage {
  cursor:text !important;
}


/* ===== Editor PDF v1.9 — smartphone / tablet ===== */

.pdf-editor-toolbar {
  gap:.45rem;
}

.pdf-toolbar-tools,
.pdf-toolbar-formatting {
  display:flex;
  align-items:center;
  gap:.45rem;
  min-width:0;
}

.pdf-toolbar-export {
  margin-left:auto;
  flex:0 0 auto;
}

.pdf-toolbar-tools .btn,
.pdf-toolbar-formatting .btn,
.pdf-toolbar-export .btn {
  white-space:nowrap;
}

@media (max-width: 767.98px) {

  /* Página ocupa todo o ecrã útil */
  body {
    overflow-x:hidden;
  }

  .pdf-hero {
    padding-top:1.2rem;
    padding-bottom:1.5rem;
  }

  .pdf-file-chip {
    padding:.65rem .7rem;
    border-radius:.8rem;
  }

  .pdf-file-chip > div {
    max-width:70%;
  }

  .pdf-file-chip strong {
    font-size:.9rem;
  }

  .pdf-file-chip span {
    font-size:.72rem;
  }

  .pdf-file-chip .btn {
    padding:.45rem .65rem;
    font-size:.78rem;
  }

  /* Toolbar em duas zonas: ferramentas + formatação/exportar */
  .pdf-editor-toolbar {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "tools export"
      "format format";
    gap:.45rem .5rem !important;
    padding:.5rem !important;
    border-radius:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .pdf-toolbar-tools {
    grid-area:tools;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:.1rem;
  }

  .pdf-toolbar-tools::-webkit-scrollbar,
  .pdf-toolbar-formatting::-webkit-scrollbar {
    display:none;
  }

  .pdf-toolbar-formatting {
    grid-area:format;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-top:.15rem;
    border-top:1px solid #e6edf3;
  }

  .pdf-toolbar-export {
    grid-area:export;
    margin:0;
  }

  .pdf-toolbar-tools .btn,
  .pdf-toolbar-formatting .btn {
    flex:0 0 auto;
    height:38px;
    padding:.42rem .65rem;
    font-size:.78rem;
    border-radius:.7rem;
  }

  .pdf-toolbar-tools .btn i,
  .pdf-toolbar-formatting .btn i {
    font-size:.88rem;
  }

  .pdf-toolbar-formatting .form-select {
    flex:0 0 auto;
    width:auto !important;
    min-width:84px;
    height:38px;
    padding-top:.25rem;
    padding-bottom:.25rem;
    font-size:.78rem;
  }

  .pdf-color-input {
    flex:0 0 42px;
    width:42px !important;
    min-width:42px;
    height:38px !important;
  }

  .pdf-toolbar-export .btn {
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border-radius:.8rem;
  }

  .pdf-toolbar-export .btn span {
    display:none;
  }

  .pdf-toolbar-export .btn i {
    margin:0 !important;
    font-size:1rem;
  }

  /* Toolbar fixa usa toda a largura útil */
  .pdf-editor-toolbar.is-fixed {
    left:0 !important;
    width:100vw !important;
    right:0 !important;
    border-left:0 !important;
    border-right:0 !important;
  }

  /* Miniaturas deixam de roubar largura: faixa horizontal */
  .pdf-editor-grid {
    display:block !important;
    min-height:0 !important;
  }

  .pdf-page-sidebar {
    position:sticky !important;
    top:calc(var(--pdf-nav-height, 68px) + var(--pdf-toolbar-height, 98px)) !important;
    z-index:900;
    display:flex !important;
    gap:.45rem;
    width:100% !important;
    max-width:none !important;
    max-height:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:.45rem .5rem !important;
    border-right:0 !important;
    border-bottom:1px solid #d8e4ed;
    background:rgba(248,250,252,.97);
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .pdf-page-sidebar::-webkit-scrollbar {
    display:none;
  }

  .pdf-thumb {
    flex:0 0 78px !important;
    width:78px !important;
    min-width:78px !important;
    margin:0 !important;
    padding:.3rem !important;
    border-radius:.6rem !important;
  }

  .pdf-thumb canvas {
    max-height:95px;
    object-fit:contain;
  }

  .pdf-thumb span {
    font-size:.62rem !important;
    margin-top:.2rem !important;
  }

  /* Zona do documento */
  .pdf-canvas-area,
  .pdf-pages-host {
    padding:.65rem .35rem 1.5rem !important;
    overflow:visible !important;
  }

  .pdf-page-wrap {
    width:100% !important;
    padding:0 !important;
    margin:0 auto 1rem !important;
  }

  .pdf-page-wrap > .small,
  .pdf-page-label {
    padding-left:.35rem;
    font-size:.75rem;
  }

  .pdf-page-stage {
    max-width:100% !important;
    margin-inline:auto !important;
    box-shadow:0 7px 20px rgba(16,42,67,.14) !important;
  }

  .pdf-page-stage > canvas:first-child {
    max-width:100% !important;
    height:auto !important;
  }

  /* Mantém as layers exatamente sobre o canvas renderizado */
  .pdf-page-stage .canvas-container,
  .pdf-page-stage .lower-canvas,
  .pdf-page-stage .upper-canvas,
  .pdf-text-layer {
    max-width:100% !important;
  }

  .pdf-editor-status {
    gap:.5rem;
    padding:.45rem .6rem;
    font-size:.68rem;
  }

  .pdf-editor-status span:last-child {
    display:none;
  }

  /* Modais pensados para toque */
  #commentModal .modal-dialog,
  #signatureModal .modal-dialog {
    margin:.5rem;
    max-width:none;
  }

  #commentModal .modal-content,
  #signatureModal .modal-content {
    min-height:calc(100dvh - 1rem);
    border-radius:1rem;
  }

  #commentModal .modal-body,
  #signatureModal .modal-body {
    overflow-y:auto;
  }

  #commentModal textarea {
    min-height:140px;
  }

  .pdf-signature-pad {
    height:210px;
  }

  /* Seleção / comentários flutuantes */
  .pdf-selection-action {
    max-width:calc(100vw - 20px);
  }

  .pdf-selection-action .btn {
    font-size:.78rem;
    padding:.45rem .65rem;
  }

  .pdf-comment-tooltip {
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    bottom:12px !important;
    top:auto !important;
    width:auto !important;
    max-width:none !important;
    border-radius:.9rem;
  }

  .pdf-comment-tooltip::before {
    display:none;
  }

  .pdf-editor-toast {
    left:10px;
    right:10px;
    bottom:10px;
    width:auto;
  }
}

@media (max-width: 420px) {
  .pdf-toolbar-tools .btn {
    padding:.4rem .55rem;
  }

  .pdf-toolbar-tools .btn span,
  .pdf-toolbar-tools .btn .tool-label {
    display:none;
  }

  #objectSelectBtn,
  #textSelectBtn {
    min-width:auto;
  }

  .pdf-page-sidebar {
    top:calc(var(--pdf-nav-height, 68px) + var(--pdf-toolbar-height, 98px)) !important;
  }
}


/* ===== Editor PDF v2.0 — mobile sem botões cortados ===== */
@media (max-width: 767.98px) {

  /*
   * Nada de carrossel horizontal na toolbar.
   * As ferramentas passam para grelha e ficam TODAS visíveis.
   */
  .pdf-editor-toolbar {
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-areas:
      "tools"
      "format"
      "export" !important;
    gap:.45rem !important;
    padding:.48rem !important;
    overflow:visible !important;
  }

  .pdf-toolbar-tools {
    grid-area:tools !important;
    display:grid !important;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:.32rem !important;
    width:100%;
    overflow:visible !important;
    padding:0 !important;
  }

  .pdf-toolbar-tools > .btn,
  .pdf-toolbar-tools > .dropdown {
    min-width:0 !important;
    width:100% !important;
    margin:0 !important;
  }

  .pdf-toolbar-tools > .dropdown {
    display:block !important;
  }

  .pdf-toolbar-tools > .dropdown > .btn,
  .pdf-toolbar-tools > .btn {
    width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    height:auto !important;
    padding:.35rem .18rem !important;
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.13rem;
    white-space:normal !important;
    text-align:center;
    line-height:1.05;
    font-size:.64rem !important;
    border-radius:.7rem !important;
  }

  .pdf-toolbar-tools .btn i {
    margin:0 !important;
    font-size:.98rem !important;
    line-height:1;
  }

  .pdf-toolbar-tools .dropdown-toggle::after {
    margin-left:.18rem;
    vertical-align:.08em;
  }

  /*
   * Formatação também deixa de ter scroll horizontal:
   * envolve para a linha seguinte se necessário.
   */
  .pdf-toolbar-formatting {
    grid-area:format !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center;
    gap:.34rem !important;
    width:100%;
    overflow:visible !important;
    padding:.38rem 0 0 !important;
    border-top:1px solid #e5edf3;
  }

  .pdf-toolbar-formatting .vr {
    display:none !important;
  }

  .pdf-toolbar-formatting .form-select {
    width:auto !important;
    min-width:82px !important;
    max-width:112px;
    flex:1 1 88px;
    height:38px;
    font-size:.76rem;
  }

  .pdf-toolbar-formatting .pdf-color-input {
    flex:0 0 42px !important;
    width:42px !important;
    min-width:42px !important;
    height:38px !important;
  }

  .pdf-toolbar-formatting .btn {
    flex:0 0 40px !important;
    width:40px !important;
    min-width:40px !important;
    height:38px !important;
    padding:.25rem !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    font-size:.78rem !important;
  }

  .pdf-toolbar-formatting #clearPage {
    flex:1 1 116px !important;
    width:auto !important;
    min-width:108px !important;
    padding:.35rem .55rem !important;
    white-space:nowrap;
  }

  /*
   * Exportar fica inteiro e sempre visível.
   * Não é reduzido apenas ao ícone.
   */
  .pdf-toolbar-export {
    grid-area:export !important;
    width:100%;
    margin:0 !important;
  }

  .pdf-toolbar-export .btn {
    width:100% !important;
    height:40px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    padding:.45rem .75rem !important;
    border-radius:.72rem !important;
  }

  .pdf-toolbar-export .btn span {
    display:inline !important;
    font-size:.78rem;
  }

  .pdf-toolbar-export .btn i {
    margin:0 !important;
  }

  /*
   * A altura da toolbar varia consoante o ecrã.
   * Usa a variável calculada pelo JS, não os antigos 98 px fixos.
   */
  .pdf-page-sidebar {
    top:calc(
      var(--pdf-nav-height, 68px) +
      var(--pdf-toolbar-height, 180px)
    ) !important;
  }

  .pdf-page-wrap {
    scroll-margin-top:calc(
      var(--pdf-nav-height, 68px) +
      var(--pdf-toolbar-height, 180px) +
      16px
    ) !important;
  }
}

@media (max-width: 479.98px) {
  .pdf-toolbar-tools {
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }

  .pdf-toolbar-tools > .dropdown > .btn,
  .pdf-toolbar-tools > .btn {
    min-height:46px !important;
    font-size:.62rem !important;
  }

  .pdf-toolbar-formatting .form-select {
    min-width:78px !important;
    flex:1 1 82px;
  }
}

@media (max-width: 359.98px) {
  .pdf-toolbar-tools {
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}
