/* =========================
   BUDŻETY - MVP
   osobny plik: budgets.css
   ========================= */

.budget-project-selector-card{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    padding:18px;
    margin-bottom:18px;
    border-radius:20px;
    background:#ffffff;
    border:1px solid #e2e8f0;
    box-shadow:0 10px 24px rgba(15,23,42,0.06);
}

.budget-project-selector-card label{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:8px;
    font-size:13px;
    font-weight:900;
    color:#475569;
}

.budget-project-selector-card select,
.budget-cost-form select,
.budget-cost-form input,
.budget-cost-form textarea,
.budget-table-filters select{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:11px 13px;
    background:#f8fafc;
    box-sizing:border-box;
}

.budget-project-selector-card button,
.budget-cost-form-actions button{
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:#ffffff;
    font-weight:900;
    padding:12px 16px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.budget-summary-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin-bottom:18px;
}

.budget-summary-card{
    padding:16px;
    border-radius:18px;
    background:#ffffff;
    border:1px solid #e2e8f0;
    box-shadow:0 8px 20px rgba(15,23,42,0.06);
}

.budget-summary-card span{
    display:block;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    color:#64748b;
    letter-spacing:0.04em;
}

.budget-summary-card strong{
    display:block;
    margin-top:8px;
    font-size:24px;
    color:#0f172a;
}

.budget-summary-card small{
    display:block;
    margin-top:4px;
    color:#64748b;
    line-height:1.35;
}

