/*
 * Wspólny system stylów portalu klienta PEGO (ADR-016).
 * Ładowany globalnie przez web_include_css → jeden kolor marki, typografia i
 * komponenty na wszystkich stronach portalu (także wbudowanych Frappe: /me,
 * /update-password, /login). Klasy .pc-* dla naszych własnych stron.
 */

:root {
    --portal-primary: #fe5100;
    --portal-primary-hover: #e54900;
    --portal-success: #059669;
    --portal-success-hover: #047857;
    --portal-bg: #f8fafc;
    --portal-surface: #ffffff;
    --portal-border: #e2e8f0;
    --portal-text: #1e293b;
    --portal-text-muted: #64748b;
    --portal-radius: 12px;
    --portal-radius-sm: 8px;
    --portal-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* --- Branding wbudowanych stron Frappe (login, /me, /update-password) --- */
.btn-primary {
    background-color: var(--portal-primary) !important;
    border-color: var(--portal-primary) !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--portal-primary-hover) !important;
    border-color: var(--portal-primary-hover) !important;
}

/* Ukryj wbudowany Frappe „My Account" → /me w sidebarze (makro my_account w
 * web_sidebar.html dokleja go zawsze dla zalogowanych). Mamy własne „Moje konto"
 * → /account w menu portalu, więc ten duplikat usuwamy.
 * a[href] — działa wszędzie; ul:has() — usuwa też pusty <li> (nowoczesne przeglądarki). */
.web-sidebar a[href="/me"] { display: none; }
.web-sidebar ul:has(> li > a[href="/me"]) { display: none; }

/* --- Kontener i typografia naszych stron --- */
.pc-container {
    max-width: 760px;
    margin: 0 auto;
    padding: 24px 16px 48px;
    font-family: var(--portal-font);
    color: var(--portal-text);
}
.pc-h1 {
    font-size: 24px;
    font-weight: 700;
    color: var(--portal-text);
    margin: 0 0 4px;
}
.pc-subtitle {
    color: var(--portal-text-muted);
    font-size: 14px;
    margin: 0 0 24px;
}

/* --- Karty / sekcje --- */
.pc-card {
    background: var(--portal-surface);
    border: 1px solid var(--portal-border);
    border-radius: var(--portal-radius);
    padding: 24px;
    margin-bottom: 16px;
}
.pc-card-flush {
    padding: 8px 24px;
}
.pc-section-title {
    font-size: 17px;
    font-weight: 600;
    color: var(--portal-text);
    margin: 0 0 6px;
}
.pc-muted {
    color: var(--portal-text-muted);
    font-size: 13px;
}

/* --- Pola formularza --- */
.pc-label {
    font-size: 12px;
    color: var(--portal-text-muted);
    display: block;
}
.pc-input {
    width: 100%;
    padding: 10px;
    border: 1px solid #cbd5e1;
    border-radius: var(--portal-radius-sm);
    margin-top: 4px;
    font-family: var(--portal-font);
}

/* --- Przyciski --- */
.pc-btn {
    display: inline-block;
    padding: 10px 18px;
    border: none;
    border-radius: var(--portal-radius-sm);
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    color: #fff;
}
.pc-btn-primary {
    background: var(--portal-primary);
}
.pc-btn-primary:hover {
    background: var(--portal-primary-hover);
    color: #fff;
}
.pc-btn-success {
    background: var(--portal-success);
}
.pc-btn-success:hover {
    background: var(--portal-success-hover);
    color: #fff;
}

/* --- Wiersz akcji (link z chevronem) --- */
.pc-action-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    text-decoration: none;
    color: var(--portal-text);
    border-bottom: 1px solid #f1f5f9;
}
.pc-action-row:last-child {
    border-bottom: none;
}
.pc-action-row span:first-child {
    font-weight: 600;
}
.pc-action-row .pc-chevron {
    color: var(--portal-primary);
}

.pc-back-link {
    color: var(--portal-primary);
    font-weight: 600;
    text-decoration: none;
}

/* --- Odznaki statusu (wspólne — wcześniej duplikowane w 3 plikach) --- */
.stage-badge {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}
.stage-warning { background: #fef3c7; color: #92400e; }
.stage-success { background: #dcfce7; color: #166534; }
.stage-primary { background: #dbeafe; color: #1e40af; }
.stage-secondary { background: #f1f5f9; color: #475569; }
.stage-danger { background: #fee2e2; color: #991b1b; }

.badge-due,
.badge-waiver {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
}
.badge-due { background: #ffedd5; color: #9a3412; }
.badge-waiver { background: #e0f2fe; color: #075985; }
