/*
 * PANEL ONSHOP — PREMIUM v33
 * Warstwa wizualna. Bez logiki biznesowej.
 */

:root{
    --premium-navy:#123f68;
    --premium-navy-2:#0d355b;
    --premium-blue:#1677e8;
    --premium-blue-soft:#eaf4ff;
    --premium-ink:#132c49;
    --premium-muted:#71839a;
    --premium-line:#d7e4f1;
    --premium-line-strong:#c6d9eb;
    --premium-surface:#ffffff;
    --premium-surface-soft:#f7fbff;
    --premium-success:#17764b;
    --premium-danger:#b54444;
    --premium-shadow:0 10px 28px rgba(32,75,117,.07);
    --premium-shadow-hover:0 16px 36px rgba(32,75,117,.11);
    --premium-radius:16px;
    --premium-radius-sm:10px;
}

/* Tło i typografia */
html{
    scroll-behavior:smooth;
}

body{
    background:
        radial-gradient(
            circle at 12% 0%,
            rgba(48,136,229,.07),
            transparent 27rem
        ),
        radial-gradient(
            circle at 88% 8%,
            rgba(60,171,215,.045),
            transparent 25rem
        ),
        linear-gradient(
            180deg,
            #f5f9fd 0%,
            #f2f7fc 45%,
            #f5f9fd 100%
        ) !important;
    color:var(--premium-ink);
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

::selection{
    background:#cfe7ff;
    color:#0e3458;
}

h1,h2,h3,h4{
    letter-spacing:-.025em;
}

small,
[class*="muted"],
[class*="subtitle"],
[class*="description"]{
    color:var(--premium-muted);
}

/* Linki */
a{
    text-underline-offset:2px;
}

a:not([class]){
    color:#146fd1;
}

/* Pola formularzy — spokojne premium */
input,
select,
textarea{
    border-color:var(--premium-line-strong) !important;
    border-radius:9px !important;
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease,
        transform .16s ease;
}

input:hover,
select:hover,
textarea:hover{
    border-color:#9fc3e5 !important;
}

input:focus,
select:focus,
textarea:focus{
    border-color:#3d91e4 !important;
    box-shadow:0 0 0 3px rgba(44,133,221,.11) !important;
    outline:none !important;
}

input::placeholder,
textarea::placeholder{
    color:#8b9bb0;
}

/* Przyciski */
button,
.btn,
[class*="button"],
[class*="primary"],
[class*="secondary"]{
    transition:
        transform .15s ease,
        box-shadow .15s ease,
        border-color .15s ease,
        background-color .15s ease,
        color .15s ease;
}

button:not(:disabled):hover,
.btn:not(:disabled):hover,
[class*="button"]:not(:disabled):hover{
    transform:translateY(-1px);
}

button:not(:disabled):active,
.btn:not(:disabled):active,
[class*="button"]:not(:disabled):active{
    transform:translateY(0);
}

/* Najczęstsze karty w panelu */
.card,
.panel,
.stat-card,
.metric-card,
.kpi-card,
.summary-card,
[class*="stat-card"],
[class*="metric-card"],
[class*="kpi-card"]{
    border-color:var(--premium-line) !important;
    border-radius:var(--premium-radius) !important;
    box-shadow:var(--premium-shadow);
}

/* Tabele */
table{
    font-variant-numeric:tabular-nums;
}

thead th{
    color:#5d7088;
    letter-spacing:.035em;
}

tbody tr{
    transition:
        background-color .14s ease,
        box-shadow .14s ease;
}

tbody tr:hover{
    background:#f8fbff !important;
}

td,
th{
    border-color:#e4edf6 !important;
}

/* Badge / statusy */
.badge,
[class*="badge"],
[class*="status"]{
    border-radius:999px;
}

/* Zakupy — karty */
.p24-card{
    border-color:var(--premium-line) !important;
    border-radius:16px !important;
    box-shadow:0 8px 24px rgba(35,82,125,.055);
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.995),
            rgba(252,254,255,.995)
        ) !important;
}

