@import "../fonts/material-icons/material-icons.css";
@import "../vendor/animate.css";

@import "../components/tooltip.css";
@import "../components/switch.css";
@import "../components/app-avatar/app-avatar.css";
@import "../components/app-actionbar/app-actionbar.css";
@import "../components/app-fieldcontainer/app-fieldcontainer.css";
@import "../components/app-frame/app-frame.css";
@import "../components/app-loader/app-loader.css";
@import "../components/app-scrollcontainer/app-scrollcontainer.css";
@import "../components/app-textcomplete/app-textcomplete.css";

@import "../vendor/kiss/lib.css";
@import "./vendor/kiss.css";


@import "../../../System/assets/css/system.css";

@view-transition {
    navigation: auto;
}

vue-view {
    display: block;
}

vue-view:not([init="true"]) {
    display: none;
}

:root {

    --app-header-background: transparent;
    --app-border-radius: 3px;
    --app-shadow-color: rgba(0, 0, 0, 0.12);

    --app-actionbar-bgcolor: transparent;

    --app-loader-color1: var(--kiss-color-primary);
    --app-loader-color2: #fff;
    --app-loader-cover-bg: var(--kiss-color-overlay);

    --app-fieldcontainer-border-color-active: var(--kiss-color-primary);
    --app-fieldcontainer-border-color-inactive: rgba(255, 255, 255, .1);
    --app-scrollbar-color: #000;
    --app-switch-offcolor: var(--kiss-color-muted);
    --app-switch-oncolor: var(--kiss-color-primary);

    --app-textcomplete-bgcolor: var(--kiss-dropdown-background);
    --app-textcomplete-bgcolor-hover: var(--kiss-table-row-hover-color);
    --app-textcomplete-bgcolor-active: var(--app-textcomplete-bgcolor-hover);
}

html[data-theme='light'] {
    --kiss-base-background-color: #f6f8fa;
    --kiss-base-text-color: #121212;
    --kiss-hr-color: rgba(0, 0, 0, .1);
    --kiss-link-hover-color: #1994ff;
    --kiss-button-default-background: #e0dee6;
    --kiss-button-default-color: #000;
    --kiss-color-alternate: #fff;
    --kiss-color-contrast: #fafcfe;
    --kiss-color-primary: #8932ff;
    --kiss-color-success: #4caf50;
    --kiss-color-warning: orange;
    --kiss-color-danger: #f91941;
    --kiss-color-muted: rgba(0, 0, 0, .55);
    --kiss-color-overlay: rgba(255, 255, 255, .8);

    --kiss-input-border-color: rgba(0, 0, 0, .1);
    --kiss-input-background: rgba(255, 255, 255, .5);
    --kiss-input-placeholder-color: rgba(0, 0, 0, .3);

    --kiss-dropdown-background: rgba(255, 255, 255, 1);

    --kiss-card-theme-contrast-color: #fff;
    --kiss-card-shadowed-color: rgba(0, 0, 0, 0.15);
    --kiss-card-bordered-color: rgb(106, 85, 85, .15);

    --kiss-input-background-active: #fff;
    --kiss-table-heading-background-color: #fff;
    --kiss-table-row-hover-color: #efefef;

    --app-shadow-color: rgba(0, 0, 0, 0.12);
    --app-actionbar-bgcolor: transparent;
    --app-loader-color2: #333;
    --app-fieldcontainer-border-color-inactive: rgba(0, 0, 0, .1);
    --app-scrollbar-color: var(--kiss-color-muted);
}

html[data-theme='light'] .kiss-bgcolor-transparentimage {
    background-image: linear-gradient(45deg, rgba(0, 0, 0, .15) 25%, transparent 25%), linear-gradient(-45deg, rgba(0, 0, 0, .15) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, .15) 75%), linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, .15) 75%);
    background-size: 20px 20px;
    background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
}

html[data-theme='light'] [active="true"] .kiss-tabs-nav-link:after {
    border-color: var(--kiss-color-primary);
    border-width: 2px;
}

html[data-theme='light'] .kiss-bgcolor-success,
html[data-theme='light'] .kiss-bgcolor-danger {
    color: #fff;
}

