/* Light surfaces for authenticated cabinet areas. Auth and legal pages stay dark. */
.cabinet {
    --cabinet-text: #071d27;
    --cabinet-muted: #34515f;
    --cabinet-line: rgba(18, 58, 77, .22);
    position: relative;
    isolation: isolate;
    border: 0;
    background:
        radial-gradient(circle at 83% 4%, rgba(13, 126, 166, .075), transparent 29%),
        radial-gradient(circle at 14% 97%, rgba(205, 91, 20, .055), transparent 25%),
        rgba(245, 248, 249, .992);
    color: var(--cabinet-text);
    font-size: 15px;
    line-height: 1.55;
    clip-path: polygon(
        0 14px, 18% 6px, 38% 14px, 58% 5px, 78% 13px, 100% 7px,
        calc(100% - 5px) 21%, 100% 39%, calc(100% - 4px) 59%, 100% 78%,
        100% calc(100% - 13px), 80% calc(100% - 5px), 60% calc(100% - 14px),
        40% calc(100% - 5px), 20% calc(100% - 13px), 0 calc(100% - 6px),
        5px 78%, 0 60%, 4px 40%, 0 22%
    );
    filter: drop-shadow(0 25px 42px rgba(0, 0, 0, .34));
}

.cabinet::before {
    position: absolute;
    inset: 8px 7px;
    z-index: -1;
    border: 0;
    background:
        linear-gradient(90deg, transparent, rgba(23, 157, 201, .28) 38%, rgba(236, 127, 43, .22) 68%, transparent) top / 100% 1px no-repeat,
        linear-gradient(90deg, transparent, rgba(32, 115, 148, .2), transparent) bottom / 100% 1px no-repeat;
    box-shadow: inset 0 0 36px rgba(23, 111, 148, .045);
    content: "";
    pointer-events: none;
}

.cabinet .auth-kicker,
.cabinet .streamer-report-links a,
.cabinet .support-attachments a,
.cabinet .file-picker__button {
    color: #078db8 !important;
}

.cabinet .text-button {
    color: #294550;
    font-size: 14px;
}

.cabinet .text-button:hover {
    color: #087fa7;
}

.cabinet-nav {
    border-bottom-color: var(--cabinet-line);
}

.cabinet-nav a {
    color: #294a58;
    font-size: 14px;
    font-weight: 500;
}

.cabinet-nav a:hover {
    border-color: rgba(4, 111, 148, .38);
    color: #071f2a;
}

.cabinet-nav a.is-active {
    border-color: rgba(3, 106, 143, .52);
    background: rgba(15, 132, 172, .16);
    color: #034d68;
    box-shadow: inset 0 -2px #0799c7;
}

.cabinet-card {
    border-color: var(--cabinet-line);
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 12px 34px rgba(18, 48, 62, .09);
}

.cabinet-card__label,
.cabinet-card dt,
.cabinet-card p,
.cabinet .event-list span,
.cabinet .streamer-report-item header span,
.cabinet .streamer-report-item time,
.cabinet .file-picker small,
.cabinet .support-attachments small {
    color: var(--cabinet-muted);
}

.cabinet-card__label {
    font-size: 12px;
    font-weight: 750;
}

.cabinet-card p {
    font-size: 14px;
    line-height: 1.7;
}

.cabinet-card dt,
.cabinet-card dd,
.cabinet .event-list > div {
    font-size: 14px;
}

.cabinet-card dl div,
.cabinet .event-list > div {
    border-bottom-color: rgba(38, 77, 96, .11);
}

.cabinet .status-ok {
    color: #176b51;
}

.cabinet .settings-form label,
.cabinet .settings-form--three label > span,
.cabinet-card:has(.settings-form--three) > .cabinet-card__label {
    color: #203b47;
    font-size: 13px;
    font-weight: 500;
}

.cabinet .settings-form small,
.cabinet .secret-box > span {
    color: #687f8a;
}

.cabinet .settings-form input,
.cabinet .settings-form textarea,
.cabinet .settings-form select,
.cabinet .secret-box input,
.cabinet .referral-link__value {
    border-color: rgba(27, 69, 89, .35);
    background: #f9fbfc;
    color: #071f2a;
    font-size: 15px;
    font-weight: 500;
}

.cabinet .settings-form input:focus,
.cabinet .settings-form textarea:focus,
.cabinet .settings-form select:focus,
.cabinet .referral-link__value:focus {
    border-color: #159cc8;
    box-shadow: 0 0 0 3px rgba(21, 156, 200, .12);
}

.cabinet .secret-box code {
    border-color: rgba(4, 105, 143, .4);
    background: #edf7fa;
    color: #034e69;
}

.cabinet .recovery-card {
    border-color: rgba(28, 159, 111, .3);
}

.cabinet .recovery-codes code {
    border-color: rgba(25, 91, 69, .3);
    background: #f1faf6;
    color: #0c503a;
}

.cabinet .referral-steps li {
    border-color: rgba(12, 94, 126, .3);
    background: #f7fafb;
}

