body.admin-soft-glass {
    --admin-glass-text: #eaf3ff;
    --admin-glass-muted: #aec5db;
    --admin-glass-line: rgba(124, 167, 196, .28);
    --admin-glass-frame: rgba(5, 20, 34, .38);
    --admin-glass-fill: linear-gradient(125deg, rgba(26, 50, 71, .72), rgba(10, 26, 43, .72));
    --admin-glass-editor-fill: linear-gradient(125deg, rgba(26, 50, 71, .88), rgba(10, 26, 43, .88));
    --admin-glass-shadow: inset 0 1px 0 rgba(239, 250, 255, .045), 0 8px 28px rgba(1, 11, 29, .1);
    --admin-glass-blur: 12px;
    min-height: 100vh;
    min-height: 100dvh;
    background: #07131f;
    color: var(--admin-glass-text);
    color-scheme: dark;
    isolation: isolate;
    animation: none;
}

body.admin-soft-glass::before,
body.admin-soft-glass::after {
    content: none;
}

.admin-soft-glass .admin-ambient {
    position: fixed;
    z-index: -1;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    background: linear-gradient(140deg, #0e273d, #07141e 55%, #0b3038);
}

.admin-soft-glass .admin-ambient::before,
.admin-soft-glass .admin-ambient::after {
    content: "";
    position: absolute;
    width: 90%;
    height: 100%;
    border-radius: 50%;
    opacity: .6;
    animation: adminSoftGlassDrift 26s ease-in-out infinite alternate;
    will-change: transform;
}

.admin-soft-glass .admin-ambient::before {
    top: -34%;
    left: -28%;
    background: radial-gradient(ellipse, rgba(40, 108, 165, .6), rgba(21, 94, 142, .27) 35%, transparent 70%);
}

.admin-soft-glass .admin-ambient::after {
    right: -24%;
    bottom: -44%;
    background: radial-gradient(ellipse, rgba(22, 181, 138, .6), rgba(20, 127, 119, .27) 35%, transparent 70%);
    animation-duration: 32s;
    animation-delay: -11s;
}

.admin-soft-glass :is(.admin-shell, .manage-shell, .settings-shell, .bookings-shell) {
    border-color: rgba(107, 167, 190, .33);
    background: var(--admin-glass-frame);
    box-shadow: 0 22px 60px rgba(1, 13, 29, .27);
}

.admin-soft-glass :is(.client-card, .create-client-panel, .manage-card, .manage-client-toolbar, .settings-overview-card),
.admin-soft-glass.admin-bookings-page .glass,
.admin-soft-glass.login-page .card {
    border-color: var(--admin-glass-line);
    background: #10283b;
    box-shadow: var(--admin-glass-shadow);
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .admin-soft-glass :is(.client-card, .create-client-panel, .manage-card, .manage-client-toolbar, .settings-overview-card),
    .admin-soft-glass.admin-bookings-page .glass,
    .admin-soft-glass.login-page .card {
        background: var(--admin-glass-fill);
        -webkit-backdrop-filter: blur(var(--admin-glass-blur)) saturate(115%);
        backdrop-filter: blur(var(--admin-glass-blur)) saturate(115%);
    }
}

.admin-soft-glass .client-card-low {
    border-color: rgba(211, 163, 72, .72);
}

.admin-soft-glass .client-card {
    transition: transform .2s ease, border-color .2s ease;
}

.admin-soft-glass .manage-client-toolbar:has(.manage-client-picker[open]) {
    z-index: 45;
}

.admin-soft-glass .settings-shell .settings-editor-section {
    border-color: var(--admin-glass-line);
    background: var(--admin-glass-editor-fill);
    box-shadow: var(--admin-glass-shadow);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.admin-soft-glass :is(.client-menu-panel, .manage-client-menu) {
    border-color: rgba(108, 151, 181, .5);
    background: #10283b;
    box-shadow: inset 0 1px 0 rgba(239, 250, 255, .04), 0 18px 45px rgba(0, 8, 20, .45);
}

.admin-soft-glass :is(.admin-low-notice, .client-warning) {
    color: #ffd277;
}

.admin-soft-glass .admin-low-notice {
    border-color: rgba(204, 154, 53, .45);
    background: linear-gradient(110deg, rgba(155, 110, 37, .14), rgba(87, 66, 22, .14));
}

.admin-soft-glass :is(.form-control, .form-select) {
    border-color: rgba(93, 143, 172, .55);
    background-color: rgba(17, 40, 58, .88);
    color: var(--admin-glass-text);
}

.admin-soft-glass :is(.form-control, .form-select)::placeholder {
    color: var(--admin-glass-muted);
    opacity: 1;
}

.admin-soft-glass :is(.form-control, .form-select):focus {
    border-color: #38d78d;
    background-color: #17374a;
    box-shadow: 0 0 0 2px rgba(37, 212, 119, .16);
}

.admin-soft-glass .form-select option {
    background-color: #112d40;
    color: var(--admin-glass-text);
}

/* Reusable actions for admin detail pages. */
.admin-soft-glass :is(.admin-primary-button, .admin-secondary-button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 46px;
    margin-top: 3px;
    padding: 10px 16px;
    border: 1px solid;
    border-radius: 7px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.admin-soft-glass .admin-primary-button {
    border-color: #2bdc8a;
    background: linear-gradient(115deg, #0fcf77, #1fdb87);
    color: #03261b;
}

.admin-soft-glass .admin-primary-button:enabled:hover {
    background-color: #44e49b;
    color: #03261b;
}

.admin-soft-glass .admin-secondary-button {
    border-color: rgba(93, 143, 172, .55);
    background: rgba(17, 40, 58, .88);
    color: var(--admin-glass-text);
}

.admin-soft-glass .admin-secondary-button:enabled:hover {
    border-color: rgba(124, 167, 196, .75);
    background-color: #17374a;
    color: var(--admin-glass-text);
}

.admin-soft-glass :is(.admin-primary-button, .admin-secondary-button):focus-visible {
    outline: 2px solid #57dfae;
    outline-offset: 3px;
}

.admin-soft-glass :is(.admin-primary-button, .admin-secondary-button):disabled {
    opacity: .65;
    cursor: not-allowed;
}

.admin-soft-glass :is(.btn-main:enabled, .manage-primary-button:enabled, .admin-primary-button:enabled, .btn-use:enabled:not(.is-confirm)) {
    background-image: linear-gradient(110deg, #1ace7b, #30e29a);
}

.admin-soft-glass :is(.btn-main:enabled, .manage-primary-button:enabled, .admin-primary-button:enabled, .btn-use:enabled:not(.is-confirm)):hover {
    background-image: linear-gradient(110deg, #35dd90, #49e9aa);
}

.admin-soft-glass.admin-bookings-page {
    --muted: #aec5db;
    --text: #eaf3ff;
}

.admin-soft-glass.admin-bookings-page .bookings-day-tab {
    border-color: var(--admin-glass-line);
    background: rgba(17, 40, 58, .5);
    box-shadow: inset 0 1px 0 rgba(239, 250, 255, .035);
}

.admin-soft-glass.admin-bookings-page .bookings-day-tab.is-active {
    border-color: rgba(43, 223, 145, .55);
    background: linear-gradient(125deg, rgba(19, 83, 69, .75), rgba(15, 52, 58, .75));
}

.admin-soft-glass.admin-bookings-page .bookings-phone-button,
.admin-soft-glass.admin-bookings-page .bookings-phone-button::after,
.admin-soft-glass.login-page .pwa-install-button {
    animation: none;
}

.admin-soft-glass.login-page .card::before {
    background: linear-gradient(145deg, rgba(180, 222, 249, .04), transparent 35%);
}

@keyframes adminSoftGlassDrift {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }
    to {
        transform: translate3d(9%, 9%, 0) scale(1.08);
    }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .admin-soft-glass .client-card:not(.is-editing):not(:has(.client-menu[open])):hover {
        border-color: rgba(159, 203, 228, .52);
        transform: translateY(-2px);
    }
    .admin-soft-glass .client-card-low:not(.is-editing):not(:has(.client-menu[open])):hover {
        border-color: rgba(233, 197, 117, .85);
    }
}

@media (max-width: 768px) {
    body.admin-soft-glass {
        --admin-glass-blur: 8px;
    }
    .admin-soft-glass :is(.admin-primary-button, .admin-secondary-button) {
        min-height: 45px;
        margin-top: 0;
    }
    .admin-soft-glass .admin-ambient::before,
    .admin-soft-glass .admin-ambient::after {
        width: 135%;
        height: 85%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-soft-glass .admin-ambient::before,
    .admin-soft-glass .admin-ambient::after {
        animation: none;
        will-change: auto;
    }
    .admin-soft-glass .client-card {
        transition: none;
    }
}

@media (prefers-reduced-transparency: reduce) {
    body.admin-soft-glass {
        --admin-glass-frame: #0a1d2e;
        --admin-glass-fill: #10283b;
        --admin-glass-editor-fill: #10283b;
    }
    .admin-soft-glass :is(.client-card, .create-client-panel, .manage-card, .manage-client-toolbar, .settings-overview-card, .settings-editor-section),
    .admin-soft-glass.admin-bookings-page .glass,
    .admin-soft-glass.login-page .card {
        background: #10283b;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
}

@media print {
    .admin-soft-glass .admin-ambient {
        display: none;
    }
}
