/* Widoczny fokus klawiatury — wspólna baza dostępności. */
:focus-visible { outline: 3px solid #1459a6; outline-offset: 3px; }

#scrollTopBtn {
    position: fixed;
    right: 20px;
    bottom: 25px;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: #087f5b;
    color: white;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    z-index: 9999;
    display: none;
}

#scrollTopBtn.show {
    display: block;
}
*{
    box-sizing:border-box;
}

body{
    margin:0;
    background:#f3f5f7;
    color:#172033;
    font-family:Arial,Helvetica,sans-serif;
}

.container{
    max-width:1100px;
    margin:0 auto;
    padding:30px 20px 60px;
}

.card{
    background:transparent;
    padding:0;
    box-shadow:none;
}


/* =========================================================
   WYSZUKIWARKA
   ========================================================= */

.card>h1{
    margin:0;
    padding:18px 18px 28px;
    background:#101828;
    color:#fff;
    border-radius:18px 18px 0 0;
    font-size:38px;
    font-weight:900;
    line-height:1;
    text-align:left;
}

.search-panel{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
    background:#101828;
    color:#fff;
    padding:18px;
    border-radius:0 0 18px 18px;
}

.search-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    width:100%;
}

.search-field{
    width:100%;
}

.search-field-label{
    display:block;
    margin:0 0 7px 2px;
    color:#fff;
    font-size:12px;
    line-height:1;
    font-weight:900;
    letter-spacing:.5px;
    text-transform:uppercase;
}

.search-field input{
    width:100%;
    height:58px;
    border:0;
    border-radius:12px;
    padding:0 20px;
    background:#fff;
    color:#101828;
    font-family:Arial,Helvetica,sans-serif;
    font-size:18px;
    font-weight:500;
    outline:none;
}

.search-field input::placeholder{
    color:#718096;
    opacity:1;
}

.search-field input:focus{
    outline:2px solid rgba(23,114,69,.35);
}

.search-field input.input-error{
    outline:2px solid #dc2626;
}

.search-field input.input-warning{
    outline:2px solid #ea580c;
}

.search-button-row{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:12px;
    width:100%;
}

.search-panel button{
    height:58px;
    width:155px;
    border:0;
    border-radius:12px;
    padding:0 20px;
    background:#fff;
    color:#101828;
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    font-weight:900;
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.search-panel button:hover{
    transform:translateY(-1px);
    box-shadow:0 5px 12px rgba(0,0,0,.12);
}

.search-panel button:active{
    transform:translateY(0);
    box-shadow:none;
}

#clearButton{
    background:#fff;
    color:#101828;
}

#clearButton:hover{
    background:#f8fafc;
}

.search-panel button:disabled{
    background:#d8dde5;
    color:#697589;
    cursor:wait;
}

/* Stare pola techniczne — logika JS nadal z nich korzysta,
   ale użytkownik widzi cztery osobne pola powyżej. */
#searchType,
#searchValue{
    display:none!important;
}



/* =========================================================
   FILTRY WYNIKÓW WYSZUKIWANIA PO NAZWIE — CEIDG / KRS
   ========================================================= */
.name-search-filters{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    padding:12px 28px;
    background:#f6f7f9;
    border-bottom:1px solid #d9dee5;
}
.name-search-filter-label{
    margin-right:4px;
    color:#667085;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.4px;
}
.name-search-filter-button{
    height:34px;
    padding:0 13px;
    border:1px solid #b8d8c6;
    border-radius:7px;
    background:#fff;
    color:#12643c;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}
.name-search-filter-button:hover{background:#e8f5ee;}
.name-search-filter-button.active{
    background:#12643c;
    border-color:#12643c;
    color:#fff;
}
.name-search-filter-count{
    margin-left:auto;
    color:#667085;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
}

.name-search-filter-count strong{
    font-weight:900;
}

.name-search-count-ceidg strong{
    color:#12643c;
}

.name-search-count-krs strong{
    color:#12643c;
}

.name-search-count-separator{
    color:#98a2b3;
}
.name-search-item.is-filtered{display:none;}
.name-search-filter-empty{display:none;}
@media(max-width:600px){
    .name-search-filters{padding:12px 20px;}
    .name-search-filter-count{width:100%;margin-left:0;}
    .name-search-filter-button{flex:1 1 auto;}
}


/* =========================================================
   KOMUNIKATY
   ========================================================= */

.message{
    margin-top:20px;
}

.message.error{
    display:block;
    background:#fff1f0;
    color:#b42318;
    border:1px solid #fecdca;
    border-radius:12px;
    padding:14px 16px;
    font-size:13px;
    font-weight:600;
}

.message.warning{
    display:block;
    background:#fff7ed;
    color:#9a3412;
    border:1px solid #fed7aa;
    border-radius:12px;
    padding:14px 16px;
}

.message.loading{
    display:none;
}


/* =========================================================
   OKNO ŁADOWANIA
   ========================================================= */

.loading-overlay{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(16,24,40,.45);
    backdrop-filter:blur(2px);
}

.loading-overlay.hidden{
    display:none!important;
}

.loading-box{
    min-width:280px;
    max-width:calc(100vw - 40px);
    padding:24px 28px;
    border-radius:14px;
    background:#fff;
    box-shadow:0 16px 50px rgba(16,24,40,.25);
    text-align:center;
    color:#172033;
    font-size:16px;
    font-weight:800;
}

.loading-spinner{
    width:34px;
    height:34px;
    margin:0 auto 14px;
    border:4px solid #dfe3e8;
    border-top-color:#177245;
    border-radius:50%;
    animation:loadingSpin .8s linear infinite;
}

@keyframes loadingSpin{
    to{
        transform:rotate(360deg);
    }
}


/* =========================================================
   WYNIKI WYSZUKIWANIA PO NAZWIE
   ========================================================= */

.name-search-result{
    display:none;
    margin-top:25px;
    background:#fff;
    border-radius:4px;
    box-shadow:0 8px 30px rgba(16,24,40,.08);
    overflow:hidden;
    border-left:7px solid #177245;
}

.name-search-title{
    padding:22px 28px 16px;
    color:#12643c;
    font-size:18px;
    font-weight:800;
    border-bottom:1px solid #d9dee5;
}

.name-search-list{
    display:flex;
    flex-direction:column;
}

.name-search-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:20px;
    align-items:center;
    padding:18px 28px;
    border-bottom:1px solid #e7e9ed;
}

.name-search-item:last-child{
    border-bottom:0;
}

.name-search-company{
    font-size:16px;
    line-height:1.3;
    font-weight:900;
    color:#172033;
    text-transform:uppercase;
    word-break:break-word;
}

.name-search-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px 18px;
    margin-top:9px;
    font-size:12px;
    color:#667085;
}

.name-search-meta span{
    white-space:nowrap;
}

.name-search-meta strong{
    color:#172033;
}

.name-search-source{
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:5px;
    background:#e8f5ee;
    color:#12643c;
    font-size:10px;
    font-weight:900;
}

.name-search-select{
    min-width:100px;
    height:40px;
    padding:0 16px;
    border:1px solid #b8d8c6;
    border-radius:7px;
    background:#fff;
    color:#12643c;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}

.name-search-select:hover{
    background:#e8f5ee;
}

.name-search-empty{
    padding:20px 28px;
    color:#667085;
    font-size:14px;
}


/* =========================================================
   FIRMA BADANA
   ========================================================= */

.result{
    position:relative;
    margin-top:25px;
    display:none;
    background:#fff;
    border-radius:4px;
    box-shadow:0 8px 30px rgba(16,24,40,.08);
    overflow:hidden;
    padding:0;
}

.result:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:7px;
    height:100%;
    background:#177245;
    z-index:1;
}


/* =========================================================
   NAGŁÓWKI
   ========================================================= */

.result h2{
    position:relative;
    margin:0;
    padding:28px 35px 20px;
    color:#12643c;
    font-size:21px;
    font-weight:800;
    line-height:1.1;
    border-bottom:1px solid #d9dee5;
    display:flex;
    align-items:center;
}

.result h2:after{
    content:"";
    height:1px;
    background:#cfd5dc;
    flex:1;
    margin-left:13px;
}

.section-icon{
    width:24px;
    height:24px;
    margin-right:7px;
    flex:0 0 24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#177245;
}

.section-icon svg{
    width:24px;
    height:24px;
    display:block;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}


/* =========================================================
   STATUS + NAZWA
   ========================================================= */

.company-name-heading{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
    margin:0;
    padding:22px 35px 18px;
    vertical-align:middle;
}

.company-name-heading .value{
    font-size:22px;
    line-height:1.15;
    text-transform:uppercase;
    font-weight:900;
    color:#172033;
    text-align:center;
}

#name{
    font-size:22px;
    text-transform:uppercase;
}

.result>.status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 13px;
    border-radius:20px;
    background:#ecfdf3;
    color:#027a48;
    font-size:12px;
    font-weight:800;
    line-height:1;
    margin-left:35px;
    margin-top:10px;
    margin-bottom:8px;
    text-transform:uppercase;
    vertical-align:middle;
}

.status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 13px;
    border-radius:20px;
    background:#ecfdf3;
    color:#027a48;
    font-size:12px;
    font-weight:800;
    line-height:1;
    margin-top:10px;
    text-transform:uppercase;
}

#status.status-active{
    background:#ecfdf3;
    color:#027a48;
}

#status.status-inactive{
    background:#fef2f2;
    color:#b42318;
}

#white_list_vat.vat-yes,
#white_list_vat.vat-no{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 13px;
    border-radius:20px;
    font-size:12px;
    font-weight:800;
    line-height:1;
    text-transform:uppercase;
}

#white_list_vat.vat-yes{
    background:#ecfdf3;
    color:#027a48;
}

#white_list_vat.vat-no{
    background:#fef2f2;
    color:#b42318;
}

#white_list_vat.empty{
    color:#667085;
}

#vies_status.vies-yes,
#vies_status.vies-no{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 13px;
    border-radius:20px;
    font-size:12px;
    font-weight:800;
    line-height:1;
    text-transform:uppercase;
}

#vies_status.vies-yes{
    background:#ecfdf3;
    color:#027a48;
}

#vies_status.vies-no{
    background:#fef2f2;
    color:#b42318;
}

#vies_status.empty{
    color:#667085;
}


/* =========================================================
   TABELA DANYCH
   ========================================================= */

.data-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
    margin:0 35px 28px;
}

.data-row{
    min-height:70px;
    background:#fff;
    padding:16px 17px;
}

.label{
    display:block;
    font-size:11px;
    color:#667085;
    text-transform:uppercase;
    font-weight:700;
    letter-spacing:.4px;
}

.value{
    display:block;
    margin-top:7px;
    font-size:15px;
    line-height:1.25;
    font-weight:700;
    word-break:break-word;
    color:#172033;
}

.value.empty{
    color:#667085;
    font-weight:500;
}

#legal_form{
    text-transform:uppercase;
}


/* =========================================================
   SEKCJE
   ========================================================= */

.siedziba-section,
.kontakt-section,
.dane-rejestrowe-section,
.reprezentacja-section,
.crbr-section,
.pkd-section,
.postepowania-section,
.previous-registry-section,
.bank-accounts-section{
    margin:0 35px 28px;
}

.siedziba-title,
.kontakt-title,
.dane-rejestrowe-title,
.reprezentacja-title,
.crbr-title,
.pkd-title,
.postepowania-title,
.previous-registry-title,
.bank-accounts-title{
    margin:0;
    padding:20px 0 14px;
    color:#12643c;
    font-size:18px;
    font-weight:800;
    border-bottom:1px solid #d9dee5;
    display:flex;
    align-items:center;
}


/* =========================================================
   SIEDZIBA / KONTAKT / DANE REJESTROWE
   ========================================================= */

.siedziba-grid,
.kontakt-grid,
.dane-rejestrowe-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
}

.siedziba-grid .data-row,
.kontakt-grid .data-row,
.dane-rejestrowe-grid .data-row{
    min-height:70px;
    background:#fff;
    padding:16px 17px;
}


/* =========================================================
   REPREZENTACJA
   ========================================================= */


.reprezentacja-search-status{
    
    color:#667085;
    font-size:11px;
    font-weight:800;
}

.reprezentacja-search-status.loading{
    color:#9a6700;
}

.reprezentacja-search-status.success{
    color:#12643c;
}

.reprezentacja-search-status.error{
    color:#b42318;
}

.reprezentacja-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
    border-top:0;
}

.reprezentacja-row{
    background:#fff;
    padding:16px 17px;
}

.reprezentacja-person{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:18px;
}

.reprezentacja-field{
    min-width:0;
}

.reprezentacja-empty{
    background:#fff;
    padding:16px 17px;
    color:#667085;
    font-size:14px;
}


