/*
 * DUX Promotion – Strefa Klienta, wersja 2 (views/{panel_klienta,zamowienia_klienta,kalkulacje_klienta}/*.html, views/components/strefa_klienta_v2/*).
 * Ładowany po glowna.css, glowna_v2.css i koszyk_v2.css (karty, pola, panel boczny "ko2-"). Klasy z prefiksem "sk2-".
 */

.sk2 {
    background: var(--g-tlo-szare);
}

/* =========================================================
   Nagłówek strony, zakładki strefy
   ========================================================= */
.sk2-gora {
    padding: 28px 0 0;
    border-bottom: 1px solid var(--g-ramka);
    background: #fff;
}

.sk2-gora__wiersz {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px 32px;
    padding-bottom: 22px;
}

.sk2-gora .g-nadtytul {
    margin-bottom: 8px;
}

.sk2-gora__opis {
    max-width: 620px;
    margin-top: 8px;
    color: var(--g-tekst-2);
    font-size: 15px;
}

.sk2-uzytkownik {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 8px 8px 10px;
    border: 1px solid var(--g-ramka);
    border-radius: 999px;
    background: #fff;
}

.sk2-uzytkownik__awatar,
.sk2-konto__awatar,
.sk2-uwagi__awatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--v2-ciemny);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.sk2-uzytkownik__dane {
    display: grid;
    line-height: 1.25;
}

.sk2-uzytkownik__dane small {
    color: var(--g-tekst-3);
    font-size: 11px;
}

