@import url('ikomm.base.css');
@import url('ikomm.third.css');

/* accessibility */
.screen-reader-only:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}
body {
    position: relative;
    color: var(--black-200);
    background: var(--light-200);
}

hr {
    margin: 0;
}

a {
    color: var(--black-200);
    text-decoration: none;
}

a:hover {
    color: var(--black-100);
}

p:first-child {
    margin-top: 0;
}

p:only-child {
    margin-bottom: 0;
}

ul {
    list-style: circle;
}

th {
    cursor: pointer;
}

button.save-input {
    position: absolute;
    top: 0;
    right: 0;
    margin: 2px;
    padding: .1rem;
    background: var(--blue-100);
    color: white;
    border-radius: .25rem;
}
button.save-input:hover {
    padding: .25rem;
    background: var(--blue-200);
}
.form {
    max-width: 60em;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}
label {
    padding: .25rem;
    display: block;
    color: var(--black-200);
}
input, textarea, select {
    width: 100%;
    padding: .5rem;
    border: 2px solid var(--light-300);
    background-color: var(--light-100);
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    outline: 0;
    border-radius: .5rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    flex: 1;
    transition: all .25s linear;
}
select > option {
    background: var(--light-100);
    color: var(--black-100);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

select {
    padding-inline-end: 3rem;
}

input:focus, textarea:focus, select:focus {
    outline: none;
    border: 2px solid var(--blue-100);
    background-color: var(--light-100);
}

table {
    width: 100%;
    font-size: 90%;
    border-collapse: collapse;
    table-layout: fixed;
    border: 1px solid var(--light-400);
}
thead {
    background: var(--light-300);
    border-bottom: 1px solid var(--light-400);
    user-select: none;
}
tr {
    border-bottom: 1px solid var(--light-400);
}
th > .material-icons {
    position: relative;
    bottom: -.25rem;
}
tbody {
    background: var(--light-200);
}
tbody tr:last-child {
    border: 0;
}
th, td, td a span {
    padding: .75rem;
    text-align: start;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
tfoot {
    width: min-content;
    background: var(--light-200);
    display: flex;
    align-items: center;
    border-bottom-left-radius: .5rem;
    border-bottom-right-radius: .5rem;
    flex: 1 1 0%;
    place-self: stretch;
}

figure {
    margin: 0;
}

.diagram-canvas:focus {
    outline: none !important;
}

.tooltip.top-right {
    top: -100%;
    left: 0;
}

.tooltip-container:hover > .tooltip {
    display: block;
}

.has-dropdown {
    position: relative;
}
.has-dropdown .dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    display: none;
    flex-direction: column;
}
.open-context-menu:focus-within .icon-button, .has-dropdown:focus-within .icon-button {
    border-color: var(--blue-100) !important;
}
.has-dropdown:focus-within .dropdown {
    display: flex;
}

/* Date picker */
input[type="date"] {
    background: var(--light-200);
    color: inherit;
}
input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(100%);
}

/* Helpers */
.white-invertable { color: white }
[data-theme="dark"] .white-invertable { color: black }
.bw1 { border-width: 2px }
.hover-no-underline:hover { text-decoration: none }
.hover-s-black-200:hover { box-shadow: .2rem .2rem 0 0 var(--black-200) }
.hover-s-blue-200:hover { box-shadow: .2rem .2rem 0 0 var(--blue-200) }
.hover-s-green-200:hover { box-shadow: .2rem .2rem 0 0 var(--green-200) }
.hover-s-light-400:hover { box-shadow: .2rem .2rem 0 0 var(--light-400) }
.hover-s-orange-200:hover { box-shadow: .2rem .2rem 0 0 var(--orange-200) }
.hover-s-red-200:hover { box-shadow: .2rem .2rem 0 0 var(--red-200) }
.hover-b--blue-100:hover { border-color: var(--blue-100) }
.backdrop-blur { backdrop-filter: blur(4px) }
.center-y { position: absolute; top: 50%; transform: translateY(-50%) }