.cabinet .referral-steps b {
    border-color: rgba(235, 128, 42, .72);
    background: linear-gradient(145deg, #fffaf4, #ffe8d1);
    color: #c75d19;
    box-shadow: 0 0 0 2px rgba(237, 129, 39, .09), 0 0 18px rgba(224, 99, 19, .2), inset 0 0 12px rgba(255, 139, 48, .08);
}

.cabinet .referral-steps span,
.cabinet .referral-program .referral-status-note {
    color: #647985;
}

.cabinet .referral-steps span strong {
    color: #203a46;
}

.cabinet .referral-rewards {
    border-color: var(--cabinet-line);
    background: linear-gradient(90deg, #f7fafb, #eef7fa, #f7fafb);
}

.cabinet .referral-rewards > div {
    border-color: var(--cabinet-line);
}

.cabinet .referral-rewards span {
    color: #657c87;
}

.cabinet .referral-rewards strong {
    color: #18343f;
}

.cabinet .referral-program .referral-bonus {
    background: #eef8fb;
    color: #294b59;
}

.cabinet .referral-program .referral-bonus strong {
    color: #087da4;
}

.cabinet .referral-rate-map {
    border-color: rgba(13, 126, 166, .24);
    background: linear-gradient(135deg, #f4fbfd, #eef7fa);
    box-shadow: 0 8px 24px rgba(38, 95, 116, .07), inset 0 1px #fff;
}

.cabinet .referral-rate-map__header {
    border-color: rgba(13, 126, 166, .16);
}

.cabinet .referral-rate-map__header > div:first-child > span,
.cabinet .referral-rate-map__count span,
.cabinet .referral-rate-map__tiers article > span {
    color: #59727e;
}

.cabinet .referral-rate-map__header > div:first-child > strong small {
    color: #657d87;
}

.cabinet .referral-rate-map__header > div:first-child > strong i,
.cabinet .referral-rate-map__tiers article > div > i {
    color: #91a5ad;
}

.cabinet .referral-rate-map__count {
    border-color: rgba(13, 126, 166, .16);
}

.cabinet .referral-rate-map__count strong {
    color: #183d4b;
}

.cabinet .referral-rate-map__tiers article {
    border-color: rgba(31, 111, 141, .16);
    background: rgba(255, 255, 255, .72);
}

.cabinet .referral-rate-map__tiers article:not(:last-child)::after {
    color: #8ca6b0;
}

.cabinet .referral-rate-map__tiers article > em,
.cabinet .referral-rate-map__tiers article > div > strong small {
    color: #718994;
}

.cabinet .referral-rate-map__tiers article.is-complete {
    border-color: rgba(26, 151, 105, .28);
    background: #f0faf5;
}

.cabinet .referral-rate-map__tiers article.is-complete > em {
    color: #16815a;
}

.cabinet .referral-rate-map__tiers article.is-current {
    border-color: rgba(15, 140, 184, .58);
    background: linear-gradient(145deg, #fff7ee, #edf9fd);
    box-shadow: 0 0 0 2px rgba(22, 151, 196, .08), 0 10px 25px rgba(43, 109, 134, .1);
}

.cabinet .referral-rate-map__tiers article.is-current > em {
    color: #087da4;
}

.cabinet .referral-rate-map__progress {
    background: #dcebf0;
}

.cabinet .referral-rate-map__progress::-webkit-progress-bar {
    background: #dcebf0;
}

.cabinet .referral-program .referral-rate-map__next {
    color: #087da4;
}

.cabinet .referral-program .referral-rate-map__note {
    border-color: #e67d2c;
    background: #fff7ee;
    color: #526d78;
}

.cabinet .referral-program .referral-rate-map__note strong {
    color: #b95417;
}

.cabinet .referral-rules {
    border-color: rgba(13, 126, 166, .24);
    background: #f7fbfc;
}

.cabinet .referral-rules > strong {
    color: #173641;
}

.cabinet .referral-rules ul,
.cabinet .referral-summary span,
.cabinet .referral-user-list small {
    color: #58717c;
}

.cabinet .referral-summary > div {
    border-color: var(--cabinet-line);
}

.cabinet .referral-summary strong {
    color: #153743;
}

.cabinet .referral-state--active {
    border-color: rgba(26, 151, 105, .34);
    background: #edf9f3;
    color: #126b4a;
}

.cabinet .referral-state--waiting {
    border-color: rgba(220, 126, 35, .34);
    background: #fff5e8;
    color: #985112;
}

.cabinet .referral-state--expired {
    border-color: rgba(91, 113, 124, .24);
    background: #f1f4f5;
    color: #5f747e;
}

.cabinet .referral-link-card {
    border-color: rgba(239, 132, 44, .68);
    background: radial-gradient(circle at 26% 50%, rgba(228, 105, 21, .11), transparent 48%), #fff7ef;
    box-shadow: 0 0 0 1px rgba(235, 132, 48, .12), 0 0 26px rgba(227, 111, 25, .12);
}

.cabinet .referral-link-card .referral-link__value {
    border-color: rgba(227, 128, 45, .5);
    background: #ffffff;
    color: #102d39;
}

.cabinet .support-message,
.cabinet .streamer-report-item {
    border-color: rgba(24, 64, 83, .29);
    background: #f8fafb;
}

.cabinet .support-message--user {
    border-color: rgba(8, 115, 155, .38);
    background: #eef8fb;
}

.cabinet .support-message--admin {
    border-color: rgba(187, 103, 28, .37);
    background: #fff7ee;
}

.cabinet .support-message p,
.cabinet .streamer-report-item p {
    color: #203b47;
    font-size: 14px;
    line-height: 1.65;
}

.cabinet .support-message time {
    color: #70858f;
}

.cabinet .file-picker {
    border-color: rgba(7, 112, 151, .5);
    background: #f4fbfd;
}

.cabinet .file-picker:hover,
.cabinet .file-picker:focus-within {
    border-color: #087da7;
    background: #eaf7fb;
}

.cabinet .support-attachments a {
    border-color: rgba(5, 101, 138, .32);
    background: #f6fbfd;
}

.cabinet .streamer-attachment-thumb,
.cabinet .streamer-attachment-file {
    border-color: rgba(13, 76, 105, .35);
    background: #f7fafb;
    color: #063f57;
}

.cabinet .streamer-attachment-thumb small,
.cabinet .streamer-attachment-file small {
    color: #3f5c68;
}

.cabinet .streamer-attachment-thumb:hover,
.cabinet .streamer-attachment-thumb:focus-visible,
.cabinet .streamer-attachment-file:hover {
    border-color: rgba(1, 105, 148, .72);
    box-shadow: 0 0 0 2px rgba(3, 118, 159, .1), 0 8px 22px rgba(16, 54, 71, .14);
}

.cabinet .streamer-intro {
    background: radial-gradient(circle at 20% 50%, rgba(207, 91, 18, .09), transparent 50%), #f8fbfc;
}

.cabinet .streamer-contact {
    border-color: rgba(190, 94, 22, .55);
    background: #fff6ed;
    color: #1b3540;
}

.cabinet .streamer-contact span {
    color: #74858d;
}

.cabinet .streamer-contact strong {
    color: #d7671f;
}

.cabinet .streamer-review-note {
    background: #fff5e9;
    color: #49392d !important;
}

.cabinet .streamer-status {
    border-color: rgba(210, 137, 51, .3);
    background: #fff6e9;
    color: #7d4610 !important;
}

.cabinet .streamer-status--approved,
.cabinet .streamer-status--paid {
    border-color: rgba(38, 156, 112, .28);
    background: #eef9f4;
    color: #0d5c3f !important;
}

.cabinet .streamer-status--rejected {
    border-color: rgba(212, 74, 51, .28);
    background: #fff1ee;
    color: #8e271d !important;
}

.cabinet .form-alert--success {
    background: #edf9f3;
    color: #176444;
}

.cabinet .form-alert--error {
    background: #fff0ed;
    color: #a73c2b;
}

@media (prefers-reduced-motion: no-preference) {
    .cabinet .referral-link-card {
        animation-name: cabinet-light-referral-pulse;
    }

    .cabinet .referral-steps b {
        animation: cabinet-light-step-pulse 2.8s ease-in-out infinite;
    }

    .cabinet .referral-steps li:nth-child(2) b {
        animation-delay: .22s;
    }

    .cabinet .referral-steps li:nth-child(3) b {
        animation-delay: .44s;
    }
}

@keyframes cabinet-light-referral-pulse {
    0%, 100% { box-shadow: 0 0 0 1px rgba(235, 132, 48, .12), 0 0 24px rgba(227, 111, 25, .1); }
    50% { box-shadow: 0 0 0 2px rgba(235, 132, 48, .24), 0 0 38px rgba(227, 111, 25, .17); }
}

@keyframes cabinet-light-step-pulse {
    0%, 100% {
        border-color: rgba(235, 128, 42, .62);
        box-shadow: 0 0 0 2px rgba(237, 129, 39, .07), 0 0 13px rgba(224, 99, 19, .14), inset 0 0 10px rgba(255, 139, 48, .06);
    }
    50% {
        border-color: rgba(245, 143, 58, .95);
        box-shadow: 0 0 0 3px rgba(237, 129, 39, .13), 0 0 25px rgba(224, 99, 19, .29), inset 0 0 15px rgba(255, 139, 48, .12);
    }
}

@media (max-width: 700px) {
    .cabinet {
        font-size: 14px;
        clip-path: polygon(
            0 10px, 32% 4px, 66% 11px, 100% 5px,
            100% calc(100% - 10px), 67% calc(100% - 4px),
            33% calc(100% - 11px), 0 calc(100% - 5px)
        );
    }

    .cabinet::before {
        inset: 6px 5px;
    }

    .cabinet-nav a,
    .cabinet .text-button,
    .cabinet-card p,
    .cabinet-card dt,
    .cabinet-card dd {
        font-size: 13px;
    }
}