.sk2-uzytkownik__dane strong {
    max-width: 220px;
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sk2-uzytkownik__wyloguj {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: var(--g-tekst-2);
    transition: background var(--g-przejscie), color var(--g-przejscie);
}

.sk2-uzytkownik__wyloguj svg {
    width: 18px;
    height: 18px;
}

.sk2-uzytkownik__wyloguj:hover {
    background: #fff1f0;
    color: #d92d20;
}

.sk2-zakladki {
    display: flex;
    gap: 4px;
    margin-bottom: -1px;
    overflow-x: auto;
    scrollbar-width: none;
}

.sk2-zakladki::-webkit-scrollbar {
    display: none;
}

.sk2-zakladka {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px 14px;
    border-bottom: 3px solid transparent;
    color: var(--g-tekst-2);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    transition: color var(--g-przejscie), border-color var(--g-przejscie);
}

.sk2-zakladka__ikona {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: var(--g-tlo-szare);
    transition: background var(--g-przejscie), color var(--g-przejscie);
}

.sk2-zakladka__ikona svg {
    width: 16px;
    height: 16px;
}

.sk2-zakladka:hover {
    color: var(--g-tekst);
}

.sk2-zakladka.aktywna {
    border-bottom-color: var(--g-pomarancz);
    color: var(--g-tekst);
}

.sk2-zakladka.aktywna .sk2-zakladka__ikona {
    background: var(--g-pomarancz);
    color: #fff;
}

.sk2-podzakladki {
    padding: 14px 0;
    border-bottom: 1px solid var(--g-ramka);
    background: #fff;
}

.sk2-podzakladki__lista {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sk2-podzakladki .g-chip {
    gap: 8px;
    min-height: 36px;
}

.sk2-licznik {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--g-tlo-szare);
    color: var(--g-tekst-2);
    font-size: 12px;
    font-weight: 800;
}

.g-chip.aktywny .sk2-licznik {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

/* komunikat po zapisie (komunikat() w kontrolerach) */
.sk2-komunikat {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    padding: 12px 14px 12px 16px;
    border: 1px solid #abefc6;
    border-radius: var(--g-promien);
    background: #ecfdf3;
    color: #067647;
    font-weight: 600;
}

.ko2-glowna > .sk2-komunikat {
    margin-top: 0;
}

.sk2-komunikat p {
    flex: 1;
}

.sk2-komunikat__ikona {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #12b76a;
    color: #fff;
}

.sk2-komunikat__ikona svg {
    width: 16px;
    height: 16px;
}

.sk2-komunikat__zamknij {
    display: inline-flex;
    padding: 6px;
    border: 0;
    border-radius: 50%;
    background: none;
}

.sk2-komunikat__zamknij svg {
    width: 16px;
    height: 16px;
}

/* =========================================================
   Statusy
   ========================================================= */
.sk2-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.sk2-status::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.sk2-status--projekt {
    background: #eff4ff;
    color: #2e5aac;
}

.sk2-status--akcja {
    background: var(--g-pomarancz-jasny);
    color: var(--g-pomarancz-ciemny);
}

.sk2-status--produkcja {
    background: #f4f0ff;
    color: #6941c6;
}

.sk2-status--gotowe {
    background: #ecfdf3;
    color: #067647;
}

.sk2-status--wstrzymane {
    background: var(--g-tlo-szare);
    color: var(--g-tekst-2);
}

.sk2-status--blad {
    background: #fff1f0;
    color: #b42318;
}

/* =========================================================
   Lista zamówień
   ========================================================= */
.sk2-zamowienia {
    display: grid;
    gap: 12px;
}

.sk2-zamowienie {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 16px 20px 16px 16px;
    border: 1px solid var(--g-ramka);
    border-radius: var(--g-promien-duzy);
    background: #fff;
    transition: border-color var(--g-przejscie), box-shadow var(--g-przejscie);
}

.sk2-zamowienie:hover {
    border-color: #d5d9e0;
    box-shadow: var(--g-cien);
}

.sk2-zamowienie--akcja {
    border-color: rgba(240, 124, 0, .45);
    box-shadow: inset 4px 0 0 var(--g-pomarancz);
}

.sk2-zamowienie__miniatura {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    overflow: hidden;
    border-radius: var(--g-promien);
    background: var(--g-tlo-szare);
    color: var(--g-tekst-3);
}

.sk2-zamowienie__miniatura img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sk2-zamowienie__miniatura svg {
    width: 28px;
    height: 28px;
}

.sk2-zamowienie__tresc {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.sk2-zamowienie__gora {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
}

.sk2-zamowienie__nr {
    color: var(--g-tekst-3);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sk2-zamowienie__nazwa {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
}

.sk2-zamowienie__nazwa:hover {
    color: var(--g-pomarancz-ciemny);
}

.sk2-zamowienie .ko2-produkt__parametry {
    margin-top: 2px;
}

.sk2-zamowienie__osoba {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--g-tekst-3);
    font-size: 12px;
}

.sk2-zamowienie__osoba svg {
    width: 14px;
    height: 14px;
}

.sk2-pusto {
    display: grid;
    justify-items: center;
    gap: 10px;
    padding: 48px 24px;
    text-align: center;
}

.sk2-pusto h2 {
    font-size: 20px;
    font-weight: 800;
}

.sk2-pusto p {
    max-width: 460px;
    color: var(--g-tekst-2);
}

.sk2-pusto .ko2-pusty__ikona {
    background: var(--g-tlo-szare);
    box-shadow: none;
}

.sk2-grupy {
    display: grid;
    gap: 2px;
}

.sk2-grupa {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--g-promien-maly);
    color: var(--g-tekst-2);
    font-size: 14px;
    font-weight: 600;
    transition: background var(--g-przejscie), color var(--g-przejscie);
}

.sk2-grupa strong {
    margin-left: auto;
    color: var(--g-tekst);
}

.sk2-grupa:hover {
    background: var(--g-tlo-szare);
    color: var(--g-tekst);
}

.sk2-grupa.aktywna {
    background: var(--g-tlo-szare);
    color: var(--g-tekst);
    font-weight: 800;
}

.sk2-grupa__kropka {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.sk2-grupa__kropka--projekt { background: #2e5aac; }
.sk2-grupa__kropka--produkcja { background: #6941c6; }
.sk2-grupa__kropka--gotowe { background: #12b76a; }
.sk2-grupa__kropka--wstrzymane { background: var(--g-tekst-3); }

/* =========================================================
   Szczegóły zamówienia
   ========================================================= */
.sk2-decyzja {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px 18px;
    border-color: rgba(240, 124, 0, .45);
    background: linear-gradient(135deg, #fff 0%, var(--g-pomarancz-jasny) 100%);
}

.sk2-decyzja__ikona {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--g-pomarancz);
    color: #fff;
    box-shadow: var(--g-cien-pomarancz);
}

.sk2-decyzja h2 {
    font-size: 18px;
    font-weight: 800;
}

.sk2-decyzja p {
    margin-top: 4px;
    color: var(--g-tekst-2);
    font-size: 14px;
}

.sk2-decyzja__przyciski {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sk2-os {
    display: grid;
    position: relative;
}

.sk2-os__wpis {
    position: relative;
    padding: 0 0 26px 28px;
}

.sk2-os__wpis::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: -8px;
    left: 6px;
    width: 2px;
    background: var(--g-ramka);
}

.sk2-os__wpis:last-child {
    padding-bottom: 0;
}

.sk2-os__wpis:last-child::before {
    display: none;
}

.sk2-os__wpis::after {
    content: "";
    position: absolute;
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #c3c8d1;
    box-shadow: 0 0 0 1px var(--g-ramka);
}

.sk2-os__wpis.biezacy::after {
    background: var(--g-pomarancz);
    box-shadow: 0 0 0 4px rgba(240, 124, 0, .18);
}

.sk2-os__glowa {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
}

.sk2-os__glowa time {
    color: var(--g-tekst-3);
    font-size: 13px;
}

.sk2-os__uwagi {
    margin-top: 8px;
    color: var(--g-tekst-2);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.sk2-os__uwagi table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.sk2-os__uwagi th,
.sk2-os__uwagi td {
    padding: 6px 8px;
    border-bottom: 1px solid var(--g-ramka);
    text-align: left;
}

.sk2-projekty {
    display: grid;
    gap: 14px;
    margin-top: 14px;
}

.sk2-projekt {
    display: grid;
    grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
    gap: 20px;
    padding: 16px;
    border: 1px solid var(--g-ramka);
    border-radius: var(--g-promien);
    background: #fff;
}

.sk2-projekt__podglad {
    display: grid;
    align-content: start;
    gap: 10px;
}

.sk2-projekt__obraz {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--g-ramka);
    border-radius: var(--g-promien-maly);
    background: var(--g-tlo-szare);
    cursor: zoom-in;
}

.sk2-projekt__obraz img {
    width: 100%;
    height: auto;
    transition: transform var(--g-przejscie);
}

.sk2-projekt__obraz:hover img {
    transform: scale(1.03);
}

.sk2-projekt__lupa {
    position: absolute;
    right: 8px;
    bottom: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(21, 23, 28, .78);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.sk2-projekt__lupa svg {
    width: 14px;
    height: 14px;
}

.sk2-projekt__plik {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 28px 12px;
    border: 2px dashed #d5d9e0;
    border-radius: var(--g-promien);
    background: var(--g-tlo-szare);
    color: var(--g-pomarancz-ciemny);
    font-weight: 700;
}

.sk2-projekt__plik svg {
    width: 34px;
    height: 34px;
}

.sk2-projekt__nazwa {
    color: var(--g-tekst-3);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.sk2-projekt__uwagi {
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
}

.sk2-projekt__uwagi h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 800;
}

.sk2-projekt__uwagi h3 span {
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--g-tlo-szare);
    color: var(--g-tekst-2);
    font-size: 12px;
}

.sk2-uwagi {
    display: grid;
    gap: 10px;
}

.sk2-uwagi li {
    display: flex;
    gap: 10px;
}

.sk2-uwagi__awatar {
    width: 30px;
    height: 30px;
    background: var(--g-tlo-szare);
    color: var(--g-tekst-2);
    font-size: 12px;
}

.sk2-uwagi li > div {
    flex: 1;
    min-width: 0;
    padding: 10px 12px;
    border-radius: 4px var(--g-promien-maly) var(--g-promien-maly) var(--g-promien-maly);
    background: var(--g-tlo-szare);
}

.sk2-uwagi__autor {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4px 12px;
    font-size: 13px;
}

.sk2-uwagi__autor time {
    color: var(--g-tekst-3);
    font-size: 12px;
}

.sk2-uwagi__tresc {
    margin-top: 4px;
    font-size: 14px;
    overflow-wrap: anywhere;
}

.sk2-uwagi__tresc p {
    margin: 0;
}

.sk2-brak {
    color: var(--g-tekst-3);
    font-size: 13px;
    font-style: italic;
}

.sk2-uwaga {
    display: grid;
    justify-items: start;
    gap: 10px;
}

.sk2-uwaga .ko2-pole {
    width: 100%;
}

.sk2-edytor__pole[hidden] {
    display: none;
}

.sk2-panel-status {
    margin: -4px 0 14px;
}

.sk2-dane {
    display: grid;
    margin: 0;
}

.sk2-dane div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid var(--g-ramka);
    font-size: 14px;
}

.sk2-dane dt {
    flex-shrink: 0;
    color: var(--g-tekst-3);
}

.sk2-dane dd {
    margin: 0;
    font-weight: 700;
    text-align: right;
    overflow-wrap: anywhere;
}

.sk2-dane dd small {
    color: var(--g-tekst-3);
    font-weight: 500;
}

/* =========================================================
   Okna (dialog): akceptacja, wiadomość, podgląd projektu
   ========================================================= */
.sk2-okno {
    width: min(960px, calc(100% - 32px));
    max-height: calc(100% - 48px);
    padding: 0;
    border: 0;
    border-radius: var(--g-promien-duzy);
    background: #fff;
    color: var(--g-tekst);
    box-shadow: var(--g-cien-duzy);
}

.sk2-okno[open] {
    display: flex;
    flex-direction: column;
    animation: sk2-okno .25s cubic-bezier(.2, .7, .2, 1);
}

.sk2-okno::backdrop {
    background: rgba(21, 23, 28, .55);
}

@keyframes sk2-okno {
    from { opacity: 0; transform: translateY(14px) scale(.98); }
}

.sk2-okno__naglowek {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 24px 16px;
    border-bottom: 1px solid var(--g-ramka);
}

.sk2-okno__naglowek .g-nadtytul {
    margin-bottom: 6px;
}

.sk2-okno__naglowek h2 {
    font-size: 22px;
    font-weight: 800;
}

.sk2-okno__tresc {
    padding: 24px;
    overflow-y: auto;
}

.sk2-okno--podglad {
    width: auto;
    max-width: calc(100% - 32px);
    padding: 12px;
    background: #15171c;
}

.sk2-okno--podglad img {
    max-width: 100%;
    max-height: calc(100vh - 96px);
    margin: 0 auto;
    border-radius: var(--g-promien-maly);
}

.sk2-okno--podglad .g-panel__zamknij {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    background: #fff;
}

.sk2-ladowanie {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 24px;
    color: var(--g-tekst-2);
    font-weight: 600;
}

.sk2-ladowanie[hidden] {
    display: none;
}

.sk2-ladowanie__kolo {
    width: 22px;
    height: 22px;
    border: 3px solid var(--g-ramka);
    border-top-color: var(--g-pomarancz);
    border-radius: 50%;
    animation: sk2-obrot .8s linear infinite;
}

@keyframes sk2-obrot {
    to { transform: rotate(360deg); }
}

/* akceptacja */
.sk2-akceptacja {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 24px;
}

.sk2-akceptacja__projekty {
    display: grid;
    align-content: start;
    gap: 12px;
}

.sk2-akceptacja__formularz {
    display: grid;
    align-content: start;
    gap: 16px;
}

.sk2-akceptacja__wstep {
    color: var(--g-tekst-2);
    font-size: 14px;
}

.sk2-zgody {
    display: grid;
    gap: 8px;
}

.sk2-zgoda {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--g-ramka);
    border-radius: var(--g-promien);
    background: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: border-color var(--g-przejscie), background var(--g-przejscie), box-shadow var(--g-przejscie);
}

.sk2-zgoda input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.sk2-zgoda small {
    display: block;
    color: var(--g-tekst-3);
    font-size: 12px;
}

.sk2-zgoda__pole {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    border: 2px solid #c3c8d1;
    border-radius: 7px;
    background: #fff;
    color: transparent;
    transition: all var(--g-przejscie);
}

.sk2-zgoda__pole svg {
    width: 14px;
    height: 14px;
}

.sk2-zgoda:hover {
    border-color: var(--g-tekst-3);
}

.sk2-zgoda:has(input:checked) {
    border-color: var(--g-pomarancz);
    background: var(--g-pomarancz-jasny);
}

.sk2-zgoda input:checked + .sk2-zgoda__pole {
    border-color: var(--g-pomarancz);
    background: var(--g-pomarancz);
    color: #fff;
}

.sk2-zgoda input:focus-visible + .sk2-zgoda__pole {
    box-shadow: 0 0 0 3px rgba(240, 124, 0, .3);
}

.sk2-zgoda input:disabled + .sk2-zgoda__pole {
    opacity: .6;
}

.sk2-zgoda--opcja:has(input:checked) {
    border-color: var(--g-ramka);
    background: var(--g-tlo-szare);
}

.sk2-kod {
    display: grid;
    gap: 10px;
    padding: 16px;
    border-radius: var(--g-promien);
    background: var(--g-tlo-szare);
}

.sk2-kod[hidden] {
    display: none;
}

.sk2-kod h3 {
    font-size: 15px;
    font-weight: 800;
}

.sk2-kod__przyciski {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sk2-kod .g-przycisk:disabled {
    opacity: .45;
    cursor: not-allowed;
    transform: none;
}

.sk2-kod .ko2-info {
    margin-top: 0;
}

.sk2-kod input[name="kod_autoryzacji"] {
    max-width: 200px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .2em;
    text-align: center;
}

/* wiadomość */
.sk2-wiadomosc-szczegoly {
    display: grid;
    gap: 16px;
}

.sk2-wiadomosc-szczegoly__tytul {
    font-size: 18px;
    font-weight: 800;
}

.sk2-wiadomosc-szczegoly .ko2-dane small {
    color: var(--g-tekst-3);
    font-weight: 500;
}

.sk2-wiadomosc-szczegoly__tresc {
    width: 100%;
    height: 460px;
    border: 1px solid var(--g-ramka);
    border-radius: var(--g-promien);
    background: #fff;
}

.sk2-zalaczniki {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sk2-zalaczniki .g-chip {
    gap: 6px;
}

.sk2-zalaczniki svg {
    width: 16px;
    height: 16px;
}

/* =========================================================
   Formularze: dane konta, logowanie, rejestracja
   ========================================================= */
.ko2-pole input[type="password"] {
    width: 100%;
    min-height: 46px;
    padding: 11px 14px;
    border: 1px solid #d5d9e0;
    border-radius: var(--g-promien-maly);
    background: #fff;
    color: var(--g-tekst);
    font: inherit;
    font-size: 15px;
    transition: border-color var(--g-przejscie), box-shadow var(--g-przejscie);
}

.sk2-haslo {
    position: relative;
}

.sk2-haslo input {
    padding-right: 50px !important;
}

.sk2-haslo__pokaz {
    position: absolute;
    top: 50%;
    right: 6px;
    display: inline-flex;
    padding: 8px;
    border: 0;
    border-radius: 8px;
    background: none;
    color: var(--g-tekst-3);
    transform: translateY(-50%);
}

.sk2-haslo__pokaz:hover,
.sk2-haslo__pokaz.aktywny {
    color: var(--g-pomarancz-ciemny);
}

.sk2-haslo__pokaz svg {
    width: 18px;
    height: 18px;
}

.sk2-edytuj {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid var(--g-ramka);
    border-radius: 999px;
    background: #fff;
    color: var(--g-tekst-2);
    font-size: 13px;
    font-weight: 700;
    transition: border-color var(--g-przejscie), color var(--g-przejscie);
}

.sk2-edytuj svg {
    width: 15px;
    height: 15px;
}

.sk2-edytuj:hover {
    border-color: var(--g-pomarancz);
    color: var(--g-pomarancz-ciemny);
}

.sk2-edytuj[hidden] {
    display: none;
}

.sk2-przyciski {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--g-ramka);
}

[data-sk2-edycja-formularz][hidden],
[data-sk2-podglad][hidden] {
    display: none;
}

.sk2-konto {
    display: grid;
    justify-items: center;
    gap: 4px;
    text-align: center;
}

.sk2-konto__awatar {
    width: 64px;
    height: 64px;
    margin-bottom: 8px;
    font-size: 22px;
}

.sk2-konto__nazwa {
    font-size: 17px;
}

.sk2-konto__firma {
    color: var(--g-tekst-3);
    font-size: 13px;
}

.sk2-konto .ko2-dalej {
    margin-top: 14px;
}

.sk2-zalety,
.sk2-kroki {
    display: grid;
    gap: 10px;
    color: var(--g-tekst-2);
    font-size: 14px;
}

.sk2-zalety li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sk2-zalety svg {
    width: 18px;
    height: 18px;
    padding: 3px;
    border-radius: 50%;
    background: #dcfae6;
    color: #067647;
}

.sk2-kroki li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.sk2-kroki span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--v2-ciemny);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.sk2-tekst {
    color: var(--g-tekst-2);
    font-size: 14px;
}

.sk2-zadanie label strong {
    color: var(--g-pomarancz-ciemny);
}

/* =========================================================
   Faktury
   ========================================================= */
.sk2-tabela-karta {
    padding: 8px 22px;
}

.sk2-tabela {
    display: grid;
}

.sk2-tabela__naglowek,
.sk2-tabela__wiersz {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, .9fr) minmax(0, .9fr) auto;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
}

.sk2-tabela__naglowek {
    color: var(--g-tekst-3);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sk2-tabela__wiersz {
    border-top: 1px solid var(--g-ramka);
    font-size: 14px;
}

.sk2-prawo {
    text-align: right;
    justify-self: end;
}

.sk2-kwota {
    font-weight: 800;
}

.sk2-faktura {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.sk2-faktura > span:last-child {
    display: grid;
    min-width: 0;
}

.sk2-faktura strong {
    overflow-wrap: anywhere;
}

.sk2-faktura small {
    color: var(--g-tekst-3);
    font-size: 12px;
}

.sk2-faktura__ikona {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--g-pomarancz-jasny);
    color: var(--g-pomarancz);
}

.sk2-faktura__ikona svg {
    width: 18px;
    height: 18px;
}

/* =========================================================
   Poczta
   ========================================================= */
.sk2-wiadomosci {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--g-ramka);
    border-radius: var(--g-promien-duzy);
    background: #fff;
}

.sk2-wiadomosci li + li {
    border-top: 1px solid var(--g-ramka);
}

.sk2-wiadomosc {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 16px 20px;
    border: 0;
    background: none;
    text-align: left;
    transition: background var(--g-przejscie);
}

.sk2-wiadomosc:hover {
    background: var(--g-tlo-szare);
}

.sk2-wiadomosc__ikona {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--g-tlo-szare);
    color: var(--g-tekst-2);
}

.sk2-wiadomosc__ikona--od-nas {
    background: var(--g-pomarancz-jasny);
    color: var(--g-pomarancz);
}

.sk2-wiadomosc__tresc {
    display: grid;
    min-width: 0;
}

.sk2-wiadomosc__tresc strong {
    overflow: hidden;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sk2-wiadomosc__tresc small,
.sk2-wiadomosc__data {
    color: var(--g-tekst-3);
    font-size: 13px;
}

.sk2-wiadomosc__data {
    white-space: nowrap;
}

.sk2-wiadomosc__strzalka {
    color: var(--g-tekst-3);
}

/* =========================================================
   Kalkulacje
   ========================================================= */
.sk2-kalkulacje {
    display: grid;
    gap: 12px;
}

.sk2-kalkulacja {
    display: grid;
    gap: 16px;
    padding: 20px 22px;
    border: 1px solid var(--g-ramka);
    border-radius: var(--g-promien-duzy);
    background: #fff;
    transition: border-color var(--g-przejscie), box-shadow var(--g-przejscie);
}

.sk2-kalkulacja:hover {
    border-color: #d5d9e0;
    box-shadow: var(--g-cien);
}

.sk2-kalkulacja--akcja {
    border-color: rgba(240, 124, 0, .45);
    box-shadow: inset 4px 0 0 var(--g-pomarancz);
}

.sk2-kalkulacja__gora {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px 20px;
}

.sk2-kalkulacja__tytul {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.sk2-kalkulacja__nazwa {
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.sk2-kalkulacja__uwaga {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--g-tekst-3);
    font-size: 13px;
}

.sk2-kalkulacja__uwaga svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}

.sk2-parametry {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 10px 20px;
    margin: 0;
    padding: 14px 16px;
    border-radius: var(--g-promien);
    background: var(--g-tlo-szare);
}

.sk2-parametry dt {
    color: var(--g-tekst-3);
    font-size: 12px;
}

.sk2-parametry dd {
    margin: 2px 0 0;
    font-size: 14px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.sk2-ceny {
    display: grid;
}

.sk2-ceny__naglowek,
.sk2-ceny__wiersz {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(112px, auto);
    align-items: center;
    gap: 14px;
    padding: 10px 0;
}

.sk2-ceny__naglowek {
    padding-top: 0;
    color: var(--g-tekst-3);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sk2-ceny__wiersz {
    border-top: 1px solid var(--g-ramka);
    font-size: 15px;
}

.sk2-ceny__naklad {
    font-weight: 800;
}

.sk2-ceny small {
    display: block;
    color: var(--g-tekst-3);
    font-size: 12px;
    font-weight: 500;
}

.sk2-tabela--kalkulacje .sk2-tabela__naglowek,
.sk2-tabela--kalkulacje .sk2-tabela__wiersz {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto;
}

.sk2-formularz-kolumny {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

/* okno negocjacji i potwierdzeń */
.sk2-negocjacja {
    display: grid;
    gap: 18px;
}

.sk2-negocjacja + .sk2-negocjacja {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--g-ramka);
}

.sk2-negocjacja__gora {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px 16px;
}

.sk2-negocjacja__gora .g-nadtytul {
    margin-bottom: 4px;
}

.sk2-negocjacja__gora h3 {
    font-size: 18px;
    font-weight: 800;
}

.sk2-negocjacja__wstep {
    color: var(--g-tekst-2);
    font-size: 15px;
}

.sk2-negocjacja--pytanie .sk2-negocjacja__wstep {
    color: var(--g-tekst);
    font-size: 17px;
    font-weight: 700;
}

.sk2-negocjacja__oferty {
    display: grid;
    gap: 10px;
}

.sk2-negocjacja__przyciski {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.sk2-negocjacja .ko2-pole input[type="date"] {
    width: 100%;
    max-width: 240px;
    min-height: 46px;
    padding: 11px 14px;
    border: 1px solid #d5d9e0;
    border-radius: var(--g-promien-maly);
    background: #fff;
    color: var(--g-tekst);
    font: inherit;
}

.sk2-oferta {
    display: grid;
    grid-template-columns: minmax(150px, .8fr) minmax(0, 1fr) minmax(0, 1.3fr);
    align-items: start;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid var(--g-ramka);
    border-radius: var(--g-promien);
}

.sk2-oferta__naklad {
    display: grid;
    justify-items: start;
    gap: 4px;
}

.sk2-oferta__naklad strong {
    font-size: 16px;
}

.sk2-oferta__naklad small {
    color: var(--g-tekst-3);
    font-size: 12px;
}

.sk2-oferta__naklad .g-przycisk {
    margin-top: 6px;
}

.sk2-oferta__cena {
    display: flex;
    gap: 8px;
}

.sk2-oferta__cena input {
    flex: 1 1 90px;
    min-width: 0;
}

.sk2-oferta__cena select {
    flex: 0 1 130px;
    width: auto;
}

.sk2-okno .sk2-kalkulacje {
    margin-top: 14px;
}

.sk2-okno .sk2-kalkulacja:hover {
    box-shadow: none;
}

/* =========================================================
   Responsywność
   ========================================================= */
@media (max-width: 1080px) {
    .sk2-tabela__naglowek {
        display: none;
    }

    .sk2-tabela__naglowek + .sk2-tabela__wiersz {
        border-top: 0;
    }

    .sk2-tabela__wiersz {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 16px;
    }

    .sk2-tabela__wiersz > .sk2-faktura {
        grid-column: 1 / -1;
    }

    .sk2-tabela__wiersz [data-etykieta]::before {
        content: attr(data-etykieta) ": ";
        color: var(--g-tekst-3);
        font-size: 12px;
        font-weight: 500;
    }

    .sk2-tabela__wiersz .sk2-prawo {
        justify-self: start;
        text-align: left;
    }
}

@media (max-width: 900px) {
    .sk2-akceptacja,
    .sk2-projekt,
    .sk2-oferta {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .sk2-gora {
        padding-top: 20px;
    }

    .sk2-gora__wiersz {
        align-items: flex-start;
        flex-direction: column;
        padding-bottom: 16px;
    }

    .sk2-uzytkownik {
        width: 100%;
    }

    .sk2-uzytkownik__dane {
        flex: 1;
    }

    .sk2-zakladka {
        padding: 10px 10px 12px;
    }

    .sk2-podzakladki__lista {
        flex-wrap: nowrap;
        margin-right: -24px;
        padding-right: 24px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .sk2-podzakladki__lista::-webkit-scrollbar {
        display: none;
    }

    .sk2-podzakladki .g-chip {
        flex-shrink: 0;
    }

    .sk2-zamowienie {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 12px 14px;
        padding: 14px;
        border-radius: var(--g-promien);
    }

    .sk2-zamowienie__miniatura {
        width: 64px;
        height: 64px;
    }

    .sk2-zamowienie__akcja {
        grid-column: 1 / -1;
        width: 100%;
    }

    .sk2-decyzja {
        grid-template-columns: minmax(0, 1fr);
    }

    .sk2-decyzja__przyciski {
        grid-column: auto;
    }

    .sk2-decyzja__przyciski .g-przycisk {
        flex: 1 1 100%;
    }

    .sk2-projekt {
        padding: 12px;
    }

    .sk2-tabela-karta {
        padding: 4px 16px;
    }

    .sk2-wiadomosc {
        grid-template-columns: auto minmax(0, 1fr);
        padding: 14px 16px;
    }

    .sk2-wiadomosc__data {
        grid-column: 2;
        margin-top: -10px;
    }

    .sk2-wiadomosc__strzalka {
        display: none;
    }

    .sk2-okno {
        width: 100%;
        max-width: 100%;
        max-height: calc(100% - 24px);
        margin-bottom: 0;
        border-radius: var(--g-promien-duzy) var(--g-promien-duzy) 0 0;
    }

    .sk2-okno__naglowek,
    .sk2-okno__tresc {
        padding-right: 16px;
        padding-left: 16px;
    }

    .sk2-przyciski .g-przycisk {
        flex: 1 1 100%;
    }

    .sk2-kalkulacja {
        padding: 16px;
        border-radius: var(--g-promien);
    }

    .sk2-kalkulacja__gora > .g-przycisk {
        width: 100%;
    }

    .sk2-parametry {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 14px;
        padding: 12px 14px;
    }

    .sk2-ceny__naglowek {
        display: none;
    }

    .sk2-ceny__wiersz {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 4px 12px;
    }

    .sk2-ceny__naglowek + .sk2-ceny__wiersz {
        border-top: 0;
    }

    .sk2-ceny__wiersz > :nth-child(2) {
        grid-row: 1;
        grid-column: 2;
    }

    .sk2-ceny__wiersz > :nth-child(3) {
        grid-column: 1 / -1;
        justify-self: start;
        text-align: left;
    }

    .sk2-ceny__wiersz > :nth-child(3) small {
        display: inline;
        margin-left: 4px;
    }

    .sk2-ceny__wiersz > :nth-child(4) {
        grid-column: 1 / -1;
        justify-self: stretch;
    }

    .sk2-ceny__wiersz > :nth-child(4) .g-przycisk {
        width: 100%;
    }

    .sk2-ceny__wiersz > :nth-child(4):empty {
        display: none;
    }

    .sk2-formularz-kolumny {
        grid-template-columns: minmax(0, 1fr);
    }

    .sk2-negocjacja__przyciski .g-przycisk {
        flex: 1 1 100%;
    }
}