.budget-summary-card.income{
    background:linear-gradient(135deg, #dcfce7, #f0fdf4);
}

.budget-summary-card.invoice{
    background:linear-gradient(135deg, #dbeafe, #eff6ff);
}

.budget-summary-card.paid{
    background:linear-gradient(135deg, #ccfbf1, #f0fdfa);
}

.budget-summary-card.costs{
    background:linear-gradient(135deg, #fef3c7, #fffbeb);
}

.budget-summary-card.complaint{
    background:linear-gradient(135deg, #fee2e2, #fff1f2);
}

.budget-summary-card.result{
    background:linear-gradient(135deg, #ede9fe, #f5f3ff);
}

.budget-summary-card.margin{
    background:linear-gradient(135deg, #e0f2fe, #f0f9ff);
}

.budget-summary-card.other{
    background:linear-gradient(135deg, #f1f5f9, #ffffff);
}

.budget-cost-form{
    margin-bottom:18px;
    padding:18px;
    border-radius:20px;
    background:#ffffff;
    border:1px solid #dbeafe;
    box-shadow:0 10px 24px rgba(15,23,42,0.08);
}

.budget-cost-form-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
}

.budget-cost-form-header h2{
    margin:0;
}

.budget-cost-form-header button{
    width:38px;
    height:38px;
    border:none;
    border-radius:10px;
    background:#f1f5f9;
    cursor:pointer;
}

.budget-cost-form-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
}

.budget-cost-form-grid label{
    display:flex;
    flex-direction:column;
    gap:7px;
    font-size:13px;
    font-weight:900;
    color:#475569;
}

.budget-cost-full{
    grid-column:1 / -1;
}

.budget-cost-form textarea{
    min-height:80px;
    resize:vertical;
}

.budget-cost-form-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:14px;
}

.budget-table-card{
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:20px;
    padding:16px;
    box-shadow:0 10px 24px rgba(15,23,42,0.06);
}

.budget-table-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}

.budget-table-header h2{
    margin:0;
}

.budget-table-filters{
    min-width:220px;
}

.budget-pill{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:6px 10px;
    font-size:12px;
    font-weight:900;
    background:#e0f2fe;
    color:#075985;
    white-space:nowrap;
}

.budget-category-danger{
    background:#fee2e2 !important;
    color:#991b1b !important;
}

.budget-category-normal{
    background:#f1f5f9 !important;
    color:#334155 !important;
}

@media(max-width:1200px){
    .budget-summary-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .budget-cost-form-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:750px){
    .budget-project-selector-card{
        flex-direction:column;
        align-items:stretch;
    }

    .budget-summary-grid,
    .budget-cost-form-grid{
        grid-template-columns:1fr;
    }

    .budget-table-header{
        flex-direction:column;
        align-items:stretch;
    }
}
/* =========================
   BUDŻETY - IMPORT CSV
   ========================= */

.budget-header-buttons{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}

.budget-import-panel{
    margin-bottom:18px;
    padding:18px;
    border-radius:20px;
    background:#ffffff;
    border:1px solid #bfdbfe;
    box-shadow:0 10px 24px rgba(15,23,42,0.08);
}

.budget-cost-form-header p{
    margin:6px 0 0;
    color:#64748b;
}

.budget-import-grid{
    display:grid;
    grid-template-columns:1fr 180px 240px;
    gap:12px;
    align-items:end;
    margin-bottom:14px;
}

.budget-import-grid label{
    display:flex;
    flex-direction:column;
    gap:7px;
    font-size:13px;
    font-weight:900;
    color:#475569;
}

.budget-import-grid input,
.budget-import-grid select,
.budget-import-preview-wrap select{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:10px 12px;
    background:#f8fafc;
    box-sizing:border-box;
}

.budget-import-checkbox{
    flex-direction:row !important;
    align-items:center;
    padding:10px 12px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#f8fafc;
}

.budget-import-checkbox input{
    width:auto;
}

.budget-import-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

.budget-import-actions button{
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:#ffffff;
    font-weight:900;
    padding:11px 14px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.budget-import-actions button:last-child{
    background:#16a34a;
}

.budget-import-hint{
    margin-bottom:12px;
    padding:10px 12px;
    border-radius:12px;
    background:#eff6ff;
    color:#475569;
    font-size:13px;
    line-height:1.45;
}

.budget-import-preview-wrap{
    overflow:auto;
    max-height:420px;
    border:1px solid #e5e7eb;
    border-radius:14px;
}

.budget-import-row-check{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:12px;
    font-weight:800;
    color:#475569;
}

.budget-import-row-check input{
    width:auto;
}

@media(max-width:900px){
    .budget-import-grid{
        grid-template-columns:1fr;
    }
}

/* =========================
   BUDŻETY - ROZPOZNANIE IMPORTU
   ========================= */

.budget-recognition-pill{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:5px 9px;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}

.budget-recognition-recognized{
    background:#dcfce7;
    color:#166534;
}

.budget-recognition-review{
    background:#fef3c7;
    color:#92400e;
}

.budget-recognition-unrecognized{
    background:#fee2e2;
    color:#991b1b;
}

.budget-import-row-unrecognized{
    background:#fff7ed;
}

.budget-import-preview-wrap input[type="text"]{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:10px;
    padding:9px 10px;
    background:#ffffff;
    box-sizing:border-box;
    font-size:13px;
}

/* =========================
   BUDŻETY - FILTRY I EDYCJA
   ========================= */

.budget-table-filters-extended{
    display:grid;
    grid-template-columns:minmax(180px, 1.4fr) 120px 150px minmax(180px, 1fr) 170px 44px;
    gap:8px;
    align-items:center;
    min-width:0;
    width:100%;
}

.budget-table-filters-extended input,
.budget-table-filters-extended select{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:10px 12px;
    background:#f8fafc;
    box-sizing:border-box;
}

.budget-table-filters-extended button{
    width:42px;
    height:40px;
    border:none;
    border-radius:12px;
    background:#0f172a;
    color:white;
    cursor:pointer;
}

.budget-clickable-row{
    cursor:pointer;
}

.budget-clickable-row:hover{
    background:#f8fafc;
}

.budget-search-highlight{
    background:#fef08a;
    color:#0f172a;
    padding:1px 3px;
    border-radius:5px;
    font-weight:900;
}

.budget-toggle-button{
    border:none;
    border-radius:12px;
    background:#64748b;
    color:#ffffff;
    font-weight:900;
    padding:11px 14px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.budget-toggle-button.active{
    background:#16a34a;
}

.budget-import-actions button:nth-child(3),
.budget-import-actions button:nth-child(4){
    background:#0f172a;
}

@media(max-width:1200px){
    .budget-table-filters-extended{
        grid-template-columns:1fr 1fr 1fr;
    }
}

@media(max-width:750px){
    .budget-table-filters-extended{
        grid-template-columns:1fr;
    }

    .budget-table-filters-extended button{
        width:100%;
    }
}

/* =========================
   BUDŻETY - KWOTA BEZ ŁAMANIA
   ========================= */

#budget-costs-table td:nth-child(7),
#budget-costs-table td:nth-child(7) strong{
    white-space:nowrap;
    min-width:max-content;
}

.budget-table-card .finance-table th:nth-child(7),
.budget-table-card .finance-table td:nth-child(7){
    width:1%;
    white-space:nowrap;
}

.budget-table-card .finance-table{
    table-layout:auto;
}

.budget-import-actions button:last-child{
    background:#16a34a;
}

/* =========================
   BUDŻETY - ZIELONY ZAPIS IMPORTU
   ========================= */

.budget-import-actions .budget-import-save-button{
    background:#16a34a !important;
}

.budget-import-actions .budget-import-save-button:hover{
    background:#15803d !important;
}

.budget-import-actions button:last-child{
    background:#16a34a;
}

/* =========================
   BUDŻETY - REGUŁY BANKOWE
   ========================= */

.budget-rules-panel{
    margin-bottom:18px;
    padding:18px;
    border-radius:20px;
    background:#ffffff;
    border:1px solid #e2e8f0;
    box-shadow:0 10px 24px rgba(15,23,42,0.06);
}

.budget-rules-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}

.budget-rules-header h2{
    margin:0;
    display:flex;
    align-items:center;
    gap:8px;
}

.budget-rules-header p{
    margin:6px 0 0;
    color:#64748b;
    line-height:1.4;
}

.budget-rules-header button{
    border:none;
    border-radius:12px;
    background:#0f172a;
    color:white;
    font-weight:900;
    padding:11px 14px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    white-space:nowrap;
}

.budget-rules-table-wrap{
    overflow:auto;
    border:1px solid #e5e7eb;
    border-radius:14px;
}

@media(max-width:750px){
    .budget-rules-header{
        flex-direction:column;
    }

    .budget-rules-header button{
        width:100%;
    }
}

/* =========================
   BUDŻETY - REGUŁY WEWNĄTRZ IMPORTU
   ========================= */

#budget-import-panel .budget-rules-panel{
    margin:12px 0;
    background:#f8fafc;
    border-color:#cbd5e1;
}

#budget-import-panel .budget-rules-table-wrap{
    background:#ffffff;
}
/* =========================
   BUDŻETY - ZAPAMIĘTYWANIE REGUŁ
   ========================= */

.budget-remember-rule-button{
    width:38px;
    height:36px;
    border:none;
    border-radius:10px;
    background:#7c3aed;
    color:#ffffff;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.budget-remember-rule-button:hover{
    background:#6d28d9;
    transform:translateY(-1px);
    box-shadow:0 4px 10px rgba(124,58,237,0.25);
}

.budget-rule-applied{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 9px;
    border-radius:999px;
    background:#dcfce7;
    color:#166534;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.budget-category {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.budget-category-general {
    font-weight: 700;
    border: 1px solid currentColor;
}

.budget-category-general i {
    font-size: 0.9em;
    line-height: 1;
}

.budget-general-cost-notice{
    align-items:flex-start;
    gap:14px;

    margin-bottom:18px;
    padding:16px 18px;

    border:1px solid #c4b5fd;
    border-radius:16px;

    background:linear-gradient(
        135deg,
        #f5f3ff,
        #faf5ff
    );

    color:#4c1d95;
}

.budget-general-cost-notice > i{
    width:42px;
    height:42px;
    min-width:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0;

    border-radius:13px;

    background:linear-gradient(
        135deg,
        #7c3aed,
        #6d28d9
    );

    color:#ffffff;
    font-size:18px;
}

.budget-general-cost-notice div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.budget-general-cost-notice strong{
    color:#4c1d95;
    font-size:15px;
}

.budget-general-cost-notice span{
    color:#6b21a8;
    font-size:13px;
    line-height:1.5;
}

#budget-cost-project:disabled,
#budget-cost-category:disabled{
    cursor:not-allowed;
    opacity:0.75;
    background:#e2e8f0;
}

/* =========================================
   KOSZTY OGÓLNE — WIDOK
   ========================================= */

.general-costs-view-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;

    margin-bottom:24px;
}

