html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    max-width: 100%;
    overflow-x: hidden;
}

body.shareca-calendar-page-active {
    overflow-y: hidden;
}

body.shareca-calendar-page-active .bb-layout,
body.shareca-calendar-page-active .bb-page,
body.shareca-calendar-page-active .bb-main,
body.shareca-calendar-page-active main,
body.shareca-calendar-page-active .content {
    min-height: 0 !important;
    max-height: 100dvh;
    overflow-y: hidden !important;
}

body.shareca-calendar-page-active .calendar-toolbar {
    padding-right: 6.75rem !important;
}

@media (min-width: 576px) {
    body.shareca-calendar-page-active .shareca-user-menu,
    body.shareca-shell-page-active .shareca-user-menu {
        top: 1.45rem;
        right: max(0.9rem, env(safe-area-inset-right));
    }

    body.shareca-calendar-page-active .shareca-theme-toggle,
    body.shareca-shell-page-active .shareca-theme-toggle {
        top: 1.45rem;
        right: calc(max(0.9rem, env(safe-area-inset-right)) + 6rem);
    }
}

.bb-sidebar2 {
    --bb-sidebar2-nav-item-text-active-color-rgb: 229, 169, 247;
    --bb-sidebar2-nav-item-text-hover-color: #050505;
    --bb-sidebar2-nav-item-text-active-color: #050505;
    --bb-sidebar2-nav-item-background-hover-color: rgba(229, 169, 247, 0.14);
    --bb-sidebar2-nav-item-group-background-color: rgba(229, 169, 247, 0.14);
    position: relative;
    max-height: 100dvh;
    overflow: hidden;
    font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.bb-sidebar2 nav .nav-item a.active,
.bb-sidebar2 nav .nav-item a:hover {
    color: #050505 !important;
    background: rgba(229, 169, 247, 0.14) !important;
}

.bb-sidebar2 nav .nav-item a {
    min-height: 2.55rem;
    color: #050505 !important;
    border-radius: 0 !important;
    font-size: 0.94rem !important;
    font-weight: 700 !important;
}

.bb-sidebar2 nav .nav-item a .bi,
.bb-sidebar2 nav .nav-item a svg {
    width: 1.55rem;
    min-width: 1.55rem;
    font-size: 1.35rem;
    filter: drop-shadow(0 0.12rem 0.16rem rgba(0, 0, 0, 0.18));
}

.bb-sidebar2 nav .nav-item a[href="/"] .bi,
.bb-sidebar2 nav .nav-item a[href$="/"] .bi {
    position: relative;
    display: inline-grid;
    place-items: center;
    color: transparent;
}

.bb-sidebar2 nav .nav-item a[href="/"] .bi::before,
.bb-sidebar2 nav .nav-item a[href$="/"] .bi::before {
    content: "";
    width: 1.2rem;
    height: 1.18rem;
    border: 0.16rem solid #E5a9f7;
    border-top-width: 0.28rem;
    border-radius: 0.26rem;
    background: #fff;
}

.bb-sidebar2 nav .nav-item a[href="/"] .bi::after,
.bb-sidebar2 nav .nav-item a[href$="/"] .bi::after {
    content: "";
    position: absolute;
    top: 0.78rem;
    left: 0.38rem;
    width: 0.78rem;
    height: 0.16rem;
    background: #7ed9bd;
    border-radius: 999px;
}

.bb-sidebar2 nav .nav-item a[href="/loved"] .bi,
.bb-sidebar2 nav .nav-item a[href$="/loved"] .bi {
    color: #e91e63;
}

.bb-sidebar2 nav .nav-item a[href="/gifts"] .bi,
.bb-sidebar2 nav .nav-item a[href$="/gifts"] .bi {
    color: #a044ff;
}

.bb-sidebar2 nav .nav-item a[href="/events"] .bi,
.bb-sidebar2 nav .nav-item a[href$="/events"] .bi {
    color: #E5a9f7;
}

.bb-sidebar2 nav .nav-item a[href="/contacts"] .bi,
.bb-sidebar2 nav .nav-item a[href$="/contacts"] .bi {
    color: #7ed9bd;
}

.bb-sidebar2 nav .nav-item a[href="/admin/users"] .bi,
.bb-sidebar2 nav .nav-item a[href$="/admin/users"] .bi,
.bb-sidebar2 nav .nav-item a:not([href]) .bi {
    color: #8e44ad;
}

.shareca-guide-overlay {
    position: fixed;
    inset: 0;
    z-index: 2080;
    width: 100vw;
    height: 100dvh;
    padding: 0;
    background: rgba(16, 24, 40, 0.58);
    border: 0;
    cursor: pointer;
}

.shareca-guide-highlight {
    position: relative !important;
    z-index: 2090 !important;
    background: #fff !important;
    outline: 3px solid #aaf0d7 !important;
    outline-offset: 3px;
    border-radius: 0.5rem;
    box-shadow: 0 0 0 9999px rgba(16, 24, 40, 0.02), 0 1rem 2rem rgba(16, 24, 40, 0.3) !important;
}

.shareca-guide-callout {
    position: fixed;
    z-index: 2100;
    display: grid;
    gap: 0.3rem;
    max-width: calc(100vw - 1.5rem);
    padding: 0.75rem 2.1rem 0.8rem 0.85rem;
    color: #1f2937;
    background: #fff;
    border: 1px solid #8fd8bf;
    border-radius: 0.5rem;
    box-shadow: 0 1rem 2rem rgba(16, 24, 40, 0.22);
}

.shareca-guide-callout strong {
    font-size: 0.92rem;
    line-height: 1.15;
}

.shareca-guide-callout span {
    color: #475467;
    font-size: 0.82rem;
    line-height: 1.3;
}

.shareca-guide-close {
    position: absolute;
    top: 0.35rem;
    right: 0.4rem;
    display: grid;
    place-items: center;
    width: 1.45rem;
    height: 1.45rem;
    padding: 0;
    color: #475467;
    background: transparent;
    border: 0;
    border-radius: 0.35rem;
    line-height: 1;
}

.shareca-guide-close:hover,
.shareca-guide-close:focus {
    color: #1f2937;
    background: #f2f4f7;
}

a, .btn-link {
    color: #aaf0d7;
}

.identity-account-links a {
    color: #6f3f7a;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.identity-account-links a:hover,
.identity-account-links a:focus {
    color: #4c1d5f;
}

.identity-login-page {
    row-gap: 1.5rem;
}

.identity-external-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

@media (max-width: 767.98px) {
    .identity-login-page > [class*="col-"] {
        width: 100%;
    }

    .identity-login-page section {
        max-width: 100%;
    }

    .identity-external-buttons .btn {
        width: 100%;
        justify-content: center;
    }
}

.btn-primary {
    color: #fff;
    background-color: #aaf0d7;
    border-color: #aaf0d7;
}

.btn-primary:hover {
    color: #fff;
    background-color: #E5a9f7;
    border-color: #E5a9f7;
}

.btn-icon-action {
    display: inline-grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    color: #475467;
    background: transparent;
    border: 0;
    border-radius: 0.35rem;
    line-height: 1;
}

.btn-icon-action:hover,
.btn-icon-action:focus {
    color: #1f2937;
    background: #f2f4f7;
}

.btn-icon-action.text-danger {
    color: #b42318 !important;
}

.btn-icon-action.text-danger:hover,
.btn-icon-action.text-danger:focus {
    color: #912018 !important;
    background: #fff1f0;
}

.btn-icon-action .bi {
    font-size: 1rem;
    line-height: 1;
}

.btn-success,
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    color: #fff !important;
    background-color: #E5a9f7 !important;
    border-color: #E5a9f7 !important;
}

.btn-outline-success,
.btn-outline-primary {
    color: #fff !important;
    background-color: #E5a9f7 !important;
    border-color: #E5a9f7 !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    color: #fff !important;
    background-color: #d991ef !important;
    border-color: #d991ef !important;
}

.btn-warning,
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active {
    color: #fff !important;
    background-color: #667085 !important;
    border-color: #667085 !important;
}

.btn-outline-warning {
    color: #475467 !important;
    background-color: #fff !important;
    border-color: #98a2b3 !important;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    color: #fff !important;
    background-color: #475467 !important;
    border-color: #475467 !important;
}

.btn-success:disabled,
.btn-outline-success:disabled,
.btn-warning:disabled,
.btn-outline-warning:disabled,
.btn-outline-primary:disabled {
    color: #98a2b3 !important;
    background-color: #f8fafc !important;
    border-color: #d0d5dd !important;
}

.bb-top-row {
    z-index: 1000;
}

body:not(.shareca-calendar-page-active) .bb-page {
    min-height: 100dvh;
}

body:not(.shareca-calendar-page-active) main,
body:not(.shareca-calendar-page-active) .main,
body:not(.shareca-calendar-page-active) .bb-main {
    height: auto !important;
    min-height: 100dvh;
}

.modal-backdrop {
    z-index: 2000 !important;
}

.modal {
    z-index: 2010 !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 #aaf0d7;
}

.content {
    padding-top: 1.1rem;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
}

.content:has(.calendar-page) {
    overflow: hidden;
}

.event-schedule-options {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.65rem;
    margin: 0.65rem 0 1rem;
}

.event-schedule-options .form-check {
    display: grid;
    grid-template-columns: minmax(4.2rem, 30%) minmax(0, 1fr);
    align-items: center;
    column-gap: 0.55rem;
    min-width: 0;
    margin: 0;
    padding-left: 0;
}

.event-schedule-options .form-check-input {
    flex: 0 0 auto;
    margin: 0;
}

.event-schedule-options .form-check-label {
    min-width: 0;
    line-height: 1.2;
}

.event-repeat-control {
    display: grid;
    grid-template-columns: minmax(4.2rem, 30%) minmax(0, 1fr);
    align-items: center;
    column-gap: 0.55rem;
    min-width: 0;
}

.repeat-icon-label {
    justify-self: start;
    margin: 0;
    color: #475467;
    font-size: 1.65rem;
    line-height: 1;
}

.event-repeat-control .form-select {
    min-width: 0;
    width: 100%;
}

.event-all-day-checkbox {
    width: 1.35rem;
    height: 1.35rem;
}

.event-all-day-check .form-check-label {
    align-self: center;
}

.event-schedule-options .event-all-day-check {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    gap: 0.45rem;
}

.event-repeat-control .validation-message {
    grid-column: 2;
}

.event-calendar-sync-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: nowrap;
    min-width: 0;
    margin-bottom: 0.65rem;
    overflow-x: auto;
}

