:root {
    --mud-appbar-height: 64px;
}

h1:focus {
    outline: none;
}

/* Full-width page breakout. MainLayout wraps @Body in a MudContainer capped at
   MaxWidth="ExtraLarge" and centered with auto margins, so wide screens (grids with
   many columns) can't use the whole viewport. A page that renders a .page-full-width
   element opts its own MudContainer out of the cap without affecting other pages. */
.mud-container:has(.page-full-width) {
    max-width: 100% !important;
}

/* TelerikFloatingLabel renders as inline-block by default, so Width="100%" on the
   inner control has nothing to fill. This ensures it stretches to fill its parent
   (MudItem, MudCardContent, etc.) so dropdown popups measure the correct width.
   max-width caps unbounded growth in wide containers (override per-field as needed). */
.k-floating-label-container {
    width: 100%;
    max-width: 25ch;
}

.k-floating-label-container > .k-floating-label {
    font-weight: 600;
}

/* Same cap for Telerik controls used without a TelerikFloatingLabel wrapper. */
.k-textbox,
.k-numerictextbox,
.k-datepicker,
.k-datetimepicker,
.k-dropdownlist,
.k-combobox {
    max-width: 25ch;
}

/* Drop zone for the Documents tab Upload Files button */
.doc-drop-zone {
    padding: 6px 8px;
    border-radius: 6px;
    border: 2px solid transparent;
    transition: background 0.15s, border-color 0.15s;
}
.doc-drop-zone.drag-over {
    background: rgba(25, 118, 210, 0.08);
    border-color: #1976d2;
}

/* HierarchicalTypeGroup editor form */
.htg-editor-form .k-floating-label-container,
.htg-editor-form .k-textbox,
.htg-editor-form .k-textarea {
    max-width: 100%;
}

/* HierarchicalType editor form */
.ht-editor-form .k-floating-label-container,
.ht-editor-form .k-textbox,
.ht-editor-form .k-textarea,
.ht-editor-form .k-dropdownlist,
.ht-editor-form .k-numerictextbox {
    max-width: 100%;
}

/* Override the 25ch cap inside the document editor form and the hierarchical type
   selector, where controls should fill their container. */
.doc-editor-form .k-floating-label-container,
.doc-editor-form .k-textbox,
.doc-editor-form .k-numerictextbox,
.doc-editor-form .k-datepicker,
.doc-editor-form .k-datetimepicker,
.doc-editor-form .k-dropdownlist,
.doc-editor-form .k-combobox {
    max-width: 100%;
}

/* Override the 25ch cap inside the e-signature send dialog, where controls fill their cell. */
.esign-send-form .k-floating-label-container,
.esign-send-form .k-textbox,
.esign-send-form .k-textarea,
.esign-send-form .k-dropdownlist {
    max-width: 100%;
}

/* Override the 25ch cap on the My Schedule defaults form, where controls fill their cell. */
.my-schedule-form .k-floating-label-container,
.my-schedule-form .k-textbox,
.my-schedule-form .k-timepicker,
.my-schedule-form .k-datepicker,
.my-schedule-form .k-dropdownlist,
.my-schedule-form .k-combobox {
    max-width: 100%;
}

/* My Schedule Scheduler: shade non-work / day-off cells and block interaction with them. */
.schedule-non-work-day {
    background-color: rgba(0, 0, 0, 0.06);
    pointer-events: none;
}

/* Override the 25ch cap inside the CtrlServiceTicketUpdate dialog, where controls fill their cell. */
.service-ticket-update-form .k-floating-label-container,
.service-ticket-update-form .k-textbox,
.service-ticket-update-form .k-textarea,
.service-ticket-update-form .k-dropdownlist,
.service-ticket-update-form .k-combobox {
    max-width: 100%;
}

/* Override the 25ch cap inside the contract term editor form. */
.contract-term-editor-form .k-floating-label-container,
.contract-term-editor-form .k-textbox,
.contract-term-editor-form .k-numerictextbox,
.contract-term-editor-form .k-datepicker,
.contract-term-editor-form .k-datetimepicker,
.contract-term-editor-form .k-dropdownlist,
.contract-term-editor-form .k-combobox {
    max-width: 100%;
}

/* Override the 25ch cap inside the tag editor form. */
.tag-editor-form .k-floating-label-container,
.tag-editor-form .k-textbox,
.tag-editor-form .k-numerictextbox,
.tag-editor-form .k-textarea {
    max-width: 100%;
}

/* Override the 25ch cap on the Video QA upload page's account-number field. */
.video-qa-form .k-textbox {
    max-width: 100%;
}

/* Override the 25ch cap inside the language editor form. */
.language-editor-form .k-floating-label-container,
.language-editor-form .k-textbox {
    max-width: 100%;
}

/* Override the 25ch cap inside the contract editor form. */
.contract-editor-form .k-floating-label-container,
.contract-editor-form .k-textbox,
.contract-editor-form .k-numerictextbox,
.contract-editor-form .k-datepicker,
.contract-editor-form .k-datetimepicker,
.contract-editor-form .k-dropdownlist,
.contract-editor-form .k-combobox,
.contract-editor-form .k-textarea {
    max-width: 100%;
}