.general-costs-view-header h1{
    margin-bottom:8px;
}

.general-costs-header-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.general-costs-header-actions button{
    min-height:44px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:11px 16px;

    border:none;
    border-radius:13px;

    font-weight:800;
    cursor:pointer;
}

.general-costs-refresh-button{
    background:#e2e8f0;
    color:#334155;
}

.general-costs-settle-button{
    background:linear-gradient(
        135deg,
        #0f766e,
        #115e59
    );

    color:#ffffff;

    box-shadow:
        0 10px 22px rgba(15,118,110,0.22);
}

.general-costs-settle-button:hover{
    background:linear-gradient(
        135deg,
        #115e59,
        #134e4a
    );
}

.general-costs-add-button{
    background:linear-gradient(
        135deg,
        #7c3aed,
        #6d28d9
    );

    color:#ffffff;

    box-shadow:
        0 10px 22px rgba(124,58,237,0.24);
}


/* PODSUMOWANIE */

.general-costs-summary-grid{
    display:grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:16px;

    margin-bottom:22px;
}

.general-costs-summary-card{
    min-width:0;

    display:flex;
    align-items:center;
    gap:14px;

    padding:19px;

    background:#ffffff;

    border:1px solid #e2e8f0;
    border-radius:20px;

    box-shadow:
        0 8px 22px rgba(15,23,42,0.07);
}

.general-costs-summary-icon{
    width:48px;
    height:48px;
    min-width:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:16px;

    font-size:19px;
}

.general-costs-summary-card > div:last-child{
    min-width:0;
}

.general-costs-summary-card span{
    display:block;

    margin-bottom:5px;

    color:#64748b;

    font-size:12px;
    font-weight:900;

    text-transform:uppercase;
    letter-spacing:0.05em;
}

.general-costs-summary-card strong{
    display:block;

    color:#0f172a;

    font-size:23px;
    line-height:1.15;

    word-break:break-word;
}

.general-costs-summary-card small{
    display:block;

    margin-top:5px;

    color:#64748b;

    font-size:12px;
    line-height:1.35;
}

.general-costs-summary-card.total
.general-costs-summary-icon{
    background:#ede9fe;
    color:#6d28d9;
}

.general-costs-summary-card.pending
.general-costs-summary-icon{
    background:#fef3c7;
    color:#b45309;
}

.general-costs-summary-card.settled
.general-costs-summary-icon{
    background:#dcfce7;
    color:#15803d;
}

.general-costs-summary-card.count
.general-costs-summary-icon{
    background:#dbeafe;
    color:#1d4ed8;
}


/* PANEL */

.general-costs-panel{
    padding:20px;

    background:rgba(255,255,255,0.9);

    border:1px solid #e2e8f0;
    border-radius:22px;

    box-shadow:
        0 10px 28px rgba(15,23,42,0.08);
}

.general-costs-panel-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;

    margin-bottom:16px;
}

.general-costs-panel-header h2{
    display:flex;
    align-items:center;
    gap:9px;

    margin:0 0 5px 0;
}

.general-costs-panel-header p{
    margin:0;
    color:#64748b;
}


/* FILTRY */

.general-costs-filters{
    display:grid;
    grid-template-columns:
        minmax(240px, 1fr)
        minmax(150px, 190px)
        minmax(170px, 210px)
        minmax(170px, 210px)
        46px;

    align-items:center;
    gap:10px;

    margin-bottom:16px;
}

.general-costs-search-box{
    position:relative;

    display:flex;
    align-items:center;

    min-width:0;
}

.general-costs-search-box > i{
    position:absolute;
    left:14px;

    color:#64748b;

    pointer-events:none;
}

.general-costs-search-box input,
.general-costs-filters select{
    width:100%;
    min-width:0;
    height:46px;

    padding:10px 13px;

    border:1px solid #cbd5e1;
    border-radius:13px;

    background:#ffffff;
    color:#0f172a;

    font-size:14px;
}

.general-costs-search-box input{
    padding-left:42px;
}

.general-costs-search-box input:focus,
.general-costs-filters select:focus{
    outline:none;

    border-color:#7c3aed;

    box-shadow:
        0 0 0 3px rgba(124,58,237,0.12);
}

.general-costs-clear-filters{
    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0;
    padding:0;

    border:none;
    border-radius:13px;

    background:#e2e8f0;
    color:#475569;

    cursor:pointer;
}


/* TABELA */

.general-costs-table-wrap{
    width:100%;
    overflow-x:auto;

    -webkit-overflow-scrolling:touch;
}

.general-costs-table{
    margin-top:0;
}

.general-costs-clickable-row{
    cursor:pointer;
}

.general-costs-clickable-row:hover{
    background:#faf5ff;
}

.general-cost-description{
    max-width:360px;

    color:#0f172a;
    font-weight:700;

    white-space:normal;
    word-break:break-word;
}

