/* Dropzone 6.0.0-beta.2 (matches the version pinned in config/importmap.rb), from node_modules/dropzone/dist/dropzone.css */
@keyframes passing-through{0%{opacity:0;transform:translateY(40px)}30%,70%{opacity:1;transform:translateY(0px)}100%{opacity:0;transform:translateY(-40px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(40px)}30%{opacity:1;transform:translateY(0px)}}@keyframes pulse{0%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:1px solid rgba(0,0,0,.8);border-radius:5px;padding:20px 20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{text-align:center;margin:3em 0}.dropzone .dz-message .dz-button{background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity .2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0,0,0,.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,.8);background-color:rgba(255,255,255,.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:rgba(255,255,255,.4);padding:0 .4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{transform:scale(1.05, 1.05);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px;background:rgba(0,0,0,.8);border-radius:50%}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px;fill:#fff}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity .4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:20px;top:50%;margin-top:-10px;left:15%;right:15%;border:3px solid rgba(0,0,0,.8);background:rgba(0,0,0,.8);border-radius:10px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#fff;display:block;position:relative;height:100%;width:0;transition:width 300ms ease-in-out;border-radius:17px}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;transition:opacity .3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#b10606;padding:.5em 1em;color:#fff}.dropzone .dz-preview .dz-error-message:after{content:"";position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #b10606}

@tailwind base;
@tailwind components;
@tailwind utilities;
.sidebar-container .dropzone .dz-preview {
  margin-right: 0 !important;
  margin-left: 0 !important;
  width: 100%
}

.sidebar-container .dropzone .dz-preview .dz-image {
  margin-right: auto !important;
  margin-left: auto !important;
}
.rounded-radio:checked + label span {
    background-color: #2563eb;
    border-color: #2563eb;
    box-shadow: 0px 0px 0px 2px white inset;
}
/* File links opened during this browser session (visited_controller.js) */
.visited-file {
    color: #681da8;
}

/* Dim search results while a new search loads */
turbo-frame#search_results[aria-busy="true"] {
    opacity: 0.6;
    transition: opacity 150ms;
}

/* File table (folders/_file_table). Styled here rather than per cell to keep 100-row pages small. */
.file-table th,
.file-table td {
    padding: 0.5rem 0.75rem;
}

.file-table th {
    font-weight: 500;
}

.file-table td {
    white-space: nowrap;
    color: #4b5563;
}

.file-table td:nth-child(2) {
    white-space: normal;
    color: inherit;
}

.file-table :is(th, td):nth-child(5),
.file-table td:last-child {
    text-align: right;
}

.file-table tbody tr:hover {
    background-color: #f8fafc;
}

.file-table input[type=checkbox] {
    border-radius: 0.25rem;
    border-color: #d1d5db;
}

.file-table .icon {
    display: inline-block;
    width: 1.25rem;
    font-size: 15px;
}

.file-table .file-link:hover {
    text-decoration: underline;
}

.file-table .path {
    padding-left: 1.25rem;
    font-size: 0.75rem;
    color: #6b7280;
}

.file-table td button {
    padding: 0.25rem;
    color: #6b7280;
}

.file-table td button:hover {
    color: #111827;
}

.file-table td button[data-act=delete] {
    color: #ef4444;
}

@media (max-width: 1023px) {
    .file-table :is(th, td):nth-child(4) { display: none; }
}

@media (max-width: 767px) {
    .file-table :is(th, td):nth-child(3) { display: none; }
}

@media (max-width: 639px) {
    .file-table :is(th, td):nth-child(5) { display: none; }
}
.pagy {
  display: flex;
  font-family: sans-serif;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  color: #6b7280;
}
.pagy > :not([hidden]) ~ :not([hidden]) {
  --space-reverse: 0;
  margin-right: calc(0.25rem * var(--space-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--space-reverse)));
}
.pagy a:not(.gap) {
  display: block;
  text-decoration: none;
  border-radius: 0.5rem;
  background-color: #e5e7eb;
  padding: 0.25rem 0.75rem;
  color: inherit;
}
.pagy a:not(.gap):hover {
  background-color: #d1d5db;
}
.pagy a:not(.gap):not([href]) { /* disabled links */
  cursor: default;
  background-color: #f3f4f6;
  color: #d1d5db;
}
.pagy a:not(.gap).current {
  background-color: #9ca3af;
  color: white;
}
.pagy label {
  white-space: nowrap;
  display: inline-block;
  border-radius: 0.5rem;
  background-color: #e5e7eb;
  padding: 0.125rem 0.75rem;
}
.pagy label input {
  line-height: 1.5rem;
  border-radius: 0.375rem;
  border-style: none;
  background-color: #f3f4f6;
}
/* 
|==========================================================================
| Tooltips - based on https://github.com/kazzkiq/balloon.css
|-------------------------------------------------------------------------- 
*/

/*
|=====================================
| Base
|-------------------------------------
*/

[data-tooltip] {
  position: relative;
  font-weight: 500;
}

[data-tooltip] code {
  background-color: #111827;
  box-shadow: none;
  word-break: break-all;
}

[data-tooltip] > * {
  position: relative;
}

[data-tooltip]:before {
  content: '';
  position: absolute;
  left: -12px;
  top: -12px;
  right: -12px;
  bottom: -12px;
}

/*
|=====================================
| Content
|-------------------------------------
*/

[data-tooltip-content] {
  font-size: 0.825rem;
  line-height: 1rem;
  background-color: #111827;
  position: absolute;
  pointer-events: none;
  border-radius: 5px;
  color: white;
  padding: .8em 1.2em;
  white-space: nowrap;
  opacity: 0;
  z-index: 10;
  will-change: opacity, transform;
  transition: opacity 0.1s linear, transform 0.1s linear;
}

[data-tooltip-content]:before {
  content: '';
  position: absolute;
  width: 18px;
  height: 6px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 36 12' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002-4.375 0-10.066-12.002-16.002-12.002z' fill='%23currentColor'/%3E%3C/svg%3E") 0 0/100% auto no-repeat;
}

/*
|=====================================
| Visibility
|-------------------------------------
*/

[data-tooltip-visible=true] [data-tooltip-content] {
  opacity: 1;
  pointer-events: auto;
}

[data-tooltip]:not([data-tooltip-visible=false]):hover [data-tooltip-content], [data-tooltip]:not([data-tooltip-visible=false]):focus [data-tooltip-content], [data-tooltip]:not([data-tooltip-visible=false]):active [data-tooltip-content] {
  opacity: 1;
  pointer-events: auto;
}

[data-tooltip-break] [data-tooltip-content] {
  white-space: pre;
}

[data-tooltip-blunt] [data-tooltip-content] {
  transition: none;
}

/*
|=====================================
| Position
|-------------------------------------
*/

[data-tooltip]:not([data-tooltip-position]) [data-tooltip-content],
[data-tooltip-position=''] [data-tooltip-content],
[data-tooltip-position=up] [data-tooltip-content] {
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translate3d(-50%, 10px, 0);
  transform-origin: top;
}

[data-tooltip]:not([data-tooltip-position]) [data-tooltip-content]:before,
[data-tooltip-position=''] [data-tooltip-content]:before,
[data-tooltip-position=up] [data-tooltip-content]:before {
  left: calc(50% - 9px);
  top: 100%;
}

[data-tooltip]:not([data-tooltip-position]):hover [data-tooltip-content], [data-tooltip]:not([data-tooltip-position]):focus [data-tooltip-content], [data-tooltip]:not([data-tooltip-position]):active [data-tooltip-content], [data-tooltip]:not([data-tooltip-position])[data-tooltip-visible=true] [data-tooltip-content],
[data-tooltip-position='']:hover [data-tooltip-content],
[data-tooltip-position='']:focus [data-tooltip-content],
[data-tooltip-position='']:active [data-tooltip-content],
[data-tooltip-position=''][data-tooltip-visible=true] [data-tooltip-content],
[data-tooltip-position=up]:hover [data-tooltip-content],
[data-tooltip-position=up]:focus [data-tooltip-content],
[data-tooltip-position=up]:active [data-tooltip-content],
[data-tooltip-position=up][data-tooltip-visible=true] [data-tooltip-content] {
  transform: translate3d(-50%, 0, 0);
}

[data-tooltip-position='up-left'] [data-tooltip-content] {
  left: 0;
  bottom: calc(100% + 12px);
  transform: translate3d(0, 10px, 0);
  transform-origin: top;
}

[data-tooltip-position='up-left'] [data-tooltip-content]:before {
  left: 6px;
  top: 100%;
}

[data-tooltip-position='up-left']:hover [data-tooltip-content], [data-tooltip-position='up-left']:focus [data-tooltip-content], [data-tooltip-position='up-left']:active [data-tooltip-content], [data-tooltip-position='up-left'][data-tooltip-visible=true] [data-tooltip-content] {
  transform: translate3d(0, 0, 0);
}

[data-tooltip-position='up-right'] [data-tooltip-content] {
  right: 0;
  bottom: calc(100% + 12px);
  transform: translate3d(0, 10px, 0);
  transform-origin: top;
}

[data-tooltip-position='up-right'] [data-tooltip-content]:before {
  right: 6px;
  top: 100%;
}

[data-tooltip-position='up-right']:hover [data-tooltip-content], [data-tooltip-position='up-right']:focus [data-tooltip-content], [data-tooltip-position='up-right']:active [data-tooltip-content], [data-tooltip-position='up-right'][data-tooltip-visible=true] [data-tooltip-content] {
  transform: translate3d(0, 0, 0);
}

[data-tooltip-position=down] [data-tooltip-content] {
  left: 50%;
  top: calc(100% + 9px);
  transform: translate3d(-50%, -10px, 0);
}

[data-tooltip-position=down] [data-tooltip-content]:before {
  left: calc(50% - 9px);
  bottom: 100%;
  transform: rotate(180deg);
}

[data-tooltip-position=down]:hover [data-tooltip-content], [data-tooltip-position=down]:focus [data-tooltip-content], [data-tooltip-position=down]:active [data-tooltip-content], [data-tooltip-position=down][data-tooltip-visible=true] [data-tooltip-content] {
  transform: translate3d(-50%, 0, 0);
}

[data-tooltip-position='down-left'] [data-tooltip-content] {
  left: 0;
  top: calc(100% + 12px);
  transform: translate3d(0, -10px, 0);
}

[data-tooltip-position='down-left'] [data-tooltip-content]:before {
  left: 6px;
  bottom: 100%;
  transform: rotate(180deg);
}

[data-tooltip-position='down-left']:hover [data-tooltip-content], [data-tooltip-position='down-left']:focus [data-tooltip-content], [data-tooltip-position='down-left']:active [data-tooltip-content], [data-tooltip-position='down-left'][data-tooltip-visible=true] [data-tooltip-content] {
  transform: translate3d(0, 0, 0);
}

[data-tooltip-position='down-right'] [data-tooltip-content] {
  right: 0;
  top: calc(100% + 12px);
  transform: translate3d(0, -10px, 0);
}

[data-tooltip-position='down-right'] [data-tooltip-content]:before {
  right: 6px;
  bottom: 100%;
  transform: rotate(180deg);
}

[data-tooltip-position='down-right']:hover [data-tooltip-content], [data-tooltip-position='down-right']:focus [data-tooltip-content], [data-tooltip-position='down-right']:active [data-tooltip-content], [data-tooltip-position='down-right'][data-tooltip-visible=true] [data-tooltip-content] {
  transform: translate3d(0, 0, 0);
}

[data-tooltip-position=left] [data-tooltip-content] {
  right: calc(100% + 12px);
  top: 50%;
  transform: translate3d(10px, -50%, 0);
}

[data-tooltip-position=left] [data-tooltip-content]:before {
  left: calc(100% - 6px);
  top: calc(50% - 3px);
  transform: rotate(-90deg);
}

[data-tooltip-position=left]:hover [data-tooltip-content], [data-tooltip-position=left]:focus [data-tooltip-content], [data-tooltip-position=left]:active [data-tooltip-content], [data-tooltip-position=left][data-tooltip-visible=true] [data-tooltip-content] {
  transform: translate3d(0, -50%, 0);
}

[data-tooltip-position=right] [data-tooltip-content] {
  left: calc(100% + 12px);
  top: 50%;
  transform: translate3d(-10px, -50%, 0);
}

[data-tooltip-position=right] [data-tooltip-content]:before {
  right: calc(100% - 6px);
  top: calc(50% - 3px);
  transform: rotate(90deg);
}

[data-tooltip-position=right]:hover [data-tooltip-content], [data-tooltip-position=right]:focus [data-tooltip-content], [data-tooltip-position=right]:active [data-tooltip-content], [data-tooltip-position=right][data-tooltip-visible=true] [data-tooltip-content] {
  transform: translate3d(0, -50%, 0);
}

/* ===================================== *
 * Size
 * ------------------------------------- */
 
[data-tooltip-size=small] [data-tooltip-content] {
  white-space: normal;
  width: 80px;
}

[data-tooltip-size=medium] [data-tooltip-content] {
  white-space: normal;
  width: 150px;
}

[data-tooltip-size=large] [data-tooltip-content] {
  white-space: normal;
  width: 260px;
}

[data-tooltip-size=xlarge] [data-tooltip-content] {
  white-space: normal;
  width: 380px;
}

@media screen and (max-width: 768px) {
  [data-tooltip-size=xlarge] [data-tooltip-content] {
    white-space: normal;
    width: 90vw;
  }
}

[data-tooltip-size=fit]:after, [data-tooltip-size="fit"] {
  white-space: normal;
  width: 100%;
}
/* 
|==========================================================================
| Native form validation
|-------------------------------------------------------------------------- 
*/

/* Valid state */
[data-valid] [required] ~ [data-validation-marker] {
  @apply bg-green-600;
}

/* Invalid state */
[data-invalid] [required] ~ [data-validation-marker] {
  background-color: #DC2626;
}

/* Validation message */
[data-validation-message][data-tooltip] {
  width: 100%;
}

[data-validation-message][data-tooltip] [data-tooltip-content] {
  font-weight: 700;
  background-color: #DC2626;
  @apply shadow-lg;
}

[data-validation-message][data-tooltip] [data-tooltip-content]:before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 36 12' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002-4.375 0-10.066-12.002-16.002-12.002z' fill='%23DC2626'/%3E%3C/svg%3E");
}
/*
 * 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.
 *



 */
