/* ========== BEGIN | GLOBALS RULES ======== */
:root {
    /* Brand */
    --primary-color: #f2ae5e !important;
    --primary-color-dark: #e19c46 !important;
    --primary-color-light: #f7c88a !important;

    /* Backgrounds */
    --background-color: var(--text-color-dark) !important;
    --background-color-secondary: #0f0f0f !important;
    --background-color-tertiary: #111 !important;
    --background-color-grey: #282828 !important;
    --background-color-tertiary-trasp: #11111120 !important;

    /* Text */
    --text-color: #fff !important;
    --text-color-dark: #000 !important;

    /* Shadows */
    --glow-strong: 0 0 12px rgba(242, 174, 94, 0.4) !important;
    --glow-medium: 0 0 0 1px rgba(242, 174, 94, 0.35) !important;
    --glow-soft: 0 0 60px rgba(242, 174, 94, 0.18) !important;
    --glow-left-only: -12px 0 12px rgba(242, 174, 94, 0.4);

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, var(--primary-color), var(--primary-color-dark)) !important;
    --gradient-login: linear-gradient(180deg, #0b0b0b 0%, var(--background-color-tertiary) 100%) !important;

    /* Hover Effects */
    --list-item-hover-bg: var(--primary-color-light);
    --folder-hover-bg: var(--primary-color-light);
}

/* Scrollbar dark */
::-webkit-scrollbar {
    width: 8px !important;
}
::-webkit-scrollbar-thumb {
    background: var(--primary-color) !important;
    border-radius: 8px !important;
}

/* Link gold */
a,
.btn-link {
    color: var(--primary-color) !important;
}
/* bottoni senza background */
button.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary.MuiButton-sizeMedium.MuiButton-textSizeMedium.MuiButton-colorPrimary.MuiButton-root.MuiButton-text.MuiButton-textPrimary.MuiButton-sizeMedium.MuiButton-textSizeMedium.MuiButton-colorPrimary {
    color: var(--text-color);
}
/* action icons color */
svg.MuiSvgIcon-root.MuiSvgIcon-fontSizeSmall {
    color: var(--primary-color-dark) !important;
}

.MuiOutlinedInput-root {
    border-radius: 12px !important;
    background-color: var(--background-color-secondary) !important;
}
.MuiOutlinedInput-root.Mui-focused fieldset {
    border-color: var(--primary-color) !important;
    box-shadow: var(--glow-medium) !important;
}

/* CodeCorn glow focus */
.Mui-focused {
    box-shadow: var(--glow-strong) !important;
}
/* Paper elevation 0 */
.MuiPaper-elevation0 {
    background: var(--background-color) !important;
    color: var(--text-color) !important;
    box-shadow: var(--glow-strong) !important;
}
.MuiDivider-root .MuiDivider-fullWidth {
    border-color: var(--primary-color-light) !important;
}
.MuiPaper-root,
.MuiPaper-elevation,
.MuiDrawer-paper,
.MuiDrawer-paperAnchorLeft,
.MuiDrawer-paperAnchorDockedLeft {
    background: var(--background-color-grey) !important;
    color: var(--text-color) !important;
}

/* Primary contained button */
.MuiButton-containedPrimary {
    background: var(--gradient-primary) !important;
    color: var(--text-color-dark) !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    padding: 10px 26px !important;
}
/* bottoni dentro l appbar superiore */
header.MuiPaper-root.MuiPaper-elevation.MuiPaper-elevation4.MuiAppBar-root.MuiAppBar-colorPrimary .MuiButton-containedPrimary {
    padding: 5px !important;
}
/* table header tr */
.MuiTableRow-head {
    background-color: var(--background-color-tertiary) !important;
}
/* table header th td */
.MuiTableCell-head div {
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    padding-left: 5px;
}
/* table body */
.MuiTableCell-body .MuiTypography-root.MuiTypography-body1 {
    color: var(--text-color) !important;
    background-color: #0b0b0b !important;
}
/* table footer wrapper */
.tss-1ork7hi-MUIDataTablePagination-tableCellContainer {
    border: unset !important;
}
/* table pagination wrapper */
.MuiTablePagination-root .MuiToolbar-root.MuiToolbar-gutters.MuiToolbar-regular.MuiTablePagination-toolbar {
    border-radius: 0 0 25px 25px !important;
    color: var(--text-color) !important;
}
/* select length per page */
.MuiTablePagination-selectLabel {
    padding-left: 10px;
}
/* item loop badges */
span.fa-stack > span {
    border-radius: 50px;
    background-color: var(--primary-color) !important;
}
/* list-item */
.MuiGrid-root.MuiGrid-item div[style*='flex: 1'] > div:not(:has(i[class*='fa-folder'])) {
    border-color: var(--background-color-tertiary-trasp);
}
/* list-item-hover */
.MuiGrid-root.MuiGrid-item div[style*='flex: 1'] > div:hover,
.MuiGrid-root.MuiGrid-item div[style*='flex: 1'] > div:focus-within {
    background-color: var(--list-item-hover-bg);
}
/* list-folder-item-hover */
.MuiGrid-root.MuiGrid-item div[style*='flex: 1'] div:has(i[class*='fa-folde']):hover,
.MuiGrid-root.MuiGrid-item div[style*='flex: 1'] div:has(i[class*='fa-folder']):focus-within {
    background-color: var(--folder-hover-bg) !important;
}
/* Se vuoi evitare che il preloader e coinvolti spariscano di colpo */
#app > div {
    transition: opacity 0.15s ease;
}