.p24-card:hover{
    box-shadow:0 11px 29px rgba(35,82,125,.075);
}

/* Zakupy — główne podsumowanie kosztów */
.p32-cost-summary{
    border:1px solid #cfe1f2 !important;
    border-radius:14px !important;
    background:
        linear-gradient(
            135deg,
            #f7fbff 0%,
            #edf6ff 100%
        ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.8),
        0 8px 20px rgba(48,101,153,.045);
}

.p32-cost-summary-grid article{
    border:1px solid #d8e5f1 !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.88) !important;
    box-shadow:0 5px 14px rgba(37,83,126,.035);
}

.p32-cost-summary-grid article strong{
    letter-spacing:-.018em;
}

.p32-cost-summary-final{
    border-color:#b8ddc7 !important;
    background:
        linear-gradient(
            145deg,
            #effaf4 0%,
            #e8f7ef 100%
        ) !important;
    box-shadow:
        0 7px 18px rgba(38,121,77,.075) !important;
}

.p32-cost-summary-final strong{
    color:#167247 !important;
}

/* Zakupy — wymagane pola */
.p24-form select[name="supplier"],
.p24-form input[name="order_date"],
.p24-form input[name="shipping_total_original"],
.p24-form #p32d-currency,
.p24-form .p25-product-search,
.p24-form .p25-test-name,
.p24-form .p25-qty,
.p24-form .p25-price{
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f9fcff 100%
        ) !important;
    border-color:#b9d5ed !important;
}

.p24-form .p25-actual-shipping{
    background:
        linear-gradient(
            180deg,
            #fafcff 0%,
            #f3f7fb 100%
        ) !important;
}

/* Pasek małych kosztów pod produktem */
.p32-row-costs{
    border:1px solid #dde9f4 !important;
    background:#f8fbfe !important;
    border-radius:9px !important;
}

.p32-row-final{
    color:#166f48 !important;
}

/* Przyciski końcowe Zakupów */
.p24-primary{
    box-shadow:0 7px 17px rgba(20,119,232,.20) !important;
}

.p24-primary:hover{
    box-shadow:0 10px 22px rgba(20,119,232,.27) !important;
}

.p32e-receive-all{
    border-color:#b9ddc8 !important;
    background:
        linear-gradient(
            180deg,
            #f4fbf7 0%,
            #eaf7f0 100%
        ) !important;
    color:#176b43 !important;
    box-shadow:0 6px 14px rgba(44,124,78,.08);
}

/* Niebezpieczna strefa ma być celowo dyskretna */
.p32e-danger-zone{
    box-shadow:none !important;
    opacity:.92;
}

/* Długie listy — bardziej eleganckie przewijanie */
*{
    scrollbar-width:thin;
    scrollbar-color:#b9cce0 transparent;
}

::-webkit-scrollbar{
    width:9px;
    height:9px;
}

::-webkit-scrollbar-thumb{
    background:#b9cce0;
    border-radius:999px;
    border:2px solid transparent;
    background-clip:padding-box;
}

::-webkit-scrollbar-track{
    background:transparent;
}

/* Delikatna responsywność */
@media(max-width:760px){
    body{
        background:#f4f8fc !important;
    }

    .p24-card{
        border-radius:13px !important;
        box-shadow:0 5px 16px rgba(35,82,125,.05);
    }

    .p32-cost-summary-grid article{
        border-radius:10px !important;
    }
}

/* Respect reduced motion */
@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        transition:none !important;
        animation:none !important;
    }
}

/* Widoki z dolnym panelem wyboru — bez zasłaniania ostatnich rekordów */
body{
    padding-bottom:18px;
}

main{
    padding-bottom:26px;
}

@media(max-width:760px){
    main{
        padding-bottom:34px;
    }
}
