/* Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ Cards Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ */

.card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: var(--space-lg) var(--space-md);
    transition: border-color var(--transition), box-shadow var(--transition);
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.card--form {
    padding: 1rem 1.75rem;
}

.card:hover {
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
}

.card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-md);
    cursor: pointer;
}

.card--form .card__header,
.card--form .card__title {
    margin-bottom: 0.75rem;
}

.card__header .card__title {
    margin-bottom: 0;
}

.card__title {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    color: var(--accent);
    letter-spacing: 0.01em;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: var(--space-md);
}

.card__title::before {
    content: '';
    width: 3px;
    height: 1.1em;
    background: linear-gradient(180deg, var(--accent), transparent);
    border-radius: 2px;
    flex-shrink: 0;
}

.card__toggle {
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 1rem;
    cursor: pointer;
    padding: 0.25rem;
    transition: color 0.2s, transform 0.3s;
    line-height: 1;
}

.card__toggle:hover {
    color: var(--text-primary);
}

.card__body {
    /* Instant collapse to prevent layout thrashing */
}

.card__summary {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.card--collapsed .card__title {
    margin-bottom: 0;
}

.card--collapsed .card__summary {
    opacity: 1 !important;
    display: block !important;
}

.card--collapsed .card__body {
    display: none;
}

.card--collapsed .card__header {
    margin-bottom: 0;
}

.card--collapsed .card__toggle {
    transform: rotate(180deg);
}

/* Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ Profiles Bar Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ */

.profiles-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.4rem 0.6rem;
    background: rgba(255 255 255 / 0.02);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    animation: cacheSlideIn 0.3s ease;
}

.profiles-bar__input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    min-width: 140px;
    max-width: 200px;
}

.profiles-bar__input-icon {
    position: absolute;
    left: 0.5rem;
    color: var(--text-muted);
    pointer-events: none;
}

.profiles-bar__input {
    width: 100%;
    background: var(--bg-input);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 0.3rem 0.5rem 0.3rem 1.8rem;
    color: var(--text-primary);
    font-family: var(--font-body);
    font-size: 0.8rem;
    outline: none;
    transition: border-color 0.2s;
}

.profiles-bar__input::placeholder {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.profiles-bar__input:focus {
    border-color: var(--accent);
}

.profiles-bar__right {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: auto;
    overflow: hidden;
    min-width: 0;
}

.profiles-bar__list {
    display: flex;
    gap: 0.4rem;
    overflow-x: auto;
    flex: 1;
    scrollbar-width: none;
    min-width: 0;
}

.profiles-bar__list::-webkit-scrollbar {
    display: none;
}

.profiles-bar__empty {
    font-size: 0.7rem;
    color: var(--text-muted);
    padding: 0.2rem 0;
}

.profiles-bar__save {
    background: none;
    border: 1px dashed rgba(245, 189, 65, 0.3);
    border-radius: 6px;
    padding: 0.3rem 0.5rem;
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--accent);
    transition: all 0.2s;
    flex-shrink: 0;
}

.profiles-bar__save:hover {
    background: rgba(245, 189, 65, 0.08);
    border-color: var(--accent);
}

.profile-chip {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.5rem;
    background: var(--bg-input);
    border: 1px solid transparent;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
}

.profile-chip:hover {
    background: var(--accent-dim);
    border-color: rgba(245, 189, 65, 0.2);
}

.profile-chip--active {
    background: rgba(245, 189, 65, 0.12);
    border-color: var(--accent);
    box-shadow: 0 0 8px rgba(245, 189, 65, 0.15);
}

.profile-chip__icon {
    font-size: 0.7rem;
}

.profile-chip__name {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-primary);
    max-width: 80px;
    overflow: hidden;
    flex-shrink: 0;
    text-overflow: ellipsis;
}

.profile-chip__del {
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 0.8rem;
    cursor: pointer;
    padding: 0 2px;
    line-height: 1;
    transition: color 0.15s;
}

.profile-chip__del:hover {
    color: var(--danger);
}

/* Shimmer loading overlay */
.card--loading::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 25%, rgba(245, 189, 65, 0.03) 50%, transparent 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    pointer-events: none;
    z-index: 10;
}

.karaka-icon {
    width: 2.2rem;
    height: 2.2rem;
    object-fit: contain;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    padding: 4px;
}

/* Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ Form Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ */

.form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

#ayanamsha-row {
    display: none;
}

.taxi-layout--active #ayanamsha-row,
.taxi-widget #ayanamsha-row {
    display: grid;
}

.form__row--3col {
    grid-template-columns: 1fr 1fr 1fr;
}

.form__group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.form__group--wide {
    grid-column: 1 / -1;
}

.form__group label {
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.2rem;
}

.input-wrapper {
    position: relative;
    width: 100%;
    height: 44px;
}

.input-icon {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    color: var(--text-muted);
    pointer-events: none;
    transition: color var(--transition);
    z-index: 2;
}

.form__group input,
.form__group select {
    padding: 0.75rem 0.85rem;
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: 0.95rem;
    transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
    width: 100%;
    height: 44px;
    line-height: 1.2;
    box-sizing: border-box;
}

