@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 200 1000;
    font-stretch: 75% 125%;
    font-display: swap;
    src: url('../fonts/NunitoSans.woff2') format('woff2');
}

.mz-screenlock-countdown {
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    display: grid;
    gap: 8px;
}

.mz-screenlock-progress-wrapper {
    width: 100%;
    background-color: lightgray;
    height: 3px;
    border-radius: 999px;
}

.mz-screenlock-progress {
    height: 3px;
    background: rgba(15, 23, 42, 0.08);
    border-radius: 999px;
    overflow: hidden;
}

.mz-screenlock-progressBar {
    height: 100%;
    width: 0%;
    background: #ef4444;
    transition: width 300ms linear;
}

.mz-screenlock-countdownText {
    text-align: center;
    font-size: 12px;
    color: #0f172a;
}

.mz-screenlock-countdownSuffix {
    margin-left: 6px;
    font-weight: 600;
    color: #334155;
}

.content .footer {
    height: 2rem;
    font-size: 0.75rem;
    font-family: var(--phoenix-body-font-family);
    font-weight: var(--phoenix-body-font-weight);
}

.navbar-vertical .navbar-vertical-footer {
    height: 2rem;
}

@media print {
    /* Don’t repeat the fixed top bar on every page */
    .navbar-top,
    .navbar-vertical,
    .navbar-vertical-footer,
    .support-chat-container {
        display: none !important;
    }

    /* Remove the “space for the navbar” that only makes sense on screen */
    .content {
        padding-top: 0 !important;
    }

    /* Optional: reduce outer paddings that waste print area */
    main.main,
    body {
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* Match the old 32x32 icon container look */
.mz-theme-icon {
    width: 32px;
    height: 32px;
}

.mz-menu-icon {
    width: 18px;
    height: 18px;
}

.mz-menu-icon svg {
    width: 1.5rem;
    height: 1.5rem;
}

.mz-theme-icon svg {
    width: 1.5rem;
    height: 1.5rem;
}

.mz-child-icon {
    width: 16px;
    max-width: 16px;
}

.mz-child-icon-container {
    width: 16px;
    height: 16px;
    overflow: hidden;
}

.mz-mini-icon {
    width: 0.7rem;
    height: 0.7rem;
}

/* Feather SVG sizing inside the containers */
.mz-theme-icon svg {
    width: 16px;
    height: 16px;
}

.navbar-vertical
.navbar-vertical-content
.navbar-nav
.nav-item.active
> .nav-link {
    color: var(--phoenix-navbar-vertical-link-active-color);
}

.mz-profile-hdr {
    min-height: 214px;
}

.mz-feed-profile {
    width: 150px;
    height: 150px;
}

.mz-pofile-hover {
    --phoenix-bg-opacity: .56;
}

/* Mobile: 100% */
@media (max-width: 575.98px) {
    .mz-reports-modal .modal-dialog {
        max-width: 100%;
        width: 100%;
        margin: 0;
    }
    .mz-reports-modal .modal-body {
        max-height: 75dvh;
        overflow-y:auto;
    }
}

/* Tablet / medium screens: 90% */
@media (min-width: 576px) and (max-width: 991.98px) {
    .mz-reports-modal .modal-dialog {
        max-width: 90%;
        width: 90%;
    }
    .mz-reports-modal .modal-body {
        max-height: 75vh;
        overflow-y:auto;
    }
}

/* Desktop and up: 75% */
@media (min-width: 992px) {
    .mz-reports-modal .modal-dialog {
        max-width: 75%;
        width: 75%;
    }
    .mz-reports-modal .modal-body {
        max-height: 75vh;
        overflow-y:auto;
    }
}

.btn-theme-group .dropdown-check-icon {
    display: none;
}

.btn-theme-group .btn.active .dropdown-check-icon {
    display: inline-block;
}

.btn-theme-group .btn.active {
    background-color: #e6f0ff;        /* pick your color */
    border-color: #99c2ff;
    color: #0d6efd;
}

.btn-theme-group .btn.active:hover {
    background-color: #d9e8ff;
    border-color: #99c2ff;
}

.btn-theme-group .dropdown-check-icon {
    opacity: 0;
    transition: opacity 0.15s ease-in-out;
}

.btn-theme-group .btn.active .dropdown-check-icon {
    display: inline-block;
    opacity: 1;
}

.mz-messages .scrollbar {
    overflow-x: hidden;
}
.mz-messages .scrollbar > ul {
    width: 100%;
    max-width: 100%;
}

.mz-message-details {
    position: relative;
}
.mz-details-loader-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    /* no background (per your request) */
    pointer-events: none;
}

.mz-list-item a {
    cursor: pointer;
}

.mz-list-item a.active {
    background-color: var(--phoenix-tertiary-bg);
}

.mz-message-details .mz-details-loader-overlay {
    display: none;
}

.mz-message-details[data-mz-details-loading="1"] .mz-details-loader-overlay {
    display: flex;
}

.mz-message-details .mz-details-content {
    display: block;
}

.mz-message-details[data-mz-details-loading="1"] .mz-details-content {
    display: none;
}

.content {
    padding: calc(var(--phoenix-navbar-top-height) + 2rem) 1rem 6.375rem 1rem;
}

.mz-spinner {
    display: none;
}
.mz-spinner-container[data-mz-show-spinner="1"] .mz-spinner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    /* no background (per your request) */
    pointer-events: none;
}

