/* ================================================================================================
   OMC V19 - A39 AREA DE CALCULO / LOUSA
   ================================================================================================ */

.calcboardToggleV19{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  white-space:nowrap;
}

.calcboardToggleV19 svg,
.omcCalcboardV19 svg{
  width:17px;
  height:17px;
  flex:0 0 auto;
}

.omcCalcboardV19{
  min-width:0;
  display:none;
  overflow:hidden;

  border:1px solid #d9e1e6;
  border-radius:16px;

  background:#f7fafc;
  color:#122331;

  box-shadow:
    0 18px 48px rgba(8,27,41,.13);
}

.omcCalcboardV19.isOpen{
  display:flex;
  flex-direction:column;
}

.omcCalcboardHeader{
  flex:0 0 auto;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:10px;

  min-height:56px;
  padding:9px 10px 9px 12px;

  border-bottom:1px solid #dde5ea;

  background:#fff;
}

.omcCalcboardTitle{
  min-width:0;

  display:flex;
  align-items:center;
  gap:9px;
}

.omcCalcboardTitleIcon{
  width:34px;
  height:34px;

  flex:0 0 auto;

  display:grid;
  place-items:center;

  border-radius:10px;

  background:#edf4f8;
  color:#16374d;
}

.omcCalcboardTitle strong,
.omcCalcboardTitle small{
  display:block;
}

.omcCalcboardTitle strong{
  font-size:14px;
}

.omcCalcboardTitle small{
  margin-top:2px;

  font-size:11px;
  color:#6a7b87;
}

.omcCalcboardHeaderActions{
  display:flex;
  align-items:center;
  gap:6px;
}

.omcCalcboardSaveStatus{
  font-size:10px;
  font-weight:800;
  color:#627684;
}

.omcCalcboardSaveStatus[data-state="saving"]{
  color:#806000;
}

.omcCalcboardSaveStatus[data-state="saved"]{
  color:#1c6b45;
}

.omcCalcboardSaveStatus[data-state="error"]{
  color:#a4333d;
}

/* BUTTONS */

.omcCalcboardIconBtn,
.omcCalcboardTool,
.omcCalcboardSecondaryBtn,
.omcCalcboardPrimaryBtn,
.omcCalcboardRestore{
  border:1px solid #d5dfe5;
  background:#fff;
  color:#153247;

  font:inherit;
  font-weight:800;

  cursor:pointer;
}

.omcCalcboardIconBtn{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  padding:0;

  border-radius:9px;
}

.omcCalcboardIconBtn:disabled{
  opacity:.35;
  cursor:default;
}

.omcCalcboardTool{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:6px;

  min-height:36px;

  padding:7px 9px;

  border-radius:9px;

  font-size:11px;
}

.omcCalcboardTool.active{
  border-color:#56788e;
  background:#e8f2f8;
}

.omcCalcboardSecondaryBtn,
.omcCalcboardPrimaryBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:7px;

  min-height:38px;

  padding:8px 11px;

  border-radius:10px;

  font-size:11px;
}

.omcCalcboardPrimaryBtn{
  border-color:#16374d;
  background:#16374d;
  color:#fff;
}

/* BODY */

.omcCalcboardBody{
  min-height:0;
  flex:1 1 auto;

  display:flex;
  flex-direction:column;

  overflow:hidden;
}

.omcCalcboardBoardBar{
  flex:0 0 auto;

  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    auto
    auto;

  gap:7px;

  padding:9px 10px;

  border-bottom:1px solid #e2e8ec;
  background:#f9fbfc;
}

.omcCalcboardBoardSelect{
  width:100%;
  min-width:0;

  min-height:34px;

  padding:6px 9px;

  border:1px solid #d5dfe5;
  border-radius:9px;

  background:#fff;
}

.omcCalcboardTools{
  flex:0 0 auto;

  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:7px;

  padding:8px 10px;

  border-bottom:1px solid #e2e8ec;

  background:#fff;
}

.omcCalcboardColors{
  display:flex;
  align-items:center;
  gap:5px;
}