/* =========================================================
   CRBR — BENEFICJENCI RZECZYWIŚCI
   ========================================================= */

.crbr-section{
    margin:0 35px 28px;
}

.crbr-title{
    margin:0;
    padding:20px 0 14px;
    color:#12643c;
    font-size:18px;
    font-weight:800;
    border-bottom:1px solid #d9dee5;
    display:flex;
    align-items:center;
}

.crbr-count-box{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 10px;
    border:1px solid #b8d8c6;
    border-radius:7px;
    background:#e8f5ee;
    color:#12643c;
    font-size:11px;
    font-weight:900;
}

.crbr-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
    border-top:0;
}

.crbr-status{
    background:#fff;
    padding:14px 17px;
    border-bottom:1px solid #dfe3e8;
    color:#667085;
    font-size:13px;
    font-weight:700;
}

.crbr-status strong{
    color:#12643c;
}

.crbr-company{
    background:#f6f7f9;
    padding:13px 17px;
    border-bottom:1px solid #dfe3e8;
    color:#172033;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
}

.crbr-person{
    background:#fff;
    padding:16px 17px;
    border-bottom:1px solid #e7e9ed;
}

.crbr-person:last-child{
    border-bottom:0;
}

.crbr-person-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
}

.crbr-field{
    min-width:0;
    min-height:62px;
    padding:12px 13px;
    background:#fff;
}

.crbr-rights{
    margin-top:12px;
    border:1px solid #dfe3e8;
    background:#f6f7f9;
}

.crbr-rights-title{
    padding:10px 12px;
    color:#12643c;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    border-bottom:1px solid #dfe3e8;
}

.crbr-right{
    padding:11px 12px;
    background:#fff;
    border-bottom:1px solid #e7e9ed;
    font-size:12px;
    line-height:1.45;
}

.crbr-right:last-child{
    border-bottom:0;
}

.crbr-right-label{
    display:block;
    margin-bottom:4px;
    color:#667085;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.crbr-empty{
    background:#fff;
    padding:16px 17px;
    color:#667085;
    font-size:14px;
}

/* =========================================================
   KNF
   ========================================================= */

.knf-section{
    margin:0 35px 28px;
}

.knf-title{
    margin:0;
    padding:20px 0 14px;
    color:#12643c;
    font-size:18px;
    font-weight:800;
    border-bottom:1px solid #d9dee5;
    display:flex;
    align-items:center;
}

.knf-grid{
    display:flex;
    flex-direction:column;
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
    border-top:0;
}

.knf-card{
    background:#fff;
    padding:16px 17px;
}

.knf-card-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
}

.knf-field{
    min-height:62px;
    padding:13px 14px;
    background:#fff;
}

.knf-empty{
    background:#fff;
    padding:16px 17px;
    color:#667085;
    font-size:14px;
}

.knf-children-title{
    margin-top:14px;
    padding:12px 0 9px;
    color:#12643c;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    border-bottom:1px solid #e7e9ed;
}

.knf-child-list{
    display:flex;
    flex-direction:column;
    gap:1px;
    margin-top:10px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
}

.knf-child{
    background:#fff;
    padding:13px 14px;
}

.knf-child-name{
    font-size:14px;
    line-height:1.3;
    font-weight:900;
    color:#172033;
    text-transform:uppercase;
}


/* =========================================================
   KNF — GRUPOWANIE CZŁONKÓW PO NUMERZE WPISU I FUNKCJI
   ========================================================= */

.knf-member-group{
    margin-top:12px;
    border:1px solid #dfe3e8;
    background:#fff;
}

.knf-member-group-info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    background:#dfe3e8;
    border-bottom:1px solid #dfe3e8;
}

.knf-member-group-field{
    min-height:62px;
    padding:13px 14px;
    background:#fff;
}

.knf-members-title{
    padding:12px 14px 9px;
    color:#12643c;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    border-bottom:1px solid #e7e9ed;
}

.knf-members-grid{
    display:flex;
    flex-direction:column;
    gap:1px;
    background:#dfe3e8;
}

.knf-member-row{
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:1px;
    background:#dfe3e8;
}

.knf-member-name{
    display:flex;
    align-items:center;
    min-height:58px;
    padding:13px 14px;
    background:#fff;
    color:#172033;
    font-size:15px;
    line-height:1.3;
    font-weight:900;
    text-transform:uppercase;
}

.knf-member-data{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    background:#dfe3e8;
}

.knf-member-data .knf-field{
    min-height:58px;
}