.general-costs-table td small{
    display:block;

    max-width:360px;

    margin-top:5px;

    color:#64748b;

    white-space:normal;
    word-break:break-word;
}

.general-cost-amount{
    white-space:nowrap;
}

.general-cost-status{
    display:inline-flex;
    align-items:center;
    gap:6px;

    padding:7px 10px;

    border-radius:999px;

    font-size:11px;
    font-weight:900;

    white-space:nowrap;
    text-transform:uppercase;
}

.general-cost-status i{
    margin:0;
}

.general-cost-status.unsettled{
    background:#fef3c7;
    color:#92400e;
}

.general-cost-status.settled{
    background:#dcfce7;
    color:#166534;
}

.general-costs-row-actions{
    display:flex;
    align-items:center;
    gap:6px;
}

.general-costs-row-actions button{
    width:38px;
    height:38px;
    min-width:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0;
    padding:0;

    border:none;
    border-radius:11px;

    cursor:pointer;
}

.general-costs-row-actions i{
    margin:0;
}

.general-costs-edit-button{
    background:#dbeafe;
    color:#1d4ed8;
}

.general-costs-delete-button{
    background:#fee2e2 !important;
    color:#991b1b !important;
}


/* DOMYŚLNIE KARTY MOBILNE SĄ UKRYTE */

.general-costs-mobile-list{
    display:none;
}

/* =========================================
   KOSZTY OGÓLNE — WIDOK
   ========================================= */

.general-costs-view-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;

    margin-bottom:24px;
}

.general-costs-view-header h1{
    margin-bottom:8px;
}

.general-costs-header-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.general-costs-header-actions button{
    min-height:44px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:11px 16px;

    border:none;
    border-radius:13px;

    font-weight:800;
    cursor:pointer;
}

.general-costs-refresh-button{
    background:#e2e8f0;
    color:#334155;
}

.general-costs-add-button{
    background:linear-gradient(
        135deg,
        #7c3aed,
        #6d28d9
    );

    color:#ffffff;

    box-shadow:
        0 10px 22px rgba(124,58,237,0.24);
}


/* PODSUMOWANIE */

.general-costs-summary-grid{
    display:grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:16px;

    margin-bottom:22px;
}

.general-costs-summary-card{
    min-width:0;

    display:flex;
    align-items:center;
    gap:14px;

    padding:19px;

    background:#ffffff;

    border:1px solid #e2e8f0;
    border-radius:20px;

    box-shadow:
        0 8px 22px rgba(15,23,42,0.07);
}

.general-costs-summary-icon{
    width:48px;
    height:48px;
    min-width:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:16px;

    font-size:19px;
}

.general-costs-summary-card > div:last-child{
    min-width:0;
}

.general-costs-summary-card span{
    display:block;

    margin-bottom:5px;

    color:#64748b;

    font-size:12px;
    font-weight:900;

    text-transform:uppercase;
    letter-spacing:0.05em;
}

.general-costs-summary-card strong{
    display:block;

    color:#0f172a;

    font-size:23px;
    line-height:1.15;

    word-break:break-word;
}

.general-costs-summary-card small{
    display:block;

    margin-top:5px;

    color:#64748b;

    font-size:12px;
    line-height:1.35;
}

.general-costs-summary-card.total
.general-costs-summary-icon{
    background:#ede9fe;
    color:#6d28d9;
}

.general-costs-summary-card.pending
.general-costs-summary-icon{
    background:#fef3c7;
    color:#b45309;
}

.general-costs-summary-card.settled
.general-costs-summary-icon{
    background:#dcfce7;
    color:#15803d;
}

.general-costs-summary-card.count
.general-costs-summary-icon{
    background:#dbeafe;
    color:#1d4ed8;
}


/* PANEL */

.general-costs-panel{
    padding:20px;

    background:rgba(255,255,255,0.9);

    border:1px solid #e2e8f0;
    border-radius:22px;

    box-shadow:
        0 10px 28px rgba(15,23,42,0.08);
}

.general-costs-panel-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;

    margin-bottom:16px;
}

.general-costs-panel-header h2{
    display:flex;
    align-items:center;
    gap:9px;

    margin:0 0 5px 0;
}

.general-costs-panel-header p{
    margin:0;
    color:#64748b;
}


/* FILTRY */

.general-costs-filters{
    display:grid;
    grid-template-columns:
        minmax(240px, 1fr)
        minmax(150px, 190px)
        minmax(170px, 210px)
        minmax(170px, 210px)
        46px;

    align-items:center;
    gap:10px;

    margin-bottom:16px;
}

.general-costs-search-box{
    position:relative;

    display:flex;
    align-items:center;

    min-width:0;
}

.general-costs-search-box > i{
    position:absolute;
    left:14px;

    color:#64748b;

    pointer-events:none;
}

.general-costs-search-box input,
.general-costs-filters select{
    width:100%;
    min-width:0;
    height:46px;

    padding:10px 13px;

    border:1px solid #cbd5e1;
    border-radius:13px;

    background:#ffffff;
    color:#0f172a;

    font-size:14px;
}

.general-costs-search-box input{
    padding-left:42px;
}

.general-costs-search-box input:focus,
.general-costs-filters select:focus{
    outline:none;

    border-color:#7c3aed;

    box-shadow:
        0 0 0 3px rgba(124,58,237,0.12);
}

.general-costs-clear-filters{
    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0;
    padding:0;

    border:none;
    border-radius:13px;

    background:#e2e8f0;
    color:#475569;

    cursor:pointer;
}


/* TABELA */

.general-costs-table-wrap{
    width:100%;
    overflow-x:auto;

    -webkit-overflow-scrolling:touch;
}

.general-costs-table{
    margin-top:0;
}

.general-costs-clickable-row{
    cursor:pointer;
}