.input-wrapper input,
.input-wrapper select {
    padding-left: 2.5rem;
}

.input-prefix {
    position: absolute;
    left: 2.5rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: 0.85rem;
    pointer-events: none;
    z-index: 2;
    white-space: nowrap;
}

.input-prefix ~ input,
.input-prefix ~ .number-spinner-wrapper input {
    padding-left: 4.5rem !important;
}

/* Hide number spinners */
.form__group input[type=number]::-webkit-inner-spin-button, 
.form__group input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none !important; 
  appearance: none !important;
  display: none !important;
  margin: 0; 
}
.form__group input[type=number] {
    -moz-appearance: textfield;
}

.form__group select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239a9a9a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    padding-right: 2rem;
}

.form__group select option {
    background: #1e1e1e;
    color: var(--text-primary);
}

.form__group input:focus,
.form__group select:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(212, 175, 55, 0.4);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.1), inset 0 0 8px rgba(212, 175, 55, 0.05);
}

.input-wrapper:focus-within .input-icon {
    color: var(--accent);
}

/* ── Varshaphala year input with inline shortcuts ── */
.vp-year-input-wrap {
    position: relative;
    width: 100%;
    height: 44px;
}
.vp-year-input-wrap .input-icon {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    color: var(--text-muted);
    pointer-events: none;
    z-index: 2;
    transition: color var(--transition);
}
.vp-year-input-wrap:focus-within .input-icon {
    color: var(--accent);
}
.vp-year-input-wrap input {
    width: 100%;
    height: 44px;
    padding: 0.75rem 0.85rem;
    padding-left: 2.5rem;
    padding-right: 200px;
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: 0.95rem;
    box-sizing: border-box;
    transition: border-color var(--transition), box-shadow var(--transition);
}
.vp-year-input-wrap input:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(212, 175, 55, 0.4);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.1), inset 0 0 8px rgba(212, 175, 55, 0.05);
}
.vp-year-shortcuts {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 0;
    z-index: 3;
}
.vp-year-shortcut {
    background: none;
    border: none;
    color: var(--accent);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    cursor: pointer;
    padding: 0.35rem 0.65rem;
    border-radius: 6px;
    transition: background 0.18s, color 0.18s;
    white-space: nowrap;
}
.vp-year-shortcut:hover {
    background: rgba(212, 175, 55, 0.12);
    color: var(--accent-light, #f5d060);
}
.vp-year-shortcut:active {
    background: rgba(212, 175, 55, 0.22);
}
.vp-year-sep {
    color: rgba(255, 255, 255, 0.12);
    font-size: 0.85rem;
    user-select: none;
    line-height: 1;
}
@media (max-width: 480px) {
    .vp-year-input-wrap input {
        padding-right: 160px;
    }
    .vp-year-shortcut {
        font-size: 0.72rem;
        padding: 0.3rem 0.45rem;
    }
}

.form__actions {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.5rem;
    flex-wrap: wrap;
}

/* Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ DST Notice Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ */

.dst-notice {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.4rem;
    padding: 0.3rem 0.65rem;
    border-radius: 8px;
    font-size: 0.75rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--text-secondary);
    animation: dstFadeIn 0.3s ease;
}

.dst-notice--active {
    background: rgba(251, 191, 36, 0.1);
    border-color: rgba(251, 191, 36, 0.25);
    color: var(--warning);
}

.dst-notice__icon {
    font-size: 0.9rem;
}

.dst-notice__tz {
    margin-left: auto;
    font-size: 0.68rem;
    opacity: 0.6;
    padding-left: 0.5rem;
}

@keyframes dstFadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ City Geocoding Autocomplete Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ */

.city-input-wrap {
    position: relative;
}

.city-input-wrap input {
    font-family: var(--font-body);
}

.city-suggestions {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    z-index: 50;
    max-height: 200px;
    overflow-y: auto;
}

.city-suggestions--open {
    display: block;
}

.city-suggestion {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font-size: 0.82rem;
    transition: background var(--transition);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border);
}

.city-suggestion:last-child {
    border-bottom: none;
}

.city-suggestion:hover {
    background: var(--accent-dim);
}

.city-suggestion__name {
    color: var(--text-primary);
    font-weight: 500;
}

.city-suggestion__coords {
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 0.7rem;
}

.city-resolved {
    font-size: 0.65rem;
    color: var(--success);
    margin-top: 0.2rem;
    opacity: 0.8;
}

/* Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ Buttons Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.65rem 1.5rem;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition);
}

.btn--primary {
    background: linear-gradient(135deg, var(--accent), #e8a020);
    color: var(--text-on-accent);
}

.btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 20px var(--accent-glow);
}

.btn--primary:active {
    transform: translateY(0);
}

.btn--secondary {
    background: var(--bg-input);
    color: var(--text-secondary);
    border: 1px solid var(--border);
}

.btn--secondary:hover:not(:disabled) {
    border-color: var(--accent);
    color: var(--accent);
}

.btn--small {
    font-size: 0.8rem;
    padding: 0.35rem 0.6rem;
    border-radius: 6px;
}

.btn--ghost {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text-muted);
}
.btn--ghost:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-main);
    border-color: rgba(255, 255, 255, 0.2);
}

.btn--user {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-main);
    padding: 0 0.85rem 0 0.4rem;
    height: 32px;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 500;
}
#user-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    overflow: hidden;
    flex-shrink: 0;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
}
.btn--user > * {
    pointer-events: none;
}
.btn--user:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--accent);
}

.btn--danger {
    background: rgba(248, 113, 113, 0.08);
    border: 1px solid rgba(248, 113, 113, 0.3);
    color: var(--danger) !important;
}
.btn--danger:hover:not(:disabled) {
    background: rgba(248, 113, 113, 0.15) !important;
}

.btn--premium {
    background: linear-gradient(135deg, #1C1914, #0D0C0A);
    border: 1px solid rgba(212, 175, 55, 0.3);
    color: #D4AF37;
    font-family: var(--font-accent);
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: all 0.4s ease;
}
.btn--premium:hover:not(:disabled) {
    background: linear-gradient(135deg, #26221A, #14120E);
    border-color: rgba(212, 175, 55, 0.8);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.1);
    color: #F3DA8E;
}
.btn--premium:disabled {
    border-color: rgba(212, 175, 55, 0.1);
    color: rgba(212, 175, 55, 0.3);
}

.btn--premium-cta {
    background: linear-gradient(145deg, #151515, #0a0a0a);
    color: #e5c07b;
    border: 1px solid rgba(229, 192, 123, 0.5);
    box-shadow: 0 0 20px rgba(229, 192, 123, 0.2), inset 0 0 10px rgba(229, 192, 123, 0.05);
    border-radius: var(--radius-sm);
    width: 100%;
    justify-content: center;
    padding: 1rem 1.5rem;
    font-size: 0.9rem;
    font-family: var(--font-accent);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btn--premium-cta.btn--download-ready {
    background: linear-gradient(135deg, #182218, #0A0F0A);
    border: 1px solid rgba(100, 200, 120, 0.5);
    color: #A0D8A0;
    box-shadow: 0 0 20px rgba(100, 200, 120, 0.2);
    letter-spacing: 0.15em;
}
.btn--premium-cta.btn--download-ready:hover:not(:disabled) {
    background: linear-gradient(135deg, #1C2A1C, #0C140C);
    border-color: rgba(100, 200, 120, 0.9);
    box-shadow: 0 0 30px rgba(100, 200, 120, 0.4), inset 0 0 15px rgba(100, 200, 120, 0.1);
    color: #FFF;
}

.btn--premium-cta:hover:not(:disabled) {
    transform: translateY(-2px);
    background: linear-gradient(145deg, #1e1e1e, #111);
    border-color: rgba(229, 192, 123, 0.9);
    box-shadow: 0 0 30px rgba(229, 192, 123, 0.5), inset 0 0 15px rgba(229, 192, 123, 0.2);
    color: #ffd700;
}

.btn--premium-cta:disabled {
    background: #111;
    color: rgba(255, 255, 255, 0.2);
    border-color: transparent;
    box-shadow: none;
}

.btn:disabled {
    opacity: 0.5;
    cursor: default;
}

.btn__loader {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(0, 0, 0, 0.2);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

.btn__loader[hidden] {
    display: none;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ Table Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ */

.table-wrap {
    overflow-x: auto;
}

.table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.table th {
    text-align: left;
    padding: 0.8rem 0.8rem;
    font-weight: 700;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--accent);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    background: var(--bg-card);
    z-index: 2;
    box-shadow: 0 4px 6px -4px rgba(0, 0, 0, 0.3);
}

.table td {
    padding: 0.7rem 0.8rem;
    border-bottom: 1px solid var(--border);
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}

