.stg-file-grid {
    border: 1px dotted #cfcbcb;
    min-height: 200px;
}

.stg-tree {
    /* shadow */
    box-shadow: 4px 0px 15px #00000008;
    overflow: scroll;
    /* height: 200vh; */
    max-height: 700px;
    height: 700px;
    min-width: 270px;
}

.stg-toolbar {
    line-height: 1.9;
}

.stg-grid-toolbar{
    padding: 3px;
    background-color: #454545 !important;
}

.stg-btn-toolbar {
    background-color: #ffffff00 !important;
    color: #fff !important;
    border-radius: 4px !important;
    padding: 5px 10px !important;
    margin-right: 5px;
    border: 1px solid #ac5adf !important;
}

/* hover */
.stg-btn-toolbar:hover {
    /* background-color: #ffffff !important; */
    /* color: #000 !important; */
    border: 1px solid #c185e7 !important;
}

.stg-header {
    background-color: #454545 !important;
    color: #fff !important;
    line-height: 2.1;
}

.stg-header-item {
    float: left;
    width: auto !important;
}

.stg-file-item {
    margin-left: 5px !important;
    cursor: pointer !important;


}



.fa-image {
    color: #00aaff !important;
}

.fa-file-pdf {
    color: #ff3e3e !important;
}

.fa-file-word {
    color: #4bb0d1 !important;
}

.fa-file-excel {
    color: #64b364 !important;
}

.fa-file-video{
    color: #ffb300 !important;
}

.fa-file-powerpoint{
    color: #b10b0b !important;
}

.fa-file-zipper{
    color: #c054ee !important;
}
.stg-custom-icon {
    width: 38px;
    height: 38px;
    display: inline-block;
    margin-bottom: -6px !important;
    background-size: contain;
    background-repeat: no-repeat;
}
.stg-icon-sw-prt{
    background-image: url('/static/img/icons/sw-part.png') !important;
}

.stg-icon-sw-drw{
    background-image: url('/static/img/icons/sw-drw.png') !important;
}

.stg-icon-sw-asm{
    background-image: url('/static/img/icons/sw-asm.png') !important;
}

.stg-icon-file-json{
    mask-image: url(/static/img/icons/file-json.png);
    -webkit-mask-image: url(/static/img/icons/file-json.png);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-size: contain;
    background-color: #9c1abc; /* nova cor desejada */
}

.fa-file {
    color: #9d9d9d !important;
}

.stg-file-grid.grid-view .stg-file-item {
    display: inline-block;
    width: 80px;
    /* height: 90px; */
    margin: 10px;
    vertical-align: top;
    text-align: center;
    /* border: 1px solid #ccc; */
    border-radius: 6px;
    padding: 5px;
    overflow: hidden;
}

#propNameValue{
    line-height: 1.4;
}

.stg-file-item img.thumb {
    width: 100%;
    height: 40px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 6px;
}

.stg-file-item i {
    font-size: 32px;
    margin-bottom: 6px;
}

.stg-file-item span {
    display: block;
    font-size: 11px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11px;
    overflow-wrap: break-word;
}

#download-toast {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    background: #323232;
    color: #fff;
    padding: 0.75rem 1.25rem;
    border-radius: 0.25rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    z-index: 9999;
    display: flex;
    align-items: center;
}

#fileGrid {
    overflow: scroll;
    position: relative;
    max-height: 700px;
    height: 700px;

}

.fa-folder:before {
    color: transparent;
    position: relative;
    background-clip: text;
    -webkit-background-clip: text;
    background-image: linear-gradient(180deg, rgba(253, 246, 213, 1) 0%, rgba(247, 237, 198, 1) 33%, rgba(247, 237, 198, 1) 59%, rgba(233, 215, 158, 1) 83%, rgba(224, 200, 141, 1) 100%);
}

.fa-folder {
    -webkit-text-stroke-color: #a18c55a8 !important;
    -webkit-text-stroke-width: 0.4px;
}

.stg-small {
    line-height: 2.5;
    padding: 5px;
    border-bottom: 1px solid #dddddd;
}

.stg-small i {
    font-size: 23px !important;
    width: 23px !important;
    height: 23px !important;
}

.stg-small:hover {
    box-shadow: 1px 1px 4px #3c39392b;
}

.stg-normal:hover {
    box-shadow: 1px 1px 4px #3c39392b;
}

.stg-item-selected {
    border: 1px solid #4b85a1 !important;
    background-color: rgba(0, 123, 255, 0.1);
    padding: 1px;
    padding-left: 3px;
}

.stg-file-item.ui-selected {
    border: 1px solid #4b85a1 !important;
    background-color: rgba(0, 123, 255, 0.1);
    padding: 1px;
    padding-left: 3px;
}

#stgTree{
    max-width: 50%;
}

/* estilo do retângulo enquanto arrasta */
.ui-selectable-helper {
    position: absolute;
    /* sempre absoluto dentro de #fileGrid */
    border: 2px dashed #3399ff;
    background: rgba(51, 153, 255, 0.2);
    z-index: 1000;
    pointer-events: none;
    /* não bloqueia o mouse */
}

/* width */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #888;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.stg-breadcrumb a {
    color: #92dffd !important;
}

.stg-breadcrumb a:hover {
    color: #8ac7fd !important;
    font-weight: bold !important;
}

/* .stg-breadcrumb {
    border-left: 8px solid #646464;
    padding-left: 10px;
} */




/* Impede seleção de texto em double-click */
#fileGrid .file-item,
#folderTree .jstree-anchor {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #0d6efd !important;
    border: 1px solid #0a58ca;
    color: white;
    padding: 0 8px;
    margin-top: 4px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: white !important;
    margin-left: 5px;
}

