/* FotoIntro — panel administracyjny. Korzysta ze zmiennych/reset z style.css
   (ten sam Karmazyn, ta sama typografia) — tu tylko uklad specyficzny dla panelu. */

body.admin{background:var(--paper-alt)}

/* ---------- Ekran logowania ---------- */
.admin-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.admin-auth-card{
  width:100%;max-width:420px;background:#fff;border-radius:var(--radius);
  box-shadow:var(--shadow-lg);padding:40px 36px;
}
.admin-auth-card .brand-mark{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:28px}
.admin-auth-card .brand-mark img{height:40px;width:auto}
.admin-auth-card h1{font-size:1.3rem;text-align:center;margin-bottom:6px}
.admin-auth-card p.lead{text-align:center;color:var(--body-text);font-size:.92rem;margin-bottom:26px}
.admin-field{margin-bottom:18px}
.admin-field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px;color:var(--ink)}
.admin-field input{
  width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;
  font-family:var(--font-body);font-size:.95rem;background:#fff;
}
.admin-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(161,29,51,.12)}
.admin-code-input{letter-spacing:.5em;text-align:center;font-size:1.4rem !important;font-weight:700}
.admin-btn{
  display:flex;width:100%;align-items:center;justify-content:center;gap:8px;
  background:var(--accent);color:#fff;border:2px solid var(--accent);border-radius:8px;
  padding:13px 20px;font-weight:700;font-size:.95rem;cursor:pointer;font-family:var(--font-body);
  transition:opacity .15s ease;
}
.admin-btn:hover{opacity:.9}
.admin-alert{border-radius:10px;padding:12px 16px;font-size:.88rem;margin-bottom:18px}
.admin-alert.error{background:#fdeceb;color:#8a2a20;border:1px solid #f3c8c3}
.admin-alert.ok{background:#eaf6ee;color:#1f6f3f;border:1px solid #bfe6cc}
.admin-back-link{display:block;text-align:center;margin-top:18px;font-size:.85rem;color:var(--body-text)}
.admin-back-link:hover{color:var(--accent)}

/* ---------- Powloka panelu (po zalogowaniu) ---------- */
.admin-shell{display:flex;min-height:100vh}
.admin-sidebar{
  width:230px;flex:none;background:var(--ink);color:#ccc;padding:24px 0;
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;
}
.admin-sidebar .brand-mark{display:flex;align-items:center;gap:10px;padding:0 20px 24px}
.admin-sidebar .brand-mark img{height:30px;width:auto}
.admin-nav a{
  display:block;padding:11px 20px;font-size:.9rem;font-weight:600;color:#ccc;
  border-left:3px solid transparent;
}
.admin-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.admin-nav a.active{color:#fff;border-left-color:var(--accent);background:rgba(255,255,255,.08)}
.admin-nav .role-badge{margin:0 20px 16px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;
  color:#999;padding:4px 0}
.admin-sidebar .logout{margin-top:auto;padding:14px 20px;font-size:.85rem;color:#999}
.admin-sidebar .logout a{color:#999;padding:0;display:inline}
.admin-sidebar .logout a:hover{color:#fff}

.admin-main{flex:1;padding:32px 40px;max-width:1100px}
.admin-main h1{font-size:1.5rem;margin-bottom:4px}
.admin-main .admin-sub{color:var(--body-text);font-size:.92rem;margin-bottom:28px}

.admin-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:24px}
.admin-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}
.admin-tile{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);
  border-radius:12px;padding:18px 20px}
.admin-tile .num{font-size:1.8rem;font-weight:800;color:var(--ink)}
.admin-tile .label{font-size:.85rem;color:var(--body-text)}

table.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}
table.admin-table th{text-align:left;padding:10px 12px;border-bottom:2px solid var(--line);color:var(--ink);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
table.admin-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}
table.admin-table tr:last-child td{border-bottom:none}
.admin-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.admin-badge.superadmin{background:#fdeceb;color:#8a2a20}
.admin-badge.moderator{background:#eef2fd;color:#26438a}
.admin-badge.unread{background:var(--accent);color:#fff}
.admin-badge.read{background:#eee;color:#888}

.admin-btn-sm{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;
  font-size:.82rem;font-weight:700;border:1.5px solid var(--accent);color:var(--accent);background:transparent;cursor:pointer;font-family:var(--font-body)}
.admin-btn-sm:hover{background:var(--accent);color:#fff}
.admin-btn-sm.danger{border-color:#8a2a20;color:#8a2a20}
.admin-btn-sm.danger:hover{background:#8a2a20;color:#fff}

@media (max-width:860px){
  .admin-shell{flex-direction:column}
  .admin-sidebar{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;padding:14px 10px}
  .admin-sidebar .brand-mark{padding:0 10px;margin-bottom:0}
  .admin-nav{display:flex;flex-wrap:wrap}
  .admin-nav a{border-left:none;border-bottom:3px solid transparent;padding:10px 12px}
  .admin-nav a.active{border-left:none;border-bottom-color:var(--accent)}
  .admin-nav .role-badge{display:none}
  .admin-sidebar .logout{margin-top:0;padding:10px 12px}
  .admin-main{padding:24px 18px}
}