@media(max-width:800px){

    .knf-section{
        margin-left:22px;
        margin-right:22px;
    }

    .knf-card-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


@media(max-width:800px){

    .knf-member-row{
        grid-template-columns:1fr;
    }

    .knf-member-data{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:600px){

    .knf-section{
        margin:0 20px 20px;
    }

    .knf-card-grid{
        grid-template-columns:1fr;
    }

    .knf-member-group-info{
        grid-template-columns:1fr;
    }

    .knf-member-data{
        grid-template-columns:1fr;
    }

}


/* =========================================================
   UOKiK
   ========================================================= */

.uokik-section{
    margin:0 35px 28px;
}

.uokik-title{
    margin:0;
    padding:20px 0 14px;
    color:#12643c;
    font-size:18px;
    font-weight:800;
    border-bottom:1px solid #d9dee5;
    display:flex;
    align-items:center;
    gap:7px;
}

.uokik-count,
.section-count{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:25px;
    padding:0 9px;
    border-radius:6px;
    background:#e8f5ee;
    color:#12643c;
    font-size:12px;
    font-weight:900;
}

.uokik-actions{
    display:flex;
    justify-content:flex-end;
    padding:12px 0;
}

.uokik-button{
    height:34px;
    padding:0 14px;
    border:1px solid #b8d8c6;
    border-radius:7px;
    background:#fff;
    color:#12643c;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

.uokik-button:hover{
    background:#e8f5ee;
}

.uokik-grid{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.uokik-summary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
}

.uokik-summary .field{
    min-height:62px;
    padding:13px 14px;
    background:#fff;
}

.uokik-card{
    position:relative;
    background:#fff;
    border:1px solid #dfe3e8;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 4px 16px rgba(16,24,40,.06);
}

.uokik-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:6px;
    background:#177245;
}

.uokik-card-head{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:14px 17px 14px 23px;
    background:#f6f7f9;
    border-bottom:1px solid #dfe3e8;
}

.uokik-decision-number{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:0 9px;
    border-radius:5px;
    background:#101828;
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.uokik-badge{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:0 9px;
    border-radius:5px;
    background:#e8f5ee;
    color:#12643c;
    font-size:11px;
    font-weight:900;
}

.uokik-card-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:#dfe3e8;
    border-bottom:1px solid #dfe3e8;
}

.uokik-field{
    min-height:62px;
    padding:13px 14px;
    background:#fff;
}

/* =========================================================
   UOKiK — KARA: TAK / NIE
   ========================================================= */

.uokik-field .uokik-fine-value{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    min-width:58px !important;
    min-height:28px !important;
    margin-top:5px !important;
    padding:4px 12px !important;
    border-radius:6px !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
    box-sizing:border-box !important;
}

.uokik-field .uokik-fine-value.uokik-fine-yes{
    background:#fee2e2 !important;
    color:#b91c1c !important;
    border:1px solid #fecaca !important;
}

.uokik-field .uokik-fine-value.uokik-fine-no{
    background:#dcfce7 !important;
    color:#15803d !important;
    border:1px solid #bbf7d0 !important;
}

.uokik-card-footer{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 16px;
    padding:12px 15px 14px 23px;
    background:#fff;
}

.uokik-link{
    display:inline-flex;
    align-items:center;
    height:32px;
    padding:0 12px;
    border:1px solid #b8d8c6;
    border-radius:7px;
    background:#fff;
    color:#12643c;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

.uokik-link:hover{
    background:#e8f5ee;
}

.uokik-empty{
    padding:16px 17px;
    color:#667085;
    font-size:14px;
    background:#fff;
    border:1px solid #dfe3e8;
}

@media(max-width:800px){

    .uokik-section{
        margin-left:22px;
        margin-right:22px;
    }

    .uokik-summary{
        grid-template-columns:repeat(2,1fr);
    }

    .uokik-card-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:600px){

    .uokik-section{
        margin:0 20px 20px;
    }

    .uokik-summary,
    .uokik-card-grid{
        grid-template-columns:1fr;
    }

}


/* =========================================================
   UOKiK — PODZIAŁ DECYZJI NA TYP POWIĄZANIA
   ========================================================= */

.uokik-group{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.uokik-group-title{
    display:flex;
    align-items:center;
    gap:9px;
    padding:13px 15px;
    background:#f6f7f9;
    border:1px solid #dfe3e8;
    border-left:5px solid #177245;
    color:#172033;
    font-size:14px;
    font-weight:900;
}

.uokik-group-title-text{
    flex:1;
}

.uokik-group-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:27px;
    height:24px;
    padding:0 8px;
    border-radius:6px;
    background:#e8f5ee;
    color:#12643c;
    font-size:11px;
    font-weight:900;
}

.uokik-group-subtitle{
    padding:10px 14px;
    background:#fff;
    border:1px solid #dfe3e8;
    border-top:0;
    color:#667085;
    font-size:12px;
    line-height:1.45;
}

.uokik-group-subtitle strong{
    color:#172033;
}

.uokik-history-name{
    display:block;
    margin-top:3px;
    color:#12643c;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
}

.uokik-group-empty{
    padding:14px 15px;
    background:#fff;
    border:1px solid #dfe3e8;
    color:#667085;
    font-size:13px;
}

.uokik-history-note{
    padding:11px 14px;
    background:#f8faf9;
    border:1px solid #dfe3e8;
    color:#475467;
    font-size:12px;
    line-height:1.45;
}

.uokik-history-note strong{
    color:#12643c;
}

.uokik-card-history{
    border-left-color:#177245;
}

.uokik-card-history:before{
    background:#12643c;
}

.uokik-card-acquired{
    border-left-color:#344054;
}

.uokik-card-acquired:before{
    background:#344054;
}

.uokik-card-other{
    border-left-color:#98a2b3;
}

.uokik-card-other:before{
    background:#98a2b3;
}

@media(max-width:600px){

    .uokik-group-title{
        align-items:flex-start;
    }

}

/* =========================================================
   KONCESJE / LICENCJE / UPRAWNIENIA
   ========================================================= */

.koncesje-section{
    margin:0 35px 28px;
}

.koncesje-title{
    margin:0;
    padding:20px 0 14px;
    color:#12643c;
    font-size:18px;
    font-weight:800;
    border-bottom:1px solid #d9dee5;
    display:flex;
    align-items:center;
    gap:7px;
}

.koncesje-count{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:25px;
    padding:0 9px;
    border-radius:6px;
    background:#e8f5ee;
    color:#12643c;
    font-size:12px;
    font-weight:900;
}

.koncesje-grid{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:12px;
}

.koncesje-summary{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
}

.koncesje-summary-field{
    min-height:62px;
    padding:13px 14px;
    background:#fff;
}

.koncesje-card{
    position:relative;
    background:#fff;
    border:1px solid #dfe3e8;
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
    margin-bottom:14px;
}

.koncesje-card:before{
    display:none;
}

.koncesje-card-header{
    display:none;
}

.koncesje-status{
    display:none;
}

.koncesje-card-name{
    padding:12px 14px;
    color:#172033;
    background:#f6f7f9;
    border-bottom:1px solid #dfe3e8;
    font-size:15px;
    line-height:1.35;
    font-weight:900;
}

.koncesje-card-grid{
    display:grid;
    grid-template-columns:minmax(120px, .8fr) minmax(120px, .8fr) minmax(260px, 2.2fr);
    gap:0;
    background:#dfe3e8;
}

.koncesje-field{
    min-height:62px;
    padding:13px 14px;
    background:#fff;
    border-right:1px solid #dfe3e8;
}

.koncesje-field:nth-child(3){
    border-right:0;
}

.koncesje-field-full{
    grid-column:1 / -1;
    border-right:0;
    border-top:1px solid #dfe3e8;
}

.koncesje-field .label{
    display:block;
    margin-bottom:6px;
    color:#667085;
    font-size:11px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.02em;
}

.koncesje-field .value{
    display:block;
    color:#20252b;
    font-size:13px;
    line-height:1.45;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

.koncesje-field .value.empty{
    color:#98a2b3;
}

.koncesje-group{
    margin:0 0 18px;
}


.koncesje-group-items{
    counter-reset: decyzja;
}

.koncesje-group-items .koncesje-card{
    position:relative;
}

.koncesje-group-items .koncesje-card:before{
    content:counter(decyzja);
    counter-increment:decyzja;
    position:absolute;
    top:0;
    left:0;
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f6f7f9;
    border-right:1px solid #dfe3e8;
    border-bottom:1px solid #dfe3e8;
    color:#172033;
    font-size:12px;
    font-weight:900;
    z-index:2;
}

.koncesje-group-items .koncesje-card .koncesje-field:first-child{
    padding-left:46px;
}


.koncesje-group-title{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:100%;
    margin:0;
    padding:12px 14px;
    box-sizing:border-box;
    color:#172033;
    background:#f6f7f9;
    border:1px solid #dfe3e8;
    border-radius:6px;
    cursor:pointer;
    user-select:none;
    font-size:15px;
    line-height:1.4;
    font-weight:900;
}

.koncesje-group-title:hover{
    background:#eef1f4;
}

.koncesje-group-title .koncesje-toggle{
    flex:0 0 auto;
    width:26px;
    height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #cfd5dc;
    border-radius:5px;
    background:#fff;
    color:#172033;
    min-width:58px;
    padding:4px 8px;
    box-sizing:border-box;
    font-size:11px;
    line-height:1.2;
    font-weight:900;
}

.koncesje-group.is-collapsed .koncesje-group-items{
    display:none;
}

.koncesje-group.is-collapsed .koncesje-group-title{
    margin-bottom:0;
}

.koncesje-group:not(.is-collapsed) .koncesje-group-title{
    margin-bottom:10px;
}

.koncesje-group-items{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.koncesje-group-items .koncesje-card{
    margin-bottom:0;
}

.koncesje-group-items .koncesje-card-name{
    display:none;
}

@media(max-width:800px){

    .koncesje-section{
        margin-left:22px;
        margin-right:22px;
    }

    .koncesje-summary{
        grid-template-columns:repeat(2,1fr);
    }

    .koncesje-card-grid{
        grid-template-columns:1fr 1fr;
    }

    .koncesje-field:nth-child(3){
        grid-column:1 / -1;
        border-right:0;
        border-top:1px solid #dfe3e8;
    }

}

@media(max-width:600px){

    .koncesje-section{
        margin:0 20px 20px;
    }

    .koncesje-summary{
        grid-template-columns:1fr;
    }

    .koncesje-card-grid{
        grid-template-columns:1fr;
    }

    .koncesje-field,
    .koncesje-field:nth-child(3),
    .koncesje-field-full{
        grid-column:auto;
        border-right:0;
        border-top:1px solid #dfe3e8;
    }

    .koncesje-field:first-child{
        border-top:0;
    }
}



/* =========================================================
   PKD
   ========================================================= */

.pkd-table-wrap{
    width:100%;
    overflow-x:visible;
    border:1px solid #dfe3e8;
    border-top:0;
}

.pkd-table{
    width:100%;
    border-collapse:collapse;
    table-layout:auto;
    background:#fff;
}

.pkd-table th{
    padding:9px 12px;
    text-align:left;
    font-size:12px;
    font-weight:800;
    color:#667085;
    background:#f6f7f9;
    border-bottom:1px solid #dfe3e8;
}

.pkd-table td{
    padding:7px 12px;
    vertical-align:middle;
    font-size:13px;
    line-height:1.25;
    border-bottom:1px solid #e7e9ed;
}

.pkd-table tr:last-child td{
    border-bottom:0;
}

.pkd-code{
    width:120px;
    font-weight:800;
    white-space:nowrap;
}

.pkd-name{
    color:#20252b;
}

.pkd-primary-badge{
    display:inline-block;
    margin-left:8px;
    padding:4px 8px;
    border-radius:5px;
    background:#e8f5ee;
    color:#12643c;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}


/* =========================================================
   POSTĘPOWANIA
   ========================================================= */

.postepowania-title{
    gap:7px;
}

.postepowania-count{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:25px;
    padding:0 9px;
    border-radius:6px;
    background:#e8f5ee;
    color:#12643c;
    font-size:12px;
    font-weight:900;
}

.postepowania-list{
    display:flex;
    flex-direction:column;
    gap:16px;
    background:transparent;
    border:0;
    padding:0;
}

.postepowanie-card{
    position:relative;
    background:#fff;
    border:1px solid #dfe3e8;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 4px 16px rgba(16,24,40,.06);
}

.postepowanie-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:6px;
    background:#177245;
}

.postepowanie-header{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    padding:14px 17px 14px 23px;
    background:#f6f7f9;
    border-bottom:1px solid #dfe3e8;
}

.postepowanie-number{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:26px;
    padding:0 7px;
    border-radius:5px;
    background:#101828;
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.postepowanie-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:16px;
    background:#e8f5ee;
    color:#12643c;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}

.postepowanie-details{
    padding:0 15px 15px;
    background:#fff;
}

.postepowanie-details-title{
    padding:14px 0 9px;
    font-size:12px;
    color:#667085;
    font-weight:800;
    text-transform:uppercase;
    border-bottom:1px solid #e7e9ed;
}

.postepowanie-raw{
    margin-top:10px;
    border:1px solid #e1e5ea;
    background:#fafbfc;
}

.postepowanie-raw-row{
    display:grid;
    grid-template-columns:minmax(180px,300px) minmax(0,1fr);
    gap:1px;
    background:#dfe3e8;
    border-bottom:1px solid #dfe3e8;
}

.postepowanie-raw-row:last-child{
    border-bottom:0;
}

.postepowanie-raw-key,
.postepowanie-raw-value{
    background:#fff;
    padding:9px 11px;
    font-size:12px;
    line-height:1.35;
    word-break:break-word;
}

.postepowanie-raw-key{
    color:#667085;
    font-weight:800;
}

.postepowanie-raw-value{
    color:#172033;
    font-weight:600;
}

.postepowanie-raw-nested{
    margin-top:7px;
    border-left:2px solid #d9dee5;
    padding-left:10px;
}

.postepowanie-empty{
    padding:16px 17px;
    background:#fff;
    color:#667085;
    font-size:14px;
}


/* =========================================================
   POPRZEDNIE DANE REJESTROWE
   ========================================================= */

.previous-registry-grid{
    display:block;
}

.previous-registry-card{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
    margin-top:1px;
}

.previous-registry-date,
.previous-registry-content{
    background:#fff;
    padding:16px 17px;
}

.previous-registry-content{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:18px;
}

.previous-registry-field{
    min-width:0;
}

.previous-registry-empty{
    color:#667085;
    font-size:14px;
    padding:16px 17px;
    background:#fff;
    border:1px solid #dfe3e8;
}


/* =========================================================
   KONTA BANKOWE
   ========================================================= */

.bank-accounts-title{
    flex-wrap:wrap;
}

.bank-accounts-count-box{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-left:12px;
    padding:5px 9px;
    border:1px solid #b8d8c6;
    border-radius:6px;
    background:#fff;
    font-size:12px;
    line-height:1;
    font-weight:700;
    color:#667085;
}

.bank-accounts-count-label{
    white-space:nowrap;
}

.bank-accounts-count-value{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:24px;
    height:22px;
    padding:0 7px;
    border-radius:5px;
    background:#e8f5ee;
    color:#12643c;
    font-size:12px;
    font-weight:900;
}

.bank-accounts-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
    border-top:0;
}

.bank-account-row{
    min-height:58px;
    background:#fff;
    padding:13px 17px;
}

.bank-account-number{
    display:block;
    font-size:14px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:.2px;
    color:#172033;
    word-break:break-all;
}

.bank-accounts-empty{
    background:#fff;
    padding:16px 17px;
    color:#667085;
    font-size:14px;
}


/* =========================================================
   INFORMACJE O POBRANIU
   ========================================================= */

.source-status-summary{
    display:flex;
    flex-wrap:wrap;
    gap:8px 12px;
    align-items:center;
    margin:10px 0 14px;
    padding:10px 12px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:10px;
    font-size:.9rem;
}
.source-status-item{
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.source-status-ok::before{content:"✓";font-weight:700;}

.block-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 18px;
    margin:24px 35px 28px;
    padding:14px 0;
    color:#667085;
    font-size:11px;
    font-weight:600;
    border-bottom:1px solid #e7e9ed;
}

.block-meta-item{
    white-space:nowrap;
}

.block-meta-label{
    color:#667085;
    font-weight:700;
}

.block-meta-value{
    color:#172033;
    font-weight:700;
}
/* =========================================================
   POŁĄCZENIE / PODZIAŁ / PRZEKSZTAŁCENIE
   ========================================================= */

.polaczenie-section{
    margin:0 35px 28px;
}

.polaczenie-title{
    margin:0;
    padding:20px 0 14px;
    color:#12643c;
    font-size:18px;
    font-weight:800;
    border-bottom:1px solid #d9dee5;
    display:flex;
    align-items:center;
    gap:7px;
}

.polaczenie-count{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:25px;
    padding:0 9px;
    border-radius:6px;
    background:#e8f5ee;
    color:#12643c;
    font-size:12px;
    font-weight:900;
}

.polaczenie-list{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.polaczenie-card{
    position:relative;
    background:#fff;
    border:1px solid #dfe3e8;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 4px 16px rgba(16,24,40,.06);
}

.polaczenie-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:6px;
    background:#177245;
}

.polaczenie-card-header{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 17px 14px 23px;
    background:#f6f7f9;
    border-bottom:1px solid #dfe3e8;
}

.polaczenie-number{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:26px;
    padding:0 7px;
    border-radius:5px;
    background:#101828;
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.polaczenie-operation{
    padding:18px 15px 4px;
}

.polaczenie-operation-label{
    display:block;
    margin-bottom:8px;
    font-size:11px;
    color:#667085;
    font-weight:800;
    text-transform:uppercase;
}

.polaczenie-operation-value{
    padding:13px 14px;
    border:1px solid #dfe3e8;
    border-radius:8px;
    background:#fafbfc;
    color:#172033;
    font-size:13px;
    line-height:1.45;
    font-weight:600;
}

.polaczenie-subjects{
    padding:12px 15px 15px;
}

.polaczenie-subjects-title{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 0 9px;
    color:#12643c;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    border-bottom:1px solid #e7e9ed;
}

.polaczenie-subjects-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:23px;
    height:21px;
    padding:0 6px;
    border-radius:5px;
    background:#e8f5ee;
    color:#12643c;
    font-size:11px;
    font-weight:900;
}

.polaczenie-subject-list{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:10px;
}

.polaczenie-subject-card{
    border:1px solid #dfe3e8;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}

.polaczenie-subject-name{
    padding:13px 15px;
    background:#f6f7f9;
    border-bottom:1px solid #dfe3e8;
}

.polaczenie-subject-name-label{
    display:block;
    margin-bottom:6px;
    font-size:10px;
    color:#667085;
    font-weight:800;
    text-transform:uppercase;
}

.polaczenie-subject-name-value{
    color:#172033;
    font-size:15px;
    line-height:1.3;
    font-weight:900;
    text-transform:uppercase;
}

.polaczenie-subject-data{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:#dfe3e8;
}

.polaczenie-subject-field{
    min-height:62px;
    padding:13px 14px;
    background:#fff;
}

.polaczenie-subject-empty{
    padding:14px;
    color:#667085;
    font-size:13px;
}

.polaczenie-empty{
    padding:16px 17px;
    color:#667085;
    font-size:14px;
    background:#fff;
    border:1px solid #dfe3e8;
}

@media(max-width:800px){

    .polaczenie-section{
        margin-left:22px;
        margin-right:22px;
    }

    .polaczenie-subject-data{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:600px){

    .polaczenie-section{
        margin:0 20px 20px;
    }

    .polaczenie-title{
        font-size:17px;
    }

    .polaczenie-subject-data{
        grid-template-columns:1fr;
    }

}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:800px){

    .search-fields{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .container{
        padding:20px 15px 40px;
    }

    .card>h1{
        font-size:32px;
        padding:20px 22px 25px;
    }

    .search-panel{
        padding:18px 22px 22px;
    }

    .search-panel button{
        width:120px;
    }

    .data-grid,
    .siedziba-grid,
    .kontakt-grid,
    .dane-rejestrowe-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .siedziba-section,
    .kontakt-section,
    .dane-rejestrowe-section,
    .reprezentacja-section,
    .crbr-section,
    .knf-section,
    .pkd-section,
    .postepowania-section,
    .previous-registry-section,
    .bank-accounts-section{
        margin-left:22px;
        margin-right:22px;
    }

    .result h2{
        padding-left:22px;
        padding-right:22px;
    }

    .company-name-heading{
        padding-left:12px;
        padding-right:12px;
    }

    .result>.status{
        margin-left:22px;
    }

    .previous-registry-card{
        grid-template-columns:1fr;
    }

    .previous-registry-content{
        grid-template-columns:1fr 1fr;
    }

    .reprezentacja-person{
        grid-template-columns:1fr 1fr;
    }

    .crbr-person-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

    .postepowanie-raw-row{
        grid-template-columns:minmax(140px,220px) minmax(0,1fr);
    }

}


@media(max-width:600px){

    .search-fields{
        grid-template-columns:1fr;
    }

    .container{
        padding:15px 10px 40px;
    }

    .card>h1{
        padding:22px 22px 15px;
        font-size:25px;
    }

    .search-panel{
        gap:12px;
        padding:16px 20px 20px;
    }

    .search-field input,
    .search-panel button{
        height:52px;
    }

    .search-button-row{
        justify-content:stretch;
        gap:10px;
    }

    .search-panel button{
        width:calc(50% - 5px);
    }

    .result h2{
        padding:22px 20px 16px;
        font-size:19px;
    }

    .result h2:after{
        display:none;
    }

    .company-name-heading{
        padding:20px 20px 16px;
        flex-direction:column;
    }

    #name{
        font-size:19px;
    }

    .result>.status{
        margin-left:20px;
    }

    .data-grid,
    .siedziba-grid,
    .kontakt-grid,
    .dane-rejestrowe-grid{
        grid-template-columns:1fr;
    }

    .data-grid{
        margin:0 20px 20px;
    }

    .siedziba-section,
    .kontakt-section,
    .dane-rejestrowe-section,
    .reprezentacja-section,
    .crbr-section,
    .knf-section,
    .pkd-section,
    .postepowania-section,
    .previous-registry-section,
    .bank-accounts-section{
        margin:0 20px 20px;
    }

    .label{
        font-size:10px;
    }

    .value{
        font-size:14px;
    }

    .previous-registry-content{
        grid-template-columns:1fr;
        gap:8px;
    }

    .reprezentacja-person{
        grid-template-columns:1fr;
        gap:8px;
    }

    .crbr-person-grid{
        grid-template-columns:1fr;
    }

    .crbr-count-box{
        margin-left:auto;
    }

    .reprezentacja-search-status{
        font-size:10px;
    }

    .bank-accounts-title{
        flex-wrap:wrap;
        gap:8px;
    }

    .bank-accounts-count-box{
        margin-left:auto;
    }

    .postepowanie-header{
        flex-wrap:wrap;
    }

    .postepowanie-raw-row{
        grid-template-columns:1fr;
        gap:0;
    }

    .postepowanie-raw-key{
        background:#f6f7f9;
    }

    .postepowanie-details{
        padding:0 12px 12px;
    }

    .pkd-table{
        min-width:650px;
    }

    .name-search-item{
        grid-template-columns:1fr;
        gap:12px;
        padding:16px 20px;
    }

    .name-search-select{
        width:100%;
    }

    .name-search-meta{
        flex-direction:column;
        gap:5px;
    }

    .block-meta{
        margin:22px 20px 24px;
        gap:5px 12px;
        font-size:10px;
    }

}


/* =========================================================
   HYBRYDOWE ŁADOWANIE SEKCJI
   ========================================================= */
.hybrid-loader{
    min-height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:18px;
    border:1px solid #e4e7ec;
    border-radius:12px;
    background:#fff;
    color:#667085;
    font-size:13px;
    font-weight:700;
}

.hybrid-loader-spinner{
    width:18px;
    height:18px;
    border:3px solid #dfe3e8;
    border-top-color:#177245;
    border-radius:50%;
    animation:loadingSpin .8s linear infinite;
}

.hybrid-section-loading{
    opacity:.96;
}

/* UOKiK — informacja po dłuższym oczekiwaniu */
.uokik-slow-warning{
    padding:13px 15px;
    border:1px solid #f0d58a;
    border-radius:8px;
    background:#fff9e6;
    color:#7a5b00;
    font-size:13px;
    font-weight:700;
    line-height:1.45;
}

/* =========================================================
   UOKiK — 3 NIEZALEŻNE MODUŁY
   ========================================================= */

.uokik-independent-list{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.uokik-independent-block{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.uokik-independent-header{
    display:flex;
    align-items:center;
    gap:8px;
    padding:13px 15px;
    background:#f6f7f9;
    border:1px solid #dfe3e8;
    border-left:5px solid #177245;
    color:#172033;
    font-size:14px;
    font-weight:900;
}

.uokik-independent-header.history{
    border-left-color:#12643c;
}

.uokik-independent-header.acquired{
    border-left-color:#344054;
}

.uokik-independent-header-text{
    flex:1;
}

.uokik-independent-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:24px;
    padding:0 8px;
    border-radius:6px;
    background:#e8f5ee;
    color:#12643c;
    font-size:11px;
    font-weight:900;
}

.uokik-independent-checked{
    margin:0 0 10px;
    padding:10px 14px;
    background:#f8faf9;
    border:1px solid #dfe3e8;
    color:#475467;
    font-size:12px;
    line-height:1.5;
}

.uokik-independent-checked strong{
    color:#12643c;
    font-weight:900;
}

.uokik-independent-checked-names{
    display:block;
    margin-top:3px;
    color:#12643c;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
}

.uokik-independent-grid{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.uokik-independent-meta{
    margin:0;
}

.uokik-independent-grid .uokik-empty{
    border:1px solid #dfe3e8;
    border-radius:8px;
}

@media(max-width:600px){
    .uokik-independent-header{
        align-items:flex-start;
    }
}



/* =========================================================
   SPRAWOZDANIE FINANSOWE XML
   ========================================================= */

.finanse-section{
    margin:0 0 20px;
    background:#fff;
    border:1px solid #dfe3e8;
    border-radius:12px;
    overflow:visible;
}

.finanse-title{
    margin:0;
    padding:16px 38px 12px;
    color:#12643c;
    font-size:18px;
    font-weight:800;
    border-bottom:1px solid #d9dee5;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.finanse-title-left{
    display:flex;
    align-items:center;
    gap:0;
    min-width:0;
}

.finanse-file-input-hidden{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.finanse-file-button{
    flex:0 0 auto;
    height:42px;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #12643c;
    border-radius:8px;
    background:#12643c;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
    white-space:nowrap;
    box-sizing:border-box;
}

.finanse-file-button:hover{
    background:#0f5534;
}

.finanse-status{
    margin:0;
    padding:10px 16px;
    background:#f3f5f7;
    color:#475467;
    font-size:13px;
    line-height:1.45;
}

.finanse-status.error{
    background:#fff1f1;
    color:#b42318;
}

.finanse-result{
    display:none;
    border-top:1px solid #dfe3e8;
    background:#fff;
    overflow:visible;
}

.finanse-frame-content{
    display:block;
    width:100%;
    min-height:0;
    height:auto;
    border:0;
    background:#fff;
    overflow:visible !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
}

.finanse-frame-content,
.finanse-frame-content *{
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
}

.finanse-frame-content::-webkit-scrollbar,
.finanse-frame-content *::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
    display:none !important;
}

@media(max-width:800px){
    .finanse-section{
        margin-left:22px;
        margin-right:22px;
    }
}

@media(max-width:600px){
    .finanse-section{
        margin:0 20px 20px;
    }

    .finanse-title{
        padding:14px 0 12px;
        font-size:17px;
        gap:10px;
    }

    .finanse-file-button{
        height:40px;
        padding:0 13px;
        font-size:13px;
    }

    .finanse-frame-content{
        min-height:0;
        height:auto;
        overflow:visible !important;
    }
}




/* ============================================================
   FINANSE — poprawa szerokości kolumn
   ============================================================ */

/*
 * Cała tabela ma zmieścić się w szerokości modułu.
 * Pierwsza kolumna dostaje pozostałe miejsce, a trzy kolumny
 * liczbowe mają stałą, rozsądną szerokość.
 */
#finanseFrame.finanse-frame-content table{
    width:100% !important;
    max-width:100% !important;
    table-layout:fixed !important;
    box-sizing:border-box !important;
}

#finanseFrame.finanse-frame-content table tr > td:first-child,
#finanseFrame.finanse-frame-content table tr > th:first-child{
    width:auto !important;
    min-width:0 !important;
    text-align:left !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}

#finanseFrame.finanse-frame-content table tr > td:nth-last-child(3),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(3){
    width:150px !important;
    min-width:150px !important;
    text-align:right !important;
    white-space:nowrap !important;
}

#finanseFrame.finanse-frame-content table tr > td:nth-last-child(2),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(2){
    width:150px !important;
    min-width:150px !important;
    text-align:right !important;
    white-space:nowrap !important;
}

#finanseFrame.finanse-frame-content table tr > td:nth-last-child(1),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(1){
    width:105px !important;
    min-width:105px !important;
    text-align:right !important;
    white-space:nowrap !important;
}

/* Nagłówki roku mają być krótkie i mieścić się w swoich kolumnach. */
#finanseFrame.finanse-frame-content .finanse-year-header{
    width:150px !important;
    min-width:150px !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:hidden !important;
}

#finanseFrame.finanse-frame-content th.finanse-percent-header{
    width:105px !important;
    min-width:105px !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:hidden !important;
}

/*
 * Nie pozwalamy tabelom raportu wyjść poza kartę finansów.
 */
#finanseFrame.finanse-frame-content{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
}

