#helpEditContentEditor .note-editor .note-editable {
            min-height: 220px;
        }

.help-modal-anchored.modal {
        z-index: 1085;
        background: transparent;
    }

    .help-modal-anchored .modal-dialog {
        position: fixed;
        inset: auto;
        left: var(--help-anchor-left, auto);
        right: var(--help-anchor-right, 2.5vw);
        top: var(--help-anchor-top, 6vh);
        margin: 0;
        width: min(var(--help-anchor-width, 420px), 44vw);
        max-width: 440px;
        transform: translateY(0);
    }

    .help-modal-anchored .modal-content {
        max-height: var(--help-anchor-height, 88vh);
        overflow: hidden;
        box-shadow: 0 24px 80px rgba(15, 23, 42, 0.28);
    }

    .help-modal-anchored .modal-body {
        max-height: calc(var(--help-anchor-height, 88vh) - 120px);
        overflow-y: auto;
    }

    #helpModal .modal-content {
        --help-surface-bg: #0f172a;
        --help-surface-color: #f8fafc;
        --help-surface-border: rgba(255, 255, 255, 0.18);
        background-color: var(--help-surface-bg);
        color: var(--help-surface-color);
        border: 1px solid var(--help-surface-border);
    }

    #helpModal .modal-header,
    #helpModal .modal-body {
        background-color: var(--help-surface-bg);
        color: var(--help-surface-color);
    }

    [data-bs-theme="dark"] #helpModal .modal-content {
        --help-surface-bg: #f8fafc;
        --help-surface-color: #0f172a;
        --help-surface-border: rgba(15, 23, 42, 0.16);
    }

    #helpModal .help-modal-close {
        filter: invert(1);
        opacity: 0.85;
    }

    [data-bs-theme="dark"] #helpModal .help-modal-close {
        filter: none;
    }

    @media (max-width: 992px) {
        .help-modal-anchored .modal-dialog {
            position: fixed;
            inset: auto 16px 16px 16px;
            width: auto;
        }

        .help-modal-anchored .modal-body {
            max-height: calc(80vh - 120px);
        }
    }

    #iotScheduleModal .iot-schedule-modal {
        width: min(1200px, 95vw);
        max-width: 1200px;
    }

    #iotScheduleModal .modal-content {
        max-height: 90vh;
        display: flex;
        flex-direction: column;
    }

    #iotScheduleModal .iot-schedule-body {
        overflow-y: auto;
        max-height: calc(90vh - 140px);
    }

    #iotScheduleModal .iot-device-scroll {
        max-height: 72vh;
        overflow: auto;
    }

    .iot-device-hidden {
        opacity: 0.6;
    }

    .iot-remote-card {
        background: linear-gradient(145deg, #f8fbff, #eef2f7);
        border: 1px dashed rgba(13, 110, 253, 0.35);
    }

    [data-bs-theme="dark"] .iot-remote-card {
        background:
            linear-gradient(145deg, rgba(13, 110, 253, 0.08), rgba(13, 110, 253, 0.02)),
            linear-gradient(180deg, #0c1324, #0a0f1d);
        border-color: rgba(var(--vz-primary-rgb), 0.35);
        box-shadow: 0 18px 48px -26px rgba(12, 18, 32, 0.9);
    }

    .iot-remote-card .btn-toggle {
        min-width: 68px;
    }

    .iot-remote-card .remote-chip {
        padding: 0.35rem 0.75rem;
        border-radius: 999px;
        border: 1px solid var(--vz-border-color);
        background-color: #fff;
        cursor: pointer;
        transition: all .15s ease;
    }

    .iot-remote-card .remote-chip.active {
        background-color: rgba(var(--vz-primary-rgb), 0.08);
        color: var(--vz-primary);
        border-color: rgba(var(--vz-primary-rgb), 0.45);
    }

    .iot-remote-card .remote-chip:hover {
        border-color: rgba(var(--vz-primary-rgb), 0.35);
    }

    [data-bs-theme="dark"] .iot-remote-card .remote-chip {
        background-color: rgba(255, 255, 255, 0.05);
        border-color: rgba(var(--vz-primary-rgb), 0.3);
        color: var(--vz-body-color);
    }

    [data-bs-theme="dark"] .iot-remote-card .remote-chip.active {
        background-color: rgba(var(--vz-primary-rgb), 0.16);
        border-color: rgba(var(--vz-primary-rgb), 0.6);
        color: #e7edff;
    }

    [data-bs-theme="dark"] .iot-remote-card .remote-chip:hover {
        border-color: rgba(var(--vz-primary-rgb), 0.55);
        background-color: rgba(var(--vz-primary-rgb), 0.12);
    }

    .iot-remote-card .remote-temp {
        font-size: 32px;
        font-weight: 700;
        color: var(--vz-primary);
    }

    .iot-schedule-card {
        border: 1px dashed var(--vz-border-color);
        transition: all .15s ease;
        background-color: #fff;
    }

    .iot-schedule-card:hover {
        border-color: rgba(var(--vz-primary-rgb), 0.4);
        box-shadow: 0 10px 30px -12px rgba(15, 23, 42, 0.2);
    }

    .iot-schedule-card.active {
        border-color: rgba(var(--vz-primary-rgb), 0.65);
        box-shadow: 0 10px 30px -12px rgba(13, 110, 253, 0.35);
    }

    [data-bs-theme="dark"] #iotRemoteTemperatureBlock {
        background-color: rgba(255, 255, 255, 0.04);
        border-color: rgba(var(--vz-primary-rgb), 0.25);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
    }

    #advancedReservationModal .modal-dialog {
        max-width: 1120px;
        width: 96vw;
    }

    #advancedReservationModal .modal-content {
        max-height: 90vh;
    }

    #advancedReservationModal .modal-body {
        max-height: calc(90vh - 140px);
        overflow-y: auto;
    }

    .store-environment {
        gap: 0.35rem !important;
    }

    .environment-chip {
        padding: 0.15rem 0.55rem;
        border-radius: 999px;
        background-color: var(--vz-light);
        border: 1px solid var(--vz-border-color);
        font-weight: 600;
    }

    .environment-chip .text-muted {
        font-weight: 500;
    }

    .recent-board-widget {
        background: linear-gradient(180deg, rgba(13, 110, 253, 0.03) 0%, rgba(13, 110, 253, 0.01) 100%);
        border: 1px solid rgba(var(--vz-primary-rgb), 0.12);
    }

    .board-featured-widget {
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.03) 0%, rgba(15, 23, 42, 0.01) 100%);
        border: 1px solid rgba(15, 23, 42, 0.08);
    }

    .board-featured-tabs-wrap {
        margin-top: 0.35rem;
    }

    .board-featured-header-actions {
        justify-content: flex-end;
    }

    .board-featured-tabs {
        display: inline-flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.4rem;
        border-radius: 0.6rem;
        padding: 0.35rem;
        background-color: rgba(15, 23, 42, 0.06);
    }

    .board-featured-tab {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border-radius: 0.5rem;
        border: 1px solid rgba(15, 23, 42, 0.1);
        padding: 0.35rem 0.7rem;
        font-size: 0.82rem;
        font-weight: 600;
        line-height: 1.15;
        color: var(--vz-body-color);
        background-color: rgba(255, 255, 255, 0.95);
        transition: background-color .12s ease, border-color .12s ease, color .12s ease;
    }

    .board-featured-tab:hover {
        color: var(--vz-primary);
        border-color: rgba(var(--vz-primary-rgb), 0.45);
        background-color: rgba(var(--vz-primary-rgb), 0.12);
    }

    .board-featured-pager {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        color: var(--vz-body-color);
    }

    .board-featured-page-text {
        font-size: 0.9rem;
        font-weight: 700;
        letter-spacing: 0.01em;
    }

    .board-featured-page-controls {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
    }

    .board-featured-page-btn {
        width: 1.8rem;
        height: 1.8rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.45rem;
        border: 1px solid rgba(15, 23, 42, 0.16);
        background-color: rgba(255, 255, 255, 0.9);
        color: var(--vz-body-color);
        padding: 0;
        transition: background-color .12s ease, border-color .12s ease, color .12s ease;
    }

    .board-featured-page-btn:hover:not(:disabled) {
        color: var(--vz-primary);
        border-color: rgba(var(--vz-primary-rgb), 0.5);
        background-color: rgba(var(--vz-primary-rgb), 0.12);
    }

    .board-featured-page-btn:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }

    .board-featured-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .board-featured-item {
        list-style: none;
    }

    .board-featured-link {
        display: flex;
        gap: 12px;
        text-decoration: none;
        color: inherit;
        border: 1px solid rgba(var(--vz-primary-rgb), 0.16);
        border-radius: 10px;
        background-color: #fff;
        padding: 10px;
        transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
    }

    .board-featured-link:hover {
        transform: translateY(-2px);
        border-color: rgba(var(--vz-primary-rgb), 0.4);
        box-shadow: 0 12px 30px -20px rgba(15, 23, 42, 0.45);
    }

    .board-featured-thumb-wrap {
        flex: 0 0 44%;
        max-width: 190px;
        border-radius: 8px;
        overflow: hidden;
        border: 1px solid rgba(15, 23, 42, 0.08);
        background-color: #eef2f7;
        aspect-ratio: 16 / 9;
    }

    .board-featured-thumb {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .board-featured-content {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 6px;
        flex: 1 1 auto;
    }

    .board-featured-title {
        margin: 0;
        color: var(--vz-body-color);
        font-size: 0.95rem;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .board-featured-excerpt {
        margin: 0;
        color: var(--vz-secondary-color);
        font-size: 0.82rem;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .board-featured-stats {
        margin-top: auto;
        display: flex;
        align-items: center;
        gap: 12px;
        color: var(--vz-secondary-color);
        font-size: 0.8rem;
    }

    .board-featured-stats span {
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }

    [data-bs-theme="dark"] .board-featured-widget {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.015) 100%);
        border-color: rgba(255, 255, 255, 0.08);
    }

    [data-bs-theme="dark"] .board-featured-tabs {
        background-color: rgba(255, 255, 255, 0.08);
    }

    [data-bs-theme="dark"] .board-featured-tab {
        color: #e5e7eb;
        background-color: rgba(255, 255, 255, 0.04);
        border-color: rgba(255, 255, 255, 0.18);
    }

    [data-bs-theme="dark"] .board-featured-tab:hover {
        color: #fff;
        background-color: rgba(var(--vz-primary-rgb), 0.22);
        border-color: rgba(var(--vz-primary-rgb), 0.55);
    }

    [data-bs-theme="dark"] .board-featured-page-btn {
        color: #e5e7eb;
        background-color: rgba(255, 255, 255, 0.05);
        border-color: rgba(255, 255, 255, 0.22);
    }

    .resource-peripheral-card {
        background:
            linear-gradient(180deg, rgba(15, 23, 42, 0.015) 0%, rgba(15, 23, 42, 0.03) 100%);
    }

    #resourcePeripheralSummary {
        justify-content: flex-end;
    }

    .resource-peripheral-toolbar {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 0.5rem;
    }

    .resource-peripheral-filters {
        display: inline-flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .resource-peripheral-filter-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        padding: 0.42rem 0.8rem;
        border-radius: 999px;
        border: 1px solid rgba(15, 23, 42, 0.09);
        background-color: #fff;
        color: var(--vz-body-color);
        font-size: 0.8rem;
        font-weight: 700;
        line-height: 1;
        transition: all .15s ease;
    }

    .resource-peripheral-filter-btn .count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.4rem;
        padding: 0.12rem 0.35rem;
        border-radius: 999px;
        background-color: rgba(15, 23, 42, 0.06);
        font-size: 0.72rem;
        font-weight: 800;
    }

    .resource-peripheral-filter-btn:hover {
        border-color: rgba(var(--vz-primary-rgb), 0.35);
        background-color: rgba(var(--vz-primary-rgb), 0.06);
        color: var(--vz-primary);
    }

    .resource-peripheral-filter-btn.is-active {
        border-color: rgba(var(--vz-primary-rgb), 0.38);
        background-color: rgba(var(--vz-primary-rgb), 0.1);
        color: var(--vz-primary);
        box-shadow: 0 10px 24px -18px rgba(var(--vz-primary-rgb), 0.65);
    }

    .resource-peripheral-filter-btn.is-active .count {
        background-color: rgba(var(--vz-primary-rgb), 0.16);
    }

    .resource-peripheral-summary-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.35rem 0.75rem;
        border-radius: 999px;
        border: 1px solid rgba(15, 23, 42, 0.08);
        background-color: #fff;
        color: var(--vz-body-color);
        font-size: 0.82rem;
        font-weight: 600;
        line-height: 1;
    }

    .resource-peripheral-summary-chip .value {
        font-size: 0.9rem;
        font-weight: 700;
    }

    .resource-peripheral-summary-chip.is-danger {
        border-color: rgba(var(--vz-danger-rgb), 0.28);
        background-color: rgba(var(--vz-danger-rgb), 0.08);
        color: var(--vz-danger);
    }

    .resource-peripheral-summary-chip.is-warning {
        border-color: rgba(var(--vz-warning-rgb), 0.3);
        background-color: rgba(var(--vz-warning-rgb), 0.12);
        color: #9a6700;
    }

    .resource-peripheral-summary-chip.is-info {
        border-color: rgba(var(--vz-info-rgb), 0.26);
        background-color: rgba(var(--vz-info-rgb), 0.08);
        color: var(--vz-info);
    }

    .resource-peripheral-summary-chip.is-neutral {
        background-color: rgba(15, 23, 42, 0.04);
    }

    .resource-peripheral-seat {
        height: 100%;
        overflow: hidden;
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 1rem;
        background: #fff;
        box-shadow: 0 16px 40px -30px rgba(15, 23, 42, 0.45);
        padding: 0;
    }

    .resource-peripheral-seat.is-attention {
        border-color: rgba(var(--vz-danger-rgb), 0.28);
        box-shadow: 0 20px 40px -28px rgba(var(--vz-danger-rgb), 0.45);
    }

    .resource-peripheral-seat__toggle {
        display: block;
        width: 100%;
        padding: 0;
        border: 0;
        background: transparent;
        text-align: left;
    }

    .resource-peripheral-seat__header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.75rem;
        margin: 0;
        padding: 1rem 1rem 0.95rem;
    }

    .resource-peripheral-seat__title {
        margin: 0;
        font-size: 0.98rem;
        font-weight: 700;
        line-height: 1.3;
    }

    .resource-peripheral-seat__meta {
        margin-top: 0.2rem;
        color: var(--vz-secondary-color);
        font-size: 0.82rem;
    }

    .resource-peripheral-seat__badges {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    .resource-peripheral-seat__chevron {
        font-size: 1.15rem;
        color: var(--vz-secondary-color);
    }

    .resource-peripheral-seat__body {
        padding: 0 1rem 1rem;
    }

    .resource-peripheral-collection {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.25rem 0.55rem;
        border-radius: 999px;
        font-size: 0.75rem;
        font-weight: 700;
        background-color: rgba(15, 23, 42, 0.05);
        color: var(--vz-body-color);
    }

    .resource-peripheral-collection.is-error {
        background-color: rgba(var(--vz-danger-rgb), 0.1);
        color: var(--vz-danger);
    }

    .resource-peripheral-collection.is-working {
        background-color: rgba(var(--vz-warning-rgb), 0.14);
        color: #9a6700;
    }

    .resource-peripheral-seat__note {
        padding: 0.85rem 0.95rem;
        border-radius: 0.9rem;
        background-color: rgba(15, 23, 42, 0.035);
        color: var(--vz-secondary-color);
        font-size: 0.84rem;
    }

    .resource-peripheral-mouse-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .resource-peripheral-mouse-tile {
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 0.9rem;
        background-color: #fff;
        padding: 0.8rem 0.8rem 0.75rem;
        min-width: 0;
    }

    .resource-peripheral-mouse-tile.is-low {
        border-color: rgba(var(--vz-danger-rgb), 0.26);
        background: linear-gradient(180deg, rgba(var(--vz-danger-rgb), 0.08), rgba(var(--vz-danger-rgb), 0.02));
    }

    .resource-peripheral-mouse-tile.is-unknown {
        border-color: rgba(var(--vz-warning-rgb), 0.26);
        background: linear-gradient(180deg, rgba(var(--vz-warning-rgb), 0.12), rgba(var(--vz-warning-rgb), 0.03));
    }

    .resource-peripheral-mouse-tile.is-full {
        border-color: rgba(var(--vz-success-rgb), 0.24);
        background: linear-gradient(180deg, rgba(var(--vz-success-rgb), 0.08), rgba(var(--vz-success-rgb), 0.02));
    }

    .resource-peripheral-mouse-tile.is-wired {
        background-color: rgba(15, 23, 42, 0.03);
    }

    .resource-peripheral-mouse-tile__top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.55rem;
    }

    .resource-peripheral-mouse-tile__icon {
        width: 2.4rem;
        height: 2.4rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.85rem;
        background-color: rgba(var(--vz-primary-rgb), 0.1);
        color: var(--vz-primary);
        font-size: 1.25rem;
        flex-shrink: 0;
    }

    .resource-peripheral-mouse-tile__icon.is-low {
        background-color: rgba(var(--vz-danger-rgb), 0.12);
        color: var(--vz-danger);
    }

    .resource-peripheral-mouse-tile__icon.is-full {
        background-color: rgba(var(--vz-success-rgb), 0.12);
        color: var(--vz-success);
    }

    .resource-peripheral-mouse-tile__icon.is-unknown {
        background-color: rgba(var(--vz-warning-rgb), 0.14);
        color: #9a6700;
    }

    .resource-peripheral-mouse-tile__icon.is-wired {
        background-color: rgba(15, 23, 42, 0.08);
        color: var(--vz-body-color);
    }

    .resource-peripheral-mouse-tile__name {
        margin: 0.7rem 0 0;
        font-size: 0.88rem;
        font-weight: 700;
        line-height: 1.35;
        min-height: 2.35rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        word-break: break-word;
    }

    .resource-peripheral-mouse-tile__meta {
        margin-top: 0.4rem;
        color: var(--vz-secondary-color);
        font-size: 0.75rem;
        line-height: 1.4;
        min-height: 2.1rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        word-break: break-word;
    }

    .resource-peripheral-status {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        max-width: 100%;
        padding: 0.28rem 0.52rem;
        border-radius: 999px;
        font-size: 0.68rem;
        font-weight: 800;
        text-align: center;
        line-height: 1.15;
        background-color: rgba(15, 23, 42, 0.08);
        color: var(--vz-body-color);
    }

    .resource-peripheral-status.is-low {
        background-color: rgba(var(--vz-danger-rgb), 0.12);
        color: var(--vz-danger);
    }

    .resource-peripheral-status.is-normal {
        background-color: rgba(var(--vz-info-rgb), 0.12);
        color: var(--vz-info);
    }

    .resource-peripheral-status.is-full {
        background-color: rgba(var(--vz-success-rgb), 0.12);
        color: var(--vz-success);
    }

    .resource-peripheral-status.is-unknown {
        background-color: rgba(var(--vz-warning-rgb), 0.14);
        color: #9a6700;
    }

    .resource-peripheral-status.is-wired {
        background-color: rgba(15, 23, 42, 0.08);
        color: var(--vz-body-color);
    }

    .resource-peripheral-progress {
        height: 0.42rem;
        margin-top: 0.65rem;
        background-color: rgba(15, 23, 42, 0.08);
    }

    .resource-peripheral-progress .progress-bar {
        background-color: var(--vz-info);
    }

    .resource-peripheral-progress.is-low .progress-bar {
        background-color: var(--vz-danger);
    }

    .resource-peripheral-progress.is-full .progress-bar {
        background-color: var(--vz-success);
    }

    [data-bs-theme="dark"] .resource-peripheral-card {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.04) 100%);
        border-color: rgba(255, 255, 255, 0.08);
    }

    [data-bs-theme="dark"] .resource-peripheral-filter-btn {
        background-color: rgba(15, 23, 42, 0.78);
        border-color: rgba(255, 255, 255, 0.08);
        color: #e5e7eb;
    }

    [data-bs-theme="dark"] .resource-peripheral-filter-btn .count {
        background-color: rgba(255, 255, 255, 0.08);
    }

    [data-bs-theme="dark"] .resource-peripheral-summary-chip,
    [data-bs-theme="dark"] .resource-peripheral-seat,
    [data-bs-theme="dark"] .resource-peripheral-device,
    [data-bs-theme="dark"] .resource-peripheral-mouse-tile {
        background-color: rgba(15, 23, 42, 0.68);
        border-color: rgba(255, 255, 255, 0.08);
    }

    [data-bs-theme="dark"] .resource-peripheral-summary-chip.is-warning,
    [data-bs-theme="dark"] .resource-peripheral-collection.is-working,
    [data-bs-theme="dark"] .resource-peripheral-status.is-unknown {
        color: #ffd36d;
    }

    [data-bs-theme="dark"] .resource-peripheral-mouse-tile.is-low,
    [data-bs-theme="dark"] .resource-peripheral-device.is-low {
        background: linear-gradient(180deg, rgba(var(--vz-danger-rgb), 0.16), rgba(15, 23, 42, 0.7));
    }

    [data-bs-theme="dark"] .resource-peripheral-mouse-tile.is-unknown,
    [data-bs-theme="dark"] .resource-peripheral-device.is-unknown {
        background: linear-gradient(180deg, rgba(var(--vz-warning-rgb), 0.18), rgba(15, 23, 42, 0.7));
    }

    [data-bs-theme="dark"] .resource-peripheral-mouse-tile.is-full,
    [data-bs-theme="dark"] .resource-peripheral-device.is-full {
        background: linear-gradient(180deg, rgba(var(--vz-success-rgb), 0.16), rgba(15, 23, 42, 0.7));
    }

    [data-bs-theme="dark"] .resource-peripheral-mouse-tile.is-wired,
    [data-bs-theme="dark"] .resource-peripheral-device.is-wired,
    [data-bs-theme="dark"] .resource-peripheral-seat__note {
        background-color: rgba(255, 255, 255, 0.04);
    }

    @media (max-width: 1199.98px) {
        .resource-peripheral-mouse-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    @media (max-width: 768px) {
        #resourcePeripheralSummary {
            width: 100%;
            justify-content: flex-start;
        }

        .resource-peripheral-toolbar {
            width: 100%;
            align-items: stretch;
        }

        .resource-peripheral-filters {
            width: 100%;
        }

        .resource-peripheral-filter-btn {
            flex: 1 1 calc(50% - 0.45rem);
            justify-content: space-between;
        }

        .resource-peripheral-seat__header {
            flex-direction: column;
        }

        .resource-peripheral-mouse-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    [data-bs-theme="dark"] .board-featured-page-btn:hover:not(:disabled) {
        color: #fff;
        background-color: rgba(var(--vz-primary-rgb), 0.25);
        border-color: rgba(var(--vz-primary-rgb), 0.6);
    }

    [data-bs-theme="dark"] .board-featured-link {
        background-color: rgba(255, 255, 255, 0.03);
        border-color: rgba(var(--vz-primary-rgb), 0.22);
    }

    [data-bs-theme="dark"] .board-featured-thumb-wrap {
        border-color: rgba(255, 255, 255, 0.1);
        background-color: rgba(255, 255, 255, 0.04);
    }

    @media (max-width: 575.98px) {
        .board-featured-link {
            flex-direction: column;
        }

        .board-featured-thumb-wrap {
            flex: 1 1 auto;
            max-width: none;
            width: 100%;
        }
    }

    .recent-board-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .recent-board-item {
        padding: 12px 14px;
        border: 1px dashed rgba(var(--vz-primary-rgb), 0.18);
        border-radius: 10px;
        background-color: #fff;
        transition: transform .12s ease, box-shadow .12s ease;
    }

    .recent-board-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 30px -20px rgba(15, 23, 42, 0.35);
    }

    .recent-board-row {
        width: 100%;
        min-width: 0;
    }

    .recent-board-title {
        color: var(--vz-body-color);
        font-weight: 600;
        text-decoration: none;
        flex: 1;
        min-width: 0;
    }

    .recent-board-title:hover {
        color: var(--vz-primary);
    }

    .recent-board-comments {
        letter-spacing: 0.01em;
    }

    [data-bs-theme="dark"] .recent-board-item {
        background-color: rgba(255, 255, 255, 0.03);
        border-color: rgba(var(--vz-primary-rgb), 0.25);
    }

    .board-highlight-card .list-group-item {
        border-left: 0;
        border-right: 0;
    }


    .integrated-member-login-card {
        border-radius: 18px;
        border: 1px solid rgba(255, 255, 255, 0.16);
        background:
            radial-gradient(circle at 12% 10%, rgba(74, 144, 226, 0.22), transparent 42%),
            radial-gradient(circle at 88% 90%, rgba(255, 159, 26, 0.2), transparent 44%),
            linear-gradient(145deg, #2f333f 0%, #1f2431 100%);
        padding: 0.9rem;
        box-shadow: 0 14px 30px rgba(15, 23, 42, 0.28);
    }

    .integrated-member-login-top {
        display: flex;
        align-items: center;
        gap: 0.65rem;
    }

    .integrated-member-profile {
        flex: 1 1 auto;
        min-width: 0;
        display: inline-flex;
        align-items: center;
        gap: 0.72rem;
        text-decoration: none;
        color: #f8fafc;
    }

    .integrated-member-profile:hover,
    .integrated-member-profile:focus-visible {
        color: #ffffff;
    }

    .integrated-member-avatar-shell {
        width: 46px;
        height: 46px;
        border-radius: 14px;
        padding: 3px;
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.44), rgba(255, 255, 255, 0.14));
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 8px 16px rgba(0, 0, 0, 0.2);
        flex: 0 0 auto;
    }

    .integrated-member-avatar {
        width: 100%;
        height: 100%;
        border-radius: 11px;
        object-fit: cover;
        display: block;
        background: rgba(255, 255, 255, 0.1);
    }

    .integrated-member-profile-text {
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
        min-width: 0;
    }

    .integrated-member-name-line {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        min-width: 0;
        font-size: 1.1rem;
    }

    .integrated-member-name-line i {
        color: #ffb347;
        flex: 0 0 auto;
    }

    .integrated-member-name {
        font-weight: 800;
        max-width: 180px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .integrated-member-myinfo {
        font-size: 0.88rem;
        font-weight: 700;
        opacity: 0.92;
    }

    .integrated-member-meta {
        color: rgba(226, 232, 240, 0.9);
        font-size: 0.86rem;
        font-weight: 600;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
    }

    .integrated-member-logout-form {
        margin: 0;
        flex: 0 0 auto;
    }

    .integrated-member-logout-btn {
        min-height: 36px;
        border-radius: 10px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        background: rgba(255, 255, 255, 0.14);
        color: #e2e8f0;
        display: inline-flex;
        align-items: center;
        gap: 0.24rem;
        padding: 0.35rem 0.65rem;
        font-size: 0.88rem;
        font-weight: 700;
        transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
    }

    .integrated-member-logout-btn:hover,
    .integrated-member-logout-btn:focus-visible {
        color: #fff;
        background: rgba(255, 255, 255, 0.24);
        border-color: rgba(255, 255, 255, 0.36);
        transform: translateY(-1px);
    }

    .integrated-member-quick-links {
        margin-top: 0.82rem;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        border-radius: 12px;
        border: 1px solid rgba(255, 255, 255, 0.14);
        background: rgba(15, 23, 42, 0.24);
        overflow: hidden;
    }

    .integrated-member-link {
        min-height: 50px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.3rem;
        color: rgba(248, 250, 252, 0.96);
        font-size: 0.94rem;
        font-weight: 700;
        text-decoration: none;
        border-right: 1px solid rgba(255, 255, 255, 0.12);
        transition: background-color 0.18s ease, color 0.18s ease;
    }

    .integrated-member-link:last-child {
        border-right: 0;
    }

    .integrated-member-link::after {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 999px;
        background-color: #ff9f1a;
        opacity: 0.95;
    }

    .integrated-member-link:hover,
    .integrated-member-link:focus-visible {
        color: #ffffff;
        background-color: rgba(255, 255, 255, 0.1);
    }

    .integrated-member-shortcuts {
        margin-top: 0.1rem;
    }

    .integrated-guest-login-card {
        border-radius: 18px;
        border: 1px solid rgba(255, 255, 255, 0.16);
        background:
            radial-gradient(circle at 12% 12%, rgba(255, 191, 99, 0.18), transparent 45%),
            radial-gradient(circle at 88% 88%, rgba(74, 144, 226, 0.16), transparent 42%),
            linear-gradient(145deg, #2f333f 0%, #1e2330 100%);
        padding: 1rem;
        box-shadow: 0 14px 30px rgba(15, 23, 42, 0.28);
    }

    .integrated-guest-login-title {
        margin: 0;
        text-align: center;
        color: #f8fafc;
        font-size: 1.2rem;
        font-weight: 800;
        letter-spacing: 0.01em;
        text-wrap: balance;
    }

    .integrated-guest-login-btn {
        width: 100%;
        margin-top: 0.7rem;
        min-height: 56px;
        border-radius: 14px;
        border: 1px solid rgba(0, 0, 0, 0.1);
        background-color: #ff9f1a !important;
        color: #111827 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        font-size: 1rem;
        font-weight: 800;
        text-decoration: none;
        box-shadow: 0 10px 20px rgba(255, 159, 26, 0.34);
        transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
    }

    .integrated-guest-login-btn:hover,
    .integrated-guest-login-btn:focus-visible {
        background-color: #ffb347 !important;
        color: #111827 !important;
        transform: translateY(-1px);
        box-shadow: 0 13px 24px rgba(255, 159, 26, 0.44);
    }

    .integrated-guest-login-links {
        margin-top: 0.8rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        font-size: 0.92rem;
    }

    .integrated-guest-login-links a {
        color: rgba(241, 245, 249, 0.94);
        text-decoration: none;
        font-weight: 600;
    }

    .integrated-guest-login-links a:hover,
    .integrated-guest-login-links a:focus-visible {
        color: #fff;
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-underline-offset: 3px;
    }

    .integrated-guest-shortcuts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .integrated-guest-shortcut {
        min-height: 56px;
        border-radius: 12px;
        border: 1px solid rgba(15, 23, 42, 0.12);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        font-size: 1rem;
        font-weight: 800;
        text-decoration: none;
        transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
    }

    .integrated-guest-shortcut--attendance {
        background-color: #f8fafc !important;
        color: #111827 !important;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
    }

    .integrated-guest-shortcut--attendance:hover,
    .integrated-guest-shortcut--attendance:focus-visible {
        background-color: #eef2f7 !important;
        color: #111827 !important;
        transform: translateY(-1px);
    }

    .integrated-guest-shortcut--question {
        background-color: #ff9f1a !important;
        color: #111827 !important;
        box-shadow: 0 8px 18px rgba(255, 159, 26, 0.32);
    }

    .integrated-guest-shortcut--question:hover,
    .integrated-guest-shortcut--question:focus-visible {
        background-color: #ffb347 !important;
        color: #111827 !important;
        transform: translateY(-1px);
    }

    .integrated-banner-stack {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        height: auto;
        justify-content: flex-start;
    }

    .integrated-banner-slot {
        flex: 0 0 auto;
        min-width: 0;
        display: flex;
        align-items: flex-start;
    }
.integrated-banner-card {
        background: linear-gradient(180deg, rgba(13, 110, 253, 0.04) 0%, rgba(13, 110, 253, 0.015) 100%);
        border: 1px solid rgba(var(--vz-primary-rgb), 0.15);
    }

    .integrated-banner-slot .integrated-banner-reveal {
        aspect-ratio: 16 / 9;
        height: auto;
        min-height: 0;
    }

    .integrated-banner-reveal {
        border-radius: 14px;
        overflow: hidden;
        border: 1px solid var(--vz-border-color);
        background-color: var(--vz-light);
        flex: 1 1 auto;
    }

    .integrated-banner-reveal.reveal {
        width: 100%;
        height: 100%;
    }

    .integrated-banner-reveal .slides {
        width: 100%;
        height: 100%;
    }

    .integrated-banner-reveal .slides > section {
        padding: 0;
        width: 100%;
        height: 100%;
        display: block !important;
        opacity: 0;
        transform: translateX(100%);
        transition: transform 0.9s ease, opacity 0.9s ease;
        will-change: transform, opacity;
    }

    .integrated-banner-reveal.reveal .slides > section,
    .integrated-banner-reveal.reveal .slides > section > section {
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }

    .integrated-banner-reveal .slides > section:first-child {
        opacity: 1;
        transform: translateX(0);
    }

    .integrated-banner-reveal .slides > section.present {
        opacity: 1;
        transform: translateX(0);
        z-index: 2;
    }

    .integrated-banner-reveal .slides > section.past {
        opacity: 0;
        transform: translateX(-100%);
        z-index: 1;
    }

    .integrated-banner-reveal .slides > section.future {
        opacity: 0;
        transform: translateX(100%);
        z-index: 1;
    }

    .integrated-banner-reveal [hidden] {
        display: block !important;
    }

    .integrated-banner-reveal .slides > section > a,
    .integrated-banner-reveal .slides > section > img {
        width: 100%;
        height: 100%;
        display: block;
    }

    .integrated-banner-reveal img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        background-color: rgba(15, 23, 42, 0.04);
    }

    .integrated-banner-empty {
        flex: 1 1 auto;
        width: 100%;
        aspect-ratio: 16 / 9;
        min-height: 180px;
        background-color: rgba(var(--vz-primary-rgb), 0.04);
        border: 1px dashed rgba(var(--vz-primary-rgb), 0.35);
        border-radius: 14px;
    }

    [data-bs-theme="dark"] .integrated-banner-reveal {
        background-color: rgba(255, 255, 255, 0.04);
    }

    @media (max-width: 1399.98px) {

        .integrated-banner-slot .integrated-banner-reveal {
            aspect-ratio: 16 / 9;
            min-height: 0;
        }
    }

    @media (max-width: 767.98px) {

        .integrated-banner-slot .integrated-banner-reveal {
            aspect-ratio: 16 / 9;
            min-height: 0;
        }
    }

    #advancedClimateChartSection {
        position: relative;
        min-height: 260px;
    }

    #advancedClimateChart {
        width: 100% !important;
        height: 220px;
        max-height: 320px;
    }

    .advanced-plan-card {
        border: 1px dashed var(--vz-border-color);
        background: #fff;
    }

    .advanced-plan-card .badge {
        min-width: 80px;
        justify-content: center;
    }

    .advanced-mode-chip {
        padding: 0.35rem 0.75rem;
        border-radius: 999px;
        border: 1px solid var(--vz-border-color);
        background-color: rgba(var(--vz-primary-rgb), 0.04);
    }

    .advanced-mode-card {
        border: 1px solid var(--vz-border-color);
        border-radius: 0.75rem;
        padding: 1rem;
        background-color: #fff;
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    [data-bs-theme="dark"] .advanced-mode-card {
        background-color: var(--vz-body-bg);
    }

    .advanced-mode-card__header {
        padding-bottom: 0.75rem;
        border-bottom: 1px dashed var(--vz-border-color);
    }

    .advanced-mode-card__section {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .advanced-mode-card__label {
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        font-weight: 600;
        color: var(--vz-secondary-color);
        margin-bottom: 0;
    }

    .advanced-mode-card .form-text {
        margin-top: 0.35rem;
    }

    .advanced-mode-list .list-group-item {
        border: 1px solid var(--vz-border-color);
        border-radius: 0.65rem;
        margin-bottom: 0.5rem;
        background-color: #fff;
    }

    .advanced-mode-list .list-group-item.active {
        background-color: rgba(var(--vz-primary-rgb), 0.12);
        border-color: rgba(var(--vz-primary-rgb), 0.35);
        color: var(--vz-body-color);
    }

    .advanced-mode-list .list-group-item:last-child {
        margin-bottom: 0;
    }

    .iot-schedule-day {
        border: 1px solid var(--vz-border-color);
        border-radius: 50%;
        width: 28px;
        height: 28px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        color: var(--vz-secondary-color);
        background-color: #fff;
    }

    .iot-schedule-day.active {
        background-color: rgba(var(--vz-primary-rgb), 0.1);
        color: var(--vz-primary);
        border-color: rgba(var(--vz-primary-rgb), 0.6);
    }

    .seat-layout-modal-dialog {
        width: 100%;
        max-width: 100%;
        height: 100%;
        margin: 0;
    }

    .seat-layout-body {
        min-height: 70vh;
        max-height: 85vh;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .seat-layout-grid {
        flex: 1;
        min-height: 0;
    }

    .seat-layout-sidebar,
    .seat-layout-workspace {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .seat-layout-panel {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .seat-layout-section {
        padding-bottom: 1rem;
        border-bottom: 1px dashed var(--vz-border-color);
    }

    .seat-layout-section:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .seat-layout-section .form-text {
        margin-top: 0.35rem;
    }

    .seat-layout-help-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        padding: 0;
        border-radius: 50%;
        color: var(--vz-secondary-color);
    }

    .seat-layout-help-btn i {
        font-size: 16px;
        line-height: 1;
    }

    .weather-card {
        position: relative;
        overflow: hidden;
        border: 1px solid #e7eefc;
        background: linear-gradient(135deg, #f3f7ff, #f7fbff);
    }

    [data-bs-theme="dark"] .weather-card {
        border-color: rgba(var(--vz-border-color-rgb), 0.55);
        background:
            radial-gradient(circle at 18% 24%, rgba(88, 139, 255, 0.18), rgba(17, 24, 39, 0)),
            radial-gradient(circle at 78% 8%, rgba(72, 190, 255, 0.14), rgba(17, 24, 39, 0)),
            linear-gradient(135deg, #0f172a, #0b1220);
    }

    .weather-card::before,
    .weather-card::after {
        content: "";
        position: absolute;
        width: 220px;
        height: 220px;
        border-radius: 50%;
        filter: blur(30px);
        opacity: 0.35;
        animation: weather-float 16s ease-in-out infinite;
    }

    [data-bs-theme="dark"] .weather-card::before,
    [data-bs-theme="dark"] .weather-card::after {
        opacity: 0.45;
        filter: blur(36px);
    }

    .weather-card::before {
        top: -90px;
        right: -60px;
        background: radial-gradient(circle at 30% 30%, rgba(107, 139, 255, 0.55), rgba(92, 180, 255, 0.25));
    }

    [data-bs-theme="dark"] .weather-card::before {
        background: radial-gradient(circle at 35% 30%, rgba(73, 126, 255, 0.42), rgba(56, 102, 214, 0.18));
    }

    .weather-card::after {
        bottom: -100px;
        left: -40px;
        background: radial-gradient(circle at 40% 40%, rgba(99, 230, 190, 0.45), rgba(64, 143, 255, 0.2));
        animation-delay: 4s;
    }

    [data-bs-theme="dark"] .weather-card::after {
        background: radial-gradient(circle at 40% 40%, rgba(99, 230, 190, 0.35), rgba(64, 143, 255, 0.16));
    }

    .weather-card .card-body {
        position: relative;
        z-index: 1;
    }

    .weather-orb {
        width: 68px;
        height: 68px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        background: radial-gradient(circle at 35% 30%, #ffe57f, #ffd54f 45%, #ffb300 70%);
        color: #ba8100;
        position: relative;
        box-shadow: 0 12px 28px rgba(255, 193, 7, 0.25);
        animation: weather-bounce 7s ease-in-out infinite;
    }

    [data-bs-theme="dark"] .weather-orb {
        box-shadow: 0 16px 32px rgba(0, 0, 0, 0.45);
    }

    .weather-orb .weather-orb-pulse {
        position: absolute;
        inset: 0;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255, 255, 255, 0.4), rgba(255, 193, 7, 0));
        animation: weather-pulse 2.4s ease-in-out infinite;
        z-index: 0;
    }

    .weather-orb i {
        font-size: 28px;
        position: relative;
        z-index: 1;
    }

    .weather-detail-stack {
        display: grid;
        gap: 0.35rem;
    }

    .weather-detail {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        font-weight: 700;
        color: var(--vz-secondary-color);
        padding: 0.2rem 0.65rem;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.75);
        box-shadow: 0 6px 16px -10px rgba(13, 110, 253, 0.35);
    }

    .weather-detail .value {
        font-size: 14px;
        color: var(--vz-primary);
    }

    [data-bs-theme="dark"] .weather-detail {
        background: rgba(255, 255, 255, 0.04);
        box-shadow: 0 8px 20px -12px rgba(0, 0, 0, 0.65);
        color: rgba(233, 241, 255, 0.85);
    }

    .weather-summary {
        opacity: 0;
        transform: translateY(6px);
        transition: opacity 0.35s ease, transform 0.35s ease;
    }

    .weather-summary.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

    .weather-forecast {
        background: rgba(255, 255, 255, 0.65);
        border: 1px solid rgba(var(--vz-border-color-rgb), 0.9);
        border-radius: 14px;
        padding: 0.7rem 0.85rem;
        box-shadow: 0 12px 26px -16px rgba(13, 110, 253, 0.35);
    }

    [data-bs-theme="dark"] .weather-forecast {
        background: rgba(255, 255, 255, 0.02);
        border-color: rgba(var(--vz-border-color-rgb), 0.5);
        box-shadow: 0 14px 32px -18px rgba(0, 0, 0, 0.75);
    }

    .weather-forecast-strip {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .weather-forecast-item {
        background: linear-gradient(145deg, rgba(51, 94, 234, 0.08), rgba(99, 230, 190, 0.1));
        border: 1px solid rgba(var(--vz-border-color-rgb), 0.8);
        border-radius: 12px;
        padding: 0.5rem 0.6rem;
        display: grid;
        gap: 0.15rem;
        min-height: 64px;
        position: relative;
        overflow: hidden;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    [data-bs-theme="dark"] .weather-forecast-item {
        background: linear-gradient(160deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
        border-color: rgba(var(--vz-border-color-rgb), 0.4);
        box-shadow: 0 12px 26px -18px rgba(0, 0, 0, 0.75);
    }

    .weather-forecast-item::after {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.4), transparent 55%);
        pointer-events: none;
        opacity: 0.85;
    }

    [data-bs-theme="dark"] .weather-forecast-item::after {
        background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.18), transparent 55%);
    }

    .weather-forecast-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 24px -14px rgba(17, 24, 39, 0.25);
    }

    .weather-forecast-time {
        font-weight: 700;
        color: #1f2d5c;
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
    }

    [data-bs-theme="dark"] .weather-forecast-time {
        color: #e6ecff;
    }

    .weather-forecast-temp {
        font-weight: 700;
        color: var(--vz-primary);
        font-size: 18px;
    }

    [data-bs-theme="dark"] .weather-forecast-temp {
        color: #9cc5ff;
    }

    .weather-forecast-desc {
        color: var(--vz-secondary-color);
        font-size: 12px;
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
    }

    [data-bs-theme="dark"] .weather-forecast-desc {
        color: rgba(233, 241, 255, 0.8);
    }

    @media (max-width: 991.98px) {
        .weather-forecast-strip {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    @media (max-width: 575.98px) {
        .weather-forecast-strip {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .weather-detail-stack {
            width: 100%;
            justify-items: end;
        }
    }

    .weather-address {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.25rem 0.7rem;
        border-radius: 999px;
        background: rgba(var(--vz-secondary-rgb), 0.08);
        color: var(--vz-secondary-color);
        font-size: 12px;
        border: 1px solid rgba(var(--vz-border-color-rgb), 0.8);
        margin-top: 4px;
    }

    [data-bs-theme="dark"] .weather-address {
        background: rgba(255, 255, 255, 0.06);
        border-color: rgba(255, 255, 255, 0.1);
        color: #d7def0;
    }

    .weather-loading {
        padding: 1.25rem 0.5rem;
        background: rgba(var(--vz-primary-rgb), 0.04);
        border-radius: 0.85rem;
        border: 1px dashed rgba(var(--vz-border-color-rgb), 0.9);
    }

    [data-bs-theme="dark"] .weather-loading {
        background: rgba(var(--vz-primary-rgb), 0.08);
        border-color: rgba(var(--vz-border-color-rgb), 0.6);
        color: rgba(227, 236, 255, 0.82);
    }

    .weather-observation {
        font-size: 12px;
        color: var(--vz-secondary-color);
    }

    .weather-card.weather-card--compact .card-body {
        padding: 0.65rem 0.75rem;
    }

    .weather-card.weather-card--compact .weather-orb {
        width: 46px;
        height: 46px;
        box-shadow: 0 8px 20px rgba(255, 193, 7, 0.22);
    }

    .weather-card.weather-card--compact .weather-orb i {
        font-size: 20px;
    }

    .weather-card.weather-card--compact #weatherTemperature {
        font-size: 1.35rem;
        line-height: 1.15;
    }

    .weather-card.weather-card--compact #weatherDescription {
        font-size: 11px;
        line-height: 1.2;
    }

    .weather-card.weather-card--compact .weather-detail-stack {
        gap: 0.2rem;
    }

    .weather-card.weather-card--compact .weather-detail {
        padding: 0.1rem 0.45rem;
        gap: 0.25rem;
        border-radius: 8px;
        font-size: 11px;
    }

    .weather-card.weather-card--compact .weather-detail .value {
        font-size: 11px;
    }

    .weather-card.weather-card--compact .weather-loading {
        padding: 0.6rem 0.4rem;
        border-radius: 0.65rem;
    }

    .weather-card.weather-card--compact .weather-loading .spinner-border {
        width: 1rem;
        height: 1rem;
        margin-bottom: 0.35rem !important;
    }

    .weather-card.weather-card--compact .weather-loading .text-muted {
        font-size: 11px;
        line-height: 1.2;
    }

    .weather-card.weather-card--compact .weather-forecast {
        padding: 0.45rem 0.5rem;
        border-radius: 10px;
    }

    .weather-card.weather-card--compact .weather-forecast-strip {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 0.35rem;
    }

    .weather-card.weather-card--compact .weather-forecast-item {
        min-height: 44px;
        padding: 0.28rem 0.35rem;
        border-radius: 8px;
        gap: 0.15rem;
        align-content: center;
        justify-items: center;
    }

    .weather-card.weather-card--compact .weather-forecast-item::after {
        display: none;
    }

    .weather-card.weather-card--compact .weather-forecast-item:hover {
        transform: none;
        box-shadow: none;
    }

    .weather-card.weather-card--compact .weather-forecast-time {
        justify-content: center;
        gap: 0.15rem;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.1;
    }

    .weather-card.weather-card--compact .weather-forecast-time i {
        font-size: 12px;
        line-height: 1;
    }

    .weather-card.weather-card--compact .weather-forecast-time .badge {
        display: none;
    }

    .weather-card.weather-card--compact .weather-forecast-temp {
        font-size: 12px;
        line-height: 1.1;
    }

    .weather-card.weather-card--compact .weather-forecast-desc {
        display: none;
    }

    @media (max-width: 767.98px) {
        .weather-card.weather-card--compact .weather-forecast-strip {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    .weather-card[data-theme="rain"] .weather-orb {
        background: radial-gradient(circle at 35% 30%, #c7dcff, #b1d0ff 48%, #88b6ff 70%);
        color: #1c5cb7;
        box-shadow: 0 12px 28px rgba(34, 87, 165, 0.25);
    }

    .weather-card[data-theme="storm"] .weather-orb {
        background: radial-gradient(circle at 40% 35%, #d1d9ff, #9db0ff 50%, #5c7ce6 72%);
        color: #2f3b8c;
    }

    .weather-card[data-theme="cloud"] .weather-orb {
        background: radial-gradient(circle at 35% 30%, #f7fbff, #e3e9f5 55%, #c8d4ea 80%);
        color: #5c7390;
    }

    .weather-card[data-theme="snow"] .weather-orb {
        background: radial-gradient(circle at 35% 30%, #f5fbff, #e8f6ff 55%, #d4e9ff 78%);
        color: #4b78b8;
    }

    .weather-card[data-theme="wind"] .weather-orb {
        background: radial-gradient(circle at 35% 30%, #e1f7ff, #d2f1ff 55%, #b5e6ff 78%);
        color: #2c7aa0;
    }

    @keyframes weather-float {
        0% { transform: translateY(0); }
        50% { transform: translateY(-8px); }
        100% { transform: translateY(0); }
    }

    @keyframes weather-bounce {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-6px); }
    }

    @keyframes weather-pulse {
        0% { opacity: 0.55; transform: scale(0.9); }
        50% { opacity: 0; transform: scale(1.2); }
        100% { opacity: 0.55; transform: scale(0.9); }
    }

    .seat-layout-toolbar {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .seat-layout-viewport {
        flex: 1;
        min-height: 0;
        border: 1px dashed #ced4da;
        border-radius: 0.6rem;
        background-color: #fff;
        padding: 10px;
        overflow: auto;
    }

    .seat-layout-canvas {
        position: relative;
        min-height: 936px;
        min-width: 2080px;
        background-size: 48px 48px;
        background-image:
            linear-gradient(to right, rgba(51, 94, 234, 0.06) 1px, transparent 1px),
            linear-gradient(to bottom, rgba(51, 94, 234, 0.06) 1px, transparent 1px);
        border-radius: 0.6rem;
        transform-origin: top left;
    }

    .seat-node {
        width: 72px;
        height: 50px;
        position: absolute;
        cursor: grab;
        user-select: none;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
        transition: box-shadow 0.15s ease, transform 0.15s ease;
    }

    .seat-node.dragging {
        cursor: grabbing;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
        transform: scale(1.02);
        z-index: 2;
    }

    .seat-node.selected {
        border: 2px solid rgba(var(--vz-primary-rgb), 0.5);
        box-shadow: 0 8px 20px rgba(51, 94, 234, 0.18);
    }

    .seat-node .seat-label {
        font-weight: 700;
        color: #335eea;
    }

    .seat-node .seat-caption {
        font-size: 0.8rem;
    }

    .seat-node.iot-node {
        width: 88px;
        height: 64px;
        border-style: dashed;
    }

    .seat-node.mapped-seat {
        border-width: 2px;
    }

    .seat-theme-primary {
        border-color: rgba(var(--vz-primary-rgb), 0.6) !important;
        background-color: rgba(var(--vz-primary-rgb), 0.08);
    }

    .seat-theme-info {
        border-color: rgba(var(--vz-info-rgb), 0.6) !important;
        background-color: rgba(var(--vz-info-rgb), 0.08);
    }

    .seat-theme-warning {
        border-color: rgba(var(--vz-warning-rgb), 0.6) !important;
        background-color: rgba(var(--vz-warning-rgb), 0.08);
    }

    .seat-theme-danger {
        border-color: rgba(var(--vz-danger-rgb), 0.6) !important;
        background-color: rgba(var(--vz-danger-rgb), 0.08);
    }

    .seat-theme-success {
        border-color: rgba(var(--vz-success-rgb), 0.6) !important;
        background-color: rgba(var(--vz-success-rgb), 0.08);
    }

    .seat-theme-secondary {
        border-color: rgba(var(--vz-secondary-rgb), 0.6) !important;
        background-color: rgba(var(--vz-secondary-rgb), 0.08);
    }

    .seat-node.iot-node .seat-label {
        font-size: 0.9rem;
    }

    .iot-device-icon {
        width: 32px;
        height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.5rem;
    }

    .iot-device-icon.iot-device-icon-sm {
        width: 24px;
        height: 24px;
        border-radius: 0.35rem;
        font-size: 14px;
    }

    .seat-layout-overlay {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, 0.85);
        z-index: 5;
    }

    .seat-guideline {
        position: absolute;
        background: rgba(var(--vz-primary-rgb), 0.35);
        pointer-events: none;
        z-index: 4;
    }

    .seat-guideline-horizontal {
        height: 2px;
        width: 100%;
        left: 0;
        transform: translateY(-1px);
    }

    .seat-guideline-vertical {
        width: 2px;
        height: 100%;
        top: 0;
        transform: translateX(-1px);
    }

    .store-placeholder-card {
        border: 1px dashed var(--vz-border-color);
        background: var(--vz-light);
    }

    .store-placeholder-bar,
    .store-placeholder-icon {
        display: inline-block;
        background: linear-gradient(90deg, rgba(var(--vz-gray-400-rgb), 0.45) 25%, rgba(var(--vz-gray-300-rgb), 0.6) 50%, rgba(var(--vz-gray-400-rgb), 0.45) 75%);
        background-size: 200% 100%;
        animation: shimmer 1.5s infinite;
        border-radius: 999px;
    }

    .store-placeholder-icon {
        width: 42px;
        height: 42px;
    }

    .store-placeholder-bar {
        height: 12px;
        width: 100%;
        margin-bottom: 0.35rem;
    }

    .store-placeholder-metrics {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.35rem 0.75rem;
        margin-top: 0.75rem;
    }

    .store-placeholder-metrics .store-placeholder-bar {
        height: 10px;
    }

    .store-placeholder-pill {
        height: 24px;
        margin-bottom: 0;
    }

    .integrated-store-view-tabs {
        border-radius: 999px;
        overflow: hidden;
    }

    .integrated-store-view-tabs .btn {
        border-color: rgba(var(--vz-border-color-rgb), 0.85);
        color: var(--vz-secondary-color);
    }

    .integrated-store-view-tabs .btn.btn-outline-secondary.active,
    .integrated-store-view-tabs .btn.btn-outline-secondary:active {
        background-color: rgba(var(--vz-primary-rgb), 0.12);
        border-color: rgba(var(--vz-primary-rgb), 0.45);
        color: var(--vz-primary);
    }

    [data-bs-theme="dark"] .integrated-store-view-tabs .btn {
        border-color: rgba(var(--vz-border-color-rgb), 0.6);
    }

    .integrated-store-list {
        align-items: stretch;
    }

    .integrated-store-row {
        border: 1px solid rgba(var(--vz-border-color-rgb), 0.9);
        background: #fff;
        border-radius: 16px;
        padding: 14px 16px;
        transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    }

    .integrated-store-row:hover {
        border-color: rgba(var(--vz-primary-rgb), 0.35);
        box-shadow: 0 12px 30px -18px rgba(15, 23, 42, 0.25);
        transform: translateY(-1px);
    }

    [data-bs-theme="dark"] .integrated-store-row {
        background: rgba(255, 255, 255, 0.03);
        border-color: rgba(var(--vz-border-color-rgb), 0.55);
    }

    [data-bs-theme="dark"] .integrated-store-row:hover {
        border-color: rgba(var(--vz-primary-rgb), 0.5);
        box-shadow: 0 18px 40px -26px rgba(0, 0, 0, 0.65);
    }

    .store-list-placeholder-row {
        border-style: dashed;
        background: var(--vz-light);
    }

    .store-list-placeholder-row:hover {
        border-color: rgba(var(--vz-border-color-rgb), 0.9);
        box-shadow: none;
        transform: none;
    }

    [data-bs-theme="dark"] .store-list-placeholder-row {
        background: rgba(255, 255, 255, 0.04);
    }

    .integrated-store-name {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        font-weight: 700;
        font-size: 1rem;
        text-decoration: none;
        max-width: min(520px, 100%);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .integrated-store-name:hover {
        color: var(--vz-primary);
    }

    .integrated-store-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        gap: 0.75rem 1rem;
    }

    .integrated-store-header-title {
        min-width: 0;
    }

    .integrated-store-header-center {
        justify-self: center;
    }

    .integrated-store-header-actions {
        justify-self: end;
    }

    .integrated-store-collapse-btn {
        border-radius: 999px;
        min-width: 84px;
        font-weight: 700;
    }

    .integrated-store-collapse-btn i {
        transition: transform .2s ease;
    }

    .integrated-store-collapse-btn[aria-expanded="true"] i {
        transform: rotate(180deg);
    }

    .integrated-store-section-content {
        margin-top: 0.25rem;
    }

    .integrated-header-weather {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        max-width: min(420px, 60vw);
        padding: 0.34rem 0.72rem;
        border-radius: 999px;
        border: 1px solid rgba(var(--vz-primary-rgb), 0.24);
        background: linear-gradient(180deg, rgba(var(--vz-primary-rgb), 0.08), rgba(var(--vz-primary-rgb), 0.03));
        color: var(--vz-body-color);
        box-shadow: 0 6px 18px -14px rgba(15, 23, 42, 0.45);
        white-space: nowrap;
        overflow: hidden;
    }

    .integrated-header-weather:hover,
    .integrated-header-weather:focus-visible {
        border-color: rgba(var(--vz-primary-rgb), 0.4);
        box-shadow: 0 10px 26px -18px rgba(13, 110, 253, 0.45);
    }

    .integrated-header-weather-icon {
        font-size: 1rem;
        color: var(--vz-primary);
        flex: 0 0 auto;
    }

    .integrated-header-weather-temp {
        font-weight: 700;
        font-size: 0.82rem;
        color: var(--vz-heading-color);
        flex: 0 0 auto;
    }

    .integrated-header-weather-text {
        font-size: 0.78rem;
        opacity: 0.85;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .integrated-header-weather.is-loading {
        opacity: 0.78;
    }

    .integrated-header-weather.is-error {
        border-color: rgba(var(--vz-danger-rgb), 0.34);
        background: linear-gradient(180deg, rgba(var(--vz-danger-rgb), 0.1), rgba(var(--vz-danger-rgb), 0.04));
    }

    [data-bs-theme="dark"] .integrated-header-weather {
        border-color: rgba(var(--vz-primary-rgb), 0.36);
        background:
            linear-gradient(180deg, rgba(var(--vz-primary-rgb), 0.16), rgba(var(--vz-primary-rgb), 0.08)),
            rgba(255, 255, 255, 0.02);
        color: #dbe6ff;
        box-shadow: 0 14px 30px -22px rgba(7, 10, 20, 0.85);
    }

    [data-bs-theme="dark"] .integrated-header-weather-icon {
        color: #8db3ff;
    }

    [data-bs-theme="dark"] .integrated-header-weather-temp {
        color: #f8fbff;
    }

    @media (max-width: 991.98px) {
        .integrated-store-header {
            grid-template-columns: 1fr;
        }

        .integrated-store-header-center {
            justify-self: start;
        }

        .integrated-store-header-actions {
            justify-self: start;
        }

        .integrated-header-weather {
            max-width: 100%;
        }
    }

    .store-metric-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.35rem 0.65rem;
        border-radius: 999px;
        border: 1px solid rgba(var(--vz-border-color-rgb), 0.9);
        background: rgba(255, 255, 255, 0.85);
        font-weight: 700;
        line-height: 1.1;
        font-size: 0.85rem;
        white-space: nowrap;
    }

    [data-bs-theme="dark"] .store-metric-pill {
        border-color: rgba(var(--vz-border-color-rgb), 0.55);
        background: rgba(255, 255, 255, 0.03);
    }

    .store-metric-pill .label {
        font-weight: 600;
        opacity: 0.75;
    }

    .store-metric-pill .value {
        font-weight: 800;
    }

    .store-metric-pill.is-clickable {
        appearance: none;
        cursor: pointer;
        transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease;
    }

    .store-metric-pill.is-clickable:hover {
        border-color: rgba(var(--vz-primary-rgb), 0.45);
        box-shadow: 0 10px 22px -18px rgba(13, 110, 253, 0.35);
        transform: translateY(-1px);
    }

    .store-metric-pill.is-clickable:focus-visible {
        outline: 2px solid rgba(var(--vz-primary-rgb), 0.45);
        outline-offset: 2px;
    }

    .store-metric-pill--neutral {
        color: var(--vz-secondary-color);
    }

    .store-metric-pill--muted {
        color: var(--vz-secondary-color);
        opacity: 0.85;
    }

    .store-metric-pill--success {
        border-color: rgba(var(--vz-success-rgb), 0.3);
        color: var(--vz-success);
        background: rgba(var(--vz-success-rgb), 0.08);
    }

    .store-metric-pill--danger {
        border-color: rgba(var(--vz-danger-rgb), 0.3);
        color: var(--vz-danger);
        background: rgba(var(--vz-danger-rgb), 0.08);
    }

    .store-metric-pill--primary {
        border-color: rgba(var(--vz-primary-rgb), 0.32);
        color: var(--vz-primary);
        background: rgba(var(--vz-primary-rgb), 0.08);
    }

    @keyframes shimmer {
        0% {
            background-position: 200% 0;
        }

        100% {
            background-position: -200% 0;
        }
    }

    .metric-clickable {
        appearance: none;
        background: transparent;
        color: inherit;
        width: 100%;
        cursor: pointer;
        transition: background 0.2s ease, box-shadow 0.2s ease;
    }

    .metric-clickable:hover {
        background: rgba(13, 110, 253, 0.08);
        box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.15);
    }

    .metric-clickable:focus-visible {
        outline: 2px solid rgba(13, 110, 253, 0.4);
        outline-offset: 2px;
    }


    @media (max-width: 1399.98px) {
        .integrated-banner-stack {
            flex-direction: row;
            flex-wrap: nowrap;
        }

        .integrated-banner-slot {
            flex: 1 1 50%;
        }

        .integrated-banner-stack.has-guest-login {
            flex-direction: column;
        }

        .integrated-banner-stack.has-guest-login .integrated-banner-slot {
            flex: 0 0 auto;
        }

        .integrated-banner-stack.has-member-login {
            flex-direction: column;
        }

        .integrated-banner-stack.has-member-login .integrated-banner-slot {
            flex: 0 0 auto;
        }

    }

    @media (max-width: 575.98px) {
        .integrated-member-name {
            max-width: 132px;
        }

        .integrated-member-myinfo {
            font-size: 0.8rem;
        }

        .integrated-member-meta {
            font-size: 0.78rem;
        }

        .integrated-member-link {
            font-size: 0.84rem;
            gap: 0.2rem;
        }

        .integrated-member-link::after {
            width: 5px;
            height: 5px;
        }

        .integrated-guest-shortcut {
            font-size: 0.95rem;
            padding-inline: 0.5rem;
        }
    }
