/* Calendar range-selection states — Phase 20 */

.cg-calendar__day[data-selectable="1"] {
    cursor: pointer;
}

.cg-calendar__day[data-selectable="1"]:hover:not(.cg-calendar__day--range-start):not(.cg-calendar__day--range-end):not(.cg-calendar__day--range-mid) {
    box-shadow: inset 0 0 0 1px #0F6E56;
}

.cg-calendar__day--range-start,
.cg-calendar__day--range-end {
    background: #0F6E56 !important;
    color: #fff !important;
    font-weight: 500;
    border-radius: 4px;
    position: relative;
}

.cg-calendar__day--range-mid {
    background: #9FE1CB !important;
    color: #04342C !important;
    border-radius: 0;
}

.cg-calendar__day--range-preview {
    box-shadow: inset 0 0 0 1px #0F6E56;
}

/* Status dot for days inside a range */
.cg-calendar__day--range-start::after,
.cg-calendar__day--range-end::after,
.cg-calendar__day--range-mid::after {
    content: '';
    position: absolute;
    top: 3px;
    right: 3px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
}

.cg-calendar__day--range-start.cg-calendar__day--full::after,
.cg-calendar__day--range-end.cg-calendar__day--full::after,
.cg-calendar__day--range-mid.cg-calendar__day--full::after {
    background: #f87171;
}

.cg-calendar__day--range-start.cg-calendar__day--open::after,
.cg-calendar__day--range-end.cg-calendar__day--open::after,
.cg-calendar__day--range-mid.cg-calendar__day--open::after {
    background: #00ed64;
}

/* Bell overlay for alerted dates */
.cg-calendar__day--alerted::before {
    content: '🔔';
    position: absolute;
    bottom: 1px;
    right: 1px;
    font-size: 8px;
    line-height: 1;
}

.cg-calendar__day {
    position: relative;
}

/* Anon blur hint */
.cg-calendar__blur-hint {
    font-size: .78rem;
    color: #00ed64;
    text-align: center;
    margin-top: .5rem;
    display: none;
}

.cg-calendar__blur-hint.visible {
    display: block;
}

/* Selection bar */
.cg-selection-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 900;
    background: #001e2b;
    border-top: 1px solid rgba(0, 237, 100, .2);
    padding: .875rem 0;
    transform: translateY(100%);
    transition: transform .25s ease;
}

.cg-selection-bar.is-visible {
    transform: translateY(0);
}

@media (max-width: 600px) {
    .cg-selection-bar {
        position: sticky;
    }
}

.cg-selection-bar__inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.cg-selection-bar__info {
    flex: 1;
    min-width: 0;
}

.cg-selection-bar__title {
    color: #e2e8f0;
    font-size: .9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cg-selection-bar__title strong {
    color: #fff;
}

.cg-selection-bar__sub {
    color: #94a3b8;
    font-size: .8rem;
    margin-top: .15rem;
}

.cg-selection-bar__actions {
    display: flex;
    align-items: center;
    gap: .625rem;
    flex-shrink: 0;
}

.cg-selection-bar__anon-login {
    font-size: .78rem;
    color: #94a3b8;
    text-align: right;
    margin-top: .3rem;
    width: 100%;
}

.cg-selection-bar__anon-login a {
    color: #00ed64;
    text-decoration: none;
}

.cg-selection-bar .btn-ghost {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: rgba(255, 255, 255, 0.75);
    padding: 7px 14px;
    font-size: 0.875rem;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
    font-family: inherit;
}
.cg-selection-bar .btn-ghost:hover {
    border-color: rgba(255, 255, 255, 0.6);
    color: #fff;
}