#finanseFrame.finanse-frame-content table,
#finanseFrame.finanse-frame-content tbody,
#finanseFrame.finanse-frame-content tr{
    max-width:100% !important;
}

/* Na mniejszych ekranach zwężamy kolumny liczbowe. */
@media(max-width:900px){

    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(3),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(3),
    #finanseFrame.finanse-frame-content .finanse-year-header{
        width:125px !important;
        min-width:125px !important;
    }

    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(2),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(2){
        width:125px !important;
        min-width:125px !important;
    }

    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(1),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(1),
    #finanseFrame.finanse-frame-content th.finanse-percent-header{
        width:85px !important;
        min-width:85px !important;
    }
}

#finanseFrame.finanse-frame-content .finanse-year-header{
    text-align:center !important;
    white-space:nowrap !important;
    font-size:16px !important;
    font-weight:700 !important;
    color:#172033 !important;
    background:#f7f8fa !important;
    padding:12px 14px !important;
    min-width:145px !important;
}

#finanseFrame.finanse-frame-content th.finanse-percent-header{
    text-align:center !important;
    min-width:120px !important;
    background:#f1f4f7 !important;
}

#finanseFrame.finanse-frame-content table{
    table-layout:auto !important;
}


/* Korekta położenia nazw pozycji finansowych */
#finanseFrame.finanse-frame-content table td:first-child,
#finanseFrame.finanse-frame-content table td:first-child question,
#finanseFrame.finanse-frame-content table td:first-child span,
#finanseFrame.finanse-frame-content table td:first-child div,
#finanseFrame.finanse-frame-content table td:first-child p{
    text-align:left !important;
}

#finanseFrame.finanse-frame-content question{
    text-align:left !important;
}

#finanseFrame.finanse-frame-content td.finanse-label-cell{
    text-align:left !important;
}

/*
 * Nie pozwalamy, aby szeroka komórka z nazwą pozycji była
 * wypychana w prawo przez wcześniejsze style wizualizatora.
 */
#finanseFrame.finanse-frame-content .finanse-report-table-label{
    text-align:left !important;
}

/* ============================================================
   FINANSE — wygląd raportu + kolumna zmiany %
   ============================================================ */
#finanseFrame.finanse-frame-content{
    width:100%;
    box-sizing:border-box;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:22px 24px 28px;
    margin-top:14px;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
    overflow:visible !important;
}

#finanseFrame.finanse-frame-content table{
    width:100% !important;
    max-width:100% !important;
    border-collapse:collapse !important;
    border-spacing:0 !important;
    margin:18px 0 28px !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:15px !important;
    color:#172033 !important;
}

#finanseFrame.finanse-frame-content td,
#finanseFrame.finanse-frame-content th{
    box-sizing:border-box !important;
    padding:8px 10px !important;
    vertical-align:middle !important;
    border-bottom:1px solid #edf0f4 !important;
    line-height:1.35 !important;
}

#finanseFrame.finanse-frame-content th{
    font-weight:700 !important;
    background:#f7f8fa !important;
}

#finanseFrame.finanse-frame-content td:first-child,
#finanseFrame.finanse-frame-content th:first-child{
    text-align:left !important;
}

#finanseFrame.finanse-frame-content td:nth-last-child(3),
#finanseFrame.finanse-frame-content td:nth-last-child(2),
#finanseFrame.finanse-frame-content td.finanse-percent-cell{
    text-align:right !important;
    white-space:nowrap !important;
}

#finanseFrame.finanse-frame-content td.finanse-percent-cell{
    font-weight:700 !important;
    min-width:105px !important;
    border-left:1px solid #e5e7eb !important;
}