.general-costs-clickable-row:hover{
    background:#faf5ff;
}

.general-cost-description{
    max-width:360px;

    color:#0f172a;
    font-weight:700;

    white-space:normal;
    word-break:break-word;
}

.general-costs-table td small{
    display:block;

    max-width:360px;

    margin-top:5px;

    color:#64748b;

    white-space:normal;
    word-break:break-word;
}

.general-cost-amount{
    white-space:nowrap;
}

.general-cost-status{
    display:inline-flex;
    align-items:center;
    gap:6px;

    padding:7px 10px;

    border-radius:999px;

    font-size:11px;
    font-weight:900;

    white-space:nowrap;
    text-transform:uppercase;
}

.general-cost-status i{
    margin:0;
}

.general-cost-status.unsettled{
    background:#fef3c7;
    color:#92400e;
}

.general-cost-status.settled{
    background:#dcfce7;
    color:#166534;
}

.general-costs-row-actions{
    display:flex;
    align-items:center;
    gap:6px;
}

.general-costs-row-actions button{
    width:38px;
    height:38px;
    min-width:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0;
    padding:0;

    border:none;
    border-radius:11px;

    cursor:pointer;
}

.general-costs-row-actions i{
    margin:0;
}

.general-costs-edit-button{
    background:#dbeafe;
    color:#1d4ed8;
}

.general-costs-delete-button{
    background:#fee2e2 !important;
    color:#991b1b !important;
}


/* DOMYŚLNIE KARTY MOBILNE SĄ UKRYTE */

.general-costs-mobile-list{
    display:none;
}

/* =========================================
   PODGLĄD ROZLICZENIA KOSZTÓW OGÓLNYCH
   ========================================= */

.general-cost-settlement-modal-content{
    position:relative;

    width:min(1180px, calc(100vw - 32px));
    height:calc(100vh - 32px);
    max-height:calc(100vh - 32px);

    display:flex;
    flex-direction:column;

    overflow:hidden;

    padding:26px;

    border-radius:24px;
}

.general-settlement-modal-header{
    padding-right:46px;
}

.general-settlement-kicker{
    display:block;

    margin-bottom:6px;

    color:#0f766e;

    font-size:12px;
    font-weight:900;

    text-transform:uppercase;
    letter-spacing:0.08em;
}

.general-settlement-modal-header h2{
    margin:0 0 7px 0;
}

.general-settlement-modal-header p{
    margin:0;

    color:#64748b;
}

.general-settlement-month-row{
    margin-top:22px;
    padding:16px;

    background:#f8fafc;

    border:1px solid #e2e8f0;
    border-radius:16px;
}

.general-settlement-month-row label{
    display:block;

    margin-bottom:8px;

    color:#334155;

    font-size:13px;
    font-weight:900;
}

.general-settlement-month-controls{
    display:flex;
    align-items:center;
    gap:10px;
}

.general-settlement-month-controls input{
    min-width:220px;
    height:44px;

    padding:9px 12px;

    border:1px solid #cbd5e1;
    border-radius:12px;

    background:#ffffff;
}

.general-settlement-month-controls button{
    min-height:44px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    margin:0;
    padding:10px 16px;

    border:none;
    border-radius:12px;

    background:#0f766e;
    color:#ffffff;

    font-weight:900;
    cursor:pointer;
}

.general-settlement-message{
    margin-top:16px;
    padding:14px 16px;

    border-radius:14px;

    font-weight:700;
}

.general-settlement-message.info{
    background:#e0f2fe;
    color:#075985;
}

.general-settlement-message.warning{
    background:#fef3c7;
    color:#92400e;
}

.general-settlement-message.error{
    background:#fee2e2;
    color:#991b1b;
}

.general-settlement-summary-grid{
    display:grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:12px;

    margin-top:18px;
}

.general-settlement-summary-grid article{
    padding:16px;

    background:#ffffff;

    border:1px solid #e2e8f0;
    border-radius:16px;

    box-shadow:
        0 7px 18px rgba(15,23,42,0.06);
}

.general-settlement-summary-grid span{
    display:block;

    margin-bottom:5px;

    color:#64748b;

    font-size:11px;
    font-weight:900;

    text-transform:uppercase;
}

.general-settlement-summary-grid strong{
    color:#0f172a;
    font-size:21px;
}

.general-settlement-section{
    margin-top:22px;
}

.general-settlement-section h3{
    display:flex;
    align-items:center;
    gap:8px;

    margin:0 0 10px 0;
}

.general-settlement-table-wrap{
    width:100%;
    overflow-x:auto;

    border:1px solid #e2e8f0;
    border-radius:16px;
}

.general-settlement-table-wrap table{
    width:100%;
    margin:0;

    border-collapse:collapse;
}

.general-settlement-table-wrap th,
.general-settlement-table-wrap td{
    padding:12px 14px;

    border-bottom:1px solid #e2e8f0;

    text-align:left;
    vertical-align:top;
}

.general-settlement-table-wrap th{
    background:#f8fafc;

    color:#475569;

    font-size:11px;
    font-weight:900;

    text-transform:uppercase;
}

.general-settlement-table-wrap tr:last-child td{
    border-bottom:none;
}

.general-settlement-footer{
    position:sticky;
    bottom:0;
    z-index:5;

    display:flex;
    justify-content:flex-end;
    gap:10px;

    margin-top:22px;
    padding:14px 0 4px;

    background:#ffffff;

    border-top:1px solid #e2e8f0;
}

.general-settlement-footer button{
    min-height:44px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    margin:0;
    padding:10px 17px;

    border:none;
    border-radius:12px;

    font-weight:900;
}

.general-settlement-cancel-button{
    background:#e2e8f0;
    color:#334155;
}

.general-settlement-confirm-button{
    background:#0f766e;
    color:#ffffff;
}

