/* =========================================================================
   Panel administratora — style.
   ========================================================================= */
body.admin { background: #f4f7fb; }
.adminbar { background: var(--c-navy); color: #fff; }
.adminbar__inner { max-width: 1140px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; gap: 16px; flex-wrap: wrap; }
.adminbar__brand { color: #fff; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.05rem; }
.adminbar__brand:hover { text-decoration: none; opacity: .9; }
.adminbar__nav { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.adminbar__nav a { color: #d4e3f7; font-size: .9rem; }
.adminbar__user { color: #9fc3f0; font-size: .85rem; }
.adminbar__logout { margin: 0; }

.adminmain { padding: 28px 0 60px; }
.adminmain__inner { max-width: 1140px; margin: 0 auto; padding: 0 20px; }
.admin-h1 { font-family: 'Poppins', sans-serif; color: var(--c-navy); margin: 0 0 18px; }
.muted { color: #7a889c; }
.warn { color: #c0392b; font-weight: 600; }

/* Login */
.loginbox { max-width: 380px; margin: 60px auto; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 28px; }
.loginbox__title { font-family: 'Poppins', sans-serif; color: var(--c-navy); margin-top: 0; text-align: center; }

/* Stat cards */
.statbar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 22px; }
.statcard { background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); padding: 14px; text-align: center; box-shadow: var(--shadow); color: var(--c-text); }
.statcard:hover { text-decoration: none; border-color: var(--c-primary); }
.statcard.is-active { border-color: var(--c-primary); border-bottom: 3px solid var(--c-accent); }
.statcard__n { display: block; font-size: 1.8rem; font-family: 'Poppins', sans-serif; color: var(--c-primary); font-weight: 700; }
.statcard__l { display: block; font-size: .85rem; color: #5a6b80; }

.filterbar { margin-bottom: 16px; }
.filterbar select { padding: 7px 10px; border: 1px solid var(--c-border); border-radius: var(--radius); font: inherit; }

/* Table */
.dtable { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.dtable th, .dtable td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--c-border); vertical-align: top; font-size: .92rem; }
.dtable th { background: var(--c-bg-light); color: var(--c-navy); font-family: 'Poppins', sans-serif; }
.dtable tr:last-child td { border-bottom: 0; }

/* Status badges */
.st { display: inline-block; padding: 3px 10px; border-radius: 50px; font-size: .78rem; font-weight: 600; }
.st--oczekujacy { background: #fff3d6; color: #9a6b00; }
.st--opublikowany { background: #e3f4e7; color: #1e6e3a; }
.st--odrzucony { background: #fbe3e1; color: #8e271c; }
.st--wycofany { background: #e7eaef; color: #5a6b80; }

/* Detail */
.detail { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 24px; }
.detail__head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.detail__head .admin-h1 { margin: 0; }
.detail__grid { display: grid; grid-template-columns: 1fr 260px; gap: 26px; }
.detail__photo { width: 100%; aspect-ratio: 1/1; background: var(--c-bg-light); border-radius: var(--radius); overflow: hidden; margin-bottom: 14px; display: flex; align-items: center; justify-content: center; }
.detail__photo img { width: 100%; height: 100%; object-fit: cover; }
.kv { display: grid; grid-template-columns: 150px 1fr; gap: 6px 14px; margin: 0 0 18px; }
.kv dt { font-weight: 600; color: var(--c-navy); }
.kv dd { margin: 0; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--c-border); }
.inline { margin: 0; }
.rejectform { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--c-border); }
.rejectform__row { display: flex; gap: 10px; margin-top: 6px; }
.rejectform__row .form__input { max-width: 420px; }

@media (max-width: 760px) {
    .statbar { grid-template-columns: 1fr 1fr; }
    .detail__grid { grid-template-columns: 1fr; }
    .dtable { display: block; overflow-x: auto; }
}