#finanseFrame.finanse-frame-content th.finanse-percent-header{
    text-align:right !important;
    white-space:nowrap !important;
    min-width:105px !important;
    border-left:1px solid #e5e7eb !important;
}

#finanseFrame.finanse-frame-content .finanse-section-title{
    margin:28px 0 12px !important;
    padding:10px 14px !important;
    border-left:4px solid #1f7a4d !important;
    background:#f6faf8 !important;
    border-radius:0 8px 8px 0 !important;
    font-weight:700 !important;
    font-size:18px !important;
    color:#172033 !important;
}

#finanseFrame.finanse-frame-content .finanse-percent-note{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin:4px 0 16px !important;
    padding:9px 12px !important;
    background:#f8fafc !important;
    border:1px solid #e5e7eb !important;
    border-radius:8px !important;
    color:#64748b !important;
    font:13px Arial, Helvetica, sans-serif !important;
}

#finanseFrame.finanse-frame-content .finanse-percent-positive{
    color:#15803d !important;
}

#finanseFrame.finanse-frame-content .finanse-percent-negative{
    color:#b91c1c !important;
}

#finanseFrame.finanse-frame-content .finanse-percent-zero,
#finanseFrame.finanse-frame-content .finanse-percent-na{
    color:#64748b !important;
}

@media(max-width:900px){
    #finanseFrame.finanse-frame-content{
        padding:14px 10px 20px;
        border-radius:10px;
    }

    #finanseFrame.finanse-frame-content table{
        font-size:13px !important;
    }

    #finanseFrame.finanse-frame-content td,
    #finanseFrame.finanse-frame-content th{
        padding:6px 6px !important;
    }

    #finanseFrame.finanse-frame-content td.finanse-percent-cell,
    #finanseFrame.finanse-frame-content th.finanse-percent-header{
        min-width:82px !important;
    }
}


/* ============================================================
   FINANSE — FINALNY UKŁAD 4 KOLUMN
   Pozycja | Bieżący rok | Poprzedni rok | Zmiana %
   ============================================================ */

#finanseFrame.finanse-frame-content{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
    overflow-x:hidden !important;
}

#finanseFrame.finanse-frame-content table{
    display:table !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
    box-sizing:border-box !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

#finanseFrame.finanse-frame-content table tr{
    width:100% !important;
    max-width:100% !important;
}

#finanseFrame.finanse-frame-content table tr > td,
#finanseFrame.finanse-frame-content table tr > th{
    box-sizing:border-box !important;
    min-width:0 !important;
    max-width:100% !important;
}

/* Pierwsza kolumna — cała pozostała szerokość. */
#finanseFrame.finanse-frame-content table tr > td:first-child,
#finanseFrame.finanse-frame-content table tr > th:first-child{
    width:auto !important;
    min-width:0 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}

/* Trzy kolumny liczbowe — zmniejszone, żeby zawsze się mieściły. */
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(3),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(3){
    width:135px !important;
    min-width:135px !important;
    max-width:135px !important;
    padding-left:5px !important;
    padding-right:5px !important;
    text-align:right !important;
    white-space:nowrap !important;
}

#finanseFrame.finanse-frame-content table tr > td:nth-last-child(2),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(2){
    width:135px !important;
    min-width:135px !important;
    max-width:135px !important;
    padding-left:5px !important;
    padding-right:5px !important;
    text-align:right !important;
    white-space:nowrap !important;
}

#finanseFrame.finanse-frame-content table tr > td:nth-last-child(1),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(1){
    width:85px !important;
    min-width:85px !important;
    max-width:85px !important;
    padding-left:4px !important;
    padding-right:4px !important;
    text-align:right !important;
    white-space:nowrap !important;
}

/* Nagłówki — krótkie i widoczne w całości. */
#finanseFrame.finanse-frame-content .finanse-year-header{
    width:135px !important;
    min-width:135px !important;
    max-width:135px !important;
    padding:10px 4px !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:visible !important;
    font-size:15px !important;
}

#finanseFrame.finanse-frame-content th.finanse-percent-header{
    width:85px !important;
    min-width:85px !important;
    max-width:85px !important;
    padding:10px 3px !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:visible !important;
    font-size:15px !important;
}

/* Nie pozwalamy, aby stare inline style z wizualizatora MF
   rozszerzały komórki. */
#finanseFrame.finanse-frame-content table td[style],
#finanseFrame.finanse-frame-content table th[style]{
    box-sizing:border-box !important;
    max-width:100% !important;
}

/* Nazwy pozostają po lewej także wewnątrz zagnieżdżonych elementów. */
#finanseFrame.finanse-frame-content table td:first-child *,
#finanseFrame.finanse-frame-content table th:first-child *{
    text-align:left !important;
}

/* Kwoty i procenty po prawej. */
#finanseFrame.finanse-frame-content table td:nth-last-child(3),
#finanseFrame.finanse-frame-content table td:nth-last-child(2),
#finanseFrame.finanse-frame-content table td:nth-last-child(1){
    text-align:right !important;
}

/* Węższe okno. */
@media(max-width:900px){
    #finanseFrame.finanse-frame-content{
        padding-left:6px !important;
        padding-right:6px !important;
    }

    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(3),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(3),
    #finanseFrame.finanse-frame-content .finanse-year-header{
        width:110px !important;
        min-width:110px !important;
        max-width:110px !important;
    }

    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(2),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(2){
        width:110px !important;
        min-width:110px !important;
        max-width:110px !important;
    }

    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(1),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(1),
    #finanseFrame.finanse-frame-content th.finanse-percent-header{
        width:75px !important;
        min-width:75px !important;
        max-width:75px !important;
    }
}




/* Jeśli wizualizator doda pustą komórkę za Zmiana %, ukrywamy ją. */
#finanseFrame.finanse-frame-content .finanse-extra-dash-cell{
    display:none !important;
}


/* ============================================================
   FINANSE — wyrównanie kwot do wspólnej prawej krawędzi kolumn
   ============================================================ */

/*
 * Nagłówki są wyśrodkowane, natomiast liczby mają być wyrównane
 * idealnie do prawej krawędzi swoich kolumn.
 */
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(3),
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(2){
    text-align:right !important;
    padding-left:8px !important;
    padding-right:14px !important;
    font-variant-numeric:tabular-nums !important;
    white-space:nowrap !important;
}

#finanseFrame.finanse-frame-content .finanse-year-header{
    text-align:center !important;
    padding-left:4px !important;
    padding-right:4px !important;
}

/*
 * Każda z dwóch kolumn kwotowych ma dokładnie taką samą szerokość.
 * Dzięki temu końcówki kwot układają się w jednej pionowej linii.
 */
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(3),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(3),
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(2),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(2){
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
}

/* Zmiana % pozostaje osobną, węższą kolumną. */
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(1),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(1){
    width:85px !important;
    min-width:85px !important;
    max-width:85px !important;
}

/* Nagłówki również dokładnie nad odpowiednimi kolumnami. */
#finanseFrame.finanse-frame-content .finanse-year-header{
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
    white-space:nowrap !important;
}

#finanseFrame.finanse-frame-content th.finanse-percent-header{
    width:85px !important;
    min-width:85px !important;
    max-width:85px !important;
}

/* Wszystkie liczby tabeli używają tej samej szerokości znaków. */
#finanseFrame.finanse-frame-content table td:nth-last-child(3),
#finanseFrame.finanse-frame-content table td:nth-last-child(2),
#finanseFrame.finanse-frame-content table td:nth-last-child(1){
    font-variant-numeric:tabular-nums !important;
}

/* Na mniejszych ekranach zachowujemy symetrię. */
@media(max-width:900px){
    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(3),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(3),
    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(2),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(2),
    #finanseFrame.finanse-frame-content .finanse-year-header{
        width:115px !important;
        min-width:115px !important;
        max-width:115px !important;
    }

    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(1),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(1),
    #finanseFrame.finanse-frame-content th.finanse-percent-header{
        width:75px !important;
        min-width:75px !important;
        max-width:75px !important;
    }
}


/* ============================================================
   FINANSE V4 — liczby idealnie do prawej krawędzi
   ============================================================ */

#finanseFrame.finanse-frame-content table{
    width:100% !important;
    table-layout:fixed !important;
}

/* Opis pozycji */
#finanseFrame.finanse-frame-content table tr > td:first-child,
#finanseFrame.finanse-frame-content table tr > th:first-child{
    text-align:left !important;
}

/* Bieżący rok */
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(3),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(3){
    text-align:right !important;
    padding-right:14px !important;
    padding-left:6px !important;
    white-space:nowrap !important;
    font-variant-numeric:tabular-nums !important;
}

/* Poprzedni rok */
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(2),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(2){
    text-align:right !important;
    padding-right:14px !important;
    padding-left:6px !important;
    white-space:nowrap !important;
    font-variant-numeric:tabular-nums !important;
}

/* Zmiana % */
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(1),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(1){
    text-align:right !important;
    padding-right:8px !important;
    padding-left:4px !important;
    white-space:nowrap !important;
}

/*
 * Nagłówki lat są wyśrodkowane, ale same wartości liczbowe
 * pozostają wyrównane do prawej.
 */
#finanseFrame.finanse-frame-content .finanse-year-header{
    text-align:center !important;
}

/*
 * Usuwamy ewentualne odziedziczone style text-align z elementów
 * wewnątrz komórek liczbowych.
 */
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(3) *,
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(2) *,
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(1) *{
    text-align:inherit !important;
}

/*
 * Na komputerze trzy kolumny liczbowe są stałe, a opis zajmuje
 * całą pozostałą szerokość.
 */
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(3),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(3),
#finanseFrame.finanse-frame-content table tr > td:nth-last-child(2),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(2){
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
}

#finanseFrame.finanse-frame-content table tr > td:nth-last-child(1),
#finanseFrame.finanse-frame-content table tr > th:nth-last-child(1){
    width:85px !important;
    min-width:85px !important;
    max-width:85px !important;
}

@media(max-width:900px){
    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(3),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(3),
    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(2),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(2){
        width:115px !important;
        min-width:115px !important;
        max-width:115px !important;
    }

    #finanseFrame.finanse-frame-content table tr > td:nth-last-child(1),
    #finanseFrame.finanse-frame-content table tr > th:nth-last-child(1){
        width:75px !important;
        min-width:75px !important;
        max-width:75px !important;
    }
}


/* ============================================================
   FINANSE — pogrubienie całych nazw pozycji
   ============================================================ */

/* Pozycje oznaczone A., B., C., I., II., 1., 2. itd. */
#finanseFrame.finanse-frame-content td.finanse-bold-position{
    font-weight:700 !important;
}

#finanseFrame.finanse-frame-content td.finanse-bold-position *{
    font-weight:700 !important;
}


/* =========================================================
   ANALIZA FINANSOWA
   Moduł znajduje się NAD sprawozdaniem finansowym.
   ========================================================= */

.analityka-section{
    display:none;
    margin:0 0 20px;
    background:#fff;
    border:1px solid #dfe3e8;
    border-radius:12px;
    overflow:visible;
}

.analityka-title{
    margin:0;
    padding:16px 38px 12px;
    color:#12643c;
    font-size:18px;
    font-weight:800;
    border-bottom:1px solid #d9dee5;
    display:flex;
    align-items:center;
    gap:0;
}

.analityka-title-left{
    display:flex;
    align-items:center;
    gap:0;
    min-width:0;
}

.analityka-status{
    margin:0;
    padding:10px 16px;
    background:#f3f5f7;
    color:#475467;
    font-size:13px;
    line-height:1.45;
}

.analityka-status.error{
    background:#fff1f1;
    color:#b42318;
}

.analityka-content{
    padding:18px;
}

.analityka-score{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:16px;
    margin-bottom:18px;
}

.analityka-score-box{
    min-height:125px;
    padding:18px;
    border:1px solid #dfe3e8;
    border-radius:10px;
    background:#f8fafc;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.analityka-score-number{
    font-size:34px;
    line-height:1;
    font-weight:900;
    color:#12643c;
}

.analityka-score-label{
    margin-top:7px;
    color:#667085;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.analityka-assessment{
    min-height:125px;
    padding:18px;
    border:1px solid #dfe3e8;
    border-radius:10px;
    background:#fff;
}

.analityka-assessment-title{
    color:#172033;
    font-size:16px;
    font-weight:900;
    margin-bottom:7px;
}

.analityka-assessment-text{
    color:#475467;
    font-size:13px;
    line-height:1.5;
}

.analityka-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    background:#dfe3e8;
    border:1px solid #dfe3e8;
    margin-bottom:18px;
}