html[data-theme='light'] kiss-card[hover="shadow"]:hover {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.014),
        0 6.7px 5.3px rgba(0, 0, 0, 0.028),
        0 12.5px 10px rgba(0, 0, 0, 0.04),
        0 22.3px 17.9px rgba(0, 0, 0, 0.052),
        0 41.8px 33.4px rgba(0, 0, 0, 0.066),
        0 100px 80px rgba(0, 0, 0, 0.06);
}

html[data-theme='light'] [src$="App/assets/img/logo.svg"] {
    filter: invert(1);
}

html[data-theme='light'] kiss-offcanvas kiss-content {
    --kiss-color-contrast: #fff;
}

html[data-theme='light'].auth-page {
    background-image: radial-gradient(#00000033 1px, transparent 0);
}

@media (prefers-color-scheme: light) {
    html {
        --app-auto-theme: light;
    }
}

@media (prefers-color-scheme: dark) {
    html {
        --app-auto-theme: dark;
    }
}


* {
    scrollbar-width: none;
    scrollbar-color: var(--app-scrollbar-color) var(--kiss-base-background-color);
}

/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

*::-webkit-scrollbar-track {
    background: var(--kiss-base-background-color);
}

*::-webkit-scrollbar-thumb {
    background-color: var(--app-scrollbar-color);
    border-radius: 20px;
    border: 3px solid var(--kiss-base-background-color);
}

html {
    scroll-padding-top: 80px;
}

body {
    accent-color: var(--kiss-color-primary);
    font-weight: 400;
    min-height: 100vh;
}

@media (prefers-reduced-motion) {
    *, *::before, *::after {
        animation-duration: 0s !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

ins,
del {
    color: #fff;
    text-decoration: none;
}

ins {
    background: #249924
}

del {
    background: #c92a2a
}

.app-container {
    display: flex;
}

.app-container-aside {
    display: none;
    height: 100vh;
    margin-right: 20px;
    width: 50px;
    z-index: 5;
}

.has-side-panel .app-container-aside {
    width: 320px;
}

.app-container-aside-menu {
    position: fixed;
    display: flex;
    top: 0;
    left: 0;
    width: 50px;
    height: 100vh;
    padding-top: 15px;
    padding-bottom: 20px;
    flex-direction: column;
}

.app-container-aside-panel {
    position: fixed;
    display: flex;
    top: 15px;
    left: 50px;
    padding: 20px 20px;
    flex-direction: column;
    width: 280px;
    height: calc(100vh - 30px);
    background: var(--kiss-card-theme-contrast-color);
    border-radius: 8px;
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    overflow: auto;

    kiss-card {
        --kiss-card-theme-contrast-color: var(--kiss-base-background-color);
    }
}

.app-container-aside-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(12deg, rgba(0, 0, 0,.5) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 100%);
    z-index: -1;
}

html[data-theme='light'] .app-container-aside-panel::before {
    background: linear-gradient(12deg, rgba(233, 233, 233, .5) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 100%);
}

body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(12deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, .5) 100%);
    z-index: -1;
}

html[data-theme='light'] body::before {
    background: linear-gradient(12deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 35%, rgba(233, 233, 233, .5) 100%);
}

.app-container-aside-menu kiss-navlist a {
    text-align: center;
}

.app-container-aside-menu kiss-navlist kiss-svg {
    margin-left: auto;
    margin-right: auto;
}

.app-container-aside-menu kiss-navlist ul>li>a {
    color: inherit;
    opacity: .5;
    transition: all 250ms;
}

.app-container-aside-menu kiss-navlist ul>li>a:hover {
    color: inherit;
    opacity: 1;
}

.app-container-aside-menu kiss-navlist ul>li.active>a {
    position: relative;
    color: var(--kiss-color-primary);
    font-weight: bold;
    opacity: 1;
}

.app-container-aside-menu kiss-navlist ul>li.active>a:before {
    content: "";
    position: absolute;
    width: 2px;
    top: 8px;
    left: 0;
    bottom: 8px;
    background: var(--kiss-color-primary);
}