.select2-selection__choice:hover .select2-selection__choice__remove:hover {
    background-color: #0a58ca !important;
    border: 1px solid #0a58ca !important;
}

.select2-selection__choice__remove {
    margin: 0px !important;
}

.select2-selection__choice__display {
    margin-left: 5px;
}

.entity-badge {
    display: inline-flex;
    align-items: center;
    margin: 2px;
    padding: 2px 10px;
    border-radius: 13px;
    background-color: #9456d7;
    color: #f0fffa;
    font-size: 13px;
    font-weight: 600;
}

.form-select-sm {
    margin: 1px 0px 1px 0px;
    padding: 0.10rem 2.00rem 0.10rem 0.45rem !important;
    font-size: 0.775rem !important;
    line-height: 1.2 !important;
    /* border: 1px solid #8e15d9 !important; */
    border-radius: 1.0rem !important;
}

.entity-badge .badge-label {
    margin-right: 8px;
}

.entity-badge .badge-close {
    cursor: pointer;
    margin-left: 8px;
}

.jstree-anchor {
    /* display: block;
    padding: 4px 8px; */
    /* aumenta a zona de drop */
}

.jstree-hover {
    background: rgba(0, 123, 255, 0.2);
}

.folder-hover {
    background: rgba(255, 170, 0, 0.509);
}

.properties-body {
    background-color: #ffffff;
    padding: 10px;
    border-radius: 4px;
    font-size: 13px;
    box-shadow: 3px 3px 28px #e1e1e1;
}

.stg-h1 {
    font-size: 1.0rem;
    text-align: left !important;
    /* font-style: italic; */
    /* padding-left: 8px; */
    font-weight: 300 !important;
    color: #a9a9a9;
    margin-bottom: 15px;
    text-align: center;
    /* background-color: #e3e3e3; */
    width: 100% !important;
    display: flex
;
    align-content: center;
    align-items: flex-end;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #8a8d8f !important;
}

#uploadForm .dz-preview {
    position: relative;
}

/* sua badge colada no canto */
#uploadForm .dz-preview .my-badge {
    position: absolute;
    right: .35rem;
    /* distância da borda interna */
    bottom: .35rem;
    background: rgba(0, 0, 0, .6);
    color: #fff;
    padding: .15rem .4rem;
    border-radius: .25rem;
    font-size: .7rem;
}

.dz-previews-container {
    position: fixed !important;
    right: 1rem;
    bottom: 1rem;
    /* max-width: 240px; */
    z-index: 1200;
    background-color: #ffffff;
    max-width: 400px !important;
    width: 100% !important;
    border: 1px solid #c7c2c2;
    border-radius: 7px;
    box-shadow: 1px 3px 8px #cbc7c7;
    padding: 10px;
}

.stg-download-container {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1200;
    background: #fff;
    max-width: 300px;
    width: auto;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    padding: 0.50rem 1rem;
    font-family: sans-serif;
}

.stg-download-progress {
    display: flex;
    align-items: center;
}

.progress-circle {
    --progress: 0;
    /* valor de 0 a 100 */
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: conic-gradient(#4b85a1 calc(var(--progress) * 1%),
            #e9ecef 0);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-right: 0.75rem;
    font-weight: 600;
    color: #495057;
    font-size: 0.65rem;
    transition: --progress 0.6s cubic-bezier(.4, 0, .2, 1);
}

/* animation */


.progress-circle::before {
    content: "";
    position: absolute;
    width: 26px;
    height: 26px;
    background: #fff;
    border-radius: 50%;
}

.progress-circle span {
    position: relative;
    z-index: 1;
}

.stg-download-status {
    color: #343a40;
    font-size: 0.85rem;
    white-space: nowrap;
    font-family: "Cambo", serif !important;
}

/* progress bar cores (Bootstrap-like) */
.dz-file-preview .progress-bar {
    transition: width .3s linear;
}

.dz-preview.dz-success .progress-bar {
    width: 100% !important;
    background-color: #28a745;
    /* verde “success” */
}

.dz-file-preview.dz-error .progress-bar {
    background-color: #dc3545;
    /* vermelho “danger” */
}

.dz-name {
    width: 250px;
    /* overflow: hidden; */
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.stg-img-modal {
    margin: 20px;
    padding: 20px;
    border: 2px solid #f1f1f1;
    box-shadow: 0px 1px 19px #d5d5d5;
}

.stg-td-shared-link {
    /* max-width: 15rem; */
    overflow: hidden;
    text-wrap-mode: nowrap;
    /* text-wrap-style: balance; */
    text-overflow: ellipsis;
}

#btnNewSharedLink {
    background-color: #54a14b !important;
    border: 1px solid #56b330 !important;
}

#treeResizer {
    width: 5px;
    cursor: ew-resize;
    background: #ccc;
    height: 90%;
    float: left;
    padding: 0 !important;
}

.timespan{
    font-family: system-ui;
    font-weight: 600;
}
.fa-clock{
    line-height: 1.6 !important;
    margin-right: 10px;
    color: #4b85a1;
}

.dropzone-container {
    position: relative;
    border: 2px dashed transparent;
}

.dropzone-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 123, 255, 0.1);
    border: 2px dashed #007bff;
    color: #007bff;
    font-size: 1.2rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 10;
}

.dropzone-container.dragover .dropzone-overlay {
    opacity: 1;
}

#propPanel{
    max-height: 700px;
    height: 700px;
    overflow: scroll;
}