@tailwind base;
@tailwind components;
@tailwind utilities;


@layer base {
  body {
    @apply relative bg-whiten font-satoshi text-base font-normal;
  }

  /* Largura do painel lateral. Mora aqui, e nao numa classe do proprio
     painel, porque o backdrop precisa da mesma medida: e' com ela que ele
     centraliza o aviso do Esc na area que sobra em vez de na viewport
     inteira, onde metade do texto nasce embaixo do painel. Os dois sao
     irmaos dentro do body, entao nenhum consegue ler a medida do outro.

     O painel do assistente marca `data-sidebar-wide` e pede a area do mock;
     formulario de transacao, contato e conta a pagar nao marcam nada e
     ficam nos 384px. Entre lg e xl o largo cede para 720: 820 num monitor de
     1024 nao deixa conteudo atras do painel. */
  body {
    --remote-panel-w: 16rem;
  }

  @media (min-width: 1024px) {
    body {
      --remote-panel-w: 24rem;
    }

    body:has([data-sidebar-wide]) {
      --remote-panel-w: 720px;
    }
  }

  @media (min-width: 1280px) {
    body:has([data-sidebar-wide]) {
      --remote-panel-w: 820px;
    }
  }
}


@layer components {
  /* This css works with the simple_form wrapper and the tom_select_input */
  .js-tomSelectWrapper .js-tomSelect {
    .ts-control {
      @apply w-full rounded-lg border-[1.5px] border-stroke bg-transparent py-2 px-5 font-medium outline-none text-base text-body;
    }


    &.dropdown-active {
      .ts-control {
        @apply rounded-b-none;
      }

      .ts-dropdown {
        @apply mt-0;
      }
    }
  }

  /* Abre a lista pra cima. Usado onde o select fica colado no rodapé da
     tela (ex.: barra de ações em lote), onde o dropdown padrão abriria
     fora da área visível. O tom-select posiciona o dropdown dentro do
     .ts-wrapper (position: relative), então basta trocar a âncora
     vertical — e junto as bordas, que no padrão são abertas embaixo. */
  .js-tomSelectDropup .js-tomSelect {
    .ts-dropdown {
      @apply top-auto bottom-full my-0 rounded-t-lg rounded-b-none
             border-t-[1.5px] border-b-0;
    }

    &.dropdown-active {
      .ts-control {
        @apply rounded-t-none rounded-b-lg;
      }
    }
  }

  .js-tomSelectCentered .ts-control {
    @apply justify-center py-2 px-0 text-center;
  }

  .js-tomSelectNoWrap .js-tomSelect .ts-control {
    @apply flex-nowrap;
  }

  .js-tomSelectNoWrap .js-tomSelect .ts-control .item {
    @apply min-w-0 truncate;
  }

  .js-tomSelectNoWrap .js-tomSelect.dropdown-active .ts-control .item {
    @apply hidden;
  }

  /** Make sure the disable state look similar for 3rd-party components */
  .disabled .ts-control {
    cursor: not-allowed !important;

    .item {
      cursor: not-allowed !important;
    }
  }

  .datepicker.disabled button,
  .datepicker.disabled svg {
    cursor: not-allowed !important;
    opacity: 0.5;
  }

  /** make a way of render the datepicker to the left */
  .datepicker-wrapper.push-left .sdp-cal {
    @apply right-0;
  }
}