/* # PSONO download banner */
#PsonoDownloadBanner a {
    color: var(--text-color-dark) !important;
}
div#PsonoDownloadBanner > div {
    position: absolute !important;
    bottom: 0;
    top: unset !important;
    z-index: 999999;
    border-radius: 20px 20px 0px 0;
}
/* ========== ENDOF | GLOBALS RULES ======== */

/* ========== BEGIN | ANIMATIONS ======== */
/* animazione soft */
@keyframes codecorn-pulse {
    0% {
        transform: scale(0.96);
        opacity: 0.6;
    }
    50% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(0.96);
        opacity: 0.6;
    }
}
/* ========== ENDOF | ANIMATIONS ======== */

/* ===== LOGIN VIEW ANCHOR ===== */
body:not(.loading) #app > div:has(form[name='loginForm']) {
    --login-card-max-width: 420px;
}
/* Login card */
body:not(.loading) #app > div:has(form[name='loginForm']) {
    background: var(--gradient-login) !important;
    border-radius: 18px !important;
    padding: 32px 36px 36px !important;
    box-shadow: var(--glow-soft) !important;
    max-width: var(--login-card-max-width) !important;
    top: 25% !important;
}
@media (max-width: 996px) and (min-width: 480px) {
    body:not(.loading) #app > div:has(form[name='loginForm']) {
        top: 50% !important;
    }
}
@media (max-width: 479.99px) {
    body:not(.loading) #app > div:has(form[name='loginForm']) {
        top: 45% !important;
    }
}

/* Login logo */
#app > div:has(form[name='loginForm']) > img[src*='logo'] {
    display: block !important;
    margin: 30px auto 28px auto !important;
    max-height: 56px !important;
}

#app form[name='loginForm'] > div:first-of-type {
    border: 1px solid var(--primary-color) !important;
    border-radius: 40px !important;
    padding: 20px 15px !important;
    margin-bottom: 8px !important;
}

#app form[name='loginForm'] {
    margin-top: 12px !important;
}

.infolabel {
    display: none !important;
}

#app .box-footer a {
    color: var(--text-color) !important;
    font-weight: 500 !important;
}
#app .box-footer span {
    color: var(--text-color) !important;
}
#app .box-footer {
    margin-top: 35px !important;
    text-align: center !important;
    padding: 15px 10px !important;
    font-size: 13px !important;
    color: var(--text-color) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    border-radius: 40px !important;
    background: black !important;
    border: 1px solid var(--primary-color) !important;
    bottom: -20px;
}

/* ===== CodeCorn Login Preloader ===== */
/* Login Preloader */
body.loading {
    background-color: var(--background-color-secondary) !important;
}

body.loading #app {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100vh !important;
}

/* div "Loading theme..." */
body.loading #app > div {
    position: relative;
    font-size: 0 !important; /* nasconde testo React */
    width: 180px;
    height: 180px;
    border-radius: 180px !important;
    inset: 0;
    background-image: url('/img/android-chrome-192x192.png') !important;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    animation: codecorn-pulse 1.6s ease-in-out infinite;
}

/* pannocchia */
body.loading #app > div::before {
    content: '';
    position: absolute;
    inset: 0;
}
/* ===== End CodeCorn Login Preloader ===== */

/* ========== BEGIN | LOGGEDIN VIEW ======= */
/* body background */
body:has(header.MuiPaper-root),
#app div:has(.MuiPaper-root) {
    background-color: var(--background-color-grey) !important;
    border-radius: 0 0 25px 25px !important;
}

/* AppBar rounded bottom corners */
header.MuiPaper-root.MuiPaper-elevation.MuiPaper-elevation4.MuiAppBar-root.MuiAppBar-colorPrimary.MuiAppBar-positionFixed.mui-fixed {
    border-radius: 0px 0px 25px 25px !important;
    border-top: unset !important;
    border-color: var(--primary-color-dark) !important;
    border-width: 2px !important;
    background: var(--background-color) !important;
}
/* Sidebar item selected */
a.MuiButtonBase-root.MuiListItem-root.MuiListItem-gutters.MuiListItem-padding.MuiListItem-button.Mui-selected span.MuiTypography-root {
    color: white;
    font-weight: bold;
}

