/* ============================================================
   Najmownia — identyfikacja wizualna
   Kierunek: nowoczesny / technologiczny · grafit + limonkowy akcent
   Typografia: Space Grotesk (UI/nagłówki) · IBM Plex Mono (dane/etykiety)
   ZASADA: limonka nigdy jako kolor tekstu na jasnym tle — tylko tło/akcent
           na grafitowym tle. Tekst na limonce zawsze grafitowy.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
    --color-ink:    #191B1F;  /* grafit — tła ciemne, tekst główny */
    --color-accent: #D6F25F;  /* limonka — akcent, CTA, wyróżnienia */
    --color-paper:  #F6F6F3;  /* tło jasne (nie czysta biel) */
    --color-steel:  #5A5F6A;  /* tekst drugorzędny, ikony */
    --color-line:   rgba(0,0,0,.09);
    --color-accent-dk: #c2df46; /* limonka hover */
    --color-ink-2:  #23262c;    /* grafit rozjaśniony (hover na ciemnym) */
    --font-sans: 'Space Grotesk', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    --font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* ---------- Fundament ---------- */
.nm-mono { font-family: var(--font-mono); }

/* ---------- Przyciski (brand) ---------- */
.nm-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    font-family: var(--font-sans); font-weight: 600; font-size: .95rem; line-height: 1;
    padding: 10px 20px; border-radius: 8px; border: 1.5px solid transparent;
    cursor: pointer; text-decoration: none; transition: background .15s, color .15s, border-color .15s;
}
/* primary na jasnym tle: grafit + limonkowy tekst */
.nm-btn-primary { background: var(--color-ink); color: var(--color-accent); }
.nm-btn-primary:hover { background: var(--color-ink-2); color: var(--color-accent); }
/* primary na ciemnym tle: limonka + grafitowy tekst */
.nm-btn-accent { background: var(--color-accent); color: var(--color-ink); }
.nm-btn-accent:hover { background: var(--color-accent-dk); color: var(--color-ink); }
/* ghost */
.nm-btn-ghost { background: transparent; color: var(--color-ink); border-color: var(--color-line); }
.nm-btn-ghost:hover { border-color: var(--color-ink); }
.nm-btn-ghost-light { background: transparent; color: var(--color-paper); border-color: rgba(246,246,243,.35); }
.nm-btn-ghost-light:hover { border-color: var(--color-paper); }

/* ---------- Karty ---------- */
.nm-card { background: #fff; border: 1px solid var(--color-line); border-radius: 12px; }

/* =====================================================================
   WARSTWA NADPISAŃ MOTYWU METRONIC (panel admina, portal, auth, błędy)
   Bundle zaszywa Poppins + niebieski primary — tutaj podmieniamy na brand.
   ===================================================================== */

/* Typografia — wszędzie Space Grotesk */
body, .btn, .form-control, .form-control-solid, .input-group-text,
.menu-nav, .menu-link, .card-title, .subheader, .breadcrumb,
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
.dataTables_wrapper, table.dataTable, .swal2-popup, .toast, .label, .badge {
    font-family: var(--font-sans) !important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
.font-weight-bolder, .card-title { letter-spacing: -.02em; }

/* Dane / etykiety techniczne — IBM Plex Mono */
.text-monospace, .mono, code, kbd, .price-mono { font-family: var(--font-mono) !important; }

/* Primary → grafit z limonkowym tekstem */
.btn-primary,
.btn-primary:focus,
.btn-primary.focus {
    background-color: var(--color-ink) !important;
    border-color: var(--color-ink) !important;
    color: var(--color-accent) !important;
}
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active {
    background-color: var(--color-ink-2) !important;
    border-color: var(--color-ink-2) !important;
    color: var(--color-accent) !important;
}
/* Wariant „light primary" (tła akcji) → subtelny grafit */
.btn-light-primary {
    background-color: rgba(25,27,31,.08) !important;
    color: var(--color-ink) !important;
    border-color: transparent !important;
}
.btn-light-primary:hover { background-color: var(--color-ink) !important; color: var(--color-accent) !important; }

/* Akcent limonkowy dla „success"/CTA na ciemnym tle panelu (przyciski akcji na aside) */
.btn-accent { background-color: var(--color-accent) !important; color: var(--color-ink) !important; border-color: var(--color-accent) !important; }
.btn-accent:hover { background-color: var(--color-accent-dk) !important; color: var(--color-ink) !important; }

/* Kolory tekstu / linki */
.text-primary { color: var(--color-ink) !important; }
.text-muted, .text-dark-50 { color: var(--color-steel) !important; }
a { color: var(--color-ink); }
a:hover, a.text-hover-primary:hover { color: var(--color-steel) !important; }
/* Hover w CIEMNYM menu bocznym → limonka (grafit byłby niewidoczny na ciemnym tle). */
.aside-menu .menu-nav .menu-link:hover .menu-text,
.aside-menu .menu-nav .menu-link:hover .menu-icon i,
.aside-menu .menu-nav .menu-link:hover .menu-bullet span { color: var(--color-accent) !important; }
.aside-menu .menu-nav .menu-link:hover { background-color: rgba(214,242,95,.08) !important; }

/* Aktywny element menu w aside (ciemne) → limonkowy akcent + belka */
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link,
.aside-menu .menu-nav .menu-item.menu-item-active > .menu-link {
    background-color: rgba(214,242,95,.10) !important;
}
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-text,
.aside-menu .menu-nav .menu-item-active > .menu-link .menu-text { color: var(--color-accent) !important; }
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-icon i,
.aside-menu .menu-nav .menu-item-active > .menu-link .menu-icon i { color: var(--color-accent) !important; }

/* Labelki/badge „primary" → limonka na grafitowym tekście */
.label.label-primary, .badge.badge-primary { background-color: var(--color-accent) !important; color: var(--color-ink) !important; }
.label.label-light-primary, .badge.badge-light-primary { background-color: rgba(214,242,95,.22) !important; color: var(--color-ink) !important; }

/* Karty panelu */
.card.card-custom { border: 1px solid var(--color-line); border-radius: 12px; box-shadow: none; }
.card.card-custom > .card-header { border-bottom: 1px solid var(--color-line); }

/* Focus pól formularza → grafit (zamiast niebieskiego) */
.form-control:focus, .form-control-solid:focus {
    border-color: var(--color-ink) !important;
    box-shadow: 0 0 0 .1rem rgba(25,27,31,.12) !important;
}

/* Zaznaczenia / checkbox / radio primary → grafit */
.checkbox > input:checked ~ span, .radio > input:checked ~ span { background-color: var(--color-ink) !important; }
.checkbox > span:after { border-color: var(--color-accent) !important; }

/* Zwijany aside — ukryj logotyp „najmownia" gdy pasek zminimalizowany (znak zostaje) */
body.aside-minimize:not(.aside-minimize-hover) .brand-logo .nm-logo > span { display: none; }