.omcCalcboardColor{
  width:25px;
  height:25px;

  border:2px solid transparent;
  border-radius:50%;

  padding:0;

  background:
    var(--calc-color);

  cursor:pointer;

  box-shadow:
    0 0 0 1px rgba(0,0,0,.12);
}

.omcCalcboardColor.active{
  border-color:#fff;

  box-shadow:
    0 0 0 2px #32556c;
}

.omcCalcboardWidth{
  margin-left:auto;

  display:flex;
  align-items:center;

  gap:6px;

  font-size:10px;
  font-weight:800;
  color:#637682;
}

.omcCalcboardWidth input{
  width:82px;
}

/* CANVAS */

.omcCalcboardCanvasShell{
  min-height:0;
  flex:1 1 auto;

  overflow:auto;

  padding:10px;

  background:
    linear-gradient(
      #eef3f6 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      #eef3f6 1px,
      transparent 1px
    ),
    #f4f7f9;

  background-size:
    24px 24px;
}

.omcCalcboardCanvas{
  display:block;

  width:100%;
  height:auto;

  aspect-ratio:3 / 4;

  border:1px solid #d9e1e6;
  border-radius:8px;

  background:#fff;

  box-shadow:
    0 5px 18px rgba(8,27,41,.08);

  touch-action:none;

  cursor:crosshair;
}

.omcCalcboardCanvas[data-tool="eraser"]{
  cursor:cell;
}

/* FOOTER */

.omcCalcboardFooter{
  flex:0 0 auto;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:8px;

  padding:8px 10px 10px;

  border-top:1px solid #dfe7eb;

  background:#fff;
}

.omcCalcboardFooter > div{
  display:flex;
  gap:7px;
}

/* MINIMIZED HANDLE */

.omcCalcboardRestore{
  display:none;

  width:100%;
  height:100%;

  align-items:center;
  justify-content:center;

  gap:7px;

  padding:8px 5px;

  border:0;
  border-radius:12px;

  writing-mode:vertical-rl;
}

/* ================================================================================================
   DESKTOP
   ================================================================================================ */

@media (min-width:1280px){

  #questionLayout.omcCalcboardOpen{
    grid-template-columns:
      280px
      minmax(0,1fr)
      clamp(360px,30vw,480px) !important;

    align-items:start;
  }

  #questionLayout.focusMode.omcCalcboardOpen{
    grid-template-columns:
      minmax(0,1fr)
      clamp(380px,31vw,520px) !important;
  }

  #questionLayout.omcCalcboardOpen
  .readerColumn{
    min-width:0 !important;
  }

  #questionLayout.omcCalcboardOpen
  .omcCalcboardV19{
    position:sticky;

    top:88px;

    height:
      calc(100vh - 106px);

    min-height:520px;
  }

  /* A38 IMMERSION */

  #questionLayout.omcImmersionMode.omcCalcboardOpen{
    display:grid !important;

    grid-template-columns:
      minmax(0,1fr)
      clamp(380px,31vw,520px) !important;

    grid-template-rows:
      minmax(0,1fr) !important;

    gap:
      clamp(12px,1.3vw,20px) !important;

    align-items:stretch !important;

    overflow:hidden !important;
  }

  #questionLayout.omcImmersionMode.omcCalcboardOpen
  .readerColumn{
    width:100% !important;
    max-width:none !important;

    min-height:0 !important;
    height:100% !important;

    overflow-y:auto !important;
  }

  #questionLayout.omcImmersionMode.omcCalcboardOpen
  .omcCalcboardV19{
    position:relative;

    top:auto;

    width:100%;
    height:100%;

    min-height:0;
  }

  /* MINIMIZED */

  #questionLayout.omcCalcboardOpen.omcCalcboardMinimized{
    grid-template-columns:
      280px
      minmax(0,1fr)
      64px !important;
  }

  #questionLayout.focusMode.omcCalcboardOpen.omcCalcboardMinimized,
  #questionLayout.omcImmersionMode.omcCalcboardOpen.omcCalcboardMinimized{
    grid-template-columns:
      minmax(0,1fr)
      64px !important;
  }

  .omcCalcboardV19.isMinimized
  .omcCalcboardHeader,

  .omcCalcboardV19.isMinimized
  .omcCalcboardBody{
    display:none;
  }

  .omcCalcboardV19.isMinimized
  .omcCalcboardRestore{
    display:flex;
  }
}