/* Override the 25ch cap inside the contract item editor form. */
.contract-item-editor-form .k-floating-label-container,
.contract-item-editor-form .k-textbox,
.contract-item-editor-form .k-numerictextbox,
.contract-item-editor-form .k-datepicker,
.contract-item-editor-form .k-datetimepicker,
.contract-item-editor-form .k-dropdownlist,
.contract-item-editor-form .k-combobox,
.contract-item-editor-form .k-textarea {
    max-width: 100%;
}

/* Override the 25ch cap inside the vehicle service schedule editor form. */
.vehicle-service-schedule-editor-form .k-floating-label-container,
.vehicle-service-schedule-editor-form .k-textbox,
.vehicle-service-schedule-editor-form .k-numerictextbox,
.vehicle-service-schedule-editor-form .k-datepicker,
.vehicle-service-schedule-editor-form .k-datetimepicker,
.vehicle-service-schedule-editor-form .k-dropdownlist,
.vehicle-service-schedule-editor-form .k-combobox {
    max-width: 100%;
    width: 100%;
}

/* Override the 25ch cap inside the vehicle service schedule limit editor form. */
.vehicle-service-schedule-limit-editor-form .k-floating-label-container,
.vehicle-service-schedule-limit-editor-form .k-textbox,
.vehicle-service-schedule-limit-editor-form .k-numerictextbox,
.vehicle-service-schedule-limit-editor-form .k-datepicker,
.vehicle-service-schedule-limit-editor-form .k-datetimepicker,
.vehicle-service-schedule-limit-editor-form .k-dropdownlist,
.vehicle-service-schedule-limit-editor-form .k-combobox {
    max-width: 100%;
    width: 100%;
}

.bu-editor-form .k-floating-label-container,
.bu-editor-form .k-textbox,
.bu-editor-form .k-numerictextbox,
.bu-editor-form .k-datepicker,
.bu-editor-form .k-datetimepicker,
.bu-editor-form .k-dropdownlist,
.bu-editor-form .k-combobox {
    max-width: 100%;
}

.div-editor-form .k-floating-label-container,
.div-editor-form .k-textbox,
.div-editor-form .k-textarea,
.div-editor-form .k-dropdownlist {
    max-width: 100%;
}

.hierarchical-type-selector .k-dropdownlist,
.hierarchical-type-selector .k-combobox {
    max-width: 100%;
}

/* Let the Tools-tab mini calendar fill the drawer width instead of the Telerik default intrinsic width. */
.ctrl-local-calendar .k-calendar {
    /* Scale the whole calendar down 20%. Width 125% * scale 0.8 = fills the drawer at 100% visual width. */
    width: 125%;
    transform: scale(0.8);
    transform-origin: top left;
}

.htcf-option-form .k-floating-label-container,
.htcf-option-form .k-textbox,
.htcf-option-form .k-numerictextbox {
    max-width: 100%;
    width: 100%;
}

.geo-coord-selector .k-numerictextbox {
    max-width: 100%;
}

/* Override the 25ch cap inside the commission period editor form */
.commission-period-editor-form .k-floating-label-container,
.commission-period-editor-form .k-textbox,
.commission-period-editor-form .k-textarea,
.commission-period-editor-form .k-datepicker,
.commission-period-editor-form .k-dropdownlist {
    max-width: 100%;
}

/* Override the 25ch cap inside the tech pay plan editor form */
.tech-pay-plan-editor-form .k-floating-label-container,
.tech-pay-plan-editor-form .k-textbox,
.tech-pay-plan-editor-form .k-textarea,
.tech-pay-plan-editor-form .k-numerictextbox,
.tech-pay-plan-editor-form .k-datepicker,
.tech-pay-plan-editor-form .k-dropdownlist {
    max-width: 100%;
}

/* Override the 25ch cap inside the commission editor form and the commission search pane. */
.commission-editor-form .k-floating-label-container,
.commission-editor-form .k-textbox,
.commission-editor-form .k-textarea,
.commission-editor-form .k-numerictextbox,
.commission-editor-form .k-datepicker,
.commission-editor-form .k-datetimepicker,
.commission-editor-form .k-dropdownlist,
.commission-editor-form .k-combobox,
.commission-search-pane .k-textbox,
.commission-search-pane .k-datepicker,
.commission-search-pane .k-dropdownlist,
.commission-search-pane .k-combobox {
    max-width: 100%;
}

/* Override the 25ch cap inside the security system editor form */
.ss-editor-form .k-floating-label-container,
.ss-editor-form .k-textbox,
.ss-editor-form .k-textarea,
.ss-editor-form .k-numerictextbox,
.ss-editor-form .k-datepicker,
.ss-editor-form .k-datetimepicker,
.ss-editor-form .k-dropdownlist,
.ss-editor-form .k-combobox {
    max-width: 100%;
}