/* Right-align numeric columns (degree, house number, bindu) */
.table td.td--num,
.table th.th--num {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* Degree column: canonical Jyotish format DD° MM' with visual hierarchy */
.deg-int {
    color: var(--text-primary);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.deg-min {
    color: var(--text-secondary);
    font-size: 0.95em;
    font-variant-numeric: tabular-nums;
}

/* Center-align Dignity and Status columns in specific tables */
#planets-table th:nth-child(7), #planets-table td:nth-child(7),
#planets-table th:nth-child(8), #planets-table td:nth-child(8),
.varga-detail__table th:nth-child(4), .varga-detail__table td:nth-child(4),
.varga-detail__table th:nth-child(5), .varga-detail__table td:nth-child(5) {
    text-align: center;
}

.table tbody tr {
    transition: background var(--transition);
}

.table tbody tr:hover {
    background: var(--bg-card-hover);
}

/* Status badges */
/* Status badges Р В Р вЂ Р В РІР‚С™Р Р†Р вЂљРЎСљ Minimalist Alchemy Design */
.badge {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.6rem;
    border-radius: 2px;
    font-family: var(--font-heading);
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    background: rgba(255, 255, 255, 0.02);
    border: none;
    border-left: 2px solid rgba(255, 255, 255, 0.1);
    color: var(--text-secondary);
    transition: all 0.3s var(--transition);
}

.badge--exalted {
    background: rgba(255, 140, 66, 0.08);
    color: var(--badge-exalted);
    border-left-color: var(--badge-exalted-border);
    font-weight: 700;
    box-shadow: 0 0 15px rgba(255, 140, 66, 0.12);
    text-shadow: 0 0 8px rgba(255, 209, 169, 0.2);
}

.badge--own {
    background: rgba(176, 196, 222, 0.04);
    color: var(--badge-own);
    border-left-color: var(--badge-own);
}

.badge--moolat {
    background: rgba(255, 191, 0, 0.05);
    color: var(--badge-moolat);
    border-left-color: var(--badge-moolat);
}

.badge--debil {
    background: rgba(165, 42, 42, 0.06);
    color: var(--badge-debil);
    border-left-color: var(--badge-debil-border);
}

.badge--nb, .badge--nbrj {
    background: rgba(74, 222, 128, 0.03);
    color: #A7F3D0;
    border-left: 1px dashed var(--success);
    font-size: 0.55rem;
    opacity: 0.8;
}

.badge--neutral {
    background: transparent;
    color: var(--text-muted);
    border-left: none;
    padding-left: 0;
}

.badge--friendly {
    background: rgba(134, 239, 172, 0.06);
    color: #A7D8B8;
    border-left-color: #6EE7A8;
}

.badge--great-friend {
    background: rgba(34, 197, 94, 0.1);
    color: var(--badge-great-friend);
    border-left-color: var(--badge-great-friend-border);
    font-weight: 700;
    text-shadow: 0 0 8px rgba(134, 239, 172, 0.15);
}

.badge--enemy {
    background: rgba(248, 113, 113, 0.06);
    color: #F0A8A8;
    border-left-color: #E05A5A;
}

.badge--great-enemy {
    background: rgba(220, 38, 38, 0.1);
    color: var(--badge-great-enemy);
    border-left-color: var(--badge-great-enemy-border);
    font-weight: 700;
    text-shadow: 0 0 8px rgba(252, 165, 165, 0.15);
}

.badge--retro {
    background: rgba(205, 127, 50, 0.05);
    color: var(--badge-retro);
    border-left-color: var(--badge-retro);
}

.badge--combust {
    background: rgba(220, 20, 60, 0.04);
    color: var(--badge-combust);
    border-left-color: var(--badge-combust);
}

.badge--combust-kazimi {
    background: rgba(230, 230, 250, 0.05);
    color: #E6E6FA;
    border-left-color: #E6E6FA;
}

.badge--combust-deep {
    border-left-color: #CD5C5C;
}

.badge--combust-mid {
    border-left-color: #D2691E;
}

.badge--combust-light {
    border-left-color: #DAA520;
}

.badge--mks {
    background: rgba(0, 0, 0, 0.1);
    color: var(--text-muted);
    border-left: 1px solid var(--text-muted);
    font-style: italic;
    letter-spacing: 0.05em;
}

.badge--disputed {
    border-left-style: dashed;
    opacity: 0.8;
}

.badge--pushkara {
    background: rgba(74, 222, 128, 0.12);
    color: var(--color-pushkara);
}

.badge--vargottama {
    background: rgba(168, 85, 247, 0.15);
    color: var(--color-vargottama);
}

.badge--gandanta {
    background: rgba(251, 146, 60, 0.15);
    color: var(--color-gandanta);
}

.badge--abhijit {
    background: rgba(56, 189, 248, 0.15);
    color: #7dd3fc;
}

.badge--yuddha {
    background: rgba(248, 113, 113, 0.15);
    color: var(--danger);
}

.badge--digbala {
    background: rgba(251, 191, 36, 0.15);
    color: var(--warning);
}

.badge--yogakaraka {
    background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(251, 191, 36, 0.2));
    color: #e0b0ff;
    font-weight: 600;
}

.badge--nb {
    background: rgba(20, 184, 166, 0.15);
    color: #5eead4;
    cursor: help;
}

.badge--nbrj {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.2), rgba(251, 191, 36, 0.2));
    color: #a7f3d0;
    font-weight: 600;
    cursor: help;
    text-shadow: 0 0 8px rgba(167, 243, 208, 0.3);
}

.badge--mrityu {
    background: rgba(190, 18, 60, 0.2);
    color: var(--color-mrityu);
    cursor: help;
    font-weight: 500;
}

.badge--kbn {
    background: rgba(245, 158, 11, 0.2);
    color: var(--warning);
    cursor: help;
    font-weight: 500;
}

.badge--shubha-kartari {
    background: rgba(34, 197, 94, 0.15);
    color: var(--success);
    cursor: help;
    font-weight: 500;
}

.badge--papa-kartari {
    background: rgba(239, 68, 68, 0.15);
    color: var(--danger);
    cursor: help;
    font-weight: 500;
}

/* Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ Interpretation Modal Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™Р В Р вЂ Р Р†Р вЂљРЎСљР В РІР‚С™ */
.interp-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: modalFadeIn 0.25s ease;
}

.interp-modal[hidden] {
    display: none;
}

.interp-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
}

.interp-modal__card {
    position: relative;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 1.5rem;
    max-width: 520px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    animation: modalSlideUp 0.3s ease;
}