.general-settlement-confirm-button:disabled{
    opacity:0.45;
    cursor:not-allowed;
}

.general-cost-settlement-modal-content .modal-close{
    position:absolute;
    top:18px;
    right:18px;

    width:38px;
    height:38px;
    min-width:38px;
    min-height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0;
    padding:0;

    border:none;
    border-radius:50%;

    background:#eef2f7;
    color:#334155;

    font-size:17px;
    cursor:pointer;

    box-shadow:none;
}

.general-cost-settlement-modal-content .modal-close:hover{
    background:#e2e8f0;
    color:#0f172a;
}

.general-settlement-results{
    flex:1;
    min-height:0;

    overflow-y:auto;
    overflow-x:hidden;

    margin-top:16px;
    padding-right:8px;
    padding-bottom:8px;
}

.general-settlement-results::-webkit-scrollbar{
    width:9px;
}

.general-settlement-results::-webkit-scrollbar-track{
    background:#f1f5f9;
    border-radius:10px;
}

.general-settlement-results::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:10px;
}

.general-settlement-results::-webkit-scrollbar-thumb:hover{
    background:#94a3b8;
}

.general-settlement-amount-field{
    display:flex;
    align-items:center;
    gap:7px;
}

.general-settlement-amount-field input{
    width:130px;
    min-width:110px;

    padding:9px 10px;

    border:1px solid #cbd5e1;
    border-radius:10px;

    background:#ffffff;

    font:inherit;
    font-weight:800;

    text-align:right;
}

.general-settlement-amount-field input:focus{
    border-color:#0f766e;
    outline:none;

    box-shadow:
        0 0 0 3px rgba(15,118,110,0.12);
}

.general-settlement-amount-field span{
    color:#64748b;
    font-weight:800;
}

.general-settlement-total-row td{
    background:#f8fafc;

    font-weight:900;

    border-top:2px solid #cbd5e1;
}

.general-settlement-total-row td:last-child{
    color:#0f766e;
}

.general-settlement-balance{
    display:grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:10px;

    margin-top:14px;
}

.general-settlement-balance > div{
    padding:13px 15px;

    border:1px solid #e2e8f0;
    border-radius:13px;

    background:#f8fafc;
}

.general-settlement-balance span{
    display:block;

    margin-bottom:4px;

    color:#64748b;

    font-size:11px;
    font-weight:900;

    text-transform:uppercase;
}

.general-settlement-balance strong{
    color:#0f172a;
    font-size:18px;
}

#general-settlement-difference-card.is-correct{
    border-color:#86efac;
    background:#f0fdf4;
}

#general-settlement-difference-card.is-correct strong{
    color:#15803d;
}

#general-settlement-difference-card.is-error{
    border-color:#fca5a5;
    background:#fef2f2;
}

#general-settlement-difference-card.is-error strong{
    color:#b91c1c;
}

.general-settlement-distribution-actions{
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:9px;

    margin-top:12px;
}

.general-settlement-distribution-actions button{
    min-height:40px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    margin:0;
    padding:9px 14px;

    border:1px solid #cbd5e1;
    border-radius:11px;

    background:#ffffff;
    color:#334155;

    font-weight:800;
    cursor:pointer;
}

.general-settlement-distribution-actions button:hover{
    border-color:#0f766e;
    color:#0f766e;
}

.general-settlement-distribution-actions button:disabled{
    opacity:0.45;
    cursor:not-allowed;
}

.general-costs-locked-actions{
    display:inline-flex;
    align-items:center;
    gap:6px;

    padding:7px 9px;

    border-radius:9px;

    background:#f1f5f9;
    color:#64748b;

    font-size:12px;
    font-weight:800;
}

/* =========================================
   KOSZTY OGÓLNE — UKŁAD FILTRÓW
   ========================================= */

#general-costs .general-costs-filters{
    display:grid;

    grid-template-columns:
        minmax(260px, 0.85fr)
        minmax(150px, 0.5fr)
        minmax(175px, 0.58fr)
        minmax(185px, 0.62fr)
        minmax(240px, 1fr)
        46px;

    grid-template-rows:
        auto
        auto;

    column-gap:10px;
    row-gap:12px;

    align-items:end;

    margin-bottom:16px;
}

#general-costs .general-costs-filters > *{
    min-width:0;
}


/* PIERWSZY WIERSZ */

#general-costs .general-costs-search-box{
    grid-column:1;
    grid-row:1;
}

#general-costs-year-filter{
    grid-column:2;
    grid-row:1;
}

#general-costs-month-filter{
    grid-column:3;
    grid-row:1;
}

#general-costs-source-filter{
    grid-column:4;
    grid-row:1;
}

#general-costs-contractor-filter{
    grid-column:5 / 7;
    grid-row:1;
}


/* DRUGI WIERSZ */

#general-costs-status-filter{
    grid-column:1;
    grid-row:2;
}

#general-costs .general-costs-cost-date-from{
    grid-column:2;
    grid-row:2;
}

#general-costs .general-costs-cost-date-to{
    grid-column:3;
    grid-row:2;
}

#general-costs .general-costs-created-date-from{
    grid-column:4;
    grid-row:2;
}

#general-costs .general-costs-created-date-to{
    grid-column:5;
    grid-row:2;
}

#general-costs .general-costs-clear-filters{
    grid-column:6;
    grid-row:2;

    align-self:end;
}


/* WYGLĄD PÓL DAT */

#general-costs .general-costs-date-filter{
    display:flex;
    flex-direction:column;

    gap:6px;

    min-width:0;
}

#general-costs .general-costs-date-filter span{
    display:block;

    color:#475569;

    font-size:12px;
    font-weight:800;
    line-height:1.2;

    white-space:nowrap;
}