.max-h5 { max-height: 16rem }
.min-w6 { min-width: 32rem }
.min-w7 { min-width: 48rem }
.min-w8 { min-width: 64rem }
.h8 { height: 16rem }
.br-blob { border-radius: 63% 37% 37% 63% / 43% 37% 63% 57% }
.ellipsis { overflow: hidden; white-space: nowrap; text-overflow: ellipsis }
.clamp { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden }
.clamp-2 { -webkit-line-clamp: 2 }
.clamp-3 { -webkit-line-clamp: 3 }
.clamp-4 { -webkit-line-clamp: 4 }
.clamp-5 { -webkit-line-clamp: 5 }
.min-width-0-children * { min-width: 0; }

.transition-1 {
    transition: all .2s linear;
}
.transition-2 {
    transition: all .4s linear;
}
.transition-3 {
    transition: all .8s linear;
}

.context-menu {
    margin-top: 3rem;
}

/* Component settings */
.breadcrumb a {
    position: relative;
    padding: .25rem 1rem;
    border-radius: 60em;
    background: var(--light-100);
    border: 1px solid var(--light-400);
    color: var(--black-200);
    display: inline-flex;
    justify-items: center;
    align-items: center;
}

.breadcrumb a:hover {
    background: var(--light-300);
    color: var(--black-100);
}

.breadcrumb a:first-child {
    padding: .25rem .5rem;
}

.breadcrumb a:first-child::after, .breadcrumb a:last-child::after {
    content: "";
}

.breadcrumb span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.breadcrumb .nav-link:last-child {
    padding: .25rem 1rem;
    pointer-events: none;
    background: transparent;
}

.rich-text-preview p {
    margin: 0 !important;
}

.rich-text-preview .ql-size-small {
    font-size: 0.75em;
}

.rich-text-preview .ql-size-large {
    font-size: 1.5em;
}

.rich-text-preview .ql-size-huge {
    font-size: 2.5em;
}

.email-rich-text, .email-rich-text .ql-editor, .sms-rich-text .ql-editor {
    min-height: 250px !important;
}

.sms-rich-text {
    width: 366px;
    min-height: 200px;
}
.avatar-group .avatar img {
    border: .125rem solid var(--white-100);
}
.avatar-group.large .avatar {
    margin-right: -1.5rem;
}
.avatar-group.medium .avatar {
    margin-right: -1rem;
}
.avatar-group.small .avatar {
    margin-right: -.5rem;
}

.mobile-table th {
    min-height: 2.5rem;
    padding: .5rem;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}
.mobile-table td {
    min-height: 2.5rem;
    padding: .5rem;
    display: block;
}
.mobile-table .material-icons {
    font-size: 1rem;
}
.mobile-table button {
    padding: 0;
}
text {
    font-family: inherit !important;
    color: inherit !important;
    fill: currentColor;
}
.apexcharts-tooltip.apexcharts-theme-light {
    border: 1px solid var(--light-400) !important;
    background: var(--light-100) !important;
}
.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {
    background: var(--light-300) !important;
    border-bottom-color: var(--light-400) !important;
}
.apexcharts-tooltip {
    border-radius: 8px !important;
    box-shadow: 0 0 8px 0 rgba(0,0,0,.5) !important;
}
.apexcharts-xaxistooltip-bottom::before {
    border-bottom-color: var(--light-400) !important;
}

/* Media queries */
@media screen and (min-width: 60em) {

}

@media screen and (max-width: 60em) {
    .col-4, .col-5, .col-6 {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .auto-fill, .fill-auto {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 30em) {
    .col-3, .col-4, .col-5, .col-6, .col-7, .col-8 {
        grid-template-columns: 1fr;
    }
}

/* widget-classes */
.widgets__currently_dragged_widget {
    cursor: no-drop;
    filter: blur(.2rem);
    opacity: .7;
}

.widgets__dragged_over_element {
    animation: blinking 1s ease-in-out infinite;
}

div[data-theme="dark"] .tiles-container {
    background: var(--light-300);
}

div[data-theme="light"] .tiles-container {
    background: var(--blue-100);
}

/* anims */
@keyframes blinking-transparent {
    50% {
        opacity: 0;
    }
}

@keyframes blinking {
    50% {
        opacity: .2;
    }
}

.blinking-transparent {
    animation: blinking-transparent 1s linear infinite;
}

.blinking {
    animation: blinking 1s linear infinite;
}

/* charts */
.apexcharts-svg {
    background: none !important;
}

.apexcharts-legend-text {
    color: var(--black-200) !important;
}
