html,
body {
  font-family: 'Public Sans', sans-serif !important;
}

a,
.btn-link {
  color: #006bb7;
}

.btn-primary {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

.export-dropdown .telerik-blazor.k-button.k-menu-button.btn-primary.export-btn,
.export-dropdown .telerik-blazor.k-button.k-menu-button.btn-primary.export-btn:hover,
.export-dropdown .telerik-blazor.k-button.k-menu-button.btn-primary.export-btn:active,
.export-dropdown .telerik-blazor.k-button.k-menu-button.btn-primary.export-btn:focus,
.export-dropdown .k-button.export-btn,
.export-dropdown .k-button.export-btn:hover,
.export-dropdown .k-button.export-btn:active,
.export-dropdown .k-button.export-btn:focus {
  background: #0078d4 !important;
  background-color: #0078d4 !important;
  background-image: none !important;
  border: 1px solid #0078d4 !important;
  border-color: #0078d4 !important;
  color: white !important;
  box-shadow: none !important;
  outline: none !important;
  width: 140px !important;
  min-width: 140px !important;
  max-width: 140px !important;
  transition: none !important;
  transform: none !important;
  filter: none !important;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow:
    0 0 0 0.1rem white,
    0 0 0 0.25rem #258cfb;
}

.content {
  padding-top: 1.1rem;
}

h1:focus {
  outline: none;
}

.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;
}

.tasks-layout {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.task-content {
  display: flex;
  flex: 2;
}

/***********************figma css start**********************************/
.tasks-nav {
  flex: 2;
  overflow-y: auto;
  background-color: white;
  border-radius: 6px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.08);
}

.header {
  width: 100%;
  padding: 20px 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}

