:root { --blue:#2563eb; --green:#16a34a; --red:#dc2626; }
*{ box-sizing:border-box; }
body{ margin:0; font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background:#f7f7f8; color:#111827; }
.header{ background:#fff; border-bottom:1px solid #e5e7eb; padding:12px; display:flex; justify-content:space-between; align-items:center; }
.container{ max-width:1000px; margin:0 auto; padding:16px; }
.card{ background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:16px; }
.grid{ display:grid; gap:12px; grid-template-columns:1fr; }
@media (min-width:768px){ .grid{ grid-template-columns:1fr 1fr; } }
.btn{ background:var(--blue); color:#fff; border:none; padding:10px 14px; border-radius:6px; cursor:pointer; }
.btn.secondary{ background:#eef2ff; color:#1e40af; }
.btn.gray{ background:#f3f4f6; color:#111827; }
.chip{ padding:4px 8px; border-radius:12px; font-size:12px; }
.chip.green{ background:#dcfce7; color:#166534; }
.chip.red{ background:#fee2e2; color:#991b1b; }
.input, textarea{ width:100%; padding:10px; border:1px solid #e5e7eb; border-radius:6px; }
.table{ width:100%; border-collapse:collapse; }
th, td{ border-bottom:1px solid #e5e7eb; padding:8px; text-align:left; }
a{ color:var(--blue); text-decoration:none; }
.login-card{ max-width:380px; margin:10vh auto; }
:focus { outline:2px solid var(--blue); outline-offset:2px; }


.header-right{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.nav{ display:flex; gap:10px; flex-wrap:wrap; }
.nav a{ color:#111827; padding:6px 8px; border-radius:6px; }
.nav a:hover{ background:#f3f4f6; }
.user{ color:#374151; font-size:14px; }

/* Lightbox */
.lightbox-open { overflow:hidden; }
.lightbox-overlay{ position:fixed; inset:0; z-index:9999; display:none; }
.lightbox-overlay.open{ display:block; }
.lightbox-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.65); }
.lightbox-dialog{ position:relative; max-width:min(920px, 92vw); max-height:88vh; margin:6vh auto; background:#111827; border-radius:12px; border:1px solid rgba(255,255,255,.12); box-shadow:0 20px 60px rgba(0,0,0,.45); padding:12px; }
.lightbox-img{ display:block; width:100%; height:auto; max-height:calc(88vh - 24px); object-fit:contain; border-radius:10px; background:#0b1220; }
.lightbox-close{ position:absolute; top:10px; right:10px; width:36px; height:36px; border-radius:10px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); color:#fff; font-size:22px; line-height:30px; cursor:pointer; }
.lightbox-close:hover{ background:rgba(255,255,255,.14); }
