*{box-sizing:border-box}
:root{
  --bg:#f5f7fb;
  --card:#fff;
  --text:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --primary:#111827;
  --green:#15803d;
  --red:#b91c1c;
}
html{direction:rtl}
body{
  margin:0;
  font-family:Tahoma,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
.shell{display:flex;min-height:100vh}
.sidebar{
  width:260px;background:#111827;color:#fff;padding:26px 18px;
}
.brand{font-size:26px;font-weight:800;margin-bottom:34px}
.nav a{
  display:block;padding:13px 14px;border-radius:12px;margin-bottom:5px;color:#d1d5db
}
.nav a:hover{background:#1f2937;color:#fff}
.content{flex:1;padding:34px;max-width:1450px;margin:auto}
.topbar{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:28px
}
h1,h2,h3{margin-top:0}
.muted{color:var(--muted)}
.grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:20px;
  padding:24px;
}
.stat .num{font-size:36px;font-weight:800;margin-top:8px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border:0;border-radius:12px;padding:11px 18px;cursor:pointer;
  background:#111827;color:#fff
}
.btn.alt{background:#eef2f7;color:#111827}
.btn.danger{background:#b91c1c}
.table{
  width:100%;border-collapse:collapse;background:#fff;
}
.table th,.table td{
  text-align:right;padding:14px;border-bottom:1px solid var(--line)
}
.badge{
  display:inline-block;border-radius:999px;padding:5px 10px;
  background:#eef2f7;font-size:13px
}
.badge.green{background:#dcfce7;color:#166534}
.badge.red{background:#fee2e2;color:#991b1b}
.form{
  max-width:760px;background:#fff;padding:26px;border-radius:20px;border:1px solid var(--line)
}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:17px}
label{display:block;margin-bottom:7px;font-weight:700}
input,select{
  width:100%;border:1px solid #d1d5db;border-radius:11px;
  padding:12px;background:#fff
}
.alert{
  padding:14px 16px;border-radius:12px;margin-bottom:18px;
  background:#fee2e2;color:#991b1b
}
.success{
  background:#ecfdf5;border:1px solid #a7f3d0;
  color:#065f46;padding:18px;border-radius:14px;margin-bottom:20px
}
.login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px
}
.login-card{
  width:100%;max-width:430px;background:#fff;border-radius:24px;
  padding:36px;border:1px solid var(--line);
  box-shadow:0 18px 55px rgba(17,24,39,.08)
}
.login-card h1{text-align:center;font-size:32px;margin-bottom:8px}
.login-card .muted{text-align:center;margin-bottom:28px}
.public-head{
  padding:22px 6%;display:flex;justify-content:space-between;
  align-items:center;background:#fff;border-bottom:1px solid var(--line)
}
.hero{
  max-width:1200px;margin:40px auto;padding:55px 35px;
  background:#fff;border-radius:28px;text-align:center
}
.empty{
  margin:30px auto;max-width:1200px;padding:50px;text-align:center;
  background:#fff;border-radius:22px;border:1px dashed #cbd5e1
}
@media(max-width:800px){
  .sidebar{display:none}
  .content{padding:18px}
  .grid,.row{grid-template-columns:1fr}
}