.title-section {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.category-title {
  color: #828282;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1.2px;
}

.company-name {
  color: black;
  font-size: 22px;
}

.task-list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.task-card {
  background-color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #d3d3d3;
}

.task-content {
  display: flex;
  gap: 20px;
}

.task-title {
  color: #020244;
  font-size: 18px;
}

.task-update {
  display: flex;
  gap: 10px;
}

.update-label {
  color: #1849d6;
  font-size: 14px;
}

.update-date {
  color: #9d9d9d;
  font-size: 14px;
}

.task-action {
  padding: 10px;
  display: flex;
  gap: 10px;
}

.action-button {
  padding: 7.5px;
  border-radius: 4.5px;
  color: white;
  font-size: 13.5px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.view-button {
  background: dodgerblue;
}

/**************************figma end***************************/

.task-detail-button-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.task-detail-button {
  padding: 12px;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  background: dodgerblue;
  color: white;
  margin: 5%;
}

.task-action-buttons {
  display: flex;
  justify-content: space-between;
}

.task-detail-button-accept,
.task-detail-button-decline {
  flex: 1;
  border-radius: 8px;
  padding: 12px;
  color: white;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.task-detail-button-accept {
  background: green;
  margin-right: 4px;
}

.task-detail-button-decline {
  background: red;
  margin-left: 4px;
}

.task-detail-button.disabled {
  background: grey;
  cursor: not-allowed;
  pointer-events: none;
}

.task-detail-button.disabled:hover {
  background: grey;
}

.remove-text-dec {
  color: white;
  text-decoration: none;
}

#tick {
  width: 100%;
  height: auto;
  max-width: 50px;
  max-height: 50px;
  margin-bottom: 2%;
}

/*Overriding telerik tabstrip style*/
.k-tabstrip-items .k-item {
  border: none;
  padding: 15px 20px;
  font-size: 16px;
  font-weight: bold;
  color: #333 !important;
  background-color: transparent;
  margin-bottom: -1px;
}

.k-tabstrip .k-tabstrip-items .k-item:focus {
  outline: none;
  box-shadow: none;
}

.k-tabstrip .k-tabstrip-items .k-item.k-active,
.k-tabstrip .k-tabstrip-items .k-item:hover {
  color: #007bff !important;
  background-color: transparent;
  border-bottom: 3px solid #007bff !important;
}

.k-tabstrip-content {
  border: none;
  padding: 20px;
  background-color: #fff;
}

.k-tabstrip-items-wrapper .k-item:active,
.k-tabstrip-items-wrapper .k-item.k-active,
.k-tabstrip-items-wrapper .k-item.k-selected {
  background-color: transparent;
  border: none;
}

.k-tabstrip-items {
  justify-content: flex-start;
}

/* --- Tab indicator visibility: stronger active/selected state for clarity ---
   Telerik's CDN theme loads AFTER app.css and uses high-specificity selectors
   like `.k-tabstrip-top > .k-tabstrip-items-wrapper .k-item.k-active` with
   `border-bottom-color: transparent !important`, plus colorizes text on the
   inner `.k-link`. We need a body-prefixed selector to bump specificity above
   Telerik's, plus !important to override Telerik's !important. */
body .k-tabstrip-top > .k-tabstrip-items-wrapper .k-item.k-active,
body .k-tabstrip-top > .k-tabstrip-items-wrapper .k-item.k-selected,
body .k-tabstrip > .k-tabstrip-items-wrapper .k-item.k-active,
body .k-tabstrip > .k-tabstrip-items-wrapper .k-item.k-selected,
body .k-tabstrip-items-wrapper .k-item.k-active,
body .k-tabstrip-items-wrapper .k-item.k-selected {
  color: #007bff !important;
  background-color: rgba(0, 123, 255, 0.08) !important;
  border-bottom-width: 4px !important;
  border-bottom-style: solid !important;
  border-bottom-color: #007bff !important;
  font-weight: 600 !important;
}

body .k-tabstrip-items-wrapper .k-item.k-active .k-link,
body .k-tabstrip-items-wrapper .k-item.k-selected .k-link {
  color: #007bff !important;
  font-weight: 600 !important;
}

body .k-tabstrip-items-wrapper .k-item:not(.k-active):not(.k-selected) .k-link {
  color: #5b6370 !important;
  font-weight: 500 !important;
}

@media (max-width: 768px) {
  .k-tabstrip-items .k-item {
    padding: 8px 10px;
    font-size: 14px;
  }
}

/* Documents Repo */
.documents-section {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Documents page — animated sliding underline tabs */
.document-container .k-tabstrip > .k-tabstrip-items-wrapper {
  border-bottom: 1px solid #e5e7eb;
}

.document-container .k-tabstrip-items .k-tabstrip-item {
  position: relative;
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
  color: #6b7280 !important;
  font-weight: 500;
  padding: 12px 20px;
  margin-bottom: 0;
  transition: color 0.3s ease;
}

.document-container .k-tabstrip .k-tabstrip-items .k-tabstrip-item.k-active {
  color: #007bff !important;
  font-weight: 600;
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
}

.document-container .k-tabstrip .k-tabstrip-items .k-tabstrip-item:hover {
  color: #007bff !important;
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
}

/* Per-tab sliding underline */
.document-container .k-tabstrip-items .k-tabstrip-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: #007bff;
  border-radius: 2px 2px 0 0;
  transform: scaleX(0);
  will-change: transform;
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.document-container .k-tabstrip-items .k-tabstrip-item.k-active::after {
  transform: scaleX(1);
}

/* Directional origins create the sliding illusion; extend to bridge the gap */
.document-container .k-tabstrip-items .k-tabstrip-item:first-child::after {
  transform-origin: right;
  width: calc(100% + 6px);
}

.document-container .k-tabstrip-items .k-tabstrip-item:nth-child(2)::after {
  transform-origin: left;
  left: -6px;
  width: calc(100% + 6px);
}

.document-container .k-tabstrip > .k-content,
.document-container .k-tabstrip-content {
  border-top: none;
}

.search-container {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 8px;
  width: 100%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.search-container select,
.search-container input {
  margin-right: 10px;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.search-container input {
  width: 50%;
}

.search-container button {
  padding: 8px 16px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.search-container button:hover {
  background-color: #0056b3;
}

.documents-table-container {
  overflow-x: auto;
  width: 100%;
  margin-top: 10px;
}

.documents-table {
  width: 100%;
  border-collapse: collapse;
}

.documents-table thead {
  background-color: #f8f9fa;
  border-bottom: 1px solid #dee2e6;
}

.documents-table th,
.documents-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #dee2e6;
}

.documents-table th {
  font-weight: 600;
}

.documents-table tr:hover {
  background-color: #f2f2f2;
}

.documents-table ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.view-button {
  padding: 6px 12px;
  background-color: #007bff;
  color: white;
  border-radius: 4px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.view-button i {
  margin-right: 5px;
}

.view-button:hover {
  background-color: #0056b3;
}

.regular-button {
  padding: 8px 16px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.regular-button:hover {
  background-color: #0056b3;
}

/* ===== NAV BAR DROPDOWN ITEM POPUP OVERRIDES ===== */

.navbar-dropdown-item-portal .k-popup {
  border: 1px solid #e5e7eb !important;
  border-radius: 0.75rem !important;
  box-shadow: 1px 5px 6px 0px rgba(0, 0, 0, 0.12) !important;
  min-width: 320px !important;
  background: white !important;
  overflow: hidden !important;
}

.navbar-dropdown-item-portal .k-popup .k-menu-group .k-item {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

.navbar-dropdown-item-portal .k-popup .k-menu-group .k-item>.k-link {
  padding: 0 !important;
  border: none !important;
  background: none !important;
  display: block !important;
  text-decoration: none !important;
  width: 100% !important;
  cursor: default !important;
}

.navbar-dropdown-item-portal .k-popup .k-menu-group .k-item:focus>.k-link,
.navbar-dropdown-item-portal .k-popup .k-menu-group .k-item.k-focus>.k-link {
  box-shadow: none !important;
}

.navbar-dropdown-item-portal .k-popup .k-menu-group .k-item>.k-link:hover,
.navbar-dropdown-item-portal .k-popup .k-menu-group .k-item>.k-link.k-hover {
  color: inherit !important;
  background-color: transparent !important;
}

/* ===== MODAL OVERRIDES ===== */
.cp-modal {
  border-radius: 0.75rem !important;
}

.cp-modal> :first-child {
  border-top-left-radius: 0.75rem !important;
  border-top-right-radius: 0.75rem !important;
}

/* Apply bottom radius to k-actions if present, otherwise to k-window-content */
.cp-modal>.k-actions,
.cp-modal:not(:has(.k-actions))>.k-window-content {
  border-bottom-right-radius: 0.75rem !important;
  border-bottom-left-radius: 0.75rem !important;
}

/* Contact Support Modal - 16px rounded corners */
.contact-support-modal.cp-modal {
  border-radius: 16px !important;
  overflow: hidden;
}

.contact-support-modal.cp-modal > .k-window-titlebar {
  display: none;
}

.contact-support-modal.cp-modal > .k-window-content {
  border-radius: 16px !important;
}

.contact-support-modal .contact-support-close-btn {
  background-color: #1b8cf8;
  color: white;
  border-radius: 9999px;
  padding: 0.5rem 1.5rem;
  border: none;
}

.contact-support-modal .contact-support-close-btn:hover {
  background-color: #1573e6;
}

/* New Case Modal */
.new-case-modal .submit-new-case-btn {
  background-color: #1b8cf8;
  color: white;
  border-radius: 9999px;
  padding: 0.5rem 1.5rem;
  border: none;
  font-weight: 500;
}

.new-case-modal .submit-new-case-btn:hover {
  background-color: #1573e6;
}

.new-case-modal .submit-new-case-btn:disabled {
  background-color: #a0aec0;
  cursor: not-allowed;
}

/* Outage Modal — rounded corners + primary titlebar */
.responsive-asset-modal {
  border-radius: 0.75rem !important;
  overflow: hidden;
}

.responsive-asset-modal > .k-window-titlebar {
  background-color: #1b8cf8;
  color: white;
  padding: 0.625rem 1rem;
  font-weight: 600;
  font-size: 0.9375rem;
}

.responsive-asset-modal > .k-window-titlebar .k-window-action {
  color: white;
}

.responsive-asset-modal > .k-window-titlebar .k-window-action:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

.responsive-asset-modal > .k-window-content {
  padding: 1rem 1.25rem;
}

/* Outage warning modals */
.outage-modal-warning {
  border-radius: 0.75rem !important;
  overflow: hidden;
}

.outage-modal-warning > .k-window-titlebar {
  background-color: #ff8500;
  color: white;
  padding: 0.5rem 1rem;
  font-weight: 600;
}

.outage-modal-warning > .k-window-titlebar .k-window-action {
  color: white;
}

/* SweetAlert2 z-index: ensure alerts render above Telerik modals */
.swal2-container {
  z-index: 100000 !important;
}

/* Document upload URL button */
.url-upload-btn,
.url-upload-btn.k-button {
    background-color: #4299e1 !important;
    background-image: none !important;
    border: none !important;
    color: white !important;
    padding: 0.5rem 1.25rem !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    transition: all 0.2s ease !important;
}

.url-upload-btn:hover,
.url-upload-btn.k-button:hover {
    background-color: #3182ce !important;
    background-image: none !important;
}

.swal-upload-result {
    max-width: 480px !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
}

.swal-upload-result-html {
    text-align: left !important;
}

.swal-upload-confirm-btn {
    background: linear-gradient(135deg, #4299e1 0%, #3182ce 100%) !important;
    border: none !important;
    color: white !important;
    padding: 0.75rem 2rem !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    transition: all 0.2s ease !important;
}

.swal-upload-files {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.5rem;
    max-width: 100%;
}

.swal-file-group {
    padding: 0.75rem;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.swal-file-group-success {
    background: #f0fff4;
    border-color: #c6f6d5;
}

.swal-file-group-error {
    background: #fff5f5;
    border-color: #fed7d7;
}

.swal-file-group-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
    padding-bottom: 0.375rem;
    border-bottom: 1px solid #e2e8f0;
}

.swal-file-group-success .swal-file-group-label {
    color: #38a169;
    border-bottom-color: #c6f6d5;
}

.swal-file-group-error .swal-file-group-label {
    color: #e53e3e;
    border-bottom-color: #fed7d7;
}

.swal-file-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0;
    max-width: 100%;
    overflow: hidden;
}

.swal-file-item[title] {
    cursor: default;
}

.swal-file-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    color: white;
}

.swal-file-status-success {
    background-color: #48bb78;
}

.swal-file-status-error {
    background-color: #f56565;
}

.swal-file-name {
    font-size: 0.875rem;
    color: #4a5568;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.swal-file-overflow {
    font-size: 0.8rem;
    color: #718096;
    font-style: italic;
    padding: 0.375rem 0 0 1.75rem;
    border-top: 1px dashed #e2e8f0;
    margin-top: 0.25rem;
}

@media (max-width: 480px) {
    .swal-upload-result {
        max-width: 95vw !important;
        padding: 1rem !important;
    }

    .swal-file-name {
        font-size: 0.8rem;
    }

    .swal-file-group {
        padding: 0.5rem;
    }
}

/* ── Modern Dropdown Styling (global) ── */
.dropdown-container {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.dropdown-label {
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #64748b;
}

.k-dropdownlist {
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    border-radius: 8px !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    min-height: 32px;
}

.k-dropdownlist:hover {
    border-color: #94a3b8 !important;
}

.k-dropdownlist.k-focus,
.k-dropdownlist:focus-within {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}

.k-dropdownlist .k-input-inner {
    padding: 4px 12px !important;
    font-size: 0.875rem;
    color: #1e293b;
}

.k-dropdownlist .k-select,
.k-dropdownlist .k-input-button {
    background: transparent !important;
    border: none !important;
    color: #94a3b8;
    padding: 0 8px;
}

.k-dropdownlist .k-select:hover .k-icon,
.k-dropdownlist .k-input-button:hover .k-icon {
    color: #64748b;
}

/* Smooth dropdown open/close animation — 250ms open, 180ms close */
.k-child-animation-container {
    transition-duration: 250ms !important;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1) !important;
}

.k-child-animation-container.k-animation-container-hiding {
    transition-duration: 180ms !important;
    transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;
}

/* Dropdown popup — gap between anchor and popup lives on the animation
   container so Telerik's offsetHeight measurement stays accurate. */
.k-animation-container {
    margin-top: 4px !important;
}

.k-animation-container .k-popup.k-list-container,
.k-child-animation-container .k-popup.k-list-container {
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden;
    height: auto !important;
}

.k-list-container .k-list {
    height: auto !important;
    max-height: 250px;
    overflow-y: auto;
}

.k-list-container .k-list-content {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.k-list-container .k-list-ul {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.k-list-container .k-list-item {
    padding: 8px 12px !important;
    font-size: 0.875rem;
    color: #334155;
    transition: background-color 0.1s ease;
    border-radius: 4px;
    margin: 2px 4px;
}

.k-list-container .k-list-item:hover,
.k-list-container .k-list-item.k-hover {
    background-color: #f1f5f9 !important;
    color: #1e293b;
}

.k-list-container .k-list-item.k-selected {
    background-color: #eff6ff !important;
    color: #2563eb !important;
    font-weight: 500;
}

.k-list-container .k-list-item.k-selected:hover,
.k-list-container .k-list-item.k-selected.k-hover {
    background-color: #dbeafe !important;
}

/* Performance filter dropdowns: the picked value is reordered to the top of the list and
   reads in the same solid blue as the applied-filter pills, so the active choice is obvious
   the moment the popup opens while every other option stays available. Scoped to these popups
   (perf-filter-popup) so the app-wide light-blue selection styling above is untouched. */
.perf-filter-popup .k-list-container .k-list-item.k-selected,
.perf-filter-popup.k-list-container .k-list-item.k-selected {
    background-color: #1b8cf8 !important;
    color: #ffffff !important;
}

.perf-filter-popup .k-list-container .k-list-item.k-selected:hover,
.perf-filter-popup .k-list-container .k-list-item.k-selected.k-hover,
.perf-filter-popup.k-list-container .k-list-item.k-selected:hover,
.perf-filter-popup.k-list-container .k-list-item.k-selected.k-hover {
    background-color: #1570cd !important;
    color: #ffffff !important;
}

/* Filter input inside popup */
.k-list-container .k-list-filter {
    padding: 8px !important;
    border-bottom: 1px solid #f1f5f9;
}

.k-list-container .k-list-filter .k-textbox,
.k-list-container .k-list-filter .k-input {
    border-radius: 6px !important;
    border: 1px solid #e2e8f0 !important;
    font-size: 0.875rem;
    padding: 6px 10px;
}

.k-list-container .k-list-filter .k-textbox:focus,
.k-list-container .k-list-filter .k-input:focus,
.k-list-container .k-list-filter .k-input.k-focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1) !important;
}

/* ===== READ-ONLY ASSET FORMS ===== */
/* Plain HTML input styled to match Telerik inputs for read-only dropdown replacements */
input.readonly-field {
    border: 1px solid #d1d5db;
    border-radius: 3px;
    background: white;
    font-size: 0.75rem;
    padding: 0.3rem 0.5rem;
    height: 1.8rem;
    width: 100%;
    color: #374151;
    box-sizing: border-box;
    outline: none;
    cursor: default;
}

/* Keep disabled fields fully readable for read-only (CompanyViewer) users */
.read-only-view .k-disabled,
.read-only-view .k-state-disabled,
.read-only-view .k-input.k-disabled,
.read-only-view .k-picker.k-disabled,
.read-only-view .k-dropdownlist.k-disabled,
.read-only-view [disabled] {
    opacity: 1 !important;
}

.read-only-view .k-disabled .k-input-inner,
.read-only-view .k-disabled input,
.read-only-view .k-state-disabled .k-input-inner,
.read-only-view .k-state-disabled input,
.read-only-view input:disabled,
.read-only-view textarea:disabled {
    color: #374151 !important;
    -webkit-text-fill-color: #374151 !important;
}

/* Applies globally to every Telerik TabStrip content panel; :not(:focus-visible) preserves keyboard focus indicators app-wide. */
.k-tabstrip-content:focus:not(:focus-visible) {
    outline: none;
}

.cp-collapse {
    overflow: hidden;
    height: 0;
}