.event-calendar-sync-title {
    color: #475467;
    font-size: 0.92rem;
    white-space: nowrap;
}

.event-calendar-sync-option {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin: 0;
    color: #111827;
    cursor: pointer;
    white-space: nowrap;
}

.event-calendar-sync-option .form-check-input {
    margin: 0;
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 auto;
}

.event-calendar-sync-option svg {
    display: block;
    width: 1.3rem;
    height: 1.3rem;
    flex: 0 0 auto;
}

.event-calendar-sync-option:has(.form-check-input:disabled) {
    cursor: not-allowed;
    opacity: 0.48;
}

.share-email-field {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.share-email-field > .form-control {
    width: 100%;
}

.share-email-suggestions {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.3rem);
    left: 0;
    z-index: 1085;
    display: grid;
    max-height: min(13rem, 42dvh);
    overflow-y: auto;
    padding: 0.25rem;
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 0.45rem;
    box-shadow: 0 0.85rem 1.7rem rgba(16, 24, 40, 0.2);
}

.share-email-suggestions button {
    display: grid;
    gap: 0.08rem;
    width: 100%;
    padding: 0.42rem 0.5rem;
    color: #1f2937;
    background: transparent;
    border: 0;
    border-radius: 0.3rem;
    text-align: left;
}

.share-email-suggestions button:hover,
.share-email-suggestions button:focus {
    background: rgba(170, 240, 215, 0.24);
}

.share-email-suggestions span {
    font-weight: 700;
    line-height: 1.15;
}

.share-email-suggestions small {
    color: #667085;
    line-height: 1.15;
}

@media (min-width: 768px) {
    .modal-body > .event-date-range-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 0.7rem;
        margin-bottom: 0.42rem;
    }

    .modal-body > .event-date-range-row > .mb-3 {
        display: grid;
        grid-template-columns: minmax(4.2rem, 30%) minmax(0, 1fr);
        align-items: center;
        column-gap: 0.55rem;
        margin-bottom: 0 !important;
    }

    .modal-body > .event-date-range-row > .mb-3 > .form-label {
        margin-bottom: 0;
        color: #475467;
        font-size: 11px;
    }

    .modal-body > .event-date-range-row > .mb-3:nth-child(2) > .form-label {
        justify-self: end;
        text-align: right;
    }

    .modal-body > .event-date-range-row > .mb-3 > .validation-message {
        grid-column: 2;
    }

    .modal-body > .event-schedule-options {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 0.7rem;
    }

    .modal-body > .event-schedule-options > .event-all-day-check {
        grid-column: 2;
        justify-self: end;
    }
}

.shareca-user-menu {
    position: fixed;
    top: calc((6rem - 2.35rem) / 2);
    right: max(0.9rem, env(safe-area-inset-right));
    z-index: 1025;
}

.shareca-theme-toggle {
    position: fixed;
    top: calc((6rem - 2.35rem) / 2);
    right: calc(max(0.9rem, env(safe-area-inset-right)) + 6rem);
    z-index: 1026;
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    color: #344054;
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 999px;
    box-shadow: 0 0.25rem 0.65rem rgba(16, 24, 40, 0.12);
    line-height: 1;
}

.shareca-theme-toggle:hover,
.shareca-theme-toggle:focus,
.shareca-theme-toggle[aria-pressed="true"] {
    color: #1f2937;
    background: #f8e8ff;
    border-color: #d991ef;
}

.shareca-theme-toggle .bi {
    font-size: 1.35rem;
    line-height: 1;
}

.shareca-user-menu > details {
    position: relative;
}

.shareca-user-menu > details > summary {
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    color: #344054;
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 999px;
    box-shadow: 0 0.25rem 0.65rem rgba(16, 24, 40, 0.12);
    cursor: pointer;
    list-style: none;
}

