/* Minimal, fast, responsive left sidebar layout */
:root { --bg:#f7f7f9; --panel:#ffffff; --text:#1f2937; --muted:#6b7280; --border:#e5e7eb; }
*{ box-sizing:border-box; }
body{ margin:0; font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--text); background:var(--bg); }
a{ color:inherit; text-decoration:none; }
.app{ display:flex; min-height:100vh; }
.sidebar{ width:260px; background:var(--panel); border-right:1px solid var(--border); padding:16px; position:sticky; top:0; height:100vh; }
.brand{ font-weight:700; font-size:20px; margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.burger{ display:none; }
.sidebar nav a{ display:block; padding:10px 12px; border-radius:10px; margin-bottom:6px; color:#111827; }
.sidebar nav a:hover{ background:#f3f4f6; }
.lang,.auth{ margin-top:12px; color:var(--muted); font-size:13px; }
.content{ flex:1; padding:16px; max-width:1100px; margin:0 auto; }
.card{ background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:16px; }
.grid{ display:grid; gap:12px; }
.grid.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid.cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid #111827; background:#111827; color:#fff; padding:10px 14px; border-radius:12px; font-weight:600; cursor:pointer; }
.btn.secondary{ background:#fff; color:#111827; }
.btn.small{ padding:6px 10px; border-radius:10px; font-size:13px; }
.input, select, textarea{ width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:12px; background:#fff; }
label{ font-size:13px; color:var(--muted); display:block; margin-bottom:6px; }
.flash{ background:#ecfeff; border:1px solid #a5f3fc; padding:8px 12px; border-radius:10px; margin-bottom:12px; }
.footer{ margin-top:24px; padding-top:12px; color:var(--muted); border-top:1px solid var(--border); }
.muted{ color:var(--muted); font-size:12px; }

.table{ width:100%; border-collapse:collapse; }
.table th,.table td{ border-bottom:1px solid var(--border); padding:8px; text-align:left; }
.badge{ display:inline-block; padding:2px 8px; border-radius:999px; background:#eef2ff; border:1px solid #c7d2fe; font-size:12px; }

/* Mobile */
@media (max-width: 900px){
  .sidebar{ position:fixed; left:-280px; transition:left .2s; height:100%; }
  .sidebar.open{ left:0; }
  .content{ padding:12px; }
  .brand .burger{ display:inline-block; }
}