.app-container-aside-menu kiss-navlist ul>li>* {
    display: flex;
    align-items: center;
    padding: 8px 0;
    letter-spacing: 1.5px;
}

.app-container-aside-menu kiss-navlist[space="small"] ul>li>* {
    padding: 6px 0;
    font-size: 18px;
}

.app-container-aside-menu kiss-navlist .kiss-nav-divider {
    margin-top: 1.2rem;
    margin-bottom: 1.2rem;
    opacity: .8;
}

app-avatar canvas,
.app-border-radius {
    border-radius: var(--app-border-radius);
}

.app-switch,
.app-switch::before {
    border-radius: 60px;
}

.app-field-links-outline {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: var(--kiss-font-size-small, var(--kiss-font-size-6, 0.875rem));
    max-height: 80vh;
    overflow-y: auto;
}

.app-field-links-outline li {
    margin: 4px 0;
}

.app-field-links-outline li a {
    position: relative;
    display: block;
    color: var(--kiss-color-muted);
    opacity: .6;
    transition: all 150ms;
}

.app-field-links-outline li a.inview {
    color: inherit;
    opacity: .6;
}

.app-field-links-outline li a.active {
    font-weight: bold;
    padding-left: 20px;
    opacity: 1;
}

.app-field-links-outline li a:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 0;
    border-top: 1px solid currentColor;
    transition: all 150ms;
}

.app-field-links-outline li a.active:before {
    border-color: var(--kiss-color-primary);
    width: 15px;
}

label {
    display: block;
    font-weight: bold;
    font-size: .75em;
    line-height: inherit;
    letter-spacing: .015em;
    text-decoration: none;
    margin-bottom: 5px;
    color: var(--kiss-color-muted);
}

.auth-page {
    background-image: radial-gradient(#ffffff22 1px, transparent 0);
    background-size: 40px 40px;
    background-position: 50%;
    background-attachment: scroll;
    background-repeat: repeat;
    overflow: hidden;
}

.auth-wrapper {
    position: relative;
    width: 500px;
    max-width: 90%;
    margin-top: 20vh;
}

.auth-dialog {
    padding: var(--kiss-padding-large, 3rem);
    border-radius: 8px;
    border: 1px solid rgb(46 46 46 / 30%);
    background: var(--kiss-base-background-color);
    z-index: -1;

    box-shadow:
        0 2.8px 2.2px rgba(0, 0, 0, 0.034),
        0 6.7px 5.3px rgba(0, 0, 0, 0.048),
        0 12.5px 10px rgba(0, 0, 0, 0.06),
        0 22.3px 17.9px rgba(0, 0, 0, 0.072),
        0 41.8px 33.4px rgba(0, 0, 0, 0.086),
        0 100px 80px rgba(0, 0, 0, 0.12);
}

html[data-theme='light'] .auth-dialog {
    border-color: rgb(215 212 212 / 30%);
}

app-header {
    display: block;
    position: relative;
    padding: 20px 0;
    background: var(--app-header-background);
    backdrop-filter: blur(5px);
    z-index: 6;
}

app-actionbar {
    backdrop-filter: blur(5px);
}

app-actionbar kiss-container {
    padding-left: var(--kiss-container-padding, 30px);
    padding-right: var(--kiss-container-padding, 30px);
}

.app-offcanvas-container {
    display: flex;
    height: 100vh;
    max-height: 100vh;
    flex-direction: column;
}

.app-offcanvas-content {
    overflow-y: auto;
    flex: 1;
}

.app-list-items {
    list-style: none;
    padding: 0;
    margin: 0;
}

.app-list-items>li {
    padding: 0;
    margin: 0;
}

.app-list-items>li:not(:first-child) {
    padding-top: 10px;
    margin-top: 10px;
    border-top: 1px var(--kiss-hr-color) solid;
}

[field="boolean"] {
    font-size: .95em;
}

[field="boolean"] label {
    all: unset;
    cursor: pointer;
}

.fields-renderer[nested="true"] .fields-renderer-field {
    display: inline-block;
    font-weight: normal;
    font-size: 11px;
}

.field-multiple-sortable-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: 1fr;
    gap: 10px;
}