/* Loop - CardWrapper */
#app div:has(.MuiPaper-root) .MuiGrid-root.MuiGrid-container.MuiGrid-spacing-xs-1 > .MuiGrid-root.MuiGrid-item {
    background-color: unset !important;
}
/* Loop - CardWrapper */
#app div:has(.MuiPaper-root) .MuiGrid-root.MuiGrid-container.MuiGrid-spacing-xs-1 > .MuiGrid-root.MuiGrid-item,
#app div:has(.MuiPaper-root) .MuiGrid-root.MuiGrid-container.MuiGrid-spacing-xs-1 > .MuiGrid-root.MuiGrid-item > .MuiPaper-root.MuiPaper-elevation.MuiPaper-elevation1 {
    border-radius: 25px !important;
}
/* Loop - Search Filters - Upper Toolbar */
header.MuiPaper-root.MuiPaper-elevation.MuiPaper-elevation0.MuiAppBar-root.MuiAppBar-colorDefault.MuiAppBar-positionStatic > .MuiTabs-root,
header.MuiPaper-root.MuiPaper-elevation.MuiPaper-elevation0.MuiAppBar-root.MuiAppBar-colorDefault.MuiAppBar-positionStatic {
    border-radius: 25px 25px 0 0 !important;
    background: var(--background-color-grey) !important;
    box-shadow: unset !important;
}
/* Loop - Search Filters Wrapper Upper Toolbar - Card Header Wrapper */
.MuiToolbar-root.MuiToolbar-gutters.MuiToolbar-regular {
    background-color: var(--background-color-secondary);
    border-radius: 25px 25px 0 0 !important;
}
/* search filters and buttons */
.MuiToolbar-root.MuiToolbar-gutters.MuiToolbar-regular > div:has(div.MuiInputBase-root.MuiInputBase-colorPrimary.MuiInputBase-adornedEnd) {
    border-radius: 25px !important;
}

/* Version Number + Build Revision */
.MuiDrawer-paper > div > div:last-child,
.MuiDrawer-paper > div > div:last-child:not(:has(ul)) {
    color: var(--text-color-dark) !important;
    background: var(--gradient-primary) !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: center !important;
    width: fit-content;
    left: 25px;
    margin: 16px auto 12px auto !important;
}
/* Fix per evitare conflitti con altri elementi - NON e solo version Number 
.MuiDrawer-paper div:last-child:not(ul):not(li) {
  
}
*/
/* right drawer box shadow */
.MuiDrawer-paperAnchorRight,
.MuiDrawer-paperAnchorDockedRight {
    box-shadow: unset !important;
    border-radius: 0 0 25px 0px;
    border-color: var(--primary-color-light) !important;
}

/* ========== ENDOF | LOGGEDIN VIEW ======= */

/* ========== BEGIN | REGISTER VIEW ======= */
/** TODO */
/* ========== ENDOF | REGISTER VIEW ======= */
/* ========== BEGIN | PUBLIC PAGES ======== */
/** TODO */
/* ========== ENDOF | PUBLIC PAGES ======== */
/* ========== BEGIN | EXTENSION ======== */
/* fix preloader bg img path */
/* div "Loading theme..." */
body.loading:has(div#panel) #app > div {
    background-image: url('/data/img/android-chrome-192x192.png') !important;
}
body:has(div#panel) {
    background-color: var(--background-color-secondary) !important;
}
body div#panel #app div:has(.MuiGrid-root.MuiGrid-container) {
    background-color: var(--background-color-grey) !important;
}
body > div#panel:has(form[name='loginForm']) {
    background-color: var(--background-color-secondary) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.psono-drop .navigations li.active {
    background-color: var(--primary-color) !important;
}
.psono-drop .psono-drop-content .psono-drop-content-inner {
    background-color: var(--background-color-grey) !important;
    border: 1px solid var(--primary-color) !important;
}
.psono-drop .psono-drop-content a {
    color: var(--primary-color-dark) !important;
}
.psono-drop .navigations li:hover {
    background-color: var(--list-item-hover-bg) !important;
    color: var(--text-color-dark) !important;
}
.psono-drop .navigations li:hover div {
    color: var(--text-color-dark) !important;
}
.psono-drop .psono-drop-content .psono-drop-content-inner:after {
    border-color: var(--background-color-dark) !important;
    border-color: var(--background-color-grey) !important;
    border-bottom-color: var(--background-color-dark) !important;
}

.psono-drop .psono-drop-content .psono-drop-content-inner:before {
    border-color: #bababa !important;
    border-color: var(--background-color-grey) !important;
    border-bottom-color: #fff !important;
}

/* ========== ENDOF | PUBLIC PAGES ======== */