.mz-spinner-container {
    position: relative;
}

.modal-fit {
    max-width: none;
    width: fit-content;
}

.modal-fit .modal-content {
    width: auto;
}

.chooser-list {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    min-width: 220px;
    /* makes buttons feel less narrow */
}

.chooser-btn {
    display: block;
    width: 100%;
    border-radius: 0;
    padding: 1rem 1.25rem;
}

.chooser-btn:first-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.chooser-btn+.chooser-btn {
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.mz-list .row {
    margin-left: 0;
    margin-right: 0;
}

.mz-event-log {
    min-height: 50vh;
}

.mz-eventlog-icons {
    top: 30%;
}

.dashboard-tile-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.dashboard-tile-link:hover,
.dashboard-tile-link:focus,
.dashboard-tile-link:focus-visible {
    color: inherit;
    text-decoration: none;
}

.dashboard-tile {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    min-height: 0;
    border: 1px solid var(--phoenix-border-color, rgba(15, 23, 42, 0.08));
    border-radius: 1.25rem;
    background: var(--phoenix-card-bg, #ffffff);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.dashboard-tile.auto-ratio {
    aspect-ratio: auto;
}

.dashboard-tile-link:hover .dashboard-tile,
.dashboard-tile-link:focus .dashboard-tile,
.dashboard-tile-link:focus-visible .dashboard-tile {
    transform: translateY(-2px);
    border-color: rgba(59, 130, 246, 0.18);
    box-shadow: 0 0.75rem 1.75rem rgba(15, 23, 42, 0.10);
}

.dashboard-tile::before,
.dashboard-tile::after {
    content: "";
    position: absolute;
    z-index: 1;
    pointer-events: none;
    border-radius: 50%;
}

.dashboard-tile::before {
    width: 135%;
    height: 42%;
    left: -18%;
    bottom: -14%;
    background: rgba(124, 145, 255, 0.12);
    transform: rotate(8deg);
}

.dashboard-tile::after {
    width: 120%;
    height: 28%;
    left: -6%;
    bottom: -16%;
    background: rgba(158, 181, 255, 0.16);
    transform: rotate(6deg);
}

.dashboard-tile-body {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 1.15rem 1.15rem 1rem;
}

.tile-bg-icon {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.tile-bg-icon svg,
.tile-bg-icon i {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    width: 6.8rem;
    height: 6.8rem;
    opacity: 0.12;
}

.dashboard-tile-title {
    margin: 0;
    max-width: 100%;
    font-size: 0.8rem;
    line-height: 1.05;
    font-weight: 700;
    color: var(--phoenix-emphasis-color, #0f172a);
}

.dashboard-tile-subtitle {
    margin-top: 0.5rem;
    font-size: 1.05rem;
    color: var(--phoenix-secondary-color, #596780);
}

.dashboard-tile-footer {
    position: relative;
    z-index: 2;
}

.dashboard-tile-count {
    font-size: 3.5rem;
    line-height: 1;
    font-weight: 700;
    color: #4a78ff;
}

.dashboard-tile-count-label {
    margin-top: 0.35rem;
    font-size: 1rem;
    color: var(--phoenix-secondary-color, #596780);
}

.dashboard-tile-open {
    font-size: 1rem;
    font-weight: 600;
    color: #4a78ff;
}

.dashboard-tile-meta {
    font-size: 0.68rem;
    color: var(--phoenix-secondary-color, #596780);
}

/* Text variant */
.dashboard-tile--text .dashboard-tile-title {
    font-size: 1.15rem;
    line-height: 1.25;
    margin-bottom: 0.35rem;
}

.dashboard-tile-lines {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.2rem;
    min-width: 0;
}

.dashboard-tile-event {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    min-width: 0;
}

.dashboard-tile-event-time {
    flex: 0 0 auto;
    min-width: 2rem;
    font-size: 0.68rem;
    line-height: 1.25;
    font-weight: 600;
    color: #7ea2ff;
    white-space: nowrap;
}

.dashboard-tile-event-text {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    font-size: 0.74rem;
    line-height: 1.25;
    color: var(--phoenix-secondary-color, #596780);
}

/* Light theme semantic variants */
.mz-tile-primary::before {
    background: rgba(80, 120, 255, 0.18);
}

.mz-tile-primary::after {
    background: rgba(130, 160, 255, 0.22);
}

.mz-tile-success::before {
    background: rgba(40, 180, 120, 0.18);
}

.mz-tile-success::after {
    background: rgba(120, 220, 170, 0.22);
}

.mz-tile-warning::before {
    background: rgba(255, 170, 60, 0.18);
}

.mz-tile-warning::after {
    background: rgba(255, 210, 120, 0.22);
}

.mz-tile-danger::before {
    background: rgba(255, 90, 90, 0.18);
}

.mz-tile-danger::after {
    background: rgba(255, 150, 150, 0.22);
}

.mz-tile-info::before {
    background: rgba(50, 180, 200, 0.18);
}

.mz-tile-info::after {
    background: rgba(120, 220, 230, 0.22);
}

/* Dark theme */
[data-bs-theme="dark"] .dashboard-tile {
    background: #111827;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.28);
}

[data-bs-theme="dark"] .dashboard-tile-link:hover .dashboard-tile,
[data-bs-theme="dark"] .dashboard-tile-link:focus .dashboard-tile,
[data-bs-theme="dark"] .dashboard-tile-link:focus-visible .dashboard-tile {
    border-color: rgba(96, 165, 250, 0.20);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.34);
}

[data-bs-theme="dark"] .dashboard-tile-title {
    color: #f8fafc;
}

[data-bs-theme="dark"] .dashboard-tile-subtitle,
[data-bs-theme="dark"] .dashboard-tile-count-label,
[data-bs-theme="dark"] .dashboard-tile-meta,
[data-bs-theme="dark"] .dashboard-tile-event-text {
    color: #94a3b8;
}

[data-bs-theme="dark"] .dashboard-tile-count,
[data-bs-theme="dark"] .dashboard-tile-open,
[data-bs-theme="dark"] .dashboard-tile-event-time {
    color: #7ea2ff;
}

[data-bs-theme="dark"] .tile-bg-icon svg,
[data-bs-theme="dark"] .tile-bg-icon i {
    opacity: 0.10;
}

[data-bs-theme="dark"] .dashboard-tile::before {
    background: rgba(96, 126, 255, 0.16);
}

[data-bs-theme="dark"] .dashboard-tile::after {
    background: rgba(148, 177, 255, 0.12);
}

[data-bs-theme="dark"] .mz-tile-primary::before {
    background: rgba(80, 120, 255, 0.18);
}

[data-bs-theme="dark"] .mz-tile-primary::after {
    background: rgba(130, 160, 255, 0.14);
}

[data-bs-theme="dark"] .mz-tile-success::before {
    background: rgba(40, 180, 120, 0.18);
}

[data-bs-theme="dark"] .mz-tile-success::after {
    background: rgba(120, 220, 170, 0.14);
}

[data-bs-theme="dark"] .mz-tile-warning::before {
    background: rgba(255, 170, 60, 0.18);
}

[data-bs-theme="dark"] .mz-tile-warning::after {
    background: rgba(255, 210, 120, 0.14);
}

[data-bs-theme="dark"] .mz-tile-danger::before {
    background: rgba(255, 90, 90, 0.18);
}

[data-bs-theme="dark"] .mz-tile-danger::after {
    background: rgba(255, 150, 150, 0.14);
}

[data-bs-theme="dark"] .mz-tile-info::before {
    background: rgba(50, 180, 200, 0.18);
}

[data-bs-theme="dark"] .mz-tile-info::after {
    background: rgba(120, 220, 230, 0.14);
}

@media (max-width: 575.98px) {
    .dashboard-tile-body {
        padding: 1rem;
    }

    .dashboard-tile-title {
        font-size: 0.8rem;
        line-height: 1.0rem;
    }

    .dashboard-tile-subtitle {
        font-size: 0.95rem;
    }

    .dashboard-tile-count {
        font-size: 3rem;
    }

    .dashboard-tile-event-time {
        min-width: 2rem;
        font-size: 0.68rem;
    }

    .dashboard-tile-event-text {
        font-size: 0.7rem;
    }

    .tile-bg-icon svg,
    .tile-bg-icon i {
        top: 0.8rem;
        right: 0.8rem;
        width: 5.6rem;
        height: 5.6rem;
    }


}

.dashboard-tile-link [data-mz-list-select],
.dashboard-tile-link [data-mz-list-select] * {
    cursor: pointer;
}

.dashboard-tile-link:active .dashboard-tile {
    transform: scale(0.98);
}

.mz-tile-text {
    color: var(--mz-tile-accent) !important;
}

.mz-tile-badge {
    --phoenix-badge-bg: var(--mz-tile-badge-bg);
    --phoenix-badge-color: var(--mz-tile-badge-color);
    --phoenix-badge-border-color: var(--mz-tile-badge-border);
}

.mz-tile-primary {
    --mz-tile-accent: rgba(var(--phoenix-primary-rgb), 1);
    --mz-tile-badge-bg: var(--phoenix-primary-bg-subtle);
    --mz-tile-badge-color: var(--phoenix-primary-text-emphasis);
    --mz-tile-badge-border: var(--phoenix-primary-border-subtle);
}

.mz-tile-success {
    --mz-tile-accent: rgba(var(--phoenix-success-rgb), 1);
    --mz-tile-badge-bg: var(--phoenix-success-bg-subtle);
    --mz-tile-badge-color: var(--phoenix-success-text-emphasis);
    --mz-tile-badge-border: var(--phoenix-success-border-subtle);
}

.mz-tile-warning {
    --mz-tile-accent: rgba(var(--phoenix-warning-rgb), 1);
    --mz-tile-badge-bg: var(--phoenix-warning-bg-subtle);
    --mz-tile-badge-color: var(--phoenix-warning-text-emphasis);
    --mz-tile-badge-border: var(--phoenix-warning-border-subtle);
}

.mz-tile-danger {
    --mz-tile-accent: rgba(var(--phoenix-danger-rgb), 1);
    --mz-tile-badge-bg: var(--phoenix-danger-bg-subtle);
    --mz-tile-badge-color: var(--phoenix-danger-text-emphasis);
    --mz-tile-badge-border: var(--phoenix-danger-border-subtle);
}

.mz-tile-info {
    --mz-tile-accent: rgba(var(--phoenix-info-rgb), 1);
    --mz-tile-badge-bg: var(--phoenix-info-bg-subtle);
    --mz-tile-badge-color: var(--phoenix-info-text-emphasis);
    --mz-tile-badge-border: var(--phoenix-info-border-subtle);
}

.dashboard-tile-link {
    -webkit-tap-highlight-color: transparent;
}

.dashboard-tile-link:focus,
.dashboard-tile-link:focus-visible {
    outline: none;
}

.dashboard-tile-link {
    display: block;
    color: inherit;
    text-decoration: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: transparent;
    outline: none;
    background: transparent !important;
}

.dashboard-tile-link:hover,
.dashboard-tile-link:focus,
.dashboard-tile-link:focus-visible,
.dashboard-tile-link:active,
.dashboard-tile-link:visited {
    color: inherit;
    text-decoration: none;
    outline: none;
    background: transparent !important;
}

.dashboard-tile-link::-moz-focus-inner {
    border: 0;
}

.dashboard-tile-link .dashboard-tile {
    background: var(--phoenix-card-bg, #ffffff);
}

.dashboard-tile-link:active .dashboard-tile {
    transform: scale(0.98);
}

.dashboard-tile-link,
.dashboard-tile-link * {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mz-tile-priority-dot {
    position: relative;
    display: inline-block;
    width: 0.4rem;   /* smaller core */
    height: 0.4rem;
    border-radius: 50%;
    flex: 0 0 auto;
}

.mz-tile-priority-dot::before,
.mz-tile-priority-dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
}

/* solid center dot */
.mz-tile-priority-dot::before {
    background: currentColor;
    z-index: 2;
}

/* pulse wave */
.mz-tile-priority-dot::after {
    background: currentColor;
    opacity: 0.4;
    z-index: 1;
    animation: mz-tile-pulse 1s ease-out infinite;
    transform: scale(1);
}

/* color */
.mz-tile-priority-high {
    color: #ef4444;
}

/* stronger pulse */
@keyframes mz-tile-pulse {
    0% {
        transform: scale(1);
        opacity: 0.5;
    }
    60% {
        transform: scale(4);   /* MUCH bigger wave */
        opacity: 0;
    }
    100% {
        transform: scale(4);
        opacity: 0;
    }
}

.mz-tile-priority-corner {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    z-index: 3;
}

.mobile-app .content .footer {
    display: none !important;
}

@media (max-width: 768px) {
    .mobile-app .content .footer {
        display: none !important;
    }
}

