/*
|--------------------------------------------------------------------------
| NoviDesk V105 — balanced brand theme
|--------------------------------------------------------------------------
| Cel: zachować kolory z logo, ale bez „mlecznej” poświaty i słabego kontrastu.
| Motyw jest bardziej czytelny: ciemny sidebar, jasna scena, fiolet jako akcent.
*/

:root,
html[data-bg-theme],
body{
    --nd-plum:#5B2A5E;
    --nd-plum-2:#6F3173;
    --nd-plum-3:#823C87;
    --nd-dark:#1A1A24;
    --nd-dark-2:#211D31;
    --nd-lavender:#DCC6E8;
    --nd-lavender-soft:#F7F2FA;
    --nd-surface:#F6F4F8;
    --nd-card:#FFFFFF;
    --nd-line:rgba(91,42,94,.14);
    --nd-line-strong:rgba(91,42,94,.22);
    --nd-text:#171724;
    --nd-muted:#6F6878;
    --nd-success:#2F8F58;
    --nd-danger:#D94E6A;
    --nd-warning:#A66D27;
    --nd-shadow:0 16px 38px rgba(26,26,36,.08);
    --nd-shadow-soft:0 8px 22px rgba(26,26,36,.055);
}

body{
    background:#F6F4F8!important;
    color:var(--nd-text)!important;
}