.analityka-card{
    min-height:88px;
    padding:14px;
    background:#fff;
}

.analityka-card-label{
    display:block;
    margin-bottom:7px;
    color:#667085;
    font-size:10px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
}

.analityka-card-value{
    display:block;
    color:#172033;
    font-size:17px;
    line-height:1.2;
    font-weight:900;
}

.analityka-card-change{
    display:block;
    margin-top:5px;
    font-size:11px;
    font-weight:800;
}

.analityka-positive{
    color:#15803d !important;
}

.analityka-negative{
    color:#b91c1c !important;
}

.analityka-neutral{
    color:#667085 !important;
}

.analityka-subsection{
    margin:0 0 18px;
}

.analityka-subsection-title{
    margin:0 0 10px;
    padding:10px 14px;
    border-left:4px solid #1f7a4d;
    background:#f6faf8;
    border-radius:0 8px 8px 0;
    color:#172033;
    font-size:15px;
    font-weight:900;
}

.analityka-list{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.analityka-item{
    padding:10px 12px;
    border:1px solid #e5e7eb;
    border-radius:8px;
    background:#fff;
    color:#475467;
    font-size:13px;
    line-height:1.45;
}

.analityka-item strong{
    color:#172033;
}

.analityka-alert{
    border-left:4px solid #dc2626;
    background:#fff7f7;
}

.analityka-positive-item{
    border-left:4px solid #15803d;
    background:#f6fcf8;
}

.analityka-missing{
    color:#667085;
    font-size:12px;
    line-height:1.45;
    padding:10px 12px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:8px;
}

@media(max-width:800px){
    .analityka-section{
        margin-left:22px;
        margin-right:22px;
    }

    .analityka-content{
        padding:14px;
    }

    .analityka-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:600px){
    .analityka-section{
        margin:0 20px 20px;
    }

    .analityka-title{
        padding:14px 0 12px;
        font-size:17px;
    }

    .analityka-score{
        grid-template-columns:1fr;
    }

    .analityka-grid{
        grid-template-columns:1fr;
    }
}


/* Automatyczna analiza danych finansowych — bez liczb i wskaźników w widoku użytkownika. */
.analityka-score,
.analityka-grid{
    display:none !important;
}


        .analityka-disclaimer {
            margin: 14px 0 18px;
            padding: 14px 16px;
            border: 1px solid #d8dee8;
            border-radius: 10px;
            background: #f7f9fc;
            color: #4b5563;
            font-size: 12px;
            line-height: 1.55;
        }
        .analityka-disclaimer strong {
            display: block;
            margin-bottom: 7px;
            color: #374151;
            font-size: 13px;
        }
        .analityka-disclaimer p {
            margin: 6px 0;
        }

.analityka-signal-group{
    margin:0 0 18px;
}
.analityka-signal-heading{
    margin:0 0 9px;
    font-size:14px;
    font-weight:800;
}
.analityka-signal-group.positive .analityka-signal-heading{
    color:#12643c;
}
.analityka-signal-group.negative .analityka-signal-heading{
    color:#b42318;
}
.analityka-signal-list{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.analityka-signal-card{
    padding:11px 13px;
    border:1px solid #dfe3e8;
    border-radius:9px;
    background:#fff;
}
.analityka-signal-title{
    font-weight:800;
    font-size:13px;
    color:#1f2937;
    margin-bottom:3px;
}
.analityka-signal-description{
    font-size:12px;
    line-height:1.5;
    color:#667085;
}
.analityka-signal-empty{
    padding:10px 12px;
    border:1px dashed #d8dee8;
    border-radius:9px;
    color:#667085;
    font-size:12px;
}

/* ============================================================
   BŁĄD POBRANIA DANYCH — ŹRÓDŁO
   ============================================================ */
.source-data-error{
    grid-column:1 / -1;
    margin:10px 0;
    padding:15px 16px;
    border:1px solid #fecdca;
    border-left:5px solid #b42318;
    border-radius:10px;
    background:#fff7f6;
    color:#7a271a;
    box-sizing:border-box;
}

.source-data-error-title{
    font-size:14px;
    line-height:1.35;
    font-weight:900;
    color:#b42318;
}

.source-data-error-source{
    margin-top:5px;
    font-size:12px;
    line-height:1.45;
    color:#667085;
}

.source-data-error-details{
    margin-top:5px;
    font-size:11px;
    line-height:1.4;
    color:#7a271a;
}

.source-data-error-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}

.source-data-error-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 13px;
    border-radius:7px;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
    box-sizing:border-box;
}

.source-data-error-button{
    border:1px solid #b42318;
    background:#b42318;
    color:#fff;
}

.source-data-error-button:hover{
    background:#912018;
    border-color:#912018;
}

@media(max-width:600px){
    .source-data-error-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .source-data-error-button{
        width:100%;
    }
}

html,
body{
    overflow:visible !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
    display:none !important;
}

*{
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
}

/*
 * Rozwijamy elementy, które wizualizator ograniczył wysokością
 * i przez to tworzył własny pionowy obszar przewijania.
 */
div,
section,
main,
article,
table{
    scrollbar-width:none !important;
}

div[style*="overflow"],
section[style*="overflow"],
main[style*="overflow"],
article[style*="overflow"]{
    overflow:visible !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
    max-height:none !important;
}


/* =========================================================
   STRONY 404 / BŁĘDY PUBLICZNE
   ========================================================= */
.error-page-wrap{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px 20px 60px;
}

.error-page{
    width:min(760px,100%);
    overflow:hidden;
    background:#fff;
    border-radius:18px;
    box-shadow:0 12px 35px rgba(16,24,40,.10);
    border:1px solid #e4e8ee;
}

.error-page-head{
    background:#101828;
    color:#fff;
    padding:24px 28px;
}

.error-page-brand{
    margin:0;
    font-size:26px;
    line-height:1.1;
    font-weight:900;
}

.error-page-content{
    padding:42px 42px 38px;
    text-align:center;
}

.error-page-code{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:82px;
    height:82px;
    margin-bottom:22px;
    border-radius:20px;
    background:#eef7f3;
    color:#087f5b;
    font-size:30px;
    font-weight:900;
    letter-spacing:-1px;
}

.error-page-content h1{
    margin:0 0 12px;
    color:#101828;
    font-size:30px;
    line-height:1.15;
    font-weight:900;
}

.error-page-content p{
    max-width:560px;
    margin:0 auto;
    color:#667085;
    font-size:17px;
    line-height:1.6;
}

.error-page-actions{
    display:flex;
    justify-content:center;
    margin-top:28px;
}

.error-page-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 24px;
    border-radius:12px;
    background:#101828;
    color:#fff;
    text-decoration:none;
    font-size:15px;
    font-weight:900;
    transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}

.error-page-button:hover{
    background:#087f5b;
    transform:translateY(-1px);
    box-shadow:0 7px 16px rgba(16,24,40,.16);
}

@media (max-width:600px){
    .error-page-content{
        padding:34px 22px 30px;
    }

    .error-page-head{
        padding:20px 22px;
    }

    .error-page-content h1{
        font-size:25px;
    }

    .error-page-content p{
        font-size:15px;
    }
}


/* Przycisk ponowienia pobierania dla wszystkich modułów */
.source-data-error-retry {
    border: 0;
    cursor: pointer;
    font: inherit;
}

.source-data-error-retry:disabled {
    cursor: default;
    opacity: 0.7;
}

.source-data-error-retrying {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.7rem;
}


/* =========================================================
   STOPKA — SPRAWDŹ FIRMĘ
   ========================================================= */
.site-footer{
    width:100%;
    margin-top:10px;
    background:#101828;
    color:#fff;
    box-sizing:border-box;
}

.site-footer-inner{
    width:min(1060px,calc(100% - 40px));
    margin:0 auto;
    padding:24px 0 22px;
    display:grid;
    grid-template-columns:minmax(230px, 1fr) auto;
    align-items:center;
    gap:34px;
}

.site-footer-brand{
    max-width:320px;
}

.site-footer-title{
    margin:0 0 6px;
    color:#fff;
    font-size:16px;
    line-height:1.2;
    font-weight:900;
}

.site-footer-description{
    color:#98a2b3;
    font-size:12px;
    line-height:1.5;
}

.site-footer-links{
    display:grid;
    grid-template-columns:repeat(4, max-content);
    justify-content:end;
    align-items:center;
    gap:10px 26px;
}

.site-footer-links a{
    color:#d0d5dd;
    font-size:12px;
    font-weight:700;
    line-height:1.3;
    text-decoration:none;
    white-space:nowrap;
    transition:color .15s ease;
}

.site-footer-links a:hover{
    color:#5ccf91;
}

.site-footer-bottom{
    width:min(1060px,calc(100% - 40px));
    margin:0 auto;
    padding:15px 0 18px;
    border-top:1px solid rgba(255,255,255,.10);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#98a2b3;
    font-size:11px;
    line-height:1.4;
}

.site-footer-bottom > span:first-child{
    color:#d0d5dd;
    font-weight:700;
}

.site-footer-note{
    text-align:right;
}

@media(max-width:900px){
    .site-footer-inner{
        grid-template-columns:1fr;
        gap:18px;
    }

    .site-footer-brand{
        max-width:none;
        text-align:center;
    }

    .site-footer-links{
        justify-content:center;
    }
}

@media(max-width:700px){
    .site-footer-inner{
        gap:18px;
        padding:22px 0 18px;
    }

    .site-footer-links{
        grid-template-columns:repeat(2, max-content);
        justify-content:center;
        gap:10px 20px;
    }

    .site-footer-bottom{
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
        padding:14px 0 17px;
    }

    .site-footer-note{
        text-align:left;
    }
}

/* =========================================================
   GLOBALNE PRZEWIJANIE STRONY + STOPKA
   ========================================================= */
html{
    overflow-y:scroll !important;
    scrollbar-width:auto !important;
    -ms-overflow-style:auto !important;
}

body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    overflow-y:visible !important;
    scrollbar-width:auto !important;
    -ms-overflow-style:auto !important;
}