/* Override the 25ch cap inside the manufacturer product editor form */
.mpn-editor-form .k-floating-label-container,
.mpn-editor-form .k-textbox,
.mpn-editor-form .k-numerictextbox,
.mpn-editor-form .k-datepicker,
.mpn-editor-form .k-dropdownlist,
.mpn-editor-form .k-combobox,
.mpn-editor-form .k-textarea {
    max-width: 100% !important;
    width: 100%;
}

/* Override the 25ch cap inside the credit bureau editor form */
.credit-bureau-editor-form .k-floating-label-container,
.credit-bureau-editor-form .k-textbox,
.credit-bureau-editor-form .k-textarea,
.credit-bureau-editor-form .k-numerictextbox {
    max-width: none;
    width: 100%;
}

/* Override the 25ch cap inside the score method editor form */
.score-method-editor-form .k-floating-label-container,
.score-method-editor-form .k-textbox,
.score-method-editor-form .k-textarea,
.score-method-editor-form .k-numerictextbox,
.score-method-editor-form .k-dropdownlist {
    max-width: none;
    width: 100%;
}

/* Override the 25ch cap inside the credit score letter conversion editor forms */
.conversion-editor-form .k-floating-label-container,
.conversion-editor-form .k-textbox,
.conversion-editor-form .k-textarea,
.conversion-editor-form .k-numerictextbox,
.conversion-editor-form .k-dropdownlist {
    max-width: none;
    width: 100%;
}


/* Override the 25ch cap inside the department editor form */
.user-selector-inactive .k-combobox .k-input-inner,
.dept-selector-inactive .k-combobox .k-input-inner,
.city-selector-inactive .k-combobox .k-input-inner,
.state-selector-inactive .k-combobox .k-input-inner,
.zipcode-selector-inactive .k-combobox .k-input-inner,
.county-selector-inactive .k-combobox .k-input-inner,
.country-selector-inactive .k-combobox .k-input-inner,
.language-selector-inactive .k-combobox .k-input-inner,
.currency-selector-inactive .k-combobox .k-input-inner,
.timezone-selector-inactive .k-combobox .k-input-inner,
.supplier-selector-inactive .k-combobox .k-input-inner,
.referral-source-selector-inactive .k-combobox .k-input-inner,
.mp-selector-inactive .k-combobox .k-input-inner,
.sku-selector-inactive .k-combobox .k-input-inner,
.conversion-type-selector-inactive .k-combobox .k-input-inner,
.credit-bureau-selector-inactive .k-combobox .k-input-inner,
.credit-card-type-selector-inactive .k-combobox .k-input-inner,
.credit-score-method-selector-inactive .k-combobox .k-input-inner,
.contact-selector-inactive .k-combobox .k-input-inner,
.location-selector-inactive .k-combobox .k-input-inner,
.email-import-task-selector-inactive .k-combobox .k-input-inner,
.email-response-template-selector-inactive .k-combobox .k-input-inner {
    background-color: #ffcdd2 !important;
}

.dept-editor-form .k-floating-label-container,
.dept-editor-form .k-textbox,
.dept-editor-form .k-textarea,
.dept-editor-form .k-numerictextbox,
.dept-editor-form .k-dropdownlist {
    max-width: none;
    width: 100%;
}

/* Override the 25ch cap inside the service ticket queue editor form and dialog */
.stq-editor-form .k-floating-label-container,
.stq-editor-form .k-textbox,
.stq-editor-form .k-textarea,
.stq-editor-form .k-numerictextbox,
.stq-editor-form .k-dropdownlist {
    max-width: 100%;
}

/* Override the 25ch cap inside the credit score editor form */
.credit-score-editor .k-floating-label-container,
.credit-score-editor .k-textbox,
.credit-score-editor .k-numerictextbox,
.credit-score-editor .k-datepicker,
.credit-score-editor .k-dropdownlist,
.credit-score-editor .k-textarea {
    max-width: 100%;
    width: 100%;
}

/* Override the 25ch cap inside the service ticket editor form */
.st-editor-form .k-floating-label-container,
.st-editor-form .k-textbox,
.st-editor-form .k-textarea,
.st-editor-form .k-numerictextbox,
.st-editor-form .k-dropdownlist,
.st-editor-form .k-datepicker,
.st-editor-form .k-combobox {
    max-width: 100%;
}

/* Override the 25ch cap inside the service ticket editor panel (right-pane component) */
.st-editor-panel-form .k-floating-label-container,
.st-editor-panel-form .k-textbox,
.st-editor-panel-form .k-textarea,
.st-editor-panel-form .k-numerictextbox,
.st-editor-panel-form .k-dropdownlist,
.st-editor-panel-form .k-datepicker,
.st-editor-panel-form .k-combobox {
    max-width: 100%;
}

/* Override the 25ch cap inside the sales opportunity editor dialog */
.sales-opp-editor-form .k-floating-label-container,
.sales-opp-editor-form .k-textbox,
.sales-opp-editor-form .k-textarea,
.sales-opp-editor-form .k-numerictextbox,
.sales-opp-editor-form .k-datepicker,
.sales-opp-editor-form .k-dropdownlist,
.sales-opp-editor-form .k-combobox {
    max-width: 100%;
}