.interp-modal__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 1.5rem;
    cursor: pointer;
    transition: color 0.2s;
    line-height: 1;
}

.interp-modal__close:hover {
    color: var(--text-primary);
}

.interp-modal__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border);
}

.interp-modal__icon {
    font-size: 2rem;
    line-height: 1;
}

.interp-modal__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--accent);
    margin: 0;
}

.interp-modal__sub {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin: 0.15rem 0 0;
}

.interp-modal__body {
    font-size: 0.88rem;
    line-height: 1.7;
    color: var(--text-secondary);
}

.interp-modal__loader {
    text-align: center;
    padding: 1rem;
    color: var(--text-muted);
    font-style: italic;
}

.interp-modal__not-found {
    text-align: center;
    padding: 1rem;
    color: var(--text-muted);
    font-size: 0.82rem;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes modalSlideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* ==========================================================================
   Client Bank (CRM) Styles
   ========================================================================== */

.client-card {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transition: all 0.2s ease;
}

.client-card:hover {
    border-color: var(--accent);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.client-card__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.client-card__name {
    font-family: var(--font-primary);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.client-card__date {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin: 0.2rem 0 0;
}

.client-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.25rem;
}

.client-card__tag {
    font-size: 0.65rem;
    background: rgba(245, 189, 65, 0.1);
    color: var(--accent);
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid rgba(245, 189, 65, 0.2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.client-card__notes {
    font-size: 0.85rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.03);
    padding: 0.5rem;
    border-radius: 4px;
    border-left: 2px solid var(--accent);
    margin-top: 0.5rem;
}

.client-card__actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
    justify-content: flex-end;
}

.client-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

/* ==========================================================================
   Welcome Teaser / Onboarding Styles
   ========================================================================== */

.welcome-teaser {
    margin: 2rem 0;
    padding: 2rem;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 2rem;
    animation: fadeIn 0.8s ease-out;
}

.welcome-teaser__hero {
    display: flex;
    align-items: center;
    gap: 2rem;
    text-align: left;
}

.welcome-teaser__img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: 0 0 20px rgba(245, 189, 65, 0.2);
    border: 2px solid rgba(245, 189, 65, 0.3);
    animation: slowPulse 4s infinite alternate;
}

.welcome-teaser__hero-text h2 {
    font-family: var(--font-primary);
    font-size: 2rem;
    color: var(--gold, #C9A94E);
    margin-bottom: 0.5rem;
}

.welcome-teaser__hero-text p {
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--text-secondary);
    max-width: 1000px !important;
}

.welcome-teaser__cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.welcome-card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: var(--radius);
    padding: 1.5rem;
    text-align: center;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.welcome-card:hover {
    transform: translateY(-5px);
    border-color: rgba(245, 189, 65, 0.3);
}

.welcome-card__icon {
    font-size: 2rem;
    display: block;
    margin-bottom: 1rem;
    filter: drop-shadow(0 0 8px rgba(245, 189, 65, 0.3));
}

.welcome-card h4 {
    font-size: 1.3rem;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.welcome-card p {
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--text-secondary);
}

.welcome-teaser__cta {
    margin-top: 0.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
    text-align: center;
}

.welcome-teaser__cta h3 {
    font-family: var(--font-primary);
    font-size: 1.2rem;
    color: var(--text-primary);
    margin-bottom: 0.75rem;
}

.welcome-cta__list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.welcome-cta__list li {
    font-size: 0.85rem;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.welcome-cta__list li strong {
    color: var(--accent);
}

@media (max-width: 768px) {
    .welcome-teaser__hero {
        flex-direction: column;
        text-align: center;
    }
    .welcome-cta__list {
        flex-direction: column;
        align-items: center;
        gap: 0.8rem;
    }
}

.welcome-card__img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    margin: 0 auto 1rem;
    display: block;
    filter: drop-shadow(0 0 10px rgba(245, 189, 65, 0.4));
    transition: transform 0.3s ease, filter 0.3s ease;
}

.welcome-card:hover .welcome-card__img {
    transform: scale(1.1);
    filter: drop-shadow(0 0 15px rgba(245, 189, 65, 0.6));
}

/* Р Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљ Pro Lock Card (Freemium Gating) Р Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљ */

.pro-locked-section {
    opacity: 0.92;
}

.pro-lock-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 1.5rem 1.25rem;
    margin: 0.5rem 0 1rem;
    background: linear-gradient(135deg, rgba(245, 189, 65, 0.04), rgba(255, 255, 255, 0.02));
    border: 1px solid rgba(245, 189, 65, 0.15);
    border-radius: var(--radius);
    text-align: center;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.pro-lock-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 60%, rgba(245, 189, 65, 0.06));
    pointer-events: none;
}

.pro-lock-card__icon {
    font-size: 1.6rem;
    line-height: 1;
    opacity: 0.8;
}

.pro-lock-card__text {
    font-size: 0.8rem;
    color: var(--text-secondary);
    line-height: 1.5;
    max-width: 480px;
}