.container{
    flex:1 0 auto;
    width:100%;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar{
    width:10px !important;
    height:10px !important;
    display:block !important;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track{
    background:#eef1f4 !important;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb{
    background:#aeb7c2 !important;
    border-radius:8px !important;
    border:2px solid #eef1f4 !important;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover{
    background:#7f8b98 !important;
}

/* Stopka zawsze znajduje się po całej zawartości strony. */
.site-footer{
    position:relative;
    display:block;
    clear:both;
    margin-top:0;
}

/* =========================================================
   STOPKA — ZAWSZE NA DOLE OKNA PRZY KRÓTKIEJ ZAWARTOŚCI
   ========================================================= */
html {
    min-height: 100% !important;
}

body {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
}

.container {
    flex: 1 0 auto !important;
}

.site-footer {
    flex: 0 0 auto !important;
    margin-top: 0 !important;
}

/* =========================================================
   OKNA INFORMACYJNE STOPKI
   ========================================================= */
.footer-info-modal{
    position:fixed;
    inset:0;
    z-index:10000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    box-sizing:border-box;
}

.footer-info-modal.is-open{
    display:flex;
}

.footer-info-backdrop{
    position:absolute;
    inset:0;
    background:rgba(8,15,28,.68);
}

.footer-info-dialog{
    position:relative;
    z-index:1;
    width:min(720px,100%);
    max-height:min(80vh,720px);
    overflow:auto;
    box-sizing:border-box;
    padding:30px 32px;
    border-radius:18px;
    background:#fff;
    color:#101828;
    box-shadow:0 24px 70px rgba(0,0,0,.28);
}

.footer-info-dialog h2{
    margin:0 45px 18px 0;
    font-size:24px;
    line-height:1.2;
    font-weight:900;
}

.footer-info-content{
    font-size:14px;
    line-height:1.65;
    color:#475467;
}

.footer-info-content p{
    margin:0 0 14px;
}

.footer-info-content ul{
    margin:0 0 16px;
    padding-left:20px;
}

.footer-info-content li{
    margin:0 0 7px;
}

.footer-info-close{
    position:absolute;
    top:16px;
    right:16px;
    width:36px;
    height:36px;
    border:0;
    border-radius:10px;
    background:#eef1f4;
    color:#101828;
    font-size:25px;
    line-height:1;
    cursor:pointer;
}

.footer-info-close:hover{
    background:#e2e6eb;
}

body.footer-info-open{
    overflow:hidden !important;
}

@media(max-width:700px){
    .footer-info-dialog{
        padding:25px 21px;
        border-radius:15px;
        max-height:85vh;
    }

    .footer-info-dialog h2{
        font-size:21px;
    }
}


/* =========================================================
   FORMULARZ KONTAKTOWY
   ========================================================= */
.footer-contact-intro{
    margin:0 0 22px !important;
    color:#475467;
    font-size:15px;
    line-height:1.6;
}

.footer-contact-form{
    display:flex;
    flex-direction:column;
    gap:9px;
    margin-top:0;
}

.footer-contact-form label{
    display:block;
    margin-top:4px;
    color:#172033;
    font-size:13px;
    line-height:1.3;
    font-weight:800;
}

.footer-contact-form input[type="text"],
.footer-contact-form input[type="email"],
.footer-contact-form textarea{
    display:block;
    width:100%;
    box-sizing:border-box;
    border:1px solid #d7dde5;
    border-radius:11px;
    background:#fff;
    color:#172033;
    font:500 14px Arial,Helvetica,sans-serif;
    padding:13px 14px;
    outline:none;
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.footer-contact-form input[type="text"],
.footer-contact-form input[type="email"]{
    height:46px;
}

.footer-contact-form textarea{
    min-height:170px;
    resize:vertical;
    line-height:1.55;
}

.footer-contact-form input[type="text"]::placeholder,
.footer-contact-form input[type="email"]::placeholder,
.footer-contact-form textarea::placeholder{
    color:#98a2b3;
}

.footer-contact-form input[type="text"]:focus,
.footer-contact-form input[type="email"]:focus,
.footer-contact-form textarea:focus{
    border-color:#12643c;
    box-shadow:0 0 0 3px rgba(18,100,60,.11);
}

.footer-contact-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-top:8px;
}

.footer-contact-actions button{
    min-width:140px;
    height:46px;
    padding:0 24px;
    border:0;
    border-radius:10px;
    background:#12643c;
    color:#fff;
    font:900 13px Arial,Helvetica,sans-serif;
    letter-spacing:.1px;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(18,100,60,.16);
    transition:background .18s ease, transform .12s ease, box-shadow .18s ease;
}

.footer-contact-actions button:hover{
    background:#0e5231;
    box-shadow:0 6px 16px rgba(18,100,60,.22);
}

.footer-contact-actions button:active{
    transform:translateY(1px);
}

.footer-contact-actions button:disabled{
    opacity:.65;
    cursor:wait;
    transform:none;
}

.footer-contact-field-error{
    min-height:18px;
    margin:-6px 0 10px;
    color:#b42318;
    font-size:13px;
    font-weight:600;
}

.footer-contact-form input.is-invalid,
.footer-contact-form textarea.is-invalid{
    border-color:#d92d20;
    box-shadow:0 0 0 3px rgba(217,45,32,.10);
}

.footer-contact-status{
    min-height:20px;
    margin-top:4px;
    font-size:12px;
    line-height:1.45;
    font-weight:700;
}

.footer-contact-status.is-loading{color:#667085;}
.footer-contact-status.is-success{color:#027a48;}
.footer-contact-status.is-error{color:#b42318;}

.footer-contact-honeypot{
    position:absolute !important;
    left:-10000px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
}

@media(max-width:700px){
    .footer-contact-form input[type="text"],
    .footer-contact-form input[type="email"]{
        height:44px;
    }

    .footer-contact-form textarea{
        min-height:145px;
    }

    .footer-contact-actions{
        justify-content:stretch;
    }

    .footer-contact-actions button{
        width:100%;
    }
}


/* =========================================================
   KONTAKT — wybór rodzaju kontaktu i zamówienie POLECANE USŁUGI
   ========================================================= */
.contact-choice{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:0 0 24px;
}
.contact-choice-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    min-height:112px;
    padding:17px 18px;
    border:1px solid #d7dde5;
    border-radius:13px;
    background:#fff;
    color:#172033;
    text-align:left;
    cursor:pointer;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-choice-card strong{font-size:13px;font-weight:900;letter-spacing:.2px;}
.contact-choice-card span{font-size:13px;line-height:1.5;color:#667085;font-weight:500;}
.contact-choice-card:hover{border-color:#12643c;box-shadow:0 4px 14px rgba(18,100,60,.10);}
.contact-choice-card.is-selected{border-color:#12643c;background:#f5faf7;box-shadow:0 0 0 2px rgba(18,100,60,.08);}
.contact-choice-card[hidden],
.contact-mode-panel[hidden]{display:none !important;}
.contact-optional{font-weight:500;color:#98a2b3;}
.footer-contact-form select{
    display:block;width:100%;height:46px;box-sizing:border-box;border:1px solid #d7dde5;border-radius:11px;background:#fff;color:#172033;font:500 14px Arial,Helvetica,sans-serif;padding:0 14px;outline:none;
}
.footer-contact-form select:focus{border-color:#12643c;box-shadow:0 0 0 3px rgba(18,100,60,.11);}
.contact-checkbox{
    display:flex !important;align-items:flex-start;gap:9px;margin-top:7px !important;color:#475467 !important;font-weight:600 !important;font-size:13px !important;line-height:1.5 !important;
}
.contact-checkbox input{margin:2px 0 0;flex:0 0 auto;accent-color:#12643c;}
.promotion-order-summary{
    margin-top:10px;padding:13px 14px;border:1px solid #e4e7ec;border-radius:11px;background:#f8fafc;color:#475467;font-size:12px;line-height:1.55;
}
@media(max-width:700px){
    .contact-choice{grid-template-columns:1fr;}
    .contact-choice-card{min-height:0;}
    .footer-contact-form select{height:44px;}
}

/* =========================================================
   PROMOWANE FIRMY — układ główny
   ========================================================= */
.container{
    width:100% !important;
    max-width:1440px !important;
    margin:0 auto !important;
    padding:30px 0 60px !important;
}

.site-layout{
    display:grid !important;
    grid-template-columns:340px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:start !important;
    width:100% !important;
}

.main-card{
    min-width:0 !important;
    width:100% !important;
}

.promoted-companies{
    position:sticky !important;
    top:20px !important;
    min-width:0 !important;
    width:100% !important;
    background:#101828 !important;
    color:#fff !important;
    border-radius:18px !important;
    padding:16px !important;
    box-shadow:0 8px 25px rgba(16,24,40,.08) !important;
    display:block !important;
}

/* Ukryj promocję wizualnie, ale zachowaj jej miejsce w siatce, aby wyszukiwarka nie zmieniała położenia. */
.promoted-companies[hidden]{visibility:hidden !important;display:block !important;pointer-events:none !important}
.promoted-companies.has-promotions:not([hidden]){display:block !important}
.promoted-companies-head{margin-bottom:14px}
.promoted-companies-title{font-size:15px;font-weight:900;letter-spacing:.05em}
.promoted-companies-subtitle{margin-top:4px;color:#b8c3d1;font-size:11px;line-height:1.4}

.promoted-filters{
    display:grid;
    gap:9px;
    margin-bottom:12px;
}

.promoted-filters label{display:block;margin:0}
.promoted-filters label span{
    display:block;
    margin:0 0 5px 2px;
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.promoted-filters select,
.promoted-filters input{
    width:100%;
    height:38px;
    border:0;
    border-radius:9px;
    padding:0 10px;
    background:#fff;
    color:#172033;
    font:700 13px Arial,Helvetica,sans-serif;
    outline:none;
}

.promoted-companies-list{
    max-height:calc(100vh - 235px);
    overflow-y:auto;
    padding-right:3px;
    scrollbar-width:thin;
}
.promoted-companies-list::-webkit-scrollbar{width:6px}
.promoted-companies-list::-webkit-scrollbar-thumb{background:#526174;border-radius:99px}

.promoted-cards-stack{display:grid;gap:9px}
.promoted-rotation-note{margin:0 0 8px;color:#8795a8;font-size:8.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.promoted-rotation-note span{margin:0 3px;color:#6ed6a3}
.promoted-company-card{position:relative;padding:12px 11px 11px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 6px 18px rgba(0,0,0,.12);animation:promotedCardIn .45s ease both;animation-delay:var(--card-delay,0ms);transition:transform .18s ease,border-color .18s ease,background .18s ease}.promoted-company-card:hover{transform:translateY(-2px);border-color:rgba(126,226,171,.42);background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035))}
@keyframes promotedCardIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.promotion-card-topline{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:7px}.promotion-card-sponsored{font-size:8px;color:#7d8b9e;font-weight:800;letter-spacing:.07em}.promoted-company-name{font-size:13px;font-weight:900;line-height:1.3;color:#fff}.promoted-company-industry{margin-top:5px;color:#91ddb2;font-size:10px;font-weight:800}.promoted-company-location{margin-top:3px;color:#b5c0ce;font-size:9.5px}.promoted-company-button{width:100%;margin-top:10px;padding:9px 10px;border:1px solid rgba(126,226,171,.35);border-radius:8px;background:#f5fff9;color:#10261c;font:900 10px Arial,Helvetica,sans-serif;cursor:pointer;transition:all .18s ease}.promoted-company-button span{font-size:13px;line-height:0;margin-left:3px}.promoted-company-button:hover{background:#dff8ea;border-color:#7ee2ab;transform:translateY(-1px)}
.promoted-empty{padding:18px 4px;color:#aeb9c8;font-size:11px;text-align:center}

@media(max-width:1100px){
    .site-layout{grid-template-columns:300px minmax(0,1fr) !important;gap:10px !important}
}
@media(max-width:700px){
    .site-layout{grid-template-columns:1fr !important}
    .promoted-companies{position:static !important;order:2}
    .main-card{order:1}
    .promoted-companies-list{max-height:360px}
}

/* =========================================================
   OCHRONA PRZED NAKŁADANIEM SIĘ NA WIDGET „UŻYTKOWNICY ONLINE”
   ========================================================= */
@media (min-width: 701px){
    .container{
        width:calc(100% - 230px) !important;
        max-width:1440px !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
}

@media (max-width: 1100px) and (min-width: 701px){
    .container{
        width:calc(100% - 210px) !important;
    }
}

@media (max-width: 700px){
    .container{
        width:100% !important;
        padding-left:12px !important;
        padding-right:12px !important;
        padding-top:72px !important;
    }

    #onlineUsersWidget{
        top:10px !important;
        right:10px !important;
    }
}

/* =========================================================
   DOCZELOWY UKŁAD STRONY — PROMOWANE FIRMY + WYSZUKIWARKA
   Układ zgodny z makietą: wąski panel po lewej, szeroka
   wyszukiwarka po prawej oraz stały biały pas po prawej.
   ========================================================= */
@media (min-width: 1101px){
    .container{
        width:100% !important;
        max-width:1600px !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding:30px 15px 60px !important;
    }

    .site-layout{
        grid-template-columns:265px minmax(0,1fr) !important;
        gap:10px !important;
        width:100% !important;
    }

    .promoted-companies{
        width:265px !important;
        padding:14px !important;
    }
}

@media (min-width: 701px) and (max-width: 1100px){
    .container{
        width:100% !important;
        max-width:100% !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding:24px 14px 50px !important;
    }

    .site-layout{
        grid-template-columns:280px minmax(0,1fr) !important;
        gap:10px !important;
    }

    .promoted-companies{
        width:280px !important;
    }
}

@media (max-width:700px){
    .container{
        width:100% !important;
        max-width:100% !important;
        padding:72px 12px 40px !important;
    }

    .site-layout{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .promoted-companies{
        width:100% !important;
    }
}.card{
    max-width:1030px;
    margin:0;
}

/* Wyszukiwanie promowanych firm po słowach kluczowych, branży i opisie. */
.promoted-results-count{
    margin:4px 0 7px;
    color:#b8c3d1;
    font-size:10px;
    font-weight:700;
}
.promoted-results-count strong{color:#fff}
.promoted-filters input::placeholder{color:#718096}

/* Wieloetapowe zamówienie POLECANE USŁUGI */
.promotion-step-indicator{margin:0 0 16px;padding:10px 12px;border-radius:10px;background:#f5f7fa;color:#344054;font-size:12px;font-weight:800;letter-spacing:.2px}
.promotion-company-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.promotion-company-preview,.promotion-price-box{margin-top:12px;padding:14px;border:1px solid #d0d5dd;border-radius:10px;background:#f8fafc;line-height:1.55}
.promotion-invoice-fields[hidden]{display:none !important}.promotion-invoice-fields{display:grid;gap:10px;margin:10px 0 14px;padding:12px;border:1px solid #e4e7ec;border-radius:10px;background:#fafafa}
.promotion-order-summary{margin-top:14px;padding:0;border:1px solid #d0d5dd;border-radius:12px;line-height:1.55;background:#fff;overflow:hidden;color:#344054}
.order-summary{font-size:13px}
.order-summary-title{padding:14px 16px;border-bottom:1px solid #e4e7ec;font-size:16px;font-weight:900;color:#172033}
.order-summary-company{display:flex;justify-content:space-between;gap:18px;padding:12px 16px;border-bottom:1px solid #eef0f3}
.order-summary-company span,.order-summary-meta span,.order-summary-pricing span,.promotion-price-card span{color:#667085}
.order-summary-company strong{color:#172033;text-align:right}
.order-summary-meta{display:grid;gap:0;border-bottom:1px solid #eef0f3}
.order-summary-meta>div,.order-summary-pricing>div{display:flex;justify-content:space-between;gap:18px;padding:9px 16px;border-bottom:1px solid #f0f2f5}
.order-summary-meta>div:last-child,.order-summary-pricing>div:last-child{border-bottom:0}
.order-summary-meta strong,.order-summary-pricing strong{color:#172033;text-align:right}
.order-summary-meta>div:last-child{display:block}
.order-summary-meta>div:last-child strong{display:block;margin-top:3px;font-size:12px;font-weight:600;line-height:1.45}
.order-summary-discount{margin:6px 10px;border:1px solid #d9eadf;border-radius:8px;background:#f5faf7}
.order-summary-discount span,.order-summary-discount strong{padding:8px 10px}
.order-summary-total-net{margin-top:2px;font-weight:800}
.order-summary-payable{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;background:#f5f7fa;border-top:1px solid #d0d5dd}
.order-summary-payable span{font-size:13px;font-weight:900;letter-spacing:.03em;color:#172033}
.order-summary-payable strong{font-size:18px;font-weight:900;color:#172033;text-align:right;white-space:nowrap}
.promotion-price-card{display:grid;gap:10px}
.promotion-price-main{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.promotion-price-main strong{font-size:17px;color:#172033;white-space:nowrap}
.promotion-price-details{display:flex;justify-content:space-between;gap:12px;padding-top:2px;font-size:12px}
.promotion-price-discount{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #d9eadf;border-radius:8px;background:#f5faf7}
.promotion-price-discount strong{color:#172033}
.promotion-price-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:9px;border-top:1px solid #d0d5dd}
.promotion-price-total strong{font-size:16px;color:#172033;white-space:nowrap}
@media(max-width:700px){.order-summary-company,.order-summary-meta>div,.order-summary-pricing>div,.order-summary-payable,.promotion-price-main,.promotion-price-details,.promotion-price-discount,.promotion-price-total{flex-direction:column;display:flex;align-items:flex-start;gap:3px}.order-summary-company strong,.order-summary-meta strong,.order-summary-pricing strong,.order-summary-payable strong{ text-align:left}.promotion-price-main strong,.promotion-price-total strong{font-size:16px}.promotion-price-details{gap:2px}}
@media (max-width:700px){.promotion-company-fields{grid-template-columns:1fr;}}

.promotion-email-important{display:grid;gap:4px;margin:-2px 0 12px;padding:10px 12px;border:1px solid #efb0b0;border-left:4px solid #c62828;border-radius:8px;background:#fff5f5;color:#7f1d1d;font-size:11px;line-height:1.45}.promotion-email-important strong{font-size:10px;letter-spacing:.03em;color:#b42318}.promotion-email-important span{color:#7a3030}
.promotion-invoice-lookup-actions{margin:0 0 4px}.promotion-invoice-help{margin:0 0 4px;color:#667085;font-size:.9rem;line-height:1.45}


/* Płatna promocja — oznaczenie widoczne również dla czytników ekranu. */
.promotion-ad-label{display:inline-block;margin-left:8px;padding:3px 7px;border:1px solid currentColor;border-radius:5px;font-size:10px;letter-spacing:.04em;vertical-align:middle;font-weight:800}
.promotion-payment-link{display:inline-block;padding:12px 16px;border-radius:7px;text-decoration:none;border:1px solid #164b39}

.promotion-card-ad-label{display:inline-block;margin-bottom:6px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}

.contact-reply-box{margin-top:14px;padding:14px;border:1px solid #d0d5dd;border-radius:10px;background:#f8fafc}.contact-reply-box label{display:grid;gap:6px}.contact-reply-box textarea{width:100%;box-sizing:border-box;min-height:120px;padding:10px;border:1px solid #cfd5dc;border-radius:8px;resize:vertical;font:14px Arial,Helvetica,sans-serif}.contact-reply-history{margin-top:14px;padding-top:12px;border-top:1px solid #e4e7ec}.contact-reply-history>b{font-size:10px;letter-spacing:.05em;color:#667085}.contact-reply-item{margin-top:8px;padding:10px 12px;border:1px solid #d9e2dc;border-radius:8px;background:#f5faf7;font-size:12px}.message-reply-gmail{border-color:#b8d7c7}

/* Rozdzielenie kanałów zgłoszeń: kontakt / błąd danych / nielegalna treść */
.contact-special-links{display:grid;gap:10px;margin-top:16px}
.contact-special-link{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border:1px solid rgba(22,75,57,.16);border-radius:12px;text-decoration:none;color:inherit;background:#f8faf9;font-weight:800}
.contact-special-link span{font-size:.86rem;font-weight:500;opacity:.78}
.contact-special-link:hover{border-color:rgba(22,75,57,.35)}

.promotion-payment-config-status{
    margin:10px 0 14px;
    padding:11px 13px;
    border-radius:9px;
    font-size:13px;
    line-height:1.45;
    border:1px solid #d0d5dd;
    background:#f8fafc;
}
.promotion-payment-config-status.is-ready{border-color:#b7dec7;background:#f2faf5;}
.promotion-payment-config-status.is-warning{border-color:#e6c98a;background:#fff9eb;}

/* =========================================================
   WSKAŹNIKI FINANSOWE — widok oparty wyłącznie na obliczeniach
   ========================================================= */
.analityka-intro{
    margin:0 0 16px;
    padding:12px 14px;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#f8fafc;
    color:#475467;
    font-size:13px;
    line-height:1.5;
}

.financial-indicators-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.financial-indicator{
    border:1px solid #dfe3e8;
    border-radius:10px;
    background:#fff;
    overflow:hidden;
}

.financial-indicator summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:15px 16px;
}

.financial-indicator summary::-webkit-details-marker{display:none;}
.financial-indicator summary::after{
    content:"+";
    flex:0 0 auto;
    color:#667085;
    font-size:18px;
    font-weight:700;
}
.financial-indicator[open] summary::after{content:"−";}

.financial-indicator-name{
    color:#172033;
    font-size:14px;
    font-weight:800;
}

.financial-indicator-value{
    flex:0 0 auto;
    color:#12643c;
    font-size:17px;
    font-weight:900;
}

.financial-indicator-details{
    border-top:1px solid #e5e7eb;
    padding:15px 16px 16px;
    background:#fbfcfd;
}

.financial-formula{
    margin-bottom:13px;
    color:#172033;
    font-size:13px;
    line-height:1.55;
}

.financial-components{
    border:1px solid #e5e7eb;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}

.financial-components-title{
    padding:8px 10px;
    background:#f3f5f7;
    color:#667085;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.financial-component-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:9px 10px;
    border-top:1px solid #edf0f3;
}

.financial-component-label{
    color:#475467;
    font-size:12px;
    line-height:1.4;
}

.financial-component-value{
    flex:0 0 auto;
    color:#172033;
    font-size:12px;
    font-weight:800;
    text-align:right;
}

.financial-previous,
.financial-source{
    margin-top:11px;
    color:#667085;
    font-size:11px;
    line-height:1.45;
}

.financial-source strong{color:#475467;}

@media(max-width:800px){
    .financial-indicators-grid{grid-template-columns:1fr;}
}
.financial-calculation{
    margin:0 0 13px;
    padding:10px 12px;
    border-left:3px solid #12643c;
    background:#f6faf8;
    color:#172033;
    font-size:12px;
    line-height:1.5;
}


/* AUD-30: jednoznaczne oznaczenie reklamy na każdej karcie oraz przed zamówieniem. */
.promotion-card-ad-label{display:block;width:fit-content;max-width:100%;box-sizing:border-box;margin:0 0 8px;padding:4px 7px;border:1px solid currentColor;border-radius:4px;font-size:10px;font-weight:900;letter-spacing:.035em;line-height:1.35;color:#ffe2a8;background:#3b2b08;text-transform:uppercase}
.promotion-order-ad-disclosure{margin:12px 0;padding:12px 14px;border:1px solid #b7791f;border-left:4px solid #b7791f;border-radius:8px;background:#fff8e8;color:#432f0a;font-size:13px;line-height:1.5}
.promotion-order-ad-disclosure strong{display:block;margin-bottom:4px}

/* Publiczne komunikaty o stanie usługi, zarządzane w panelu administratora. */
#publicInformation {
    position: fixed;
    top: 62px;
    right: 18px;
    z-index: 9997;

    width: 170px;
    max-width: calc(100vw - 36px);
    box-sizing: border-box;

    max-height: min(65vh, 560px);
    overflow-y: auto;
    overflow-x: hidden;

    display: grid;
    gap: 9px;

    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", Arial, sans-serif;
    pointer-events: auto;
}

/* Pojedyncza karta komunikatu */
.public-info {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;

    padding: 13px 15px;
    border: 1px solid #e4e7ec;
    border-left: 4px solid #667085;
    border-radius: 13px;

    background: rgba(255, 255, 255, 0.97);
    color: #344054;

    box-shadow: 0 8px 28px rgba(16, 24, 40, 0.14);
    backdrop-filter: blur(10px);

    overflow-wrap: anywhere;
    animation: publicInfoIn 0.18s ease-out;
}

/* Tytuł i status */
.public-info-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 0;
}

.public-info-heading strong {
    display: block;
    min-width: 0;
    max-width: 100%;

    font-size: 14px;
    line-height: 1.4;
    color: #101828;

    white-space: normal;
    overflow-wrap: anywhere;
}

.public-info-heading span {
    display: inline-flex;
    align-items: center;

    max-width: 100%;
    box-sizing: border-box;
    padding: 4px 7px;

    border-radius: 999px;
    background: #f2f4f7;

    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    color: #475467;

    white-space: normal;
    overflow-wrap: anywhere;
}

/* Treść komunikatu */
.public-info p {
    margin: 8px 0 0;
    min-width: 0;

    font-size: 12px;
    line-height: 1.55;
    color: #475467;

    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Status: planowane */
.public-info-planned {
    border-left-color: #667085;
}

/* Status: w trakcie */
.public-info-in_progress {
    border-left-color: #d97706;
    background: rgba(255, 251, 235, 0.98);
}

.public-info-in_progress .public-info-heading span {
    background: #fef3c7;
    color: #92400e;
}

/* Status: utrudnienia / awaria */
.public-info-warning {
    border-left-color: #dc2626;
    background: rgba(254, 242, 242, 0.98);
}

.public-info-warning .public-info-heading span {
    background: #fee2e2;
    color: #991b1b;
}

/* Status: zakończone */
.public-info-completed {
    border-left-color: #16a34a;
    background: rgba(240, 253, 244, 0.98);
}

.public-info-completed .public-info-heading span {
    background: #dcfce7;
    color: #166534;
}

/* Delikatne pojawianie się komunikatu */
@keyframes publicInfoIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Dostosowanie do telefonów */
@media (max-width: 700px) {
    #publicInformation {
        top: 54px;
        right: 10px;

        width: 360px;
        max-width: calc(100vw - 20px);
        box-sizing: border-box;

        max-height: 55vh;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .public-info {
        width: 100%;
        padding: 11px 12px;
    }

    .public-info-heading strong {
        font-size: 13px;
    }
}
/* Ukryj publiczne komunikaty na telefonach */
@media (max-width: 700px) {
    #publicInformation {
        display: none !important;
    }
}


/* Informacja o prywatności przy formularzu kontaktowym */
.footer-contact-privacy{margin:8px 0 10px!important;color:#475467;font-size:12px;line-height:1.55}
.footer-contact-privacy a{color:#1459a6;text-decoration:underline;text-underline-offset:2px;font-weight:700}

/* Status odpowiedzi źródła: rozróżnia brak daty, wynik częściowy i błąd pobierania. */
.block-meta-status{display:block;font-weight:600;white-space:normal}


/* Zakładki w stopce: Usługi dodatkowe */
.additional-services-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.additional-services-tabs button { border:1px solid #cbd7d0; border-radius:8px; background:#f4f7f5; color:#183d2e; padding:10px 14px; font:inherit; font-weight:700; cursor:pointer; }
.additional-services-tabs button.is-active { background:#164b39; border-color:#164b39; color:#fff; }
.promotion-visibility-card { border-left:4px solid #b7791f; }

/* Ukryj promocję wizualnie, zachowując miejsce w siatce strony. */
#promotedCompanies[hidden] { visibility: hidden !important; display: block !important; pointer-events: none !important; }