.field-multiple-sortable-grid > * {
    min-width: 0;
}

.field-layout-dragarea {
    min-height: 47px;
    border-radius: var(--app-border-radius);
}

.sortable-chosen[data-draggable="true"] {
    border: 1px var(--kiss-color-primary) solid;
}

app-fieldcontainer label {
    color: inherit;
}

app-fieldcontainer app-fieldcontainer,
.app-fieldcontainer-no-style app-fieldcontainer {
    padding: unset;
    border: unset;
    display: block;
}

app-pagination {
    display: inline-flex;
    align-items: center;
    padding: var(--kiss-padding-small, .6rem);
    background-color: var(--kiss-color-contrast);
    font-size: var(--kiss-font-size-small, var(--kiss-font-size-6, 0.875rem));
    border-radius: var(--app-border-radius);
}

.app-textcomplete-autocomplete-list {
    font-family: ui-monospace,
    Menlo, Monaco,
    "Cascadia Mono", "Segoe UI Mono",
    "Roboto Mono",
    "Oxygen Mono",
    "Ubuntu Monospace",
    "Source Code Pro",
    "Fira Mono",
    "Droid Sans Mono",
    "Courier New", Courier, monospace;
    font-size: .9rem;
    border-radius: var(--app-border-radius);
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034),
    0 6.7px 5.3px rgba(0, 0, 0, 0.048),
    0 12.5px 10px rgba(0, 0, 0, 0.06),
    0 22.3px 17.9px rgba(0, 0, 0, 0.072),
    0 41.8px 33.4px rgba(0, 0, 0, 0.086),
    0 100px 80px rgba(0, 0, 0, 0.12);
    margin-top: 4px;
}

.app-textcomplete-autocomplete-list .autocomplete-item.active {
    font-weight: bolder;
    color: var(--kiss-color-primary);
}

.app-dashboard {
    --kiss-navlist-padding-vertical: 5px;
}

.app-dashboard-widget-container {
    opacity: .65;
    transition: all 250ms;
}

.app-dashboard-widget-container[focus="false"] {
    filter: blur(1.5px) grayscale(1);
    opacity: .4;
}

.app-dashboard-widget-container:hover {
    opacity: 1;
}

.table-scroll {
    overflow-x: auto;
    white-space: nowrap;
}

.table-scroll>table {
    margin: 0;
}

.table-scroll [fixed] {
    position: sticky;
    position: -webkit-sticky;
    z-index: 1;
}

.table-scroll thead {
    position: relative;
    z-index: 2;
}

.table-scroll [fixed="top"] {
    top: 0;
}

.table-scroll [fixed="left"] {
    left: 0;
}

.table-scroll [fixed="right"] {
    right: 0;
}


.table-scroll th[fixed] {
    background-color: var(--kiss-table-heading-background-color);
}

.table-scroll td[fixed] {
    background: var(--kiss-color-contrast);
}

kiss-dialog[type="app-search"]>kiss-content {
    margin-top: 15vh;
}

kiss-dialog[type="alert"]>kiss-content,
kiss-dialog[type="confirm"]>kiss-content,
kiss-dialog[type="prompt"]>kiss-content {
    border: none;
    background: none;
    box-shadow: none;
}

.kiss-dialog-alert-message,
.kiss-dialog-confirm-message,
.kiss-dialog-prompt-message {
    font-size: var(--kiss-font-size-2, 2rem);
}

.sortable-ghost > kiss-card {
    border: 1px solid var(--kiss-color-primary);
}

@media (min-width: 768px) {

    app-header {
        position: sticky;
        position: -webkit-sticky;
        top: 0;
    }

    app-actionbar {
        padding-left: 70px;
    }

    .has-side-panel app-actionbar {
        padding-left: 340px;
    }

    .app-container-aside {
        display: block;
    }

}

@container (min-width: 500px) {
    .field-multiple-sortable-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@container (min-width: 700px) {
    .field-multiple-sortable-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@container (min-width: 980px) {
    .field-multiple-sortable-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