/* Override the 25ch cap inside the sales opportunity editor page */
.sales-opp-edit-page-form .k-floating-label-container,
.sales-opp-edit-page-form .k-textbox,
.sales-opp-edit-page-form .k-textarea,
.sales-opp-edit-page-form .k-numerictextbox,
.sales-opp-edit-page-form .k-datepicker,
.sales-opp-edit-page-form .k-dropdownlist,
.sales-opp-edit-page-form .k-combobox {
    max-width: 100%;
}

/* DateTimeSelector: compact quick-pick dropdown — show only the arrow, hide the value text */
.dt-quick-pick-wrap .k-dropdownlist {
    min-width: 0;
    max-width: 36px;
    width: 36px;
}
.dt-quick-pick-wrap .k-input-inner {
    display: none;
}
.dt-quick-pick-wrap .k-input-button {
    border-radius: 4px;
}

/* Override the 25ch cap inside the sales prediction editor dialog */
.sales-pred-editor-form .k-floating-label-container,
.sales-pred-editor-form .k-textbox,
.sales-pred-editor-form .k-numerictextbox,
.sales-pred-editor-form .k-datepicker {
    max-width: 100%;
}

/* Override the 25ch cap inside the supplier SKU editor form and price editor form */
.supplier-sku-form .k-floating-label-container,
.supplier-sku-form .k-textbox,
.supplier-sku-form .k-numerictextbox,
.supplier-sku-form .k-datepicker,
.supplier-sku-form .k-dropdownlist,
.supplier-sku-form .k-combobox,
.supplier-sku-form .k-textarea {
    max-width: 100%;
    width: 100%;
}

/* Override the 25ch cap inside the supplier account editor form */
.supplier-account-form .k-floating-label-container,
.supplier-account-form .k-textbox,
.supplier-account-form .k-numerictextbox,
.supplier-account-form .k-datepicker,
.supplier-account-form .k-dropdownlist,
.supplier-account-form .k-combobox,
.supplier-account-form .k-textarea {
    max-width: 100%;
    width: 100%;
}

/* Override the 25ch cap inside the supplier contract editor form */
.supplier-contract-form .k-floating-label-container,
.supplier-contract-form .k-textbox,
.supplier-contract-form .k-numerictextbox,
.supplier-contract-form .k-datepicker,
.supplier-contract-form .k-dropdownlist,
.supplier-contract-form .k-combobox,
.supplier-contract-form .k-textarea {
    max-width: 100%;
    width: 100%;
}

/* Override the 25ch cap inside the asset editor form */
.asset-editor-form .k-floating-label-container,
.asset-editor-form .k-textbox,
.asset-editor-form .k-numerictextbox,
.asset-editor-form .k-datepicker,
.asset-editor-form .k-datetimepicker,
.asset-editor-form .k-dropdownlist,
.asset-editor-form .k-combobox,
.asset-editor-form .k-textarea {
    max-width: 100%;
}

/* Override the 25ch cap inside the supplier contract product editor form */
.supplier-contract-product-form .k-floating-label-container,
.supplier-contract-product-form .k-textbox,
.supplier-contract-product-form .k-numerictextbox,
.supplier-contract-product-form .k-datepicker,
.supplier-contract-product-form .k-dropdownlist,
.supplier-contract-product-form .k-combobox,
.supplier-contract-product-form .k-textarea {
    max-width: 100%;
    width: 100%;
}

.redstone-appbar {
    background-color: #f6f6f6 !important;
    color: #424242 !important;
    border-bottom: 1px solid #e0e0e0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12);
    z-index: 1201;
    /* Never let the bar wrap to a second row */
    flex-wrap: nowrap !important;
    overflow: hidden;
}

/* Left section: breadcrumb may truncate rather than push siblings */
.redstone-appbar .k-appbar-section:first-child {
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
}

/* Search section: shrinks before the right-side controls ever wrap */
.redstone-appbar .k-appbar-section:has(.appbar-search) {
    flex: 0 1 auto;
    min-width: 0;
    overflow: visible;
}

/* Favorite (pin current page) toggle button in the AppBar */
.favorite-star-btn .k-icon,
.favorite-star-btn .k-svg-icon {
    color: #bdbdbd;
}

.favorite-star-btn.favorited .k-icon,
.favorite-star-btn.favorited .k-svg-icon {
    color: #f5a623;
}

.appbar-search {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 60px;
    max-width: 240px;
    width: 240px;
    flex: 0 1 auto;
    overflow: visible;
}

/* ── Splash screen ── */
#splash-screen {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #1a1a2e;
    transition: opacity 0.5s ease;
}

#splash-screen.splash-hidden {
    opacity: 0;
    pointer-events: none;
}

.splash-image {
    max-width: min(716px, 80vw);
    height: auto;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.5);
}

.splash-spinner {
    margin-top: 32px;
    width: 40px;
    height: 40px;
    border: 4px solid rgba(255,255,255,0.2);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: splash-spin 0.8s linear infinite;
}

