/* 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); }

/* --- Kasa: badge KP/KW --- */
.badge-kp { background: var(--status-paid); color: white; padding: 0.15rem 0.5rem; border-radius: 3px; font-size: 0.8rem; font-weight: bold; }
.badge-kw { background: var(--status-overdue); color: white; padding: 0.15rem 0.5rem; border-radius: 3px; font-size: 0.8rem; font-weight: bold; }
.status-open { color: var(--status-unpaid); font-weight: bold; }
.status-closed { color: var(--status-paid); }
.status-draft { color: var(--status-unknown); }
.status-approved { color: var(--vultima-blue); }
.status-paid { color: var(--status-paid); }
.text-red { color: var(--status-overdue); font-weight: bold; }

/* --- 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; }
}

/* --- Zadania: priorytety --- */
.priority-urgent { color: #d32f2f; font-weight: bold; }
.priority-high { color: #f57c00; font-weight: bold; }
.priority-normal { color: var(--vultima-gray); }
.priority-low { color: #90a4ae; }

.badge-urgent { background: #d32f2f; color: white; padding: 0.1rem 0.4rem; border-radius: 3px; font-size: 0.8rem; }
.badge-high { background: #f57c00; color: white; padding: 0.1rem 0.4rem; border-radius: 3px; font-size: 0.8rem; }
.badge-normal { background: #78909c; color: white; padding: 0.1rem 0.4rem; border-radius: 3px; font-size: 0.8rem; }
.badge-low { background: #b0bec5; color: white; padding: 0.1rem 0.4rem; border-radius: 3px; font-size: 0.8rem; }

/* --- Zadania: statusy --- */
.task-open { color: var(--vultima-blue); }
.task-in_progress { color: var(--status-unpaid); font-weight: bold; }
.task-done { color: var(--status-paid); }
.task-cancelled { color: var(--status-unknown); text-decoration: line-through; }

/* --- Zadania: karty dashboardu --- */
.card-tasks article { border-left: 4px solid var(--vultima-blue); }
.card-urgent article { border-left: 4px solid #d32f2f; }
.card-reminders article { border-left: 4px solid #f57c00; }
.card-kontrolki article { border-left: 4px solid var(--vultima-gold); }

/* --- Reminder: zalegly --- */
.reminder-overdue { background: #fdecea; border-left: 3px solid #d32f2f; padding: 0.5rem; margin-bottom: 0.3rem; border-radius: 3px; }
.reminder-upcoming { background: #e3f2fd; border-left: 3px solid var(--vultima-blue); padding: 0.5rem; margin-bottom: 0.3rem; border-radius: 3px; }

/* --- Rozliczenia --- */
.card-rozliczenia-tx { text-align: center; }
.card-rozliczenia-tx article { border-left: 4px solid var(--status-unpaid); }
.card-rozliczenia-fv { text-align: center; }
.card-rozliczenia-fv article { border-left: 4px solid var(--status-overdue); }
.suggestion-panel { background: #f5f5f5; padding: 0.75rem; margin: 0.3rem 0; border-radius: 4px; border-left: 3px solid var(--vultima-blue); }
.suggestion-panel table { font-size: 0.85rem; margin-bottom: 0; }
.badge-nip { background: var(--vultima-blue); color: white; padding: 0.1rem 0.3rem; border-radius: 3px; font-size: 0.75rem; }

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