.shareca-user-menu summary::-webkit-details-marker {
    display: none;
}

.shareca-user-menu > details > summary:hover,
.shareca-user-menu > details > summary:focus {
    color: #1f2937;
    background: #f8e8ff;
    border-color: #d991ef;
}

.shareca-user-menu > details > summary .bi {
    font-size: 1.45rem;
    line-height: 1;
}

.shareca-user-menu nav {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    display: grid;
    min-width: 10.5rem;
    padding: 0.35rem;
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 0.5rem;
    box-shadow: 0 0.8rem 1.5rem rgba(16, 24, 40, 0.16);
}

.shareca-user-menu nav a {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
    color: #344054;
    border-radius: 0.35rem;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.shareca-user-menu-action {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.55rem 0.65rem;
    color: #344054;
    background: transparent;
    border: 0;
    border-radius: 0.35rem;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
    white-space: nowrap;
}

.shareca-user-menu nav a:hover,
.shareca-user-menu nav a:focus,
.shareca-user-menu nav a.active,
.shareca-user-menu-action:hover,
.shareca-user-menu-action:focus {
    color: #1f2937;
    background: rgba(170, 240, 215, 0.22);
}

.shareca-delegate-help {
    color: #667085;
    margin-bottom: 0.9rem;
}

.shareca-delegate-permissions {
    display: grid;
    gap: 0.5rem;
}

.shareca-delegate-permission {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid #e3e8ef;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
}

.shareca-delegate-permission:hover,
.shareca-delegate-permission.active {
    border-color: #7ecbb5;
    background: #f0fbf7;
}

.shareca-delegate-permission input {
    margin-top: 0.25rem;
}

.shareca-delegate-permission span {
    display: grid;
    min-width: 0;
}

.shareca-delegate-permission small {
    color: #667085;
    margin-top: 0.15rem;
}

.shareca-delegate-list {
    display: grid;
    gap: 0.5rem;
    margin-top: 1rem;
}

.shareca-delegate-list h6 {
    margin: 0;
    font-weight: 700;
}

.shareca-delegate-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid #e3e8ef;
    border-radius: 6px;
    background: #fff;
}

.shareca-delegate-row > div {
    display: grid;
    min-width: 0;
}

.shareca-delegate-row strong,
.shareca-delegate-row small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shareca-delegate-row small {
    color: #667085;
}

.shareca-user-documents {
    display: grid;
}

.shareca-user-documents summary {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
    color: #344054;
    border-radius: 0.35rem;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
}

.shareca-user-documents summary:hover,
.shareca-user-documents summary:focus {
    color: #1f2937;
    background: rgba(170, 240, 215, 0.22);
}

.shareca-user-documents summary::after {
    content: "\F282";
    margin-left: auto;
    font-family: "bootstrap-icons";
    font-size: 0.72rem;
    line-height: 1;
}

.shareca-user-documents[open] summary::after {
    content: "\F286";
}

.shareca-user-document-links {
    display: grid;
    gap: 0.1rem;
    padding: 0.1rem 0 0.25rem 1.85rem;
}

.shareca-user-menu nav .shareca-user-document-links a {
    padding-block: 0.42rem;
    font-size: 0.84rem;
    font-weight: 600;
}

.profile-page .profile-form .form-control,
.profile-page .profile-form .form-select,
.profile-page .profile-form input,
.profile-page .profile-form select,
.profile-page .profile-form textarea {
    font-size: 11px !important;
}

.modal .modal-body,
.modal .modal-footer,
.modal .form-label,
.modal .form-check-label,
.modal .form-text,
.modal .form-control,
.modal .form-select,
.modal input,
.modal select,
.modal textarea,
.modal button,
.calendar-container .form-control,
.calendar-container .form-select,
.calendar-container input,
.calendar-container select,
.calendar-container textarea,
.events-page .form-control,
.events-page .form-select,
.events-page input,
.events-page select,
.events-page textarea,
.contacts-page .form-control,
.contacts-page .form-select,
.contacts-page input,
.contacts-page select,
.contacts-page textarea,
.loved-page .form-control,
.loved-page .form-select,
.loved-page input,
.loved-page select,
.loved-page textarea,
.gifts-page .form-control,
.gifts-page .form-select,
.gifts-page input,
.gifts-page select,
.gifts-page textarea,
.profile-page .form-control,
.profile-page .form-select,
.profile-page input,
.profile-page select,
.profile-page textarea {
    font-size: 11px !important;
}

@media (min-width: 576px) {
    .modal .modal-dialog {
        max-width: min(38rem, calc(100vw - 2rem));
    }

    .modal .modal-body,
    .modal .modal-footer,
    .modal .form-label,
    .modal .form-check-label,
    .modal .form-text,
    .modal .form-control,
    .modal .form-select,
    .modal input,
    .modal select,
    .modal textarea,
    .modal button {
        font-size: 0.92rem !important;
    }

    .modal .modal-body > .mb-3 > .form-label,
    .modal .modal-body > .row > .col-md-6 > .mb-3 > .form-label,
    .modal .repeat-text-label,
    .modal .event-calendar-sync-title {
        font-size: 0.92rem !important;
    }
}

@media (min-width: 768px) {
    .modal-body > .event-date-range-row {
        gap: 0.85rem;
    }

    .modal-body > .event-date-range-row > .mb-3 {
        grid-template-columns: minmax(3.9rem, 26%) minmax(9.4rem, 1fr);
        column-gap: 0.45rem;
    }

    .modal-body > .event-date-range-row .date-time-text-input :is(.form-control, .btn) {
        font-size: 0.84rem !important;
    }
}

.bb-sidebar2 .bb-sidebar2-top-row {
    height: 6rem !important;
    background-color: #fff !important;
    border-right-color: #e6e8ec !important;
    border-bottom-color: #e6e8ec !important;
}

.bb-sidebar2 .navbar-toggler {
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    padding: 0 !important;
}

.bb-sidebar2 .navbar-brand {
    position: relative;
    display: inline-flex;
    align-items: flex-start;
    padding: 0.25rem 1rem 0.25rem 0.15rem;
}

.bb-sidebar2 .navbar-brand-image {
    height: 5rem !important;
}

.bb-sidebar2 .navbar-brand-image img {
    width: auto !important;
    height: 5rem !important;
    max-width: 9.5rem;
    object-fit: contain;
}

body.shareca-dark-mode .bb-sidebar2 .navbar-brand-image img {
    content: url("/logo_black.png");
}

body.shareca-dark-mode .bb-sidebar2 .bb-sidebar2-top-row,
body.shareca-dark-mode .bb-sidebar2 .navbar-brand,
body.shareca-dark-mode .bb-sidebar2 nav {
    background-color: #050505 !important;
}

.bb-sidebar2 .navbar-brand-badge {
    position: absolute;
    top: 0.45rem;
    right: 0.15rem;
    padding: 0.12rem 0.28rem;
    font-size: 0.5rem;
    line-height: 1;
    color: #475467 !important;
    background-color: #fff !important;
    border: 1px solid #d0d5dd;
    border-radius: 0.25rem;
    letter-spacing: 0;
}

