/* =====================================================================
   منصة القوالب المدرسية — نظام التصميم
   لوحة ألوان مستوحاة من الهوية التعليمية السعودية
   ===================================================================== */
:root{
  --ink:#0f2e2a;            /* أخضر داكن جداً للنص */
  --teal:#0d6e63;           /* الأخضر الرئيسي */
  --teal-600:#0b5a51;
  --teal-050:#e6f4f1;
  --gold:#c79a3a;           /* ذهبي للتمييز */
  --paper:#f6f8f7;
  --card:#ffffff;
  --line:#dfe8e5;
  --muted:#5f7a75;
  --danger:#b3261e;
  --danger-bg:#fdeceb;
  --ok:#0d6e63;
  --ok-bg:#e6f4f1;
  --warn:#8a6d1a;
  --warn-bg:#fbf4dd;
  --radius:14px;
  --shadow:0 6px 24px rgba(15,46,42,.08);
  --font:'Tajawal',system-ui,sans-serif;
  --display:'Cairo','Tajawal',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px}
body{
  font-family:var(--font);
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  min-height:100vh;
  display:flex;flex-direction:column;
}

/* ---------- الشريط العلوي ---------- */
.topbar{background:var(--teal);color:#fff;box-shadow:var(--shadow);position:sticky;top:0;z-index:50}
.topbar-inner{max-width:1180px;margin:0 auto;padding:.7rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.55rem;color:#fff;text-decoration:none;font-family:var(--display);font-weight:800;font-size:1.15rem}
.brand-mark{font-size:1.4rem}
.topnav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.topnav a{color:#eafffb;text-decoration:none;padding:.4rem .7rem;border-radius:9px;font-weight:500;font-size:.95rem;transition:background .15s}
.topnav a:hover{background:rgba(255,255,255,.14)}
.topnav .who{color:#cdece7;font-size:.9rem;padding:.3rem .6rem}
.btn-logout{background:rgba(255,255,255,.16)}
.btn-logout:hover{background:var(--danger)!important}

/* ---------- الحاوية ---------- */
.container{max-width:1180px;width:100%;margin:0 auto;padding:1.6rem 1.2rem;flex:1}

/* ---------- عناوين ---------- */
h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.3}
.page-title{font-size:1.55rem;font-weight:800;margin-bottom:.3rem}
.page-sub{color:var(--muted);margin-bottom:1.4rem}
.eyebrow{color:var(--teal);font-weight:700;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}

/* ---------- بطاقات ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card-pad{padding:1.4rem}
.grid{display:grid;gap:1.1rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* ---------- إحصائيات ---------- */
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem;box-shadow:var(--shadow)}
.stat .num{font-family:var(--display);font-size:2rem;font-weight:800;color:var(--teal)}
.stat .lbl{color:var(--muted);font-size:.92rem;margin-top:.2rem}
.stat .ic{font-size:1.5rem;float:left}

/* ---------- بطاقات القوالب ---------- */
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem}
.tpl-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.tpl-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(15,46,42,.14)}
.tpl-top{background:linear-gradient(135deg,var(--teal),var(--teal-600));color:#fff;padding:1.2rem;min-height:92px;display:flex;align-items:flex-end}
.tpl-top .ic{font-size:1.6rem;position:absolute;top:.8rem;left:.9rem;opacity:.9}
.tpl-top{position:relative}
.tpl-title{font-family:var(--display);font-weight:700;font-size:1.02rem;line-height:1.35}
.tpl-body{padding:.9rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.tpl-meta{color:var(--muted);font-size:.85rem}
.tpl-locked{opacity:.75}
.tpl-locked .tpl-top{background:linear-gradient(135deg,#8a9c98,#6f817d)}

/* ---------- أزرار ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  font-family:var(--font);font-weight:700;font-size:.95rem;
  padding:.6rem 1.1rem;border-radius:10px;border:1px solid transparent;
  cursor:pointer;text-decoration:none;transition:filter .15s,background .15s;line-height:1}
.btn-primary{background:var(--teal);color:#fff}
.btn-primary:hover{filter:brightness(1.08)}
.btn-gold{background:var(--gold);color:#3a2c07}
.btn-gold:hover{filter:brightness(1.05)}
.btn-outline{background:#fff;color:var(--teal);border-color:var(--teal)}
.btn-outline:hover{background:var(--teal-050)}
.btn-danger{background:var(--danger);color:#fff}
.btn-danger:hover{filter:brightness(1.08)}
.btn-ghost{background:transparent;color:var(--muted);border-color:var(--line)}
.btn-ghost:hover{background:var(--paper)}
.btn-sm{padding:.4rem .75rem;font-size:.85rem;border-radius:8px}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- نماذج ---------- */
.field{margin-bottom:1rem}
.field label{display:block;font-weight:700;margin-bottom:.35rem;font-size:.92rem}
.input,select,textarea{
  width:100%;font-family:var(--font);font-size:1rem;color:var(--ink);
  padding:.65rem .8rem;border:1px solid var(--line);border-radius:10px;background:#fff;transition:border .15s,box-shadow .15s}
.input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-050)}
.hint{color:var(--muted);font-size:.82rem;margin-top:.3rem}

/* ---------- جداول ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.93rem}
th,td{padding:.75rem .85rem;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
th{background:var(--teal-050);color:var(--ink);font-weight:800;font-size:.85rem}
tr:last-child td{border-bottom:none}
tr:hover td{background:#fafcfb}

/* ---------- شارات الحالة ---------- */
.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700}
.badge-ok{background:var(--ok-bg);color:var(--ok)}
.badge-warn{background:var(--warn-bg);color:var(--warn)}
.badge-danger{background:var(--danger-bg);color:var(--danger)}
.badge-muted{background:#eef2f1;color:var(--muted)}

/* ---------- فلاش ---------- */
.flash{padding:.85rem 1.1rem;border-radius:10px;margin-bottom:1.2rem;font-weight:500;border:1px solid transparent}
.flash-success{background:var(--ok-bg);color:var(--ok);border-color:#bfe3dd}
.flash-error{background:var(--danger-bg);color:var(--danger);border-color:#f3c9c6}
.flash-info{background:#eef4ff;color:#2a4d8f;border-color:#cfe0ff}

/* ---------- صفحة الدخول ---------- */
.auth-wrap{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:1.5rem}
.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.auth-head{background:linear-gradient(135deg,var(--teal),var(--teal-600));color:#fff;padding:1.8rem 1.6rem;text-align:center}
.auth-head .logo{font-size:2.3rem}
.auth-head h1{color:#fff;font-size:1.3rem;margin-top:.4rem}
.auth-head p{color:#cdece7;font-size:.9rem;margin-top:.25rem}
.auth-body{padding:1.6rem}
.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:1.3rem}
.auth-tabs a{flex:1;text-align:center;padding:.7rem;color:var(--muted);text-decoration:none;font-weight:700;border-bottom:2px solid transparent}
.auth-tabs a.active{color:var(--teal);border-bottom-color:var(--teal)}

/* ---------- شريط أدوات ---------- */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}
.toolbar h1{margin:0}

/* ---------- أدوات مساعدة ---------- */
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.mt{margin-top:1rem}.mt2{margin-top:1.5rem}.mb{margin-bottom:1rem}
.text-muted{color:var(--muted)}
.text-c{text-align:center}
.divider{height:1px;background:var(--line);margin:1.2rem 0}
.empty{text-align:center;color:var(--muted);padding:3rem 1rem}
.empty .ic{font-size:2.6rem;display:block;margin-bottom:.6rem;opacity:.6}

/* ---------- التذييل ---------- */
.site-footer{background:var(--ink);color:#bcd6d1;text-align:center;padding:1.1rem;font-size:.88rem}

/* ---------- المشغّل (viewer) ---------- */
.viewer-bar{background:var(--ink);color:#fff;padding:.55rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:9999;font-family:var(--font);box-shadow:0 2px 10px rgba(0,0,0,.2)}
.viewer-bar .vb-title{font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:.5rem}
.viewer-bar .vb-actions{display:flex;gap:.5rem;align-items:center}
.viewer-note{background:var(--warn-bg);color:var(--warn);font-size:.82rem;padding:.35rem .8rem;text-align:center;border-bottom:1px solid #ecdca6}
.viewer-frame{width:100%;border:none;display:block;background:#cbd5e1}
