﻿:root {
    --shaded-background: rgba(0,0,0,0.05);
}
.dark-theme {
    --shaded-background: rgba(0,0,0,0.38);
}

/* Surface in Pop-up fix */
.mud-popover.mud-popover:not(.mud-tooltip), .mud-dialog, #mud-snackbar-container .mud-snackbar {
    background-color: var(--mud-palette-drawer-background) !important;
}

/* NavMenu Hacks */
.mud-navmenu.mud-navmenu-default .mud-nav-link.active:not(.mud-nav-link-disabled) {
    color: var(--mud-palette-drawer-text) !important;
}
.mud-drawer--open .mud-navmenu.mud-navmenu-default .mud-nav-item, .mud-drawer--open .mud-navmenu.mud-navmenu-default .mud-nav-group {
    padding: 0 12px 0 12px !important;
}
.mud-drawer--closed .mud-navmenu.mud-navmenu-default .mud-nav-item, .mud-drawer--closed .mud-navmenu.mud-navmenu-default .mud-nav-group {
    padding: 0 !important;
    margin: 0 0 0 -4px !important;
}
.light-theme .mud-navmenu.mud-navmenu-default .mud-nav-link.active, .light-theme .mud-navmenu.mud-navmenu-default .mud-nav-link:hover {
    background-color: #daeff9;
}
.mud-navmenu.mud-navmenu-default .mud-nav-link.active {
    font-weight: bold !important;
}

/* Ticket Selction Sizing Hack */
.ticket-status-selection.mud-popover {
    min-width: 210px !important;
}

/* Additional CSS for Priority Pills*/
.priority-pill {
    font-weight: bold;
    color: var(--mud-palette-white) !important;
}
.priority-pill svg {
    height: 16px;
    margin: 0 -4px 0 -4px;
}

/* Background Overlay */
/*
body {
    background-attachment: fixed;
    background-clip: border-box;
    background-image: url(/images/background_overlay.png);
    background-origin: padding-box;
    background-position-x: 50%;
    background-position-y: 50%;
    background-repeat: no-repeat;
    background-size: 50%;
}
*/

/* Hack to allow Table Toolbars to have a dynamic size! */
.mud-table-toolbar {
    height: unset !important;
}

/* Fit Wrapping for Summaries in tables*/
.table-column-text-overflow {
    max-height: 86px;
    text-overflow: ellipsis;
    overflow: auto;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
}
.table-column-text-overflow::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Edge */
}
.table-column-text-overflow:hover {
    scrollbar-width: thin; /* Firefox */
    -ms-overflow-style: auto; /* IE */
}
.table-column-text-overflow:hover::-webkit-scrollbar {
    display: block;
    width: 8px;
}

/* Small Label for Checkboxes */
.checkbox-small-label .mud-input-control-input-container label p {
    font-family: var(--mud-typography-subtitle2-family);
    font-size: var(--mud-typography-subtitle2-size);
    font-weight: var(--mud-typography-subtitle2-weight);
    line-height: var(--mud-typography-subtitle2-lineheight);
    letter-spacing: var(--mud-typography-subtitle2-letterspacing);
    text-transform: var(--mud-typography-subtitle2-text-transform);
}

/* Deleted Background and border */
.deleted {
    box-shadow: 0 0 6px rgba(var(--mud-palette-error-rgb),0.8) !important;
    background: rgba(var(--mud-palette-error-rgb),0.2) !important;
    padding: 8px;
    border-radius: 4px;
}

/* Required Table Row is Missing */
.required-row-missing {
    box-shadow: 0 0 6px rgba(var(--mud-palette-warning-rgb),0.8) !important;
    background: rgba(var(--mud-palette-warning-rgb),0.2) !important;
    padding: 8px;
    border-radius: 4px;
}

/* External Note CSS */
.external-note {
    border: 1px solid rgba(var(--mud-palette-tertiary-rgb),0.4) !important;
    border-right-width: 1px !important;
    border-right: 1px solid rgba(var(--mud-palette-tertiary-rgb),0.4) !important;
    border-left: 1px solid rgba(var(--mud-palette-tertiary-rgb),0.4) !important;
    border-top: 1px solid rgba(var(--mud-palette-tertiary-rgb),0.4) !important;
    border-bottom: 1px solid rgba(var(--mud-palette-tertiary-rgb),0.4) !important;
    box-shadow: 0 0 16px rgba(var(--mud-palette-tertiary-rgb),0.4) !important;
    transition: 0.2s linear all;
} .external-note-header {
    background: rgba(var(--mud-palette-tertiary-rgb), 0.3);
    font-weight: 500;
    font-size: 1.3em;
} .external-note-responses-header {
    background: rgba(var(--mud-palette-success-rgb), 0.16);
    font-weight: 500;
    font-size: 1.3em;
}

/* <SimilarItems /> In Dialog Box Formatting */
.similar-items-in-dialog {
    min-width: 60vw;
    width: 100%;
}
.mud-dialog-width-lg .similar-items-in-dialog {
    max-width: 1280px;
} 
@media (min-width: 1280px) {
    .mud-dialog-width-lg .similar-items-in-dialog {
        width: 1180px;
        min-width: unset;
    }
}