.bb-sidebar2 .shareca-invitations-link {
    position: relative;
}

.bb-sidebar2 .shareca-invitations-badge {
    position: absolute;
    top: 0.15rem;
    left: 1.55rem;
    display: inline-grid;
    place-items: center;
    min-width: 1.05rem;
    height: 1.05rem;
    padding: 0 0.25rem;
    color: #fff;
    background: #dc3545;
    border: 2px solid #fff;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 1px 4px rgba(16, 24, 40, 0.25);
    pointer-events: none;
}

.shareca-sidebar-install {
    position: absolute;
    left: 0.45rem;
    right: 0.45rem;
    bottom: 0.45rem;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: auto;
    min-height: 2.35rem;
    margin: 0;
    padding: 0.3rem 0.5rem;
    color: #1f2937;
    background: linear-gradient(135deg, #ffffff 0%, #e8fff6 100%);
    border: 1px solid #8fd8bf;
    border-radius: 0.5rem;
    box-shadow: 0 0.45rem 1rem rgba(16, 24, 40, 0.12);
    font-weight: 700;
    font-size: 0.78rem;
    text-align: left;
}

.shareca-sidebar-push {
    position: absolute;
    left: 0.45rem;
    right: 0.45rem;
    bottom: 3.15rem;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: auto;
    min-height: 2.35rem;
    margin: 0;
    padding: 0.3rem 0.5rem;
    color: #1f2937;
    background: #ffffff;
    border: 1px solid #d0d5dd;
    border-radius: 0.5rem;
    box-shadow: 0 0.35rem 0.85rem rgba(16, 24, 40, 0.1);
    font-weight: 700;
    font-size: 0.78rem;
    text-align: left;
}

.shareca-sidebar-push:hover,
.shareca-sidebar-push:focus {
    background: #f8e8ff;
    border-color: #d991ef;
}

.shareca-sidebar-push .bi {
    flex: 0 0 auto;
    font-size: 1rem;
}

.shareca-sidebar-push span {
    min-width: 0;
    overflow-wrap: anywhere;
    line-height: 1.15;
}

.shareca-sidebar-install:hover,
.shareca-sidebar-install:focus {
    background: linear-gradient(135deg, #ffffff 0%, #f8e8ff 100%);
    border-color: #d991ef;
}

.shareca-sidebar-install img {
    flex: 0 0 auto;
    width: 1.65rem;
    height: 1.65rem;
    object-fit: contain;
}

.shareca-sidebar-install span {
    min-width: 0;
    overflow-wrap: anywhere;
    line-height: 1.15;
}

.shareca-sidebar-install[hidden] {
    display: none !important;
}

.shareca-pwa-install-help {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    z-index: 2050;
    display: grid;
    gap: 0.35rem;
    max-width: min(24rem, calc(100vw - 2rem));
    padding: 0.85rem 2.25rem 0.9rem 1rem;
    color: #1f2937;
    background: #ffffff;
    border: 1px solid #d0d5dd;
    border-radius: 0.5rem;
    box-shadow: 0 0.6rem 1.5rem rgba(16, 24, 40, 0.18);
    font-weight: 600;
}

.shareca-pwa-install-help strong {
    line-height: 1.2;
}

.shareca-pwa-install-help span {
    color: #475467;
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.35;
}

.shareca-pwa-install-help-close {
    position: absolute;
    top: 0.35rem;
    right: 0.45rem;
    width: 1.65rem;
    height: 1.65rem;
    color: #475467;
    background: transparent;
    border: 0;
    border-radius: 0.35rem;
    font-weight: 700;
    line-height: 1;
}

.shareca-pwa-install-help-close:hover,
.shareca-pwa-install-help-close:focus {
    color: #1f2937;
    background: #f2f4f7;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.required-label::after {
    content: " *";
    color: #dc3545;
    font-weight: 700;
}

.ai-formatted-text {
    white-space: normal;
}

.ai-formatted-paragraph {
    margin: 0 0 0.65rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.ai-formatted-paragraph:last-child {
    margin-bottom: 0;
}

.ai-formatted-text strong {
    font-weight: 700;
}

.ai-formatted-text a {
    color: #175cd3;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

body.shareca-dark-mode .ai-formatted-text a {
    color: #93c5fd;
}

.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;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

@media (max-width: 1199.98px) {
    .bb-sidebar2 {
        position: static;
        z-index: 1060;
        max-height: 100dvh;
        overflow: visible;
        background: #fff;
        overscroll-behavior: contain;
    }

    .bb-sidebar2 .collapse,
    .bb-sidebar2 .collapsing,
    .bb-sidebar2 .navbar-collapse {
        position: fixed;
        top: calc(3.75rem + 0.35rem);
        right: 0;
        left: 0;
        z-index: 1061;
        max-height: calc(100dvh - 4.1rem);
        overflow-y: auto;
        padding-top: 0.25rem;
        background: #fff;
        box-shadow: 0 0.65rem 1rem rgba(16, 24, 40, 0.12);
        overscroll-behavior: contain;
    }

    body.shareca-mobile-sidebar-closed .bb-sidebar2 .collapse,
    body.shareca-mobile-sidebar-closed .bb-sidebar2 .collapsing,
    body.shareca-mobile-sidebar-closed .bb-sidebar2 .navbar-collapse,
    body.shareca-mobile-sidebar-closed .bb-sidebar2 nav {
        display: none !important;
    }

    .modal .modal-body,
    .modal .modal-footer,
    .modal .form-label,
    .modal .form-check-label,
    .modal .form-text,
    .modal .form-control,
    .modal .form-select,
    .modal input,
    .modal select,
    .modal textarea,
    .modal button,
    .calendar-container .form-control,
    .calendar-container .form-select,
    .calendar-container input,
    .calendar-container select,
    .calendar-container textarea,
    .events-page .form-control,
    .events-page .form-select,
    .events-page input,
    .events-page select,
    .events-page textarea,
    .contacts-page .form-control,
    .contacts-page .form-select,
    .contacts-page input,
    .contacts-page select,
    .contacts-page textarea,
    .loved-page .form-control,
    .loved-page .form-select,
    .loved-page input,
    .loved-page select,
    .loved-page textarea,
    .gifts-page .form-control,
    .gifts-page .form-select,
    .gifts-page input,
    .gifts-page select,
    .gifts-page textarea,
    .profile-page .form-control,
    .profile-page .form-select,
    .profile-page input,
    .profile-page select,
    .profile-page textarea {
        font-size: 12px !important;
    }

    body :is(.events-page, .contacts-page, .loved-page, .gifts-page, .tasks-page, .category-page, .relations-page, .admin-users-page)
        :is(.events-empty, .event-row-title, .event-row-meta, .event-row-description, .events-count, .event-month-divider, .contacts-empty, .contacts-import-note, .contact-name, .contact-meta, .contact-details, .loved-card-header h5, .loved-meta, .loved-category, .event h6, .event p, .gift-idea-history-row, .gift-tool strong, .gift-tool small, .greeting-preview p, .greeting-preview span, .greeting-recipient, .tasks-sync-note, .task-title, .task-details, .task-notes, .category-title, .category-meta, .relation-title, .relation-meta, .admin-user-name, .admin-user-meta) {
        font-size: 0.92rem !important;
    }

    .shareca-user-menu {
        top: calc((3.75rem - 2.35rem) / 2);
        right: calc(max(0.75rem, env(safe-area-inset-right)) + 2.95rem);
        left: auto;
        z-index: 1072;
    }

    .shareca-theme-toggle {
        top: calc((3.75rem - 2.35rem) / 2);
        right: calc(max(0.75rem, env(safe-area-inset-right)) + 5.9rem);
        left: auto;
        z-index: 1073;
    }

    body.shareca-calendar-page-active .agent-chat-widget,
    body.shareca-shell-page-active .agent-chat-widget,
    .agent-chat-widget {
        top: calc((3.75rem - 2.35rem) / 2);
        right: calc(max(0.75rem, env(safe-area-inset-right)) + 8.85rem);
        left: auto;
        z-index: 1074;
    }

    body.shareca-calendar-page-active .calendar-toolbar {
        padding-right: 0.5rem !important;
    }

    body.shareca-calendar-page-active .calendar-container {
        height: calc(100dvh - 3.75rem) !important;
        max-height: calc(100dvh - 3.75rem) !important;
        margin-top: 3.75rem;
    }

    body.shareca-calendar-page-active .bb-sidebar2,
    body.shareca-shell-page-active .bb-sidebar2 {
        position: static;
        z-index: 1060;
        max-height: 100dvh;
        overflow: visible;
        background: #fff;
        overscroll-behavior: contain;
    }

    body.shareca-calendar-page-active .bb-sidebar2 .collapse,
    body.shareca-calendar-page-active .bb-sidebar2 .collapsing,
    body.shareca-calendar-page-active .bb-sidebar2 .navbar-collapse,
    body.shareca-shell-page-active .bb-sidebar2 .collapse,
    body.shareca-shell-page-active .bb-sidebar2 .collapsing,
    body.shareca-shell-page-active .bb-sidebar2 .navbar-collapse {
        position: fixed;
        top: calc(3.75rem + 0.35rem);
        right: 0;
        left: 0;
        z-index: 1061;
        max-height: calc(100dvh - 4.1rem);
        overflow-y: auto;
        padding-top: 0.25rem;
        background: #fff;
        box-shadow: 0 0.65rem 1rem rgba(16, 24, 40, 0.12);
        overscroll-behavior: contain;
    }

    .event-schedule-options {
        grid-template-columns: auto minmax(6.6rem, 1fr) auto max-content;
        align-items: center;
        gap: 0.35rem;
    }

    .event-schedule-options .event-repeat-control,
    .event-schedule-options.event-schedule-options .event-all-day-check {
        display: contents;
    }

    .event-schedule-options .repeat-icon-label {
        grid-column: 1;
        justify-self: start;
    }

    .event-schedule-options .event-repeat-control .form-select {
        grid-column: 2;
        width: 100%;
    }

    .event-schedule-options .event-all-day-checkbox {
        grid-column: 3;
        justify-self: end;
    }

    .event-schedule-options .event-all-day-check .form-check-label {
        grid-column: 4;
        white-space: nowrap;
    }

    .shareca-user-menu nav {
        right: 0;
        left: auto;
    }

    .shareca-sidebar-install {
        position: fixed;
        left: max(0.75rem, env(safe-area-inset-left));
        right: auto;
        bottom: max(0.8rem, env(safe-area-inset-bottom));
        z-index: 70;
        width: min(12.25rem, calc(100vw - 6.5rem));
        margin: 0;
        min-height: 2.7rem;
        padding: 0.35rem 0.55rem;
        gap: 0.5rem;
        font-size: 0.86rem;
    }

    .shareca-sidebar-install img {
        width: 1.75rem;
        height: 1.75rem;
    }

    .shareca-sidebar-push {
        position: fixed;
        left: max(0.75rem, env(safe-area-inset-left));
        right: auto;
        bottom: calc(max(0.8rem, env(safe-area-inset-bottom)) + 3.25rem);
        z-index: 70;
        width: min(12.25rem, calc(100vw - 6.5rem));
        min-height: 2.55rem;
        padding: 0.35rem 0.55rem;
        gap: 0.5rem;
        font-size: 0.86rem;
    }

    .shareca-pwa-install-help {
        left: 1rem;
        right: 1rem;
        bottom: calc(max(1rem, env(safe-area-inset-bottom)) + 4.5rem);
        max-width: none;
    }

    .bb-sidebar2 .bb-sidebar2-top-row {
        height: 3.75rem !important;
        min-height: 3.75rem !important;
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1070;
        overflow: visible;
        background: #fff !important;
        border-bottom: 1px solid #d0d5dd !important;
        box-shadow: 0 0.18rem 0.5rem rgba(16, 24, 40, 0.08);
    }

    .bb-main {
        padding-top: 3.75rem;
    }

    body.shareca-shell-page-active:not(.shareca-calendar-page-active) .bb-main {
        padding-top: 0;
    }

    body.shareca-shell-page-active:not(.shareca-calendar-page-active) .content {
        padding-top: calc(3.75rem + 1.1rem);
    }

    .bb-sidebar2 .navbar-toggler {
        display: inline-grid !important;
        position: fixed;
        top: calc((3.75rem - 2.35rem) / 2);
        left: max(0.75rem, env(safe-area-inset-left));
        z-index: 1075;
    }

    .bb-sidebar2 .navbar-brand {
        margin-left: 3.15rem;
        padding: 0.2rem 0.75rem 0.2rem 0.35rem;
        max-width: calc(100vw - 15.25rem);
        min-width: 0;
        overflow: hidden;
    }

    .bb-sidebar2 .navbar-brand-image,
    .bb-sidebar2 .navbar-brand-image img {
        height: 3rem !important;
    }

    .bb-sidebar2 .navbar-brand-image img {
        max-width: 6.25rem;
    }

    .bb-sidebar2 .navbar-brand-badge {
        top: 0.25rem;
        right: 0;
    }

    .bb-sidebar2 nav {
        margin-top: 3.75rem;
        padding-top: 0.75rem !important;
        scroll-padding-top: 0.75rem;
    }

    .bb-sidebar2 .collapse nav,
    .bb-sidebar2 .collapsing nav,
    .bb-sidebar2 .navbar-collapse nav {
        margin-top: 0;
    }
}

body.shareca-dark-mode {
    color: #e5e7eb;
    background: #0f172a;
    color-scheme: dark;
}

body.shareca-dark-mode .bb-layout,
body.shareca-dark-mode .bb-page,
body.shareca-dark-mode .bb-main,
body.shareca-dark-mode main,
body.shareca-dark-mode .content {
    color: #e5e7eb;
    background: #0f172a !important;
}

body.shareca-dark-mode :is(h1, h2, h3, h4, h5, h6, p, label, strong, .contact-name, .event-row-title, .admin-user-name, .category-title, .relation-title, .loved-card-header h5, .gift-tool strong, .event-card-title) {
    color: #f8fafc;
}

body.shareca-dark-mode :is(.text-muted, small, .small, .form-text, .legal-footer, .legal-footer a, .contacts-empty, .contacts-import-note, .contact-meta, .contact-details, .event-row-meta, .event-row-description, .admin-user-meta, .category-meta, .loved-meta, .gift-tool small, .profile-form label, .modal-body > .mb-3 > .form-label, .repeat-text-label, .event-calendar-sync-title) {
    color: #cbd5e1 !important;
}

body.shareca-dark-mode :is(.bb-sidebar2, .bb-sidebar2 .bb-sidebar2-top-row, .bb-sidebar2 .collapse, .bb-sidebar2 .collapsing, .bb-sidebar2 .navbar-collapse, .shareca-user-menu summary, .shareca-user-menu nav, .shareca-theme-toggle, .modal-content, .dropdown-menu, .page-info-toggle, .page-info-panel, .shareca-guide-highlight, .shareca-guide-callout) {
    color: #e5e7eb !important;
    background: #111827 !important;
    border-color: #334155 !important;
}

body.shareca-dark-mode .bb-sidebar2 {
    --bb-sidebar2-nav-item-text-hover-color: #f8fafc;
    --bb-sidebar2-nav-item-text-active-color: #f8fafc;
    --bb-sidebar2-nav-item-background-hover-color: rgba(229, 169, 247, 0.16);
    --bb-sidebar2-nav-item-group-background-color: rgba(229, 169, 247, 0.16);
    background: #050505 !important;
    border-color: #050505 !important;
}

body.shareca-dark-mode .bb-sidebar2,
body.shareca-dark-mode .bb-sidebar2 :is(.bb-sidebar2-top-row, .navbar, .navbar-brand, .navbar-brand-image, .navbar-collapse, .collapse, .collapsing, .sidebar-middle-toggle, nav, ul, li) {
    background: #050505 !important;
    background-color: #050505 !important;
    border-color: #050505 !important;
}

body.shareca-dark-mode .bb-sidebar2 nav .nav-item a:not(.active):not(:hover):not(:focus) {
    background: transparent !important;
    background-color: transparent !important;
}

body.shareca-dark-mode .bb-sidebar2 nav .nav-item a {
    color: #e5e7eb !important;
}

body.shareca-dark-mode .bb-sidebar2 nav .nav-item a.active,
body.shareca-dark-mode .bb-sidebar2 nav .nav-item a:hover,
body.shareca-dark-mode .shareca-user-menu nav a:hover,
body.shareca-dark-mode .shareca-user-menu nav a:focus,
body.shareca-dark-mode .shareca-user-menu nav a.active,
body.shareca-dark-mode .shareca-user-menu-action:hover,
body.shareca-dark-mode .shareca-user-menu-action:focus,
body.shareca-dark-mode .shareca-theme-toggle:hover,
body.shareca-dark-mode .shareca-theme-toggle:focus,
body.shareca-dark-mode .shareca-theme-toggle[aria-pressed="true"] {
    color: #f8fafc !important;
    background: rgba(229, 169, 247, 0.16) !important;
}

body.shareca-dark-mode :is(.shareca-user-menu nav a, .shareca-user-menu-action, .shareca-user-menu summary, .shareca-theme-toggle, .btn-icon-action, .page-info-toggle) {
    color: #e5e7eb;
}

body.shareca-dark-mode :is(.bg-white, .bg-light) {
    background-color: #111827 !important;
}

body.shareca-dark-mode :is(.date-time-picker, .date-time-picker-menu, .date-picker-menu, .agent-chat-toggle, .agent-chat-panel, .agent-chat-panel header, .agent-chat-message, .agent-chat-input textarea, .loved, .gift-tool, .greeting-panel, .greeting-form, .greeting-preview, .gift-idea-panel, .flowers-panel, .flower-result-item, .contact-card, .contact-group-card, .contacts-import-note, .tasks-sync-note, .event-row, .admin-user-card, .category-card, .relation-card, .profile-status-badge, .profile-section, .profile-form .form-control, .profile-form .form-select, .share-email-suggestions, .calendar-filter-option, .shareca-delegate-permission, .shareca-delegate-row) {
    color: #e5e7eb !important;
    background: #111827 !important;
    border-color: #334155 !important;
}

body.shareca-dark-mode .events-page .event-row-date {
    color: #f8fafc !important;
    background: linear-gradient(135deg, rgba(170, 240, 215, 0.24), rgba(229, 169, 247, 0.2)) !important;
    border: 1px solid rgba(170, 240, 215, 0.38) !important;
    box-shadow: inset 0 0 0 1px rgba(248, 250, 252, 0.04) !important;
}

body.shareca-dark-mode .events-page .event-row-date small {
    color: #c7f5e4 !important;
}

body.shareca-dark-mode .agent-chat-messages {
    background: #0f172a !important;
}

body.shareca-dark-mode .agent-chat-message.assistant {
    color: #f8fafc !important;
    background: #0b1220 !important;
    border-color: #475569 !important;
}

body.shareca-dark-mode .agent-chat-message.user {
    color: #052e22 !important;
    background: #aaf0d7 !important;
    border-color: #74c7ac !important;
}

body.shareca-dark-mode :is(.form-control, .form-select, input, textarea, select, .input-group-text) {
    color: #f8fafc !important;
    background-color: #0b1220 !important;
    border-color: #334155 !important;
}

body.shareca-dark-mode :is(.form-control, .form-select, input, textarea, select)::placeholder {
    color: #94a3b8 !important;
}

body.shareca-dark-mode .share-email-suggestions button {
    color: #f8fafc;
}

body.shareca-dark-mode .share-email-suggestions small {
    color: #aab8cc;
}

body.shareca-dark-mode :is(.btn-outline-secondary, .btn-outline-warning, .btn-outline-danger) {
    color: #e5e7eb !important;
    background-color: #111827 !important;
    border-color: #475569 !important;
}

body.shareca-dark-mode :is(.btn-outline-secondary, .btn-outline-warning, .btn-outline-danger):hover,
body.shareca-dark-mode :is(.btn-outline-secondary, .btn-outline-warning, .btn-outline-danger):focus {
    color: #f8fafc !important;
    background-color: #1f2937 !important;
}

body.shareca-dark-mode :is(.table, .modal, .month-view-grid, .day-view-grid, .week-view-grid) {
    color: #e5e7eb;
    border-color: #334155;
}

body.shareca-dark-mode :is(.border, .border-bottom, .border-start, .border-end, .border-top, hr) {
    border-color: #334155 !important;
}

body.shareca-dark-mode .event-card:not(.shared-event) {
    color: #111827;
}

body.shareca-dark-mode .bb-sidebar2 nav .nav-item a[href="/"] .bi::before {
    background: #111827;
}

body.shareca-dark-mode .calendar-container {
    background: #0f172a !important;
    border-color: #1e293b !important;
}

body.shareca-dark-mode :is(.calendar-header, .calendar-toolbar, .calendar-content, .calendar-body, .calendar-day-summary) {
    background: #0f172a !important;
    border-color: #1e293b !important;
}

body.shareca-dark-mode :is(.grid-header, .all-day-row, .time-grid, .month-view-grid, .day-view-grid, .week-view-grid) {
    background: #1e293b !important;
    border-color: #1e293b !important;
}

body.shareca-dark-mode :is(.day-header, .week-day-header, .time-column, .time-labels-col, .month-cell, .all-day-event-row, .calendar-filter-top-cell, .calendar-day-top-spacer, .time-slot) {
    background: #0f172a !important;
    border-color: #1e293b !important;
}

body.shareca-dark-mode :is(.all-day-label, .time-labels-col::before) {
    background: #0f172a !important;
    border-color: #1e293b !important;
}

body.shareca-dark-mode .calendar-filter-button {
    color: #cbd5e1 !important;
    background: transparent !important;
    border-color: transparent !important;
}

body.shareca-dark-mode .calendar-filter-button:hover,
body.shareca-dark-mode .calendar-filter-button:focus,
body.shareca-dark-mode .calendar-filter-button.active {
    color: #e6fff5 !important;
    background: rgba(170, 240, 215, 0.16) !important;
    border-color: rgba(170, 240, 215, 0.42) !important;
}

body.shareca-dark-mode .calendar-filter-option:hover,
body.shareca-dark-mode .calendar-filter-option.active {
    background: #172033 !important;
    border-color: rgba(170, 240, 215, 0.45) !important;
}

body.shareca-dark-mode .calendar-filter-option-icon {
    color: #c7f5e4 !important;
    background: rgba(170, 240, 215, 0.14) !important;
}

body.shareca-dark-mode :is(.shareca-delegate-help, .shareca-delegate-permission small, .shareca-delegate-row small) {
    color: #cbd5e1 !important;
}

body.shareca-dark-mode :is(.shareca-delegate-permission:hover, .shareca-delegate-permission.active) {
    background: #172033 !important;
    border-color: rgba(170, 240, 215, 0.45) !important;
}

body.shareca-dark-mode :is(.month-cell:hover, .time-slot:hover, .hour-slot:hover) {
    background: #172033 !important;
}

body.shareca-dark-mode :is(.day-name, .time-label, .time-label-cell, .hour-label, .all-day-label, .month-day-number, .holiday, .name-day) {
    color: #cbd5e1 !important;
}

body.shareca-dark-mode :is(.day-number, .date-range-label, .month-day-header, .week-day-header) {
    color: #f8fafc !important;
}

body.shareca-dark-mode .calendar-day-summary,
body.shareca-dark-mode .calendar-day-summary :is(span, .fw-bold, .holiday, .name-day) {
    color: #f8fafc !important;
}

body.shareca-dark-mode :is(.day-header.current-day .day-number, .week-day-header.current-week-day, .month-cell.current-month-day) {
    color: #f8fafc !important;
    background: #3b2147 !important;
}

body.shareca-dark-mode .week-day-header.current-week-day {
    border-color: #a855c7 !important;
}

body.shareca-dark-mode .current-time-line {
    background: #e5a9f7 !important;
}

body.shareca-dark-mode .calendar-container :is(.event-card, .event-card.timed, .event-card.month-label):not(.shared-event) {
    color: #111827 !important;
    background: #e5a9f7 !important;
    border-color: #c86fe5 !important;
    border-left-color: #a855c7 !important;
    box-shadow: 0 0.35rem 0.8rem rgba(0, 0, 0, 0.34) !important;
}

body.shareca-dark-mode .calendar-container .event-card.shared-event {
    color: #052e22 !important;
    background: #aaf0d7 !important;
    border-left-color: #34a27f !important;
    box-shadow: 0 0.35rem 0.8rem rgba(0, 0, 0, 0.32) !important;
}

body.shareca-dark-mode .calendar-container .event-card :is(.event-card-title, .event-card-owner, .event-card-owner-inline, .share-status, span, small) {
    color: #111827 !important;
}

body.shareca-dark-mode .calendar-container .event-card .share-status.accepted {
    color: #14532d !important;
}

body.shareca-dark-mode .calendar-container .event-card .share-status.pending {
    color: #713f12 !important;
}

body.shareca-dark-mode :is(.gift-idea-result, .gift-idea-history-item, .gift-idea-history-row, .gift-idea-history-detail, .flower-result-item, .loved-category, .loved-category-row, .loved-category-list, .loved-tag-interest, .loved-tag-unsuitable, .contact-details, .contact-group-members, .contacts-list-actions, .category-card-body, .relation-card-body) {
    color: #e5e7eb !important;
    background: #0b1220 !important;
    border-color: #334155 !important;
}

body.shareca-dark-mode :is(.profile-sync-card, .profile-admin-consent, .profile-linked-account-row) {
    color: #e5e7eb !important;
    background: #0b1220 !important;
    border-color: #334155 !important;
}

body.shareca-dark-mode :is(.profile-sync-card p, .profile-sync-card .form-text, .profile-sync-card .form-check-label) {
    color: #cbd5e1 !important;
}

body.shareca-dark-mode .profile-linked-status {
    color: #cbd5e1 !important;
    background: #111827 !important;
    border-color: #475569 !important;
}

body.shareca-dark-mode .profile-linked-status.connected {
    color: #bbf7d0 !important;
    background: rgba(34, 197, 94, 0.16) !important;
    border-color: rgba(74, 222, 128, 0.55) !important;
}

body.shareca-dark-mode .profile-linked-status.disconnected {
    color: #cbd5e1 !important;
    background: rgba(148, 163, 184, 0.14) !important;
    border-color: #475569 !important;
}

body.shareca-dark-mode :is(.badge, .loved-tag-interest, .loved-tag-unsuitable) {
    color: #f8fafc !important;
}

body.shareca-dark-mode .loved-tags .loved-tag-interest,
body.shareca-dark-mode .loved-tag.loved-tag-interest {
    color: #dcfce7 !important;
    background: rgba(34, 197, 94, 0.10) !important;
    border-color: #22c55e !important;
}

body.shareca-dark-mode .loved-tags .loved-tag-unsuitable,
body.shareca-dark-mode .loved-tag.loved-tag-unsuitable {
    color: #fee2e2 !important;
    background: rgba(239, 68, 68, 0.10) !important;
    border-color: #ef4444 !important;
}

body.shareca-dark-mode .contacts-count-badge {
    color: #0f172a !important;
    background: #aaf0d7 !important;
    border-color: #8fd8bf !important;
}

body.shareca-dark-mode :is(.btn, button.btn, .btn-nav, .btn-icon-action, .page-info-toggle, .shareca-theme-toggle, .shareca-user-menu summary) {
    color: #e5e7eb !important;
    background-color: #111827 !important;
    border-color: #475569 !important;
}

body.shareca-dark-mode .identity-account-links a {
    color: #f3d7ff !important;
}

body.shareca-dark-mode .identity-account-links a:hover,
body.shareca-dark-mode .identity-account-links a:focus {
    color: #e5a9f7 !important;
}

body.shareca-dark-mode :is(.btn:hover, .btn:focus, button.btn:hover, button.btn:focus, .btn-nav:hover, .btn-nav:focus, .btn-icon-action:hover, .btn-icon-action:focus, .page-info-toggle:hover, .page-info-toggle:focus, .shareca-theme-toggle:hover, .shareca-theme-toggle:focus) {
    color: #f8fafc !important;
    background-color: #1f2937 !important;
    border-color: #64748b !important;
}

body.shareca-dark-mode :is(.btn-primary, .btn-success, .btn-outline-primary, .btn-outline-success, .btn-nav.active, .calendar-view-switcher .btn.active, .fab-add) {
    color: #111827 !important;
    background-color: #e5a9f7 !important;
    border-color: #e5a9f7 !important;
}

body.shareca-dark-mode :is(.btn-primary:hover, .btn-primary:focus, .btn-success:hover, .btn-success:focus, .btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-success:hover, .btn-outline-success:focus, .btn-nav.active:hover, .btn-nav.active:focus, .calendar-view-switcher .btn.active:hover, .calendar-view-switcher .btn.active:focus, .fab-add:hover, .fab-add:focus) {
    color: #111827 !important;
    background-color: #d991ef !important;
    border-color: #d991ef !important;
}

body.shareca-dark-mode :is(.btn-secondary, .btn-outline-secondary, .btn-warning, .btn-outline-warning, .btn-suggest-gift, .btn-event-budget, .agent-chat-suggestions button) {
    color: #e5e7eb !important;
    background-color: #0b1220 !important;
    border-color: #475569 !important;
}

body.shareca-dark-mode :is(.btn-secondary:hover, .btn-secondary:focus, .btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-warning:hover, .btn-warning:focus, .btn-outline-warning:hover, .btn-outline-warning:focus, .btn-suggest-gift:hover, .btn-suggest-gift:focus, .btn-event-budget:hover, .btn-event-budget:focus, .agent-chat-suggestions button:hover, .agent-chat-suggestions button:focus) {
    color: #f8fafc !important;
    background-color: #1f2937 !important;
    border-color: #64748b !important;
}

body.shareca-dark-mode .calendar-view-switcher {
    background: #020617;
    border: 1px solid #334155;
    border-radius: 0.5rem;
    box-shadow: 0 0 0 1px rgba(170, 240, 215, 0.08);
}

body.shareca-dark-mode .calendar-view-switcher .btn {
    color: #cbd5e1 !important;
    background: transparent !important;
    border-color: transparent !important;
}

body.shareca-dark-mode .calendar-view-switcher .btn.btn-primary {
    color: #0f172a !important;
    background: #aaf0d7 !important;
    border-color: #7ed9bd !important;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.16), 0 0 0 1px rgba(170, 240, 215, 0.35);
    font-weight: 800;
}

body.shareca-dark-mode .calendar-view-switcher .btn:not(.btn-primary):hover,
body.shareca-dark-mode .calendar-view-switcher .btn:not(.btn-primary):focus {
    color: #f8fafc !important;
    background: #172033 !important;
    border-color: rgba(170, 240, 215, 0.32) !important;
}

body.shareca-dark-mode .calendar-toolbar .calendar-date-nav-button {
    color: #f8e8ff !important;
    background: rgba(229, 169, 247, 0.18) !important;
    border-color: rgba(229, 169, 247, 0.5) !important;
}

body.shareca-dark-mode .calendar-toolbar .calendar-date-nav-button:hover,
body.shareca-dark-mode .calendar-toolbar .calendar-date-nav-button:focus {
    color: #111827 !important;
    background: #e5a9f7 !important;
    border-color: #d991ef !important;
}

body.shareca-dark-mode :is(.btn-danger, .btn-outline-danger, .btn-icon-action.text-danger) {
    color: #fecaca !important;
    background-color: #2a1216 !important;
    border-color: #7f1d1d !important;
}

body.shareca-dark-mode :is(.btn-danger:hover, .btn-danger:focus, .btn-outline-danger:hover, .btn-outline-danger:focus, .btn-icon-action.text-danger:hover, .btn-icon-action.text-danger:focus) {
    color: #fee2e2 !important;
    background-color: #3f1519 !important;
    border-color: #991b1b !important;
}

body.shareca-dark-mode :is(.btn:disabled, .btn.disabled, button:disabled, .btn-suggest-gift:disabled, .fab-add.disabled) {
    color: #94a3b8 !important;
    background-color: #1f2937 !important;
    border-color: #334155 !important;
    opacity: 0.75;
}

body.shareca-dark-mode .btn-close {
    filter: invert(1) grayscale(1) brightness(1.8);
}

body.shareca-dark-mode .bb-sidebar2 .navbar-brand-badge {
    color: #f8fafc !important;
    background: #3b2147 !important;
    border-color: #a855c7 !important;
    box-shadow: 0 0.25rem 0.55rem rgba(0, 0, 0, 0.28);
}

body.shareca-dark-mode .bb-sidebar2 .shareca-invitations-badge {
    border-color: #111827 !important;
    box-shadow: 0 0.2rem 0.45rem rgba(0, 0, 0, 0.38);
}

body.shareca-dark-mode :is(.shareca-sidebar-install, .shareca-sidebar-push) {
    color: #f8fafc !important;
    background: #111827 !important;
    border-color: #475569 !important;
    box-shadow: 0 0.55rem 1.2rem rgba(0, 0, 0, 0.36) !important;
}

body.shareca-dark-mode :is(.shareca-sidebar-install:hover, .shareca-sidebar-install:focus, .shareca-sidebar-push:hover, .shareca-sidebar-push:focus) {
    color: #111827 !important;
    background: #e5a9f7 !important;
    border-color: #e5a9f7 !important;
}

body.shareca-dark-mode :is(.shareca-sidebar-install span, .shareca-sidebar-push span, .shareca-sidebar-push .bi) {
    color: inherit !important;
}

body.shareca-dark-mode .shareca-sidebar-install img {
    content: url("/logo_black.png");
    filter: drop-shadow(0 0.15rem 0.22rem rgba(0, 0, 0, 0.32));
}

body.shareca-dark-mode .shareca-pwa-install-help {
    color: #e5e7eb !important;
    background: #111827 !important;
    border-color: #475569 !important;
    box-shadow: 0 0.7rem 1.5rem rgba(0, 0, 0, 0.4) !important;
}

body.shareca-dark-mode .shareca-pwa-install-help span {
    color: #cbd5e1 !important;
}

body.shareca-dark-mode .shareca-pwa-install-help-close {
    color: #cbd5e1 !important;
    background: transparent !important;
}

body.shareca-dark-mode .shareca-pwa-install-help-close:hover,
body.shareca-dark-mode .shareca-pwa-install-help-close:focus {
    color: #111827 !important;
    background: #e5a9f7 !important;
}

body.shareca-dark-mode .modal .alert.alert-success {
    --bs-alert-color: #111827;
    --bs-alert-bg: #aaf0d7;
    --bs-alert-border-color: #8fd8bf;
    color: #111827 !important;
    background-color: #aaf0d7 !important;
    border-color: #8fd8bf !important;
}

body.shareca-dark-mode .modal .alert.alert-success :is(.share-status, .share-status.accepted, .share-status.pending, .bi, div, span) {
    color: #111827 !important;
}

body.shareca-dark-mode .event-row.accepted :is(.share-status, .share-status.accepted, .share-status.pending, .share-status .bi) {
    color: #111827 !important;
}