/* ================================================================================================
   TABLET
   ================================================================================================ */

@media (min-width:701px) and (max-width:1279px){

  .omcCalcboardV19.isOpen{
    position:fixed;

    right:12px;
    top:84px;
    bottom:12px;

    z-index:118;

    width:
      min(
        460px,
        calc(100vw - 24px)
      );

    border-radius:16px;
  }

  .omcCalcboardV19.isMinimized{
    top:auto;

    width:58px;
    height:58px;

    right:14px;
    bottom:18px;

    border-radius:14px;
  }

  .omcCalcboardV19.isMinimized
  .omcCalcboardHeader,

  .omcCalcboardV19.isMinimized
  .omcCalcboardBody{
    display:none;
  }

  .omcCalcboardV19.isMinimized
  .omcCalcboardRestore{
    display:flex;
    writing-mode:initial;
  }

  .omcCalcboardV19.isMinimized
  .omcCalcboardRestore span{
    display:none;
  }
}

/* ================================================================================================
   MOBILE
   ================================================================================================ */

@media (max-width:700px){

  .calcboardToggleV19 span{
    display:none;
  }

  .omcCalcboardV19.isOpen{
    position:fixed;

    inset:0;

    z-index:118;

    width:100vw;
    height:100dvh;

    border:0;
    border-radius:0;

    box-shadow:none;
  }

  .omcCalcboardHeader{
    min-height:56px;

    padding:
      max(
        8px,
        env(safe-area-inset-top)
      )
      8px
      8px;
  }

  .omcCalcboardTitle small,
  .omcCalcboardSaveStatus{
    display:none;
  }

  .omcCalcboardTools{
    flex-wrap:nowrap;

    overflow-x:auto;

    -webkit-overflow-scrolling:touch;
  }

  .omcCalcboardTool span{
    display:none;
  }

  .omcCalcboardWidth{
    flex:0 0 auto;
  }

  .omcCalcboardCanvasShell{
    padding:7px;
  }

  .omcCalcboardFooter{
    padding-bottom:
      max(
        10px,
        env(safe-area-inset-bottom)
      );
  }

  .omcCalcboardFooter small{
    display:none;
  }

  .omcCalcboardFooter > div{
    width:100%;

    display:grid;

    grid-template-columns:
      1fr 1.3fr;
  }

  .omcCalcboardV19.isMinimized{
    inset:auto;

    right:12px;

    bottom:
      max(
        12px,
        env(safe-area-inset-bottom)
      );

    width:58px;
    height:58px;

    border:1px solid #d9e1e6;
    border-radius:14px;

    box-shadow:
      0 10px 32px rgba(8,27,41,.22);
  }

  .omcCalcboardV19.isMinimized
  .omcCalcboardHeader,

  .omcCalcboardV19.isMinimized
  .omcCalcboardBody{
    display:none;
  }

  .omcCalcboardV19.isMinimized
  .omcCalcboardRestore{
    display:flex;
    writing-mode:initial;
  }

  .omcCalcboardV19.isMinimized
  .omcCalcboardRestore span{
    display:none;
  }
}

/* LIGHTBOX CONTINUA ACIMA DA LOUSA */

.imageLightbox{
  z-index:120;
}

/* END OMC V19 A39 CALCBOARD */
/* ==========================================================================
   OMC_A39_R8_1_DESKTOP_ONLY
   A39 contract:
   - Tablet/mobile <= 1279px: Calcboard unavailable.
   - Desktop >= 1280px: existing Calcboard behavior preserved.
   ========================================================================== */
@media (max-width: 1279px) {
  #calcboardToggleV19,
  #omcCalcboardV19 {
    display: none !important;
  }
}
/* END OMC_A39_R8_1_DESKTOP_ONLY */