#general-costs .general-costs-date-filter input{
    width:100%;
    min-width:0;
    height:46px;

    padding:10px 12px;

    box-sizing:border-box;

    border:1px solid #cbd5e1;
    border-radius:13px;

    background:#ffffff;
    color:#0f172a;

    font-family:inherit;
    font-size:14px;
}

#general-costs .general-costs-date-filter input:focus{
    outline:none;

    border-color:#7c3aed;

    box-shadow:
        0 0 0 3px rgba(124,58,237,0.12);
}


/* WSPÓLNA WYSOKOŚĆ */

#general-costs .general-costs-search-box input,
#general-costs .general-costs-filters select{
    width:100%;
    height:46px;

    box-sizing:border-box;
}


/* MNIEJSZE EKRANY */

@media(max-width:1250px){

    #general-costs .general-costs-filters{
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        grid-template-rows:auto;
    }

    #general-costs .general-costs-filters > *{
        grid-column:auto;
        grid-row:auto;
    }

    #general-costs .general-costs-search-box{
        grid-column:1 / -1;
    }

    #general-costs .general-costs-clear-filters{
        grid-column:1 / -1;

        width:100%;
        height:42px;
    }
}


/* TELEFONY */

@media(max-width:700px){

    #general-costs .general-costs-filters{
        grid-template-columns:1fr;
    }

    #general-costs .general-costs-search-box,
    #general-costs .general-costs-clear-filters{
        grid-column:auto;
    }
}

/* =========================================
   KOSZTY OGÓLNE — WYRÓŻNIONY FILTR STATUSU
   ========================================= */

#general-costs .general-costs-status-filter-box{
    grid-column:1;
    grid-row:2;

    display:flex;
    flex-direction:column;
    gap:6px;

    min-width:0;
}

#general-costs .general-costs-status-filter-box > span{
    display:block;

    color:#b45309;

    font-size:12px;
    font-weight:900;
    line-height:1.2;

    white-space:nowrap;
}

#general-costs .general-costs-status-filter-box select{
    width:100%;
    height:46px;

    box-sizing:border-box;

    padding:10px 13px;

    border:1px solid #fbbf24;
    border-radius:13px;

    background:linear-gradient(
        135deg,
        #fffbeb,
        #fef3c7
    );

    color:#92400e;

    font-family:inherit;
    font-size:14px;
    font-weight:900;

    box-shadow:
        0 0 0 1px rgba(245,158,11,0.06),
        0 5px 14px rgba(245,158,11,0.08);
}

#general-costs .general-costs-status-filter-box select:hover{
    border-color:#f59e0b;

    background:linear-gradient(
        135deg,
        #fef3c7,
        #fde68a
    );
}

#general-costs .general-costs-status-filter-box select:focus{
    outline:none;

    border-color:#d97706;

    background:#ffffff;

    box-shadow:
        0 0 0 3px rgba(245,158,11,0.16);
}


/* Na mniejszych ekranach filtr wraca
   do automatycznego układu siatki. */

@media(max-width:1250px){

    #general-costs .general-costs-status-filter-box{
        grid-column:auto;
        grid-row:auto;
    }
}

/* =========================================
   KOSZTY OGÓLNE — RAPORT ROCZNY
   ========================================= */

.general-costs-header-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
}

.general-costs-year-report-button{
    background:linear-gradient(
        135deg,
        #4f46e5,
        #7c3aed
    );

    color:#ffffff;

    box-shadow:
        0 10px 22px rgba(79,70,229,0.22);
}

.general-costs-year-report-button:hover{
    background:linear-gradient(
        135deg,
        #4338ca,
        #6d28d9
    );
}


/* OKNO RAPORTU */

.general-costs-annual-report-modal-content{
    width:min(
        1320px,
        calc(100vw - 32px)
    );
}

.general-costs-annual-report-toolbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;

    margin-top:20px;
    padding:16px;

    background:linear-gradient(
        135deg,
        #eef2ff,
        #faf5ff
    );

    border:1px solid #c7d2fe;
    border-radius:17px;
}

.general-costs-annual-report-toolbar label{
    min-width:220px;

    display:flex;
    flex-direction:column;
    gap:7px;
}

.general-costs-annual-report-toolbar label > span{
    color:#475569;

    font-size:12px;
    font-weight:900;

    text-transform:uppercase;
    letter-spacing:0.05em;
}

.general-costs-annual-report-toolbar select{
    width:100%;
    height:46px;

    padding:10px 13px;

    box-sizing:border-box;

    border:1px solid #a5b4fc;
    border-radius:13px;

    background:#ffffff;
    color:#312e81;

    font-family:inherit;
    font-size:15px;
    font-weight:900;
}

.general-costs-annual-report-toolbar select:focus{
    outline:none;

    border-color:#4f46e5;

    box-shadow:
        0 0 0 3px rgba(79,70,229,0.14);
}

.general-costs-annual-report-toolbar button{
    min-height:46px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    margin:0;
    padding:11px 16px;

    border:none;
    border-radius:13px;

    background:#4f46e5;
    color:#ffffff;

    font-weight:900;
    cursor:pointer;
}


/* PODSUMOWANIE */

.general-costs-annual-summary-grid{
    display:grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:13px;

    margin-bottom:22px;
}

.general-costs-annual-summary-grid article{
    min-width:0;

    padding:17px;

    border:1px solid #e2e8f0;
    border-radius:18px;

    box-shadow:
        0 7px 18px rgba(15,23,42,0.06);
}

.general-costs-annual-summary-grid article.total{
    background:linear-gradient(
        135deg,
        #ede9fe,
        #faf5ff
    );
}

.general-costs-annual-summary-grid article.settled{
    background:linear-gradient(
        135deg,
        #dcfce7,
        #f0fdf4
    );
}