/* Grid Search Box Tweaks */
.grid-search input::placeholder {
    font-size: small;
}

/* Quill */
.ql-toolbar {
    /* border: 0 !important;
    border-bottom: 1px solid #ccc !important; */
    border-radius: var(--mud-default-borderradius) !important;
} .quillNoToolbar .ql-toolbar {
    display: none !important;
} .ql-container {
    border: 0 !important;
} .ql-snow.ql-toolbar button:hover, .ql-snow .ql-toolbar button:hover, .ql-snow.ql-toolbar button:focus, .ql-snow .ql-toolbar button:focus, .ql-snow.ql-toolbar button.ql-active, .ql-snow .ql-toolbar button.ql-active, .ql-snow.ql-toolbar .ql-picker-label:hover, .ql-snow .ql-toolbar .ql-picker-label:hover, .ql-snow.ql-toolbar .ql-picker-label.ql-active, .ql-snow .ql-toolbar .ql-picker-label.ql-active, .ql-snow.ql-toolbar .ql-picker-item:hover, .ql-snow .ql-toolbar .ql-picker-item:hover, .ql-snow.ql-toolbar .ql-picker-item.ql-selected, .ql-snow .ql-toolbar .ql-picker-item.ql-selected {
    color: var(--mud-palette-dark-darken);
} .quill-editor iframe {
    /* Disable pointer events in editor! */
    pointer-events: none;
}

/* Mention */
.ql-mention-list {
    border-radius: var(--mud-default-borderradius) !important;
}
.ql-mention-list-item.selected {
    background-color: var(--mud-palette-primary) !important;
    color: var(--mud-palette-primary-text) !important;
    text-decoration: none !important;
}
.ql-mention-list-item {
    cursor: pointer;
    height: 20px;
    line-height: 20px;
    font-size: 14px;
    padding: 1px 4px;
}
.mention {
    background-color: var(--mud-palette-primary) !important;
    color: var(--mud-palette-primary-text) !important;
    font-weight: 500 !important;
    border-radius: var(--mud-default-borderradius) !important;
}

/* History Paper */
.history-paper {
    background-color: var(--shaded-background) !important;
}

/* Highlight Cell! */
.highlight-cell {
    border: 1px solid rgba(var(--mud-palette-warning-rgb),0.8) !important;
    border-right-width: 1px !important;
    border-right: 1px solid rgba(var(--mud-palette-warning-rgb),0.8) !important;
    border-left: 1px solid rgba(var(--mud-palette-warning-rgb),0.8) !important;
    border-top: 1px solid rgba(var(--mud-palette-warning-rgb),0.8) !important;
    border-bottom: 1px solid rgba(var(--mud-palette-warning-rgb),0.8) !important;
    box-shadow: 0 0 16px rgba(var(--mud-palette-warning-rgb),0.8) !important;
    background: rgba(var(--mud-palette-warning-rgb),0.3) !important;
    transition: 0.5s linear all;
}

/* Make Edited Cell! */
.edit-cell {
    border: 1px solid rgba(var(--mud-palette-primary-rgb),0.8) !important;
    border-right-width: 1px !important;
    border-right: 1px solid rgba(var(--mud-palette-primary-rgb),0.8) !important;
    border-left: 1px solid rgba(var(--mud-palette-primary-rgb),0.8) !important;
    border-top: 1px solid rgba(var(--mud-palette-primary-rgb),0.8) !important;
    border-bottom: 1px solid rgba(var(--mud-palette-primary-rgb),0.8) !important;
    box-shadow: 0 0 16px rgba(var(--mud-palette-primary-rgb),0.8) !important;
    background: rgba(var(--mud-palette-primary-rgb),0.3) !important;
    transition: 0.5s linear all;
}

/* Label fixes for Edited/Highlighted cells */
.edit-cell .mud-shrink ~ label, .highlight-cell .mud-shrink ~ label {
    border-width: 1px;
    border-radius: 4px;
    padding: 1px 5px !important;
}

/* Can Edit */
.can-edit {
    /* border-bottom: 1px dashed rgba(var(--mud-palette-primary-rgb),0.8); */
    cursor: pointer;
}

/* Generic Skeleton to mimic chips */
.chip-skeleton {
    width: 78px;
    border-radius: 18px;
    height: 42px;
    margin: auto 1px;
}

/* Disabled Column Class */
.column-disabled {
    background-color: var(--mud-palette-background-grey);
}

/* Group Header */
.table-group-header, .table-group-header td, .table-group-header th {
    background-color: var(--mud-palette-background-grey);
    border-right: none !important;
}

/* Group Footer */
.table-group-footer, .table-group-footer td, .table-group-footer th {
    background-color: rgba(0,0,0,0.05);
}

/* Grid Title Background based on size */
@media (max-width: 960px) {
    .grid-title {
        background-color: rgba(var( --mud-palette-primary-rgb),0.18);
    }
}

/* Used to make a smaller then "small" FAB Icon Button */
.super-small-icon-fab {
    height: 28px;
    min-height: unset;
    width: 28px;
    margin-top: -8px;
} 
.super-small-icon-fab-with-label {
    height: 22px !important;
    min-height: unset;
    font-size: xx-small;
    padding: 2px 6px 2px 6px !important;
}