.pro-lock-card__btn {
    margin-top: 0.25rem;
    padding: 0.5rem 1.25rem !important;
    font-size: 0.78rem !important;
    background: linear-gradient(135deg, var(--accent), #e8a020) !important;
    color: var(--text-on-accent) !important;
    border: none !important;
    border-radius: 6px !important;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.pro-lock-card__btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(245, 189, 65, 0.35);
}

/* ==========================================================================
   Scroll to Top Button
   ========================================================================== */

.scroll-to-top {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--bg-card);
    border: 1px solid var(--border);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    z-index: 900;
}

.scroll-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-to-top:hover {
    background: var(--bg-card-hover);
    border-color: var(--accent);
    color: var(--accent);
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

@media (max-width: 768px) {
    .scroll-to-top {
        bottom: 1.5rem;
        right: 1.5rem;
        width: 40px;
        height: 40px;
    }
}

/* ==========================================================================
   Segmented Control (Toggles)
   ========================================================================== */

.segmented-control {
    display: flex;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 3px;
    gap: 2px;
    width: 100%;
}

.segmented-control input[type="radio"] {
    display: none;
}

.segmented-control label {
    flex: 1;
    text-align: center;
    padding: 0.6rem 0.5rem;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    border-radius: calc(var(--radius-sm) - 2px);
    color: var(--text-secondary);
    transition: all 0.2s ease;
    margin: 0;
}

.segmented-control label:hover {
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.02);
}

.segmented-control input[type="radio"]:checked + label {
    background: var(--bg-card-hover);
    color: var(--accent);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(212, 175, 55, 0.2);
}

/* ── Custom Checkbox ── */
input[type="checkbox"] {
    accent-color: var(--accent);
    cursor: pointer;
    width: 1.1em;
    height: 1.1em;
    vertical-align: middle;
    margin-right: 0.4rem;
}

/* Р Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљ Custom Range Slider Р Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљР Р†РІР‚СњР вЂљ */
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    background: transparent;
    cursor: pointer;
}

input[type="range"]:focus {
    outline: none;
}

/* WebKit (Chrome, Safari, Edge) */
input[type="range"]::-webkit-slider-runnable-track {
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: background 0.3s;
}

input[type="range"]:hover::-webkit-slider-runnable-track {
    background: rgba(255, 255, 255, 0.15);
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    height: 18px;
    width: 18px;
    border-radius: 50%;
    background: var(--accent);
    margin-top: -6px;
    box-shadow: 0 0 12px rgba(245, 189, 65, 0.6);
    border: 2px solid #1a1a24;
    transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}

input[type="range"]:active::-webkit-slider-thumb {
    transform: scale(1.2);
    background: #ffdb70;
    box-shadow: 0 0 18px rgba(245, 189, 65, 0.9);
}

/* Firefox */
input[type="range"]::-moz-range-track {
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: background 0.3s;
}

input[type="range"]:hover::-moz-range-track {
    background: rgba(255, 255, 255, 0.15);
}

input[type="range"]::-moz-range-thumb {
    height: 16px;
    width: 16px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 12px rgba(245, 189, 65, 0.6);
    border: 2px solid #1a1a24;
    transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}

input[type="range"]:active::-moz-range-thumb {
    transform: scale(1.2);
    background: #ffdb70;
    box-shadow: 0 0 18px rgba(245, 189, 65, 0.9);
}

/* Flatpickr Customization */
.flatpickr-calendar {
    background: rgba(25, 25, 25, 0.96) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6) !important;
    border-radius: 12px !important;
}
.flatpickr-calendar::before,
.flatpickr-calendar::after {
    display: none !important;
}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
    background: var(--color-accent) !important;
    border-color: var(--color-accent) !important;
}
.flatpickr-day.today {
    border-color: var(--color-accent) !important;
}
.flatpickr-months .flatpickr-month, .flatpickr-current-month .flatpickr-monthDropdown-months, .flatpickr-weekdays {
    background: transparent !important;
}
.flatpickr-time {
    border-top: none !important;
    max-height: 50px !important;
    height: 50px !important;
    line-height: 50px !important;
    display: flex !important;
    align-items: center !important;
}

.flatpickr-time input {
    color: var(--text-primary) !important;
    font-family: var(--font-mono) !important;
    font-size: 1.1rem !important;
    background: transparent !important;
}

.flatpickr-time input:hover, .flatpickr-time input:focus {
    background: rgba(255, 255, 255, 0.05) !important;
}

.flatpickr-time .flatpickr-time-separator {
    color: rgba(255, 255, 255, 0.4) !important;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
}

.flatpickr-time .numInputWrapper span {
    border: none !important;
    background: transparent !important;
}

.flatpickr-time .numInputWrapper span:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}