@keyframes splash-spin {
    to { transform: rotate(360deg); }
}


.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

/* ── User Editor scrolling layout ── */
.user-editor-page {
    height: calc(100dvh - var(--mud-appbar-height, 64px) - 2rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.user-editor-tabstrip-wrapper {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.user-editor-tabstrip-wrapper .k-tabstrip {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.user-editor-tabstrip-wrapper .k-tabstrip-items-wrapper {
    flex-shrink: 0;
}

.user-editor-tabstrip-wrapper .k-content {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.user-editor-actions {
    flex-shrink: 0;
    padding-top: 4px;
}

.service-ticket-manager-tabstrip {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.service-ticket-manager-tabstrip .k-tabstrip {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.service-ticket-manager-tabstrip .k-tabstrip-items-wrapper {
    flex-shrink: 0;
}

.service-ticket-manager-tabstrip .k-content {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* ── TelerikGrid density ── */
.k-grid .k-header,
.k-grid .k-table-th {
    padding-top: var(--kendo-spacing-1, 4px) !important;
    padding-bottom: var(--kendo-spacing-1, 4px) !important;
    font-weight: var(--kendo-font-weight-bold, 700) !important;
}

.k-grid .k-grid-table td,
.k-grid .k-grid-table th {
    padding-top: var(--kendo-spacing-1, 4px) !important;
    padding-bottom: var(--kendo-spacing-1, 4px) !important;
}

.k-grid .k-grid-table td {
    line-height: var(--kendo-line-height-sm, 1.25) !important;
}

/* Mini widget grids (CtrlMiniAppointments, CtrlMiniServiceTickets): 6px font for headers and records */
.mini-appt-grid,
.mini-appt-grid .k-header,
.mini-appt-grid .k-table-th,
.mini-appt-grid .k-grid-table td,
.mini-appt-grid .k-grid-table th,
.mini-appt-grid .k-grid-table td span,
.mini-appt-grid .k-grid-table td a,
.mini-ticket-grid,
.mini-ticket-grid .k-header,
.mini-ticket-grid .k-table-th,
.mini-ticket-grid .k-grid-table td,
.mini-ticket-grid .k-grid-table th,
.mini-ticket-grid .k-grid-table td span,
.mini-ticket-grid .k-grid-table td a {
    font-size: 8px !important;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* Override the 25ch cap inside the product point schedule editor form */
.pps-editor-form .k-floating-label-container,
.pps-editor-form .k-textbox,
.pps-editor-form .k-textarea,
.pps-editor-form .k-dropdownlist,
.pps-editor-form .k-numerictextbox,
.pps-editor-form .k-combobox {
    max-width: 100%;
}

/* Tabbed navigation drawer: keep the active panel scrollable below the app bar + tab strip. */
.drawer-tabs .mud-tabs-panels {
    overflow-y: auto;
    max-height: calc(100vh - 112px);
}

/* Icon-only drawer tabs, ~1/3 smaller than the default 24px tab icon. */
.drawer-tabs .mud-tab .mud-icon-root {
    font-size: 1rem;
}

/* Genesys Cloud phone fills the Phone tab panel below the app bar + tab strip. */
.genesys-phone {
    height: calc(100vh - 112px);
    width: 100%;
}

/* Override the 25ch cap inside the product pay schedule editor form */
.ppay-editor-form .k-floating-label-container,
.ppay-editor-form .k-textbox,
.ppay-editor-form .k-textarea,
.ppay-editor-form .k-dropdownlist,
.ppay-editor-form .k-numerictextbox,
.ppay-editor-form .k-combobox {
    max-width: 100%;
}

.email-editor-form .k-floating-label-container,
.email-editor-form .k-textbox,
.email-editor-form .k-textarea,
.email-editor-form .k-dropdownlist,
.email-editor-form .k-numerictextbox,
.email-editor-form .k-combobox {
    max-width: 100%;
}

/* Override the 25ch cap inside the merge field editor form */
.merge-field-editor-form .k-floating-label-container,
.merge-field-editor-form .k-textbox,
.merge-field-editor-form .k-textarea,
.merge-field-editor-form .k-dropdownlist,
.merge-field-editor-form .k-numerictextbox,
.merge-field-editor-form .k-combobox {
    max-width: 100%;
}

/* Override the 25ch cap inside the email import task editor form */
.eit-editor-form .k-floating-label-container,
.eit-editor-form .k-textbox,
.eit-editor-form .k-textarea,
.eit-editor-form .k-dropdownlist,
.eit-editor-form .k-numerictextbox,
.eit-editor-form .k-combobox {
    max-width: 100%;
}

.po-editor-form .k-floating-label-container,
.po-editor-form .k-textbox,
.po-editor-form .k-textarea,
.po-editor-form .k-dropdownlist,
.po-editor-form .k-numerictextbox,
.po-editor-form .k-combobox {
    max-width: 100%;
}

/* ── Global search dropdown ── */
.global-search-dropdown {
    position: fixed;
    top: 64px;
    left: 50%;
    transform: translateX(-50%);
    min-width: 360px;
    max-width: 520px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    z-index: 9999;
    max-height: 420px;
    overflow-y: auto;
}

.global-search-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    cursor: pointer;
    border-bottom: 1px solid #f5f5f5;
}

.global-search-item:last-child {
    border-bottom: none;
}

.global-search-item:hover {
    background: #f5f5f5;
}

.global-search-type {
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    background: #1565c0;
    padding: 2px 7px;
    border-radius: 3px;
    white-space: nowrap;
    flex-shrink: 0;
    min-width: 72px;
    text-align: center;
}

.global-search-label {
    flex: 1;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.global-search-id {
    font-size: 12px;
    color: #9e9e9e;
    white-space: nowrap;
    flex-shrink: 0;
}

.global-search-empty {
    padding: 14px;
    color: #9e9e9e;
    font-size: 14px;
    text-align: center;
}

/* Appointment editor form — override the global 25ch cap so inputs fill grid cells */
.appointment-editor-form .k-floating-label-container,
.appointment-editor-form .k-dropdownlist,
.appointment-editor-form .k-textbox,
.appointment-editor-form .k-datepicker,
.appointment-editor-form .k-datetimepicker,
.appointment-editor-form .k-numerictextbox {
    max-width: 100% !important;
    width: 100%;
}

/* Note section full-width textarea */
.appointment-editor-note .k-textarea {
    max-width: 100% !important;
    width: 100%;
}

/* Project step editor form — override global 25ch cap */
.project-step-editor-form .k-floating-label-container,
.project-step-editor-form .k-dropdownlist,
.project-step-editor-form .k-textbox,
.project-step-editor-form .k-numerictextbox {
    max-width: 100% !important;
    width: 100%;
}

/* Project editor form — override the global 25ch cap so inputs fill grid cells */
.project-editor-form .k-floating-label-container,
.project-editor-form .k-dropdownlist,
.project-editor-form .k-textbox,
.project-editor-form .k-datepicker,
.project-editor-form .k-numerictextbox {
    max-width: 100% !important;
    width: 100%;
}

/* Project note section full-width textarea */
.project-editor-note .k-textarea {
    max-width: 100% !important;
    width: 100%;
}

/* Customer Finder search form — override the global 25ch cap so inputs fill grid cells */
.customer-finder-form .k-floating-label-container,
.customer-finder-form .k-dropdownlist,
.customer-finder-form .k-textbox,
.customer-finder-form .k-datepicker,
.customer-finder-form .k-numerictextbox,
.customer-finder-form .k-combobox {
    max-width: 100% !important;
    width: 100%;
}

.cf-label {
    font-size: 0.75rem;
    color: rgba(0, 0, 0, 0.6);
    margin-bottom: 4px;
}

/* Location editor form — override the global 25ch cap so inputs fill grid cells */
.location-editor-form .k-floating-label-container,
.location-editor-form .k-dropdownlist,
.location-editor-form .k-textbox,
.location-editor-form .k-datepicker,
.location-editor-form .k-numerictextbox {
    max-width: 100% !important;
    width: 100%;
}

/* Location note section full-width textarea */
.location-editor-note .k-textarea {
    max-width: 100% !important;
    width: 100%;
}

.integration-editor-form .k-floating-label-container,
.integration-editor-form .k-dropdownlist,
.integration-editor-form .k-textbox,
.integration-editor-form .k-datepicker,
.integration-editor-form .k-numerictextbox {
    max-width: 100% !important;
    width: 100%;
}

.integration-editor-note .k-textarea {
    max-width: 100% !important;
    width: 100%;
}

/* Entity links/keywords add form — override the global 25ch cap so inputs fill grid cells */
.entity-links-form .k-floating-label-container,
.entity-links-form .k-dropdownlist,
.entity-links-form .k-textbox {
    max-width: 100% !important;
    width: 100%;
}

/* Entity general tab form — override the global 25ch cap so inputs fill grid cells */
.entity-general-tab-form .k-floating-label-container,
.entity-general-tab-form .k-dropdownlist,
.entity-general-tab-form .k-textbox,
.entity-general-tab-form .k-datepicker,
.entity-general-tab-form .k-numerictextbox,
.entity-general-tab-form .k-maskedtextbox,
.entity-general-tab-form .k-textarea {
    max-width: 100% !important;
    width: 100%;
}

/* Entity accounts inline add/edit form — override the global 25ch cap */
.entity-accounts-form .k-floating-label-container,
.entity-accounts-form .k-textbox,
.entity-accounts-form .k-dropdownlist,
.entity-accounts-form .k-textarea {
    max-width: 100%;
    width: 100%;
}

/* Team editor general tab — override the global 25ch cap */
.team-editor-form .k-floating-label-container,
.team-editor-form .k-textbox,
.team-editor-form .k-dropdownlist,
.team-editor-form .k-textarea {
    max-width: 100%;
    width: 100%;
}

/* Address editor — override the global 25ch cap so text inputs fill grid cells and comboboxes fill flex containers */
.address-editor-form .k-floating-label-container,
.address-editor-form .k-textbox {
    max-width: 100%;
    width: 100%;
}
.address-editor-form .k-combobox {
    max-width: none;
    flex: 1;
    min-width: 0;
}

/* Business Location editor form — override the global 25ch cap so inputs fill grid cells */
.business-location-form .k-floating-label-container,
.business-location-form .k-textbox,
.business-location-form .k-textarea,
.business-location-form .k-dropdownlist {
    max-width: 100%;
    width: 100%;
}

/* Business Settings form — override the global 25ch cap so inputs fill grid cells */
.biz-settings-form .k-floating-label-container,
.biz-settings-form .k-textbox,
.biz-settings-form .k-numerictextbox,
.biz-settings-form .k-datepicker,
.biz-settings-form .k-dropdownlist {
    max-width: 100%;
    width: 100%;
}

/* Business Settings dashboard message editor — full width */
.biz-settings-editor {
    max-width: none;
}

.biz-settings-editor .k-editor {
    max-width: none;
    width: 100%;
}

.worker-task-schedule-editor-form .k-floating-label-container,
.worker-task-schedule-editor-form .k-textbox,
.worker-task-schedule-editor-form .k-numerictextbox,
.worker-task-schedule-editor-form .k-dropdownlist { max-width: none; width: 100%; }

/* User editor tab permission states */
.tab-readonly-banner {
    background: #fff8e1;
    border-left: 4px solid #f9a825;
    padding: 8px 12px;
    margin: 8px 8px 4px;
    font-size: 12px;
    color: #e65100;
    border-radius: 2px;
}
.user-tab-readonly {
    pointer-events: none;
    user-select: text;
}

/* Entity payment methods inline add/edit form — override the global 25ch cap */
.entity-payment-methods-form .k-floating-label-container,
.entity-payment-methods-form .k-dropdownlist,
.entity-payment-methods-form .k-textbox,
.entity-payment-methods-form .k-datepicker,
.entity-payment-methods-form .k-textarea {
    max-width: 100% !important;
    width: 100%;
}

/* PaymentMethod editor dialog form — override the global 25ch cap */
.payment-method-editor-form .k-floating-label-container,
.payment-method-editor-form .k-dropdownlist,
.payment-method-editor-form .k-textbox,
.payment-method-editor-form .k-datepicker {
    max-width: 100% !important;
    width: 100%;
}

/* Phone Call editor form — override the global 25ch cap so inputs fill grid cells */
.phone-call-editor-form .k-floating-label-container,
.phone-call-editor-form .k-dropdownlist,
.phone-call-editor-form .k-textbox,
.phone-call-editor-form .k-datepicker,
.phone-call-editor-form .k-datetimepicker,
.phone-call-editor-form .k-numerictextbox,
.phone-call-editor-form .k-textarea {
    max-width: 100%;
    width: 100%;
}

/* Override the 25ch cap inside the mileage pay table editor form */
.mileage-pay-table-editor-form .k-floating-label-container,
.mileage-pay-table-editor-form .k-textbox,
.mileage-pay-table-editor-form .k-numerictextbox,
.mileage-pay-table-editor-form .k-dropdownlist {
    max-width: 100%;
    width: 100%;
}

/* Override the 25ch cap inside the enterprise editor form */
.enterprise-editor-form .k-floating-label-container,
.enterprise-editor-form .k-dropdownlist,
.enterprise-editor-form .k-textbox,
.enterprise-editor-form .k-combobox,
.enterprise-editor-form .k-textarea,
.enterprise-editor-form .k-numerictextbox,
.enterprise-editor-form .k-datepicker {
    max-width: 100%;
    width: 100%;
}

/* Override the 25ch cap inside the inventory adjustment editor form */
.inv-adj-editor-form .k-floating-label-container,
.inv-adj-editor-form .k-textbox,
.inv-adj-editor-form .k-numerictextbox,
.inv-adj-editor-form .k-dropdownlist,
.inv-adj-editor-form .k-textarea {
    max-width: 100%;
}

/* Fleet Manager full-height workspace */
.fleet-manager-root {
    height: calc(100vh - 100px);
}

.fleet-side-panel {
    height: 100%;
    padding: 8px 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.fleet-section-head {
    font-size: 0.85rem;
    color: #1565c0;
    border-bottom: 2px solid #1565c0;
    margin: 16px 0 10px;
    padding-bottom: 2px;
    flex-shrink: 0;
}

.fleet-vehicle-list-panel {
    /* inherits flex-direction:column from fleet-side-panel */
}

.fleet-vehicle-scroll {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.fleet-vehicle-row {
    padding: 6px 8px;
    border-radius: 4px;
    cursor: pointer;
    margin-bottom: 2px;
    border: 1px solid transparent;
    transition: background 0.1s;
    line-height: 1.4;
}

.fleet-vehicle-row:hover {
    background: #f5f5f5;
}

.fleet-vehicle-row.selected {
    background: #e3f2fd;
    border-color: #1565c0;
}

.fleet-veh-id {
    font-size: 0.72rem;
    color: #9e9e9e;
    display: block;
}

.fleet-veh-num {
    font-size: 0.85rem;
    font-weight: 500;
    color: #212121;
    display: block;
}

.fleet-veh-lic {
    font-size: 0.78rem;
    color: #616161;
    display: block;
}

.fleet-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}
/* ── Dashboard tile scrolling & maximize button ── */
/* Light blue title bar for every dashboard tile */
.k-tilelayout-item-header.k-card-header,
.k-tilelayout-item-header {
    background-color: #e3f2fd;
}

.dashboard-tile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    user-select: none;
}

.dashboard-tile-title {
    font-weight: 600;
}

.dashboard-tile-actions {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.dashboard-tile-action {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    padding: 2px 4px;
    color: #1565c0;
    border-radius: 3px;
}

.dashboard-tile-action:hover {
    color: #0d47a1;
    background-color: #bbdefb;
}

/* ── Dashboard toolbar (Widgets / Save / Reset) ── */
.dashboard-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.dashboard-toolbar-spacer {
    flex: 1;
}

.dashboard-widget-menu-anchor {
    position: relative;
}

.dashboard-widget-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1002;
    min-width: 260px;
    max-height: 340px;
    overflow: auto;
    padding: 6px;
    background: #fff;
    border: 1px solid #cfd8dc;
    border-radius: 4px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}

.dashboard-widget-menu-title {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #607d8b;
    padding: 4px 6px;
    border-bottom: 1px solid #eceff1;
    margin-bottom: 4px;
}

.dashboard-widget-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 6px;
    border-radius: 3px;
    cursor: pointer;
    white-space: nowrap;
}

.dashboard-widget-menu-item:hover {
    background-color: #f2f6fb;
}

.dashboard-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1001;
    background: transparent;
}

.k-tilelayout-item .k-card {
    height: 100%;
}

.k-tilelayout-item .k-card-body {
    overflow: auto;
    min-height: 0;
    flex: 1;
}

.k-tilelayout-item.dashboard-tile-expanded {
    grid-row: span 5 !important;
    grid-column: span 2 !important;
}

/* ── Product Finder ── */
.product-finder-root {
    height: calc(100vh - 100px);
}

.pf-side-panel {
    height: 100%;
    padding: 8px 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.pf-section-head {
    font-size: 0.85rem;
    color: #1565c0;
    border-bottom: 2px solid #1565c0;
    margin: 0 0 10px;
    padding-bottom: 2px;
    flex-shrink: 0;
}

.pf-filters-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow-y: auto;
    flex: 1;
    padding-right: 4px;
}

.pf-filter-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pf-filter-label {
    font-size: 0.75rem;
    color: rgba(0, 0, 0, 0.6);
}

.pf-filter-input .k-floating-label-container,
.pf-filter-input .k-textbox,
.pf-filter-input .k-numerictextbox,
.pf-filter-input .k-dropdownlist {
    max-width: 100%;
    width: 100%;
}

.pf-results-panel {
    height: 100%;
    overflow: hidden;
}

.pf-product-thumb {
    width: 110px;
    height: 110px;
    object-fit: contain;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
}

.pf-no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    color: #9e9e9e;
    font-size: 0.72rem;
}

.pf-detail-table {
    border-collapse: collapse;
    width: 100%;
    font-size: 0.82rem;
}

.pf-detail-table tr {
    border-bottom: 1px solid #f0f0f0;
}

.pf-detail-label {
    color: #757575;
    font-weight: 500;
    padding: 3px 8px 3px 0;
    white-space: nowrap;
    vertical-align: top;
    width: 85px;
}

.pf-detail-desc {
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-carousel-loading {
    display: flex;
    align-items: center;
    height: 80px;
    padding: 8px;
}

.pf-no-pictures {
    color: #9e9e9e;
    font-size: 0.78rem;
    font-style: italic;
    padding: 8px;
}

.pf-id-link {
    color: #1565c0;
    text-decoration: underline;
    cursor: pointer;
    font-weight: 500;
}

.pf-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}

/* Override the 25ch cap inside the NAICS code editor form */
.naics-editor-form .k-floating-label-container,
.naics-editor-form .k-textbox,
.naics-editor-form .k-textarea {
    max-width: 100%;
}

/* Override the 25ch cap inside the SIC code editor form */
.sic-editor-form .k-floating-label-container,
.sic-editor-form .k-textbox,
.sic-editor-form .k-textarea,
.sic-editor-form .k-numerictextbox {
    max-width: 100%;
}

/* Override the 25ch cap inside the tax rate source editor form */
.trs-editor-form .k-floating-label-container,
.trs-editor-form .k-textbox,
.trs-editor-form .k-textarea {
    max-width: 100%;
}

/* Override the 25ch cap inside the email sender blocklist editor form */
.esb-editor-form .k-floating-label-container,
.esb-editor-form .k-textbox,
.esb-editor-form .k-textarea,
.esb-editor-form .k-dropdownlist,
.esb-editor-form .k-combobox {
    max-width: 100%;
    width: 100%;
}