/* Small Spinner */
.super-small-spinner {
    margin-left: 4px;
    height: 14px;
    width: 14px;
}

/* Used for Headers */
.header-filter {
    margin: -2px 0 0 -2px !important;
}

/* Opacity Helper Classes*/
.o1 { opacity: 0.1; } .o2 { opacity: 0.2; } .o3 { opacity: 0.3; } .o4 { opacity: 0.4; } .o5 { opacity: 0.5; } .o6 { opacity: 0.6; } .o7 { opacity: 0.7; } .o8 { opacity: 0.8; } .o9 { opacity: 0.9; }

/* Make Alert's have Flexbox */
.alert-flexbox div div.mud-alert-message {
    display: flex !important;
    flex-grow: 1 !important;
} .alert-flexbox div div.mud-alert-message > div:first-of-type {
    display: flex !important;
    flex-grow: 1 !important;
}

/* MudCalendar Formatting Overrides */
.mud-cal-grid-header {
    background: var(--shaded-background);
    /* border-radius: 4px 4px 0 0; */
} 
.calendar-details-panel {
    width: 380px;
} 
.calendar-details-panel.full {
    width: 100%;
} 
.calendar-view-format-button-group button {
    padding: 1px !important;
    min-width: 36px;
    max-height: 32px;
} 
.event-details-main-icon {
    width: 200px;
    height: 200px;
    opacity: 0.1
}

/* No-Wrap Text */
.no-wrap {
    white-space: nowrap;
} 
blockquote {
    margin-left: 16px;
    border-left: 3px solid;
    padding-left: 4px;
    font-size: 0.78rem;
} 

/* Back button */
.back-button {
    opacity: 0.66;
    transition: opacity 0.4s;
} 
.back-button:hover {
    opacity: 1;
}

/* Files */
.file-card {
    width: 348px;
    animation: fadeIn 0.8s;
} 
@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
} 
.file-card:hover {
    border-width: 1px !important;
} 
.text-overflow {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
} 
.file-title {
    margin-top: 4px;
} 
.small .file-title {
    margin-top: 6px;
    font-size: 0.8rem;
} 
.file-header {
    background-color: rgba(0,0,0,0.4);
    height: 176px;
} 
.small .file-header {
    height: 90px;
} 
.file-image {
    width: 348px;
    height: 176px;
} 
.small .file-image {
    width: 94px;
    height: 90px;
    margin-bottom: -6px;
} 
.file-url {
    opacity: 0.6;
} 
.small .file-url, .small .file-info {
    width: 246px;
} 
.file-description .mud-alert-message {
    width: 100%;
    padding: 0px;
} 
.file-description .mud-alert-message span {
    overflow-wrap: break-word;
    white-space: normal;
} 
.small .file-description {
    margin: 0 !important;
    border-radius: 0 0 4px 4px !important;
    width: 100%;
}

/* Segment Bars */
.segment-bar {
    margin: 1rem 0;
    width: 100%;
} 
.bar-container {
    display: flex;
    height: 38px;
    border-radius: 4px;
    overflow: hidden;
}
.bar-segment {
    height: 100%;
    transition: width 0.3s ease;
    cursor: pointer;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding: 8px 4px 4px 34px;
    color: var(--mud-palette-primary-text) !important;
}
.bar-segment:first-child {
    padding: 8px 4px 4px 38px;
}
.bar-segment:hover {
    box-shadow: 0 0 6px rgba(55, 55, 55, 0.8) !important;
    z-index: 10;
} 
.bar-label {
    margin-top: 0.5rem;
    font-size: 0.9rem;
}

/* AI Assistant Textarea Fix */
.ai-assistant textarea {
    min-height: 32px;
}

/* Faded Background */
.background-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
    pointer-events: none; /* prevents interaction issues */
} 
.background-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(4px) brightness(80%);
    opacity: 0.6;
} 
.dark .background-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(8px);
    opacity: 0.3;
} 
.background-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient( to bottom, rgba(0, 0, 0, 0.0) 0%, rgba(0, 0, 0, 0.0) 60%, var(--mud-palette-background) 85% );
}

/* External Form Response Table */
.external-form-response-table .mud-table-root {
    width: 100%;
}
/* First column: fit text, don’t wrap, minimal width */
.external-form-response-table thead th:first-child,
.external-form-response-table tbody td:first-child {
    white-space: nowrap;
    width: 1%; /* forces minimal width while respecting content */
}
/* Middle column: fill remaining space */
.external-form-response-table thead th:nth-child(2),
.external-form-response-table tbody td:nth-child(2) {
    width: auto; /* auto consumes leftover after fixed columns */
}
/* Last column: fixed, capped at 26px */
.external-form-response-table thead th:nth-child(3),
.external-form-response-table tbody td:nth-child(3) {
    width: 48px;
    max-width: 48px;
    min-width: 48px;
    text-align: center; /* optional: center icon/button */
    overflow: hidden; /* prevent layout jitter */
}
