/* Panel Vultima — nadpisania Pico CSS */

/* --- Kolory Vultima --- */
:root {
    --vultima-gold: #c5a44e;
    --vultima-blue: #3369B1;
    --vultima-gray: #5A656B;
    --status-overdue: #d32f2f;
    --status-unpaid: #f57c00;
    --status-paid: #388e3c;
    --status-korekta: #7b1fa2;
    --status-unknown: #757575;
}

/* --- Login --- */
.login-box {
    max-width: 400px;
    margin: 5rem auto;
}

/* --- Karty statusow --- */
.card { text-decoration: none; color: inherit; }
.card article { text-align: center; }
.card-number { font-size: 2.5rem; font-weight: bold; margin: 0.5rem 0; }
.card-overdue article { border-left: 4px solid var(--status-overdue); }
.card-unpaid article { border-left: 4px solid var(--status-unpaid); }
.card-paid article { border-left: 4px solid var(--status-paid); }
.card-korekta article { border-left: 4px solid var(--status-korekta); }

/* --- Statusy w tabeli --- */
.status-overdue { color: var(--status-overdue); font-weight: bold; }
.status-unpaid { color: var(--status-unpaid); }
.status-paid { color: var(--status-paid); }
.status-korekta { color: var(--status-korekta); }
.status-unknown { color: var(--status-unknown); }

/* --- Pieczatki --- */
.stamp-ok { color: var(--status-paid); font-weight: bold; }
.stamp-draft { color: var(--status-unpaid); }
.stamp-none { color: var(--status-unknown); }

/* --- Tabele --- */
.text-right { text-align: right; }
.text-center { text-align: center; }
.overflow-auto { overflow-x: auto; }

/* Mniejszy font w tabelach */
table { font-size: 0.9rem; }
th a { text-decoration: none; color: inherit; white-space: nowrap; }
th a:hover { color: var(--vultima-blue); }

/* --- Paginacja --- */
.pagination ul {
    list-style: none;
    display: flex;
    gap: 0.5rem;
    padding: 0;
    flex-wrap: wrap;
}
.pagination li { display: inline; }
.pagination a { padding: 0.3rem 0.6rem; border: 1px solid #ddd; border-radius: 4px; text-decoration: none; }
.pagination a:hover { background: var(--vultima-blue); color: white; }
.pagination strong { padding: 0.3rem 0.6rem; background: var(--vultima-blue); color: white; border-radius: 4px; }

/* --- Flash messages --- */
.flash-error { background: #fdecea; color: #611a15; padding: 0.75rem; border-radius: 4px; margin-bottom: 1rem; border-left: 4px solid var(--status-overdue); }
.flash-success { background: #e8f5e9; color: #1b5e20; padding: 0.75rem; border-radius: 4px; margin-bottom: 1rem; border-left: 4px solid var(--status-paid); }
.flash-info { background: #e3f2fd; color: #0d47a1; padding: 0.75rem; border-radius: 4px; margin-bottom: 1rem; border-left: 4px solid var(--vultima-blue); }

/* --- Breadcrumb --- */
nav[aria-label="breadcrumb"] ul { list-style: none; display: flex; gap: 0.5rem; padding: 0; }
nav[aria-label="breadcrumb"] li::before { content: " / "; color: var(--vultima-gray); }
nav[aria-label="breadcrumb"] li:first-child::before { content: ""; }

/* --- Nawigacja: mniejszy przycisk wyloguj --- */
.btn-sm { padding: 0.3rem 0.8rem; font-size: 0.85rem; }

/* --- Druk --- */
@media print {
    nav, footer, details, .pagination, button, [role="button"] { display: none !important; }
    table { font-size: 0.8rem; }
}

/* --- Responsywnosc --- */
@media (max-width: 768px) {
    .grid { grid-template-columns: 1fr !important; }
    table { font-size: 0.8rem; }
    td, th { padding: 0.3rem; }
}