/* Custom Number Spinners */
input[type="number"]::-webkit-inner-spin-button, 
input[type="number"]::-webkit-outer-spin-button { 
  -webkit-appearance: none !important; 
  appearance: none !important;
  display: none !important;
  margin: 0; 
}
input[type="number"] {
  -moz-appearance: textfield;
}
.number-spinner-wrapper {
  position: relative;
  display: block;
  width: 100%;
  height: 44px;
}
.number-spinner-wrapper input {
  width: 100%;
  padding-right: 28px;
  height: 44px;
  box-sizing: border-box;
}
.spinner-controls {
  position: absolute;
  right: 1px;
  top: 1px;
  bottom: 1px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--border);
  background: var(--bg-input);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  width: 24px;
}
.spinner-btn {
  flex: 1;
  background: transparent;
  border: none;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  min-height: 0; /* allows flex shrinking */
}
.spinner-btn:hover {
  color: var(--color-accent);
  background: rgba(255, 255, 255, 0.05);
}
.spinner-btn:first-child {
  border-bottom: 1px solid var(--border);
  border-radius: 0 var(--radius-sm) 0 0;
}
.spinner-btn:last-child {
  border-radius: 0 0 var(--radius-sm) 0;
}




/* ==========================================================================
   FAQ Section (Sidebar Layout)
   ========================================================================== */

.faq-section {
    padding: 0;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    background: transparent;
    position: relative;
}

.faq-section__title {
    text-align: center;
    margin-bottom: 3rem;
    font-size: 1.8rem;
    color: var(--text-primary);
    font-weight: 600;
}

.faq-layout {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
}

/* Sidebar / Mobile Dropdown Container */
.faq-sidebar {
    position: relative;
}

.faq-dropdown-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1rem 1.5rem;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--border-radius);
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.faq-dropdown-icon {
    transition: transform 0.3s ease;
}

.faq-dropdown-trigger[aria-expanded="true"] .faq-dropdown-icon {
    transform: rotate(180deg);
}

.faq-categories {
    display: none; /* hidden on mobile by default */
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.5rem;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--border-radius);
    padding: 0.5rem;
    box-shadow: 0 8px 30px rgba(0,0,0,0.4);
    position: absolute;
    width: 100%;
    z-index: 10;
}

.faq-categories.show {
    display: flex;
}

.faq-category-btn {
    text-align: left;
    padding: 1rem 1.5rem;
    background: transparent;
    border: none;
    border-radius: calc(var(--border-radius) - 4px);
    color: var(--text-secondary);
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.faq-category-btn:hover {
    background: rgba(255,255,255,0.03);
    color: var(--text-primary);
}

.faq-category-btn--active {
    background: rgba(255,255,255,0.05);
    color: var(--accent);
    font-weight: 500;
}

.faq-panes { flex: 1; min-width: 0; width: 100%;
    flex: 1;
}

.faq-pane {
    display: none;
    animation: fadeIn 0.3s ease;
}



.faq-pane--active {
    display: block;
}

/* Accordion within Pane */
.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.faq-item {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    flex-shrink: 0;
    transition: border-color 0.3s ease;
}

.faq-item:hover {
    border-color: rgba(255,255,255,0.15);
}

.faq-item__btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    background: transparent;
    border: none;
    color: var(--text-primary);
    font-family: var(--font-family);
    font-size: 1rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    transition: color 0.3s ease;
}

.faq-item__btn:hover {
    color: var(--accent);
}

.faq-item__question {
    padding-right: 1rem;
    line-height: 1.4;
}

.faq-item__icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    position: relative;
    opacity: 0.8;
}

.faq-item__icon::before,
.faq-item__icon::after {
    content: '';
    position: absolute;
    background-color: var(--text-primary);
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.faq-item__icon::before {
    top: 7px;
    left: 1px;
    width: 14px;
    height: 2px;
}

.faq-item__icon::after {
    top: 1px;
    left: 7px;
    width: 2px;
    height: 14px;
}

.faq-item__btn[aria-expanded="true"] .faq-item__icon::before {
    transform: rotate(180deg);
    background-color: var(--accent);
}

.faq-item__btn[aria-expanded="true"] .faq-item__icon::after {
    transform: rotate(90deg);
    background-color: var(--accent);
}

.faq-item__btn[aria-expanded="true"] {
    color: var(--accent);
}

.faq-item__content {
    max-height: 0;
    overflow: hidden;
    flex-shrink: 0;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s ease;
    padding: 0 1.5rem;
}

@keyframes shakeError {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-5px); }
    40%, 80% { transform: translateX(5px); }
}

.shake-error {
    animation: shakeError 0.5s ease-in-out;
    border: 1px solid var(--danger) !important;
    box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.2) !important;
    background: rgba(220, 53, 69, 0.05) !important;
}

.faq-item__content p {
    margin: 0;
    padding-bottom: 1.5rem;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
}

.faq-link {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed rgba(201, 169, 78, 0.5);
    transition: color 0.3s ease, border-color 0.3s ease;
    cursor: pointer;
}

.faq-link:hover {
    color: #e0bc5a;
    border-bottom-color: #e0bc5a;
}