.general-costs-annual-summary-grid article.unsettled{
    background:linear-gradient(
        135deg,
        #fef3c7,
        #fffbeb
    );
}

.general-costs-annual-summary-grid article.count{
    background:linear-gradient(
        135deg,
        #dbeafe,
        #eff6ff
    );
}

.general-costs-annual-summary-grid span{
    display:block;

    margin-bottom:7px;

    color:#64748b;

    font-size:11px;
    font-weight:900;

    text-transform:uppercase;
    letter-spacing:0.05em;
}

.general-costs-annual-summary-grid strong{
    display:block;

    color:#0f172a;

    font-size:23px;
    line-height:1.15;
}

.general-costs-annual-summary-grid small{
    display:block;

    margin-top:6px;

    color:#64748b;

    font-size:12px;
    line-height:1.4;
}


/* SEKCJE RAPORTU */

.general-costs-annual-report-content{
    margin-top:18px;
}

.general-costs-annual-report-section{
    margin-bottom:26px;
}

.general-costs-annual-report-section:last-child{
    margin-bottom:8px;
}

.general-costs-annual-section-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;

    margin-bottom:11px;
}

.general-costs-annual-section-header h3{
    display:flex;
    align-items:center;
    gap:9px;

    margin:0 0 5px 0;

    color:#0f172a;
}

.general-costs-annual-section-header h3 i{
    color:#4f46e5;
}

.general-costs-annual-section-header p{
    margin:0;

    color:#64748b;

    font-size:13px;
    line-height:1.45;
}


/* PRZYCISKI W TABELACH */

.general-costs-annual-open-month,
.general-costs-annual-open-package{
    min-height:38px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;

    margin:0;
    padding:8px 11px;

    border:none;
    border-radius:10px;

    font-size:12px;
    font-weight:900;

    white-space:nowrap;
    cursor:pointer;
}

.general-costs-annual-open-month{
    background:#ede9fe;
    color:#5b21b6;
}

.general-costs-annual-open-package{
    background:#dbeafe;
    color:#1d4ed8;
}

.general-costs-annual-open-month i,
.general-costs-annual-open-package i{
    margin:0;
}


/* MNIEJSZE EKRANY */

@media(max-width:1050px){

    .general-costs-annual-summary-grid{
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


@media(max-width:700px){

    .general-costs-view-header{
        flex-direction:column;
        align-items:stretch;
    }

    .general-costs-header-actions{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }

    .general-costs-header-actions button{
        width:100%;
    }

    .general-costs-annual-report-toolbar{
        flex-direction:column;
        align-items:stretch;
    }

    .general-costs-annual-report-toolbar label{
        width:100%;
        min-width:0;
    }

    .general-costs-annual-report-toolbar button{
        width:100%;
    }

    .general-costs-annual-summary-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================
   KOSZTY OGÓLNE — KOLORY GŁÓWNYCH AKCJI
   ========================================= */

/* HISTORIA — JASNA ZIELEŃ */

.general-costs-history-button{
    background:linear-gradient(
        135deg,
        #ecfdf5,
        #d1fae5
    );

    color:#065f46;

    border:1px solid #a7f3d0 !important;

    box-shadow:
        0 8px 18px rgba(16,185,129,0.10);
}

.general-costs-history-button:hover{
    background:linear-gradient(
        135deg,
        #d1fae5,
        #a7f3d0
    );

    color:#064e3b;

    box-shadow:
        0 10px 22px rgba(16,185,129,0.16);
}


/* RAPORT ROCZNY — ZIELEŃ */

.general-costs-year-report-button{
    background:linear-gradient(
        135deg,
        #16a34a,
        #15803d
    ) !important;

    color:#ffffff !important;

    border:none !important;

    box-shadow:
        0 10px 22px rgba(22,163,74,0.24) !important;
}

.general-costs-year-report-button:hover{
    background:linear-gradient(
        135deg,
        #15803d,
        #166534
    ) !important;

    box-shadow:
        0 12px 26px rgba(22,163,74,0.30) !important;
}


/* ROZLICZ MIESIĄC — CIEMNY TURKUS */

.general-costs-settle-button{
    background:linear-gradient(
        135deg,
        #0f766e,
        #115e59
    ) !important;

    color:#ffffff !important;

    border:none !important;

    box-shadow:
        0 10px 22px rgba(15,118,110,0.24) !important;
}

.general-costs-settle-button:hover{
    background:linear-gradient(
        135deg,
        #115e59,
        #134e4a
    ) !important;

    box-shadow:
        0 12px 26px rgba(15,118,110,0.30) !important;
}


/* IKONY W PRZYCISKACH */

.general-costs-history-button i,
.general-costs-year-report-button i,
.general-costs-settle-button i{
    margin:0;
}

/* =========================================
   RAPORT ROCZNY — EKSPORT EXCEL
   ========================================= */

.general-costs-annual-report-toolbar-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;

    flex-wrap:wrap;
}

.general-costs-annual-export-button{
    background:linear-gradient(
        135deg,
        #15803d,
        #166534
    ) !important;

    color:#ffffff !important;

    border:none !important;

    box-shadow:
        0 8px 18px rgba(21,128,61,0.22);
}

.general-costs-annual-export-button:hover{
    background:linear-gradient(
        135deg,
        #166534,
        #14532d
    ) !important;

    box-shadow:
        0 10px 22px rgba(21,128,61,0.30);
}

.general-costs-annual-export-button:disabled{
    cursor:wait;

    opacity:0.7;

    transform:none !important;
    box-shadow:none !important;
}

.general-costs-annual-export-button i{
    margin:0;
}


@media(max-width:700px){

    .general-costs-annual-report-toolbar-actions{
        width:100%;

        flex-direction:column;
        align-items:stretch;
    }

    .general-costs-annual-report-toolbar-actions button{
        width:100%;
    }
}