.hw-combobox {
  width: 100%;

  .hw-combobox__main__wrapper {
    width: 100%;
    border: none;

    &:focus-within {
      box-shadow: none;
    }

    .hw-combobox__input {
      width: 100%;
      background: transparent;
      padding-left: 1.5rem;
    }

    .hw-combobox__handle {
      display: none;
    }
  }
}
@media print {
  @page {
    size: A4 landscape;
    margin: 10mm;
  }

  html,
  body {
    overflow: visible;
    height: auto;
    max-height: none;
    min-height: 0;
    background: #fff;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .overflow-hidden,
  .overflow-auto,
  .overflow-x-auto,
  .overflow-y-auto,
  .h-screen,
  .min-h-screen,
  .max-h-screen {
    overflow: visible;
    height: auto;
    max-height: none;
    min-height: 0;
  }

  .sticky,
  .fixed {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  .period-summary-print thead {
    display: table-header-group;
  }

  .period-summary-print tr,
  .period-summary-print td,
  .period-summary-print th {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .period-summary-print__table {
    table-layout: fixed;
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *




 */
/* https://unpkg.com/stimulus-datepicker@1.0.5/css/datepicker.css */

:root {
  --sdp-selected: #005fcc;
  --sdp-selected-invert: #ffffff;
  --sdp-prev-month: #888888;
  --sdp-next-month: #888888;
  --sdp-disabled: #1010104d;
  --sdp-disabled-invert: #ffffff;
  --sdp-background: #ffffff;
  --sdp-border: #dddddd;
  --sdp-shadow: 0deg 0% 50%;
  --sdp-icon: #4a4a4acc;
  --sdp-nav-button-background: #f5f5f5;
  --sdp-nav-button-background-hover: #eeeeee;
  --sdp-days-of-week: #4a4a4a;
}

@keyframes fadeIn {
  from {
    transform: translateY(-40px) scale(0.75);
    opacity: 0;
  }
  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
  to {
    transform: translateY(-40px) scale(0.75);
    opacity: 0;
  }
}

[data-controller="datepicker"] {
  position: relative;
}
.sdp-cal {
  z-index: 2;
  position: absolute;
  margin-top: 5px;
  box-sizing: border-box;
  width: fit-content;
  border: 1px solid var(--sdp-border);
  border-radius: 5px;
  padding: 15px;
  background: var(--sdp-background);
  box-shadow: 0 1.25em 1.25em -0.9375em hsl(var(--sdp-shadow) / 0.3);
}
.sdp-cal.fade-in {
  animation: fadeIn 0.1s ease-out;
}
.sdp-cal.fade-out {
  animation: fadeOut 0.1s ease-out;
}
@media (prefers-reduced-motion) {
  .sdp-cal.fade-in, .sdp-cal.fade-out {
    animation: none
  }
}
.sdp-cal button {
  border: none;
  background: none;
  padding: 0;
}

.sdp-nav {
  margin-bottom: 1.2em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sdp-nav-dropdowns, .sdp-nav-buttons {
  display: flex;
}
.sdp-nav-dropdowns select {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: var(--sdp-background);
  color: currentColor;
  padding: 1px 12px 1px 1px;
  border: 1px solid transparent;
  font-size: 1.1em;
  font-weight: 500;
  cursor: pointer;
}
.sdp-nav-dropdowns > div {
  display: flex;
  align-items: center;
}
.sdp-nav-dropdowns > div::after {
  content: " ";
  border: 2px solid var(--sdp-icon);
  border-top: 0;
  border-right: 0;
  width: 0.3em;
  height: 0.3em;
  transform: translateY(-1px) rotate(-45deg);
  right: 10px;
  position: relative;
}
.sdp-nav-buttons button {
  display: flex;
  place-content: center;
  place-items: center;
  border-radius: 50%;
  width: 1.5em;
  height: 1.5em;
  color: var(--sdp-icon);
  background-color: var(--sdp-nav-button-background);
  cursor: pointer;
}
.sdp-nav-buttons button:hover {
  background-color: var(--sdp-nav-button-background-hover);
}
.sdp-nav-buttons svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  width: 0.75em;
  height: 0.75em;
}
.sdp-goto-today {
  margin-left: 0.3em;
  margin-right: 0.3em;
}

.sdp-days-of-week, .sdp-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  place-items: center;
  gap: 0.3em;
}
.sdp-days-of-week {
  margin-bottom: 0.7em;
}
.sdp-days-of-week div {
  text-transform: uppercase;
  font-size: 0.8em;
  color: var(--sdp-days-of-week);
  font-weight: 600;
}

.sdp-days button {
  width: 4.5ch;
  height: 4.5ch;
  border-radius: 50%;
  background-color: transparent;
}
.sdp-days button:not([aria-disabled]) {
  color: currentColor;
  cursor: pointer;
}
.sdp-days button[aria-disabled] {
  color: var(--sdp-disabled);
}

.sdp-days button:not([aria-disabled]).sdp-selected {
  background-color: var(--sdp-selected);
  color: var(--sdp-selected-invert);
}
.sdp-days button[aria-disabled].sdp-selected {
  background-color: var(--sdp-disabled);
  color: var(--sdp-disabled-invert);
}

.sdp-days button:not([aria-disabled]).sdp-today {
  border: 1px solid var(--sdp-selected);
}
.sdp-days button[aria-disabled].sdp-today {
  border: 1px solid var(--sdp-disabled);
}

/* Ideally we would use outline and outline-offset for the :hover and :focus
 * styles.  But Safari's outline doesn't follow the border-radius; it is square.
 * https://bugs.webkit.org/show_bug.cgi?id=231433
 * https://bugs.webkit.org/show_bug.cgi?id=20807
 */
.sdp-days button:hover,
.sdp-days button:focus {
  outline: none;
}

.sdp-days button:not([aria-disabled]):hover,
.sdp-days button:not([aria-disabled]):focus {
  border: 2px solid var(--sdp-selected);
}
.sdp-days button[aria-disabled]:hover,
.sdp-days button[aria-disabled]:focus {
  border: 2px solid var(--sdp-disabled);
}

.sdp-days button:not([aria-disabled]).sdp-selected:hover,
.sdp-days button:not([aria-disabled]).sdp-selected:focus {
  border: 2px solid var(--sdp-selected-invert);
  box-shadow: 0 0 0 2px var(--sdp-selected);
}
.sdp-days button[aria-disabled].sdp-selected:hover,
.sdp-days button[aria-disabled].sdp-selected:focus {
  border: 2px solid var(--sdp-disabled-invert);
  box-shadow: 0 0 0 2px var(--sdp-disabled);
}

.sdp-days button:not([aria-disabled]).sdp-today:hover,
.sdp-days button:not([aria-disabled]).sdp-today:focus {
  border: 2px solid var(--sdp-selected);
}
.sdp-days button[aria-disabled].sdp-today:hover,
.sdp-days button[aria-disabled].sdp-today:focus {
  border: 2px solid var(--sdp-disabled);
}

.sdp-days button:not([aria-disabled]).sdp-prev-month {
  color: var(--sdp-prev-month);
}
.sdp-days button:not([aria-disabled]).sdp-next-month {
  color: var(--sdp-next-month);
}
.sdp-days button[aria-disabled].sdp-prev-month,
.sdp-days button[aria-disabled].sdp-next-month {
  color: var(--sdp-disabled);
}
.ts-control{border:1px solid #d0d0d0;border-radius:3px;box-shadow:none;box-sizing:border-box;display:flex;flex-wrap:wrap;overflow:hidden;padding:8px;position:relative;width:100%;z-index:1}.ts-wrapper.multi.has-items .ts-control{padding:6px 8px 3px}.full .ts-control{background-color:#fff}.disabled .ts-control,.disabled .ts-control *{cursor:default!important}.focus .ts-control{box-shadow:none}.ts-control>*{display:inline-block;vertical-align:baseline}.ts-wrapper.multi .ts-control>div{background:#f2f2f2;border:0 solid #d0d0d0;color:#303030;cursor:pointer;margin:0 3px 3px 0;padding:2px 6px}.ts-wrapper.multi .ts-control>div.active{background:#e8e8e8;border:0 solid #cacaca;color:#303030}.ts-wrapper.multi.disabled .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div.active{background:#fff;border:0 solid #fff;color:#7d7d7d}.ts-control>input{background:none!important;border:0!important;box-shadow:none!important;display:inline-block!important;flex:1 1 auto;line-height:inherit!important;margin:0!important;max-height:none!important;max-width:100%!important;min-height:0!important;min-width:7rem;padding:0!important;text-indent:0!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.ts-control>input::-ms-clear{display:none}.ts-control>input:focus{outline:none!important}.has-items .ts-control>input{margin:0 4px!important}.ts-control.rtl{text-align:right}.ts-control.rtl.single .ts-control:after{left:15px;right:auto}.ts-control.rtl .ts-control>input{margin:0 4px 0 -2px!important}.disabled .ts-control{background-color:#fafafa;opacity:.5}.input-hidden .ts-control>input{left:-10000px;opacity:0;position:absolute}.ts-dropdown{background:#fff;border:1px solid #d0d0d0;border-radius:0 0 3px 3px;border-top:0;box-shadow:0 1px 3px rgba(0,0,0,.1);box-sizing:border-box;left:0;margin:.25rem 0 0;position:absolute;top:100%;width:100%;z-index:10}.ts-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.ts-dropdown [data-selectable] .highlight{background:rgba(125,168,208,.2);border-radius:1px}.ts-dropdown .create,.ts-dropdown .no-results,.ts-dropdown .optgroup-header,.ts-dropdown .option{padding:5px 8px}.ts-dropdown .option,.ts-dropdown [data-disabled],.ts-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.ts-dropdown [data-selectable].option{cursor:pointer;opacity:1}.ts-dropdown .optgroup:first-child .optgroup-header{border-top:0}.ts-dropdown .optgroup-header{background:#fff;color:#303030;cursor:default}.ts-dropdown .active{background-color:#f5fafd;color:#495c68}.ts-dropdown .active.create{color:#495c68}.ts-dropdown .create{color:rgba(48,48,48,.5)}.ts-dropdown .spinner{display:inline-block;height:30px;margin:5px 8px;width:30px}.ts-dropdown .spinner:after{animation:lds-dual-ring 1.2s linear infinite;border-color:#d0d0d0 transparent;border-radius:50%;border-style:solid;border-width:5px;content:" ";display:block;height:24px;margin:3px;width:24px}@keyframes lds-dual-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ts-dropdown-content{max-height:200px;overflow:hidden auto;scroll-behavior:smooth}.ts-wrapper.plugin-drag_drop .ts-dragging{color:transparent!important}.ts-wrapper.plugin-drag_drop .ts-dragging>*{visibility:hidden!important}.plugin-checkbox_options:not(.rtl) .option input{margin-right:.5rem}.plugin-checkbox_options.rtl .option input{margin-left:.5rem}.plugin-clear_button{--ts-pr-clear-button:1em}.plugin-clear_button .clear-button{background:transparent!important;cursor:pointer;margin-right:0!important;opacity:0;position:absolute;right:2px;top:50%;transform:translateY(-50%);transition:opacity .5s}.plugin-clear_button.form-select .clear-button,.plugin-clear_button.single .clear-button{right:max(var(--ts-pr-caret),8px)}.plugin-clear_button.focus.has-items .clear-button,.plugin-clear_button:not(.disabled):hover.has-items .clear-button{opacity:1}.ts-wrapper .dropdown-header{background:color-mix(#fff,#d0d0d0,85%);border-bottom:1px solid #d0d0d0;border-radius:3px 3px 0 0;padding:10px 8px;position:relative}.ts-wrapper .dropdown-header-close{color:#303030;font-size:20px!important;line-height:20px;margin-top:-12px;opacity:.4;position:absolute;right:8px;top:50%}.ts-wrapper .dropdown-header-close:hover{color:#000}.plugin-dropdown_input.focus.dropdown-active .ts-control{border:1px solid #d0d0d0;box-shadow:none}.plugin-dropdown_input .dropdown-input{background:transparent;border:solid #d0d0d0;border-width:0 0 1px;box-shadow:none;display:block;padding:8px;width:100%}.plugin-dropdown_input .items-placeholder{border:0!important;box-shadow:none!important;width:100%}.plugin-dropdown_input.dropdown-active .items-placeholder,.plugin-dropdown_input.has-items .items-placeholder{display:none!important}.ts-wrapper.plugin-input_autogrow.has-items .ts-control>input{min-width:0}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input{flex:none;min-width:4px}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::placeholder{color:transparent}.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content{display:flex}.ts-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0;flex-basis:0;flex-grow:1;min-width:0}.ts-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0}.ts-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.ts-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0}.ts-wrapper.plugin-remove_button .item{align-items:center;display:inline-flex}.ts-wrapper.plugin-remove_button .item .remove{border-radius:0 2px 2px 0;box-sizing:border-box;color:inherit;display:inline-block;padding:0 6px;text-decoration:none;vertical-align:middle}.ts-wrapper.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,.05)}.ts-wrapper.plugin-remove_button.disabled .item .remove:hover{background:none}.ts-wrapper.plugin-remove_button .remove-single{font-size:23px;position:absolute;right:0;top:0}.ts-wrapper.plugin-remove_button:not(.rtl) .item{padding-right:0!important}.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove{border-left:1px solid #d0d0d0;margin-left:6px}.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove{border-left-color:#cacaca}.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove{border-left-color:#fff}.ts-wrapper.plugin-remove_button.rtl .item{padding-left:0!important}.ts-wrapper.plugin-remove_button.rtl .item .remove{border-right:1px solid #d0d0d0;margin-right:6px}.ts-wrapper.plugin-remove_button.rtl .item.active .remove{border-right-color:#cacaca}.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove{border-right-color:#fff}:root{--ts-pr-clear-button:0;--ts-pr-caret:0;--ts-pr-min:.75rem}.ts-wrapper.single .ts-control,.ts-wrapper.single .ts-control input{cursor:pointer}.ts-control:not(.rtl){padding-right:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-control.rtl{padding-left:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-wrapper{position:relative}.ts-control,.ts-control input,.ts-dropdown{color:#303030;font-family:inherit;font-size:13px;line-height:18px}.ts-control,.ts-wrapper.single.input-active .ts-control{background:#fff;cursor:text}.ts-hidden-accessible{clip:rect(0 0 0 0)!important;border:0!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}
/*# sourceMappingURL=tom-select.min.css.map */