/* Desktop overrides */
@media (min-width: 900px) {
    .faq-layout {
        flex-direction: row;
        align-items: flex-start !important;
        gap: 4rem;
    }

    .faq-panes { flex: 1; min-width: 0; width: 100%;
        display: block !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .faq-sidebar {
        width: 300px;
        flex-shrink: 0;
        position: sticky;
        top: 100px;
    }

    .faq-dropdown-trigger {
        display: none; /* hide dropdown trigger on desktop */
    }

    .faq-categories {
        display: flex; /* always show list on desktop */
        position: static;
        box-shadow: none;
        border: none;
        background: transparent;
        padding: 0;
        border-left: 1px solid rgba(255,255,255,0.1);
        border-radius: 0;
    }

    .faq-category-btn {
        border-radius: 0;
        padding: 1rem 1.5rem;
        position: relative;
    }
    
    .faq-category-btn::before {
        content: '';
        position: absolute;
        left: -1px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: transparent;
        transition: background 0.2s ease;
    }

    .faq-category-btn--active {
        background: transparent;
    }

    .faq-category-btn--active::before {
        background: var(--accent);
    }
}

/*  Premium Mockup Modal  */
.modal--mockup {
    max-width: 1000px !important;
    width: 95%;
    padding: 2rem 1.5rem;
    background: var(--bg-card);
}

.mockup-viewer {
    max-height: 60vh;
    overflow-y: auto;
    background: transparent;
    padding: 2rem;
    border-radius: var(--border-radius);
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.mockup-page {
    background: #ffffff;
    color: #333; /* Dark text for PDF look */
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    /* A4 aspect ratio approximation */
    min-height: 848px; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    border-radius: 4px;
    position: relative;
    font-family: 'Cormorant Garamond', serif;
    padding: 3rem 2rem;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    overflow: hidden;
}

.mockup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
}

.mockup-logo {
    font-weight: 700;
    font-size: 1.5rem;
    color: #C9A94E;
    letter-spacing: 2px;
}

.mockup-page-title {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #888;
}

.mockup-content h3 {
    font-size: 1.8rem;
    color: #222;
    margin-bottom: 1rem;
    margin-top: 2rem;
}

.mockup-content h4 {
    font-size: 1.2rem;
    color: #444;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.mockup-content p {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 1rem;
    font-family: 'Nunito', sans-serif;
}

.mockup-content ul {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
    font-family: 'Nunito', sans-serif;
}

.mockup-content li {
    margin-bottom: 0.5rem;
}

/* Blur Effect */
.mockup-page--blurred .text-blur {
    position: relative;
    filter: blur(4px);
    user-select: none;
    pointer-events: none;
    opacity: 0.7;
    margin-top: 1rem;
}

.mockup-cta-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%; /* Cover bottom half */
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 30%, rgba(255,255,255,1) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding: 3rem 2rem;
    text-align: center;
    font-family: var(--font-body);
}

.mockup-cta-overlay h3 {
    color: #C9A94E;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    text-shadow: 0 1px 3px rgba(255,255,255,0.8);
}

.mockup-cta-overlay p {
    color: #444;
    font-size: 1rem;
    margin-bottom: 1.5rem;
    max-width: 400px;
}

@media (max-width: 768px) {
    .mockup-viewer {
        padding: 1rem;
        max-height: 70vh;
    }
    .mockup-page {
        padding: 2rem 1rem;
        min-height: 600px;
    }
}

.mockup-page--image {
    padding: 0 !important;
    min-height: auto !important;
    background: transparent !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3) !important;
}

/* Choices.js Overrides for JoyT Dark Theme */
.choices {
  margin-bottom: 0 !important;
}

.choices.is-focused .choices__inner {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-glow) !important;
}
.choices__list--dropdown {
  background-color: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-primary) !important;
  box-shadow: var(--shadow-lg) !important;
  z-index: 100 !important;
  width: auto !important;
  min-width: 100% !important;
}
.choices__list--dropdown .choices__item {
  background-color: transparent !important;
  color: var(--text-primary) !important;
  white-space: nowrap !important;
}
.choices__input {
  background-color: transparent !important;
  color: var(--text-primary) !important;
}
.choices__input::placeholder {
  color: var(--text-muted) !important;
}
.choices[data-type*="select-one"] .choices__button {
  filter: invert(1);
}
.choices[data-type*="select-one"]::after {
  border-color: var(--text-muted) transparent transparent transparent !important;
}
.choices[data-type*="select-one"].is-open::after {
  border-color: transparent transparent var(--text-muted) transparent !important;
}


.input-icon + .choices .choices__inner {
  padding-left: 2.5rem !important;
}


.choices__list--single {
  padding: 0 !important;
}
.card:has(.choices) {
  overflow: visible !important;
}



.choices__list--dropdown .choices__item {
  background-color: transparent !important;
  color: var(--text-primary) !important;
  white-space: nowrap !important;
}
.choices__list--dropdown .choices__item.is-selected {
  background-color: rgba(255, 255, 255, 0.05) !important;
  color: var(--text-primary) !important;
}
.choices__list--dropdown .choices__item.is-highlighted {
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--text-primary) !important;
}


.choices__list--dropdown .choices__item--selectable:hover {
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--text-primary) !important;
}



.choices__inner {
  background: rgba(255, 255, 255, 0.03) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 8px !important;
  color: var(--text-primary) !important;
  font-family: var(--font-mono) !important;
  font-size: 0.95rem !important;
  line-height: 1.2 !important;
  padding: 0 2.2rem 0 0.85rem !important;
  height: 44px !important;
  min-height: unset !important;
  box-sizing: border-box !important;
  transition: border-color var(--transition), box-shadow var(--transition), background var(--transition) !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

