@import url("https://cdn-endpnt-stmythetechglobal.azureedge.net/assets/material-symbols.css");

@font-face {
    font-family: "Gotu";
    src: url(fonts/Gotu-Regular.ttf) format('truetype');
}

.bg-primary-25 {
    background-color: color-mix(in srgb, var(--mud-palette-primary) 25%, transparent)
}

.bg-primary-50 {
    background-color: color-mix(in srgb, var(--mud-palette-primary) 50%, transparent);
}

.bg-primary-75 {
    background-color: color-mix(in srgb, var(--mud-palette-primary) 75%, transparent);
}

.primary-shadow {
    box-shadow: 0 0 0.4em 0.2em var(--mud-palette-primary);
}

.primary-shadow:hover {
    box-shadow: 0 0 0.5em 0.3em var(--mud-palette-primary);
}

.border-primary-1 {
    border: solid 1px var(--mud-palette-primary);
}

.border-primary-2 {
    border: solid 2px var(--mud-palette-primary);
}

/* Secondary utility classes */
.bg-secondary-25 {
    background-color: color-mix(in srgb, var(--mud-palette-secondary) 25%, transparent);
}

.bg-secondary-50 {
    background-color: color-mix(in srgb, var(--mud-palette-secondary) 50%, transparent);
}

.bg-secondary-75 {
    background-color: color-mix(in srgb, var(--mud-palette-secondary) 75%, transparent);
}

.secondary-shadow {
    box-shadow: 0 0 0.4em 0.2em var(--mud-palette-secondary);
}

.secondary-shadow:hover {
    box-shadow: 0 0 0.5em 0.3em var(--mud-palette-secondary);
}

.border-secondary-1 {
    border: solid 1px var(--mud-palette-secondary);
}

.border-secondary-2 {
    border: solid 2px var(--mud-palette-secondary);
}

/* Tertiary utility classes */
.bg-tertiary-25 {
    background-color: color-mix(in srgb, var(--mud-palette-tertiary) 25%, transparent);
}

.bg-tertiary-50 {
    background-color: color-mix(in srgb, var(--mud-palette-tertiary) 50%, transparent);
}

.bg-tertiary-75 {
    background-color: color-mix(in srgb, var(--mud-palette-tertiary) 75%, transparent);
}

.tertiary-shadow {
    box-shadow: 0 0 0.4em 0.2em var(--mud-palette-tertiary);
}

.tertiary-shadow:hover {
    box-shadow: 0 0 0.5em 0.3em var(--mud-palette-tertiary);
}

.border-tertiary-1 {
    border: solid 1px var(--mud-palette-tertiary);
}

.border-tertiary-2 {
    border: solid 2px var(--mud-palette-tertiary);
}

/* Info utility classes */
.bg-info-25 {
    background-color: color-mix(in srgb, var(--mud-palette-info) 25%, transparent);
}

.bg-info-50 {
    background-color: color-mix(in srgb, var(--mud-palette-info) 50%, transparent);
}

.bg-info-75 {
    background-color: color-mix(in srgb, var(--mud-palette-info) 75%, transparent);
}

.info-shadow {
    box-shadow: 0 0 0.4em 0.2em var(--mud-palette-info);
}

.info-shadow:hover {
    box-shadow: 0 0 0.5em 0.3em var(--mud-palette-info);
}

.border-info-1 {
    border: solid 1px var(--mud-palette-info);
}

.border-info-2 {
    border: solid 2px var(--mud-palette-info);
}

/* Success utility classes */
.bg-success-25 {
    background-color: color-mix(in srgb, var(--mud-palette-success) 25%, transparent);
}

.bg-success-50 {
    background-color: color-mix(in srgb, var(--mud-palette-success) 50%, transparent);
}

.bg-success-75 {
    background-color: color-mix(in srgb, var(--mud-palette-success) 75%, transparent);
}

.success-shadow {
    box-shadow: 0 0 0.4em 0.2em var(--mud-palette-success);
}

.success-shadow:hover {
    box-shadow: 0 0 0.5em 0.3em var(--mud-palette-success);
}

.border-success-1 {
    border: solid 1px var(--mud-palette-success);
}

.border-success-2 {
    border: solid 2px var(--mud-palette-success);
}