@media(min-width:851px){
    .bg-desktop-owner-shell{
        background:#F6F4F8!important;
        grid-template-columns:296px minmax(0,1fr)!important;
    }

    .bg-desktop-sidebar{
        background:
            radial-gradient(circle at 18% 0%, rgba(91,42,94,.42), transparent 34%),
            linear-gradient(180deg,#171722 0%,#1E1A2D 48%,#2A1730 100%)!important;
        color:#FFFFFF!important;
        border-right:1px solid rgba(220,198,232,.16)!important;
        box-shadow:18px 0 42px rgba(26,26,36,.18)!important;
        opacity:1!important;
        filter:none!important;
        backdrop-filter:none!important;
    }

    .bg-desktop-sidebar *{
        opacity:1!important;
        filter:none!important;
    }

    .bg-sidebar-brand,
    .bg-sidebar-brand-copy strong,
    .bg-sidebar-brand-copy span,
    .bg-sidebar-menu-label,
    .bg-sidebar-company-label,
    .bg-sidebar-company strong,
    .bg-sidebar-user small,
    .bg-sidebar-user strong{
        color:#FFFFFF!important;
        text-shadow:none!important;
    }

    .bg-sidebar-brand-copy span,
    .bg-sidebar-company-label,
    .bg-sidebar-menu-label,
    .bg-sidebar-user small{
        color:rgba(255,255,255,.70)!important;
    }

    .bg-sidebar-brand-mark-box,
    .bg-sidebar-brand-mark.bg-sidebar-brand-logo{
        background:#FFFFFF!important;
        border:1px solid rgba(255,255,255,.35)!important;
        box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
    }

    .bg-sidebar-company,
    .bg-sidebar-bottom{
        background:rgba(255,255,255,.075)!important;
        border:1px solid rgba(220,198,232,.16)!important;
        box-shadow:none!important;
    }

    .bg-sidebar-mini-pill,
    .bg-sidebar-counter,
    .bg-nav-badge{
        background:rgba(220,198,232,.18)!important;
        color:#FFFFFF!important;
        border:1px solid rgba(220,198,232,.22)!important;
    }

    .bg-sidebar-link,
    .bg-v29u-sidebar-link{
        background:transparent!important;
        color:rgba(255,255,255,.82)!important;
        border:1px solid transparent!important;
        box-shadow:none!important;
    }

    .bg-sidebar-link .bg-sidebar-ico,
    .bg-v29u-sidebar-link .bg-sidebar-ico{
        background:rgba(255,255,255,.08)!important;
        color:rgba(255,255,255,.88)!important;
    }

    .bg-sidebar-link:hover,
    .bg-sidebar-link.active,
    .bg-v29u-sidebar-link:hover,
    .bg-v29u-sidebar-link.active{
        background:linear-gradient(135deg,rgba(91,42,94,.96),rgba(130,60,135,.88))!important;
        color:#FFFFFF!important;
        border-color:rgba(220,198,232,.26)!important;
        box-shadow:0 12px 26px rgba(0,0,0,.16)!important;
        transform:none!important;
    }

    .bg-v29u-sidebar-link::before{
        background:#DCC6E8!important;
        opacity:1!important;
    }

    .bg-desktop-owner-stage,
    main.container{
        background:
            radial-gradient(circle at 0% 0%, rgba(220,198,232,.22), transparent 28%),
            linear-gradient(180deg,#FFFFFF 0%,#F6F4F8 100%)!important;
    }

    .bg-desktop-topbar{
        background:rgba(255,255,255,.94)!important;
        border-bottom:1px solid rgba(91,42,94,.12)!important;
        box-shadow:0 8px 22px rgba(26,26,36,.035)!important;
        backdrop-filter:blur(12px)!important;
    }
}

/* Karty i sekcje — jasne, ale bez mlecznego rozmycia */
.card,
.panel,
.bg-card,
.bg-trial-banner,
.bg-setup-card,
.bg-desktop-owner-stage section,
.bg-v29u-modal,
.bg-v60-summary-modal,
.bg-v29u-action-card,
.bg-v29u-item,
.bg-v60-summary-grid > div,
.bg-v60-decision-panel,
.table-shell,
.nd-card,
.dashboard-card,
.stat-card,
.quick-card,
.form-card{
    background:#FFFFFF!important;
    border-color:var(--nd-line)!important;
    box-shadow:var(--nd-shadow-soft)!important;
}

/* Nagłówki */
.bg-desktop-topbar-kicker,
.bg-setup-kicker,
.bg-sidebar-company-label,
.bg-sidebar-menu-label{
    color:rgba(91,42,94,.82)!important;
    letter-spacing:.11em!important;
}

.bg-desktop-topbar h2,
.page-title,
h1,h2,h3{
    color:var(--nd-text)!important;
}

/* Przyciski */
.btn-primary,
button.btn-primary,
a.btn-primary,
.bg-desktop-topbar-link.primary,
.bg-v29u-mini-btn.is-primary,
.bg-v60-decision-btn.is-accept,
.bg-action-btn-primary,
button[type="submit"]:not(.bg-v29u-mini-btn):not(.bg-sidebar-logout),
input[type="submit"]{
    background:linear-gradient(135deg,#5B2A5E 0%,#743377 100%)!important;
    color:#FFFFFF!important;
    border:1px solid rgba(91,42,94,.30)!important;
    box-shadow:0 12px 24px rgba(91,42,94,.18)!important;
}

.btn-primary:hover,
a.btn-primary:hover,
.bg-desktop-topbar-link.primary:hover,
button[type="submit"]:hover{
    background:linear-gradient(135deg,#6F3173 0%,#823C87 100%)!important;
    color:#FFFFFF!important;
}

.btn-soft,
.btn-secondary,
.bg-desktop-topbar-link,
.bg-v29u-mini-btn,
.bg-sidebar-mini-action,
.bg-action-btn-light,
.bg-action-btn-secondary,
a.bg-action-btn-light,
button.bg-action-btn-light{
    background:#FFFFFF!important;
    color:var(--nd-text)!important;
    border:1px solid var(--nd-line)!important;
    box-shadow:0 6px 16px rgba(26,26,36,.045)!important;
}

.btn-soft:hover,
.btn-secondary:hover,
.bg-desktop-topbar-link:hover,
.bg-v29u-mini-btn:hover,
.bg-action-btn-light:hover{
    background:#F7F2FA!important;
    color:#5B2A5E!important;
}

.bg-sidebar-logout{
    background:rgba(255,255,255,.10)!important;
    color:#FFFFFF!important;
    border:1px solid rgba(220,198,232,.18)!important;
    box-shadow:none!important;
}

/* Formularze */
input,
select,
textarea,
.form-control{
    background:#FFFFFF!important;
    color:var(--nd-text)!important;
    border:1px solid var(--nd-line-strong)!important;
    box-shadow:none!important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus{
    outline:none!important;
    border-color:#5B2A5E!important;
    box-shadow:0 0 0 4px rgba(220,198,232,.42)!important;
}

label,
.form-label,
.table th{
    color:var(--nd-text)!important;
}

.muted,
small,
.text-muted,
.table td{
    color:var(--nd-muted)!important;
}

/* Tabele */
table,
.table{
    background:#FFFFFF!important;
    border-color:var(--nd-line)!important;
}

thead,
.table thead,
.table-header{
    background:#F7F2FA!important;
    color:var(--nd-text)!important;
}

tr,
.table-row,
.list-row{
    border-color:rgba(91,42,94,.10)!important;
}

/* Statusy */
.badge,
.pill,
.status-pill,
.bg-v60-event-badge{
    border-radius:999px!important;
}

.status-active,
.is-success,
.badge-success{
    background:rgba(47,143,88,.12)!important;
    color:var(--nd-success)!important;
    border-color:rgba(47,143,88,.20)!important;
}

.status-pending,
.is-waiting,
.badge-warning{
    background:rgba(220,198,232,.45)!important;
    color:#5B2A5E!important;
    border-color:rgba(91,42,94,.18)!important;
}

.status-danger,
.is-danger,
.badge-danger{
    background:rgba(217,78,106,.10)!important;
    color:var(--nd-danger)!important;
    border-color:rgba(217,78,106,.18)!important;
}

/* Setup wizard — mniej ciężki, bardziej premium */
.bg-setup-card{
    border:1px solid rgba(91,42,94,.14)!important;
}

.bg-setup-progress-fill,
.bg-setup-step.is-done .bg-setup-step-icon{
    background:linear-gradient(135deg,#5B2A5E,#823C87)!important;
}

.bg-setup-step-action,
.bg-setup-step.is-done .bg-setup-step-action{
    color:#5B2A5E!important;
}

/* Public / auth */
.nav,
.public-nav,
.auth-nav{
    background:rgba(255,255,255,.94)!important;
    border-bottom:1px solid rgba(91,42,94,.10)!important;
    backdrop-filter:blur(12px)!important;
}

.brand,
.brand strong,
.nav .brand,
.nd-auth-brand-copy strong{
    color:var(--nd-text)!important;
}

/* Mobile bottom nav */
.bottom-nav{
    background:rgba(255,255,255,.96)!important;
    border-top:1px solid var(--nd-line)!important;
    box-shadow:0 -16px 30px rgba(26,26,36,.08)!important;
}

.bottom-nav a{
    color:var(--nd-muted)!important;
}

.bottom-nav a.active{
    color:#5B2A5E!important;
}

@media(max-width:850px){
    body,
    .bg-desktop-owner-stage,
    main.container{
        background:#F6F4F8!important;
    }
}