/* Warning utility classes */
.bg-warning-25 {
    background-color: color-mix(in srgb, var(--mud-palette-warning) 25%, transparent);
}

.bg-warning-50 {
    background-color: color-mix(in srgb, var(--mud-palette-warning) 50%, transparent);
}

.bg-warning-75 {
    background-color: color-mix(in srgb, var(--mud-palette-warning) 75%, transparent);
}

.warning-shadow {
    box-shadow: 0 0 0.4em 0.2em var(--mud-palette-warning);
}

.warning-shadow:hover {
    box-shadow: 0 0 0.5em 0.3em var(--mud-palette-warning);
}

.border-warning-1 {
    border: solid 1px var(--mud-palette-warning);
}

.border-warning-2 {
    border: solid 2px var(--mud-palette-warning);
}

/* Error utility classes */
.bg-error-25 {
    background-color: color-mix(in srgb, var(--mud-palette-error) 25%, transparent);
}

.bg-error-50 {
    background-color: color-mix(in srgb, var(--mud-palette-error) 50%, transparent);
}

.bg-error-75 {
    background-color: color-mix(in srgb, var(--mud-palette-error) 75%, transparent);
}

.error-shadow {
    box-shadow: 0 0 0.4em 0.2em var(--mud-palette-error);
}

.error-shadow:hover {
    box-shadow: 0 0 0.5em 0.3em var(--mud-palette-error);
}

.border-error-1 {
    border: solid 1px var(--mud-palette-error);
}

.border-error-2 {
    border: solid 2px var(--mud-palette-error);
}

/* General utility classes */
.mythetech-font {
    font-family: 'Gotu';
}

.align-text-center {
    text-align: center;
}

.square {
    border-radius: 0px!important;
}

.rounded-md {
    border-radius: calc(var(--mud-default-borderradius) * 2)!important;
}

.rounded-lg {
    border-radius: calc(var(--mud-default-borderradius) * 3)!important;
}

.align-items-center {
    align-items: center;
}


.mud-snackbar {
    border: 1px solid var(--mud-palette-dark);
    background:transparent;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

#mud-snackbar-container {
    border-radius: 0.5em 0.5em 0.25em 0.25em;
    background-color: transparent;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.mud-alert-filled-normal {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.25);
    border: 1px solid var(--mud-palette-primary);
    box-shadow: 0px 0px 0.4em 0.1em var(--mud-palette-primary);
}

.mud-alert-filled-success {
    background-color: rgba(var(--mud-palette-success-rgb), 0.25);
    border: 1px solid var(--mud-palette-success);
    box-shadow: 0px 0px 0.4em 0.1em var(--mud-palette-success);
}

.mud-alert-filled-warning {
    background-color: rgba(var(--mud-palette-warning-rgb), 0.25);
    border: 1px solid var(--mud-palette-warning-rgb);
    box-shadow: 0px 0px 0.4em 0.1em var(--mud-palette-warning);
}

.mud-alert-filled-info {
    background-color: rgba(var(--mud-palette-info-rgb), 0.25);
    border: 1px solid var(--mud-palette-info-rgb);
    box-shadow: 0px 0px 0.4em 0.1em var(--mud-palette-info);
}

.mud-alert-filled-error {
    background-color: rgba(var(--mud-palette-error-rgb), 0.25);
    border: 1px solid var(--mud-palette-error);
    box-shadow: 0px 0px 0.4em 0.1em var(--mud-palette-error);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.mud-snackbar-content-message {
    flex-grow: 1;
}

/* ========================================
   Settings Panel Styles
   ======================================== */

.mf-settings-panel {
    display: flex;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

.mf-settings-sidebar {
    width: 220px;
    min-width: 220px;
    border-right: 1px solid var(--mud-palette-lines-default);
    padding: 1rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    background: transparent;
}

.mf-settings-title {
    margin-bottom: 1rem;
    padding: 0 0.5rem;
}

.mf-settings-nav {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.mf-settings-nav-item {
    text-transform: none !important;
    justify-content: flex-start !important;
}

.mf-settings-nav-item.active {
    background: rgba(var(--mud-palette-primary-rgb), 0.15);
}

.mf-settings-content {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.5rem;
}

.mf-settings-section {
    margin-bottom: 2rem;
    scroll-margin-top: 1rem;
}

.mf-settings-section-header {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.mf-settings-group {
    margin-bottom: 1.5rem;
}

.mf-settings-group-header {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(var(--mud-palette-lines-default-rgb), 0.5);
}

.mf-setting-item {
    margin-bottom: 1rem;
    padding: 0.5rem 0;
}

.mf-dynamic-setting-control {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    transition: background 0.2s ease;
}

.mf-dynamic-setting-control:hover {
    background: rgba(255, 255, 255, 0.06);
}

.mf-setting-label-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.mf-setting-label {
    font-weight: 500;
}

.mf-setting-description {
    opacity: 0.7;
    max-width: 350px;
}

.mf-setting-control {
    min-width: 180px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.mf-setting-slider-container {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 180px;
}

.mf-setting-slider {
    flex: 1;
}

.mf-setting-slider-value {
    min-width: 3rem;
    text-align: right;
}

.mf-setting-select {
    min-width: 150px;
}

.mf-setting-text {
    min-width: 200px;
}

.mf-setting-numeric {
    max-width: 100px;
}

/* Scrollbar styling for settings content */
.mf-settings-content::-webkit-scrollbar {
    width: 8px;
}

.mf-settings-content::-webkit-scrollbar-track {
    background: transparent;
}

.mf-settings-content::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 4px;
}

.mf-settings-content::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* Light theme adjustments */
.mud-theme-light .mf-settings-sidebar {
    background: rgba(0, 0, 0, 0.03);
}

.mud-theme-light .mf-settings-content::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
}

.mud-theme-light .mf-settings-content::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.3);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .mf-settings-panel {
        flex-direction: column;
    }

    .mf-settings-sidebar {
        width: 100%;
        min-width: unset;
        border-right: none;
        border-bottom: 1px solid var(--mud-palette-lines-default);
        max-height: 200px;
    }

    .mf-settings-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
}

/* Settings Dialog Styles */
.mf-settings-dialog {
    width: 70vw;
    max-width: 900px;
    height: 80vh;
    max-height: 700px;
}

.mf-settings-dialog .mud-dialog-content {
    padding: 0 !important;
    overflow: hidden !important;
}

.mf-settings-dialog-content {
    height: 100%;
    min-height: 400px;
}

/* ============================================================================
   AppContextDrawer Resizer Styles
   ============================================================================ */

.app-context-resizer {
    position: absolute;
    top: 0;
    right: 0;
    width: 8px;
    height: 100%;
    cursor: ew-resize;
    z-index: 10;
    background: transparent;
}

.app-context-resizer:hover {
    background: rgba(var(--mud-palette-primary-rgb), 0.15);
}

.app-context-resizer-hidden {
    display: none;
}

/* AppContextDrawer icon bar */
.app-context-icon-bar {
    height: 100%;
    min-width: var(--mud-drawer-width-mini-left);
    max-width: var(--mud-drawer-width-mini-left);
    overflow: hidden;
    background: linear-gradient(360deg, var(--mud-palette-secondary) 1%, var(--mud-palette-surface) 10%);
    border-right: solid 1px var(--mud-palette-primary);
    padding: 0.5rem 0;
}

/* AppContextDrawer content panel */
.app-context-content {
    flex: 1;
    background: var(--mud-palette-drawer-background);
    max-width: calc(var(--mud-drawer-width-left) - var(--mud-drawer-width-mini-left));
    overflow: hidden;
    transition: width 0.15s ease;
}

.app-context-content-hidden {
    width: 0;
    max-width: 0;
    overflow: hidden;
}

/* Background helper for drawer panels */
.bg-drawer {
    background: var(--mud-palette-drawer-background);
}

.context-panel-item-wrapper > * > button {
    border-radius: 0%;
}

.context-panel-item-wrapper:hover {
    background-color: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent 90%);
}


/* Active context panel item indicator */
.context-item-active {
    border-radius: 0%;
    border-right: solid 2px var(--mud-palette-primary);
    background-color: color-mix(in srgb, var(--mud-palette-primary) 20%, transparent 80%);
}

/* ============================================================================
   Dialog Backdrop
   ============================================================================ */

.mythetech-dialog {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--mud-palette-primary);
}