/* ==========================================================================
   لوحة تحكم أكاديمية الإنجاز
   ========================================================================== */
:root{
  --ink-deep:#140B22; --ink-2:#1D1132; --ink-3:#2A164A;
  --violet:#6B3FA0; --violet-lift:#8B5FC4;
  --gold:#C9A227; --gold-lift:#E8C765;
  --canvas:#F7F3EC; --panel:#FFFDF9; --panel-2:#F1EADF;
  --text:#1E1430; --text-2:#5A4B6E;
  --line:rgba(107,63,160,.14); --line-2:rgba(107,63,160,.32);
  --ok:#0A7C3F; --bad:#B4231F;
  --ease:cubic-bezier(.22,.61,.36,1);
  --side:250px;
}
*,*::before,*::after{box-sizing:border-box}

/* أي عنصر يحمل display في CSS يتغلب على خاصية hidden ويُبطلها.
   هذا السطر يعيد لها معناها في كل اللوحة */
[hidden]{display:none!important}

html,body{margin:0;overflow-x:clip}
body{
  background:var(--canvas);color:var(--text);
  font-family:"IBM Plex Sans Arabic",system-ui,sans-serif;
  font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Reem Kufi",sans-serif;margin:0;line-height:1.3}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
a{color:var(--violet);text-decoration:none}
:focus-visible{outline:2px solid var(--violet);outline-offset:2px;border-radius:5px}

/* ---------- الأزرار ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  padding:.66rem 1.25rem;border-radius:10px;font-weight:600;font-size:.92rem;
  border:1px solid transparent;min-height:42px;
  transition:transform .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:var(--gold);color:var(--ink-deep);box-shadow:0 4px 18px rgba(201,162,39,.28)}
.btn-gold:hover{background:var(--gold-lift)}
.btn-violet{background:var(--violet);color:#fff}
.btn-violet:hover{background:var(--violet-lift)}
.btn-line{border-color:var(--line-2);color:var(--violet)}
.btn-line:hover{background:rgba(107,63,160,.07)}
.btn-sm{padding:.4rem .8rem;min-height:34px;font-size:.84rem;border-radius:8px}
.btn-bad{color:var(--bad);border:1px solid rgba(180,35,31,.3)}
.btn-bad:hover{background:rgba(180,35,31,.08)}
.w{width:100%}

/* ---------- شاشة الدخول ---------- */
.gate{
  position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1.4rem;
  background:
    radial-gradient(900px 620px at 74% 12%,rgba(107,63,160,.4),transparent 62%),
    radial-gradient(760px 560px at 16% 82%,rgba(201,162,39,.14),transparent 66%),
    var(--ink-deep)}
.gate-card{
  width:min(400px,100%);background:rgba(255,253,249,.97);
  border:1px solid rgba(201,162,39,.24);border-radius:20px;
  padding:2.3rem 2rem;box-shadow:0 30px 80px rgba(10,6,20,.5);
  display:grid;gap:.9rem}
.gate-mark{
  width:54px;height:54px;margin:0 auto .3rem;border-radius:15px;
  display:grid;place-items:center;background:rgba(201,162,39,.1);
  border:1px solid rgba(201,162,39,.28)}
.gate-mark svg{width:28px;height:28px}
.gate-card h1{text-align:center;font-size:1.4rem}
.gate-sub{text-align:center;color:var(--text-2);margin:0 0 .6rem;font-size:.9rem}
.gate-back{display:block;text-align:center;font-size:.86rem;margin-top:.3rem;color:var(--text-2)}
.gate-back:hover{color:var(--violet)}

/* ---------- الحقول ---------- */
.fld{display:grid;gap:.4rem}
.fld > span{font-size:.86rem;font-weight:500;color:var(--text-2)}
.fld > span em{font-style:normal;opacity:.7;font-size:.92em}
.inp,.fld input[type=text],.fld input[type=password],.fld input[type=url],.fld input[type=search],
.fld textarea,.fld select{
  width:100%;padding:.7rem .9rem;border-radius:10px;
  border:1px solid var(--line-2);background:var(--panel);
  font-family:inherit;transition:border-color .25s var(--ease)}
.inp:focus,.fld input:focus,.fld textarea:focus,.fld select:focus{
  border-color:var(--violet);outline:none}
textarea.inp{resize:vertical;line-height:1.7}
.hint{font-size:.82rem;color:var(--text-2)}
.err{
  background:rgba(180,35,31,.08);border:1px solid rgba(180,35,31,.26);
  color:var(--bad);padding:.6rem .9rem;border-radius:9px;font-size:.88rem;margin:0}
.note{color:var(--text-2);font-size:.86rem;margin:1rem 0 0}
.chk{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}
.chk input{width:17px;height:17px;accent-color:var(--violet)}
.chks{display:grid;gap:.5rem}
.row2{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
@media (max-width:640px){.row2{grid-template-columns:1fr}}

/* ---------- الهيكل ---------- */
.app{display:grid;grid-template-columns:var(--side) 1fr;min-height:100vh}

.side{
  background:var(--ink-deep);color:#E6DFD3;
  display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;
  border-inline-end:1px solid rgba(201,162,39,.14)}
.side-top{display:flex;align-items:center;gap:.65rem;padding:1.3rem 1.2rem}
.side-mark{width:34px;height:34px;flex:none;display:grid;place-items:center;
  background:rgba(201,162,39,.1);border-radius:10px}
.side-mark svg{width:19px;height:19px}
.side-name{font-family:"Reem Kufi",sans-serif;font-weight:700;font-size:.98rem}
.side-nav{display:grid;gap:.15rem;padding:.5rem .7rem;flex:1;align-content:start}
.side-foot{padding:.7rem;border-top:1px solid rgba(201,162,39,.14);display:grid;gap:.15rem}
.snav{
  display:flex;align-items:center;gap:.7rem;width:100%;
  padding:.68rem .8rem;border-radius:10px;text-align:start;
  color:rgba(230,223,211,.78);font-size:.9rem;
  transition:background .25s var(--ease),color .25s var(--ease)}
.snav svg{width:19px;height:19px;flex:none}
.snav:hover{background:rgba(201,162,39,.1);color:var(--gold-lift)}
.snav.on{background:rgba(201,162,39,.16);color:var(--gold-lift);font-weight:600}
.pill{
  margin-inline-start:auto;background:var(--gold);color:var(--ink-deep);
  font-style:normal;font-size:.72rem;font-weight:700;
  padding:.1rem .42rem;border-radius:99px;min-width:20px;text-align:center}

.pane{min-width:0;display:flex;flex-direction:column}
.bar{
  display:flex;align-items:center;gap:.9rem;
  padding:1.05rem clamp(1rem,3vw,2rem);
  background:rgba(247,243,236,.9);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.bar h1{font-size:1.2rem;flex:1}
.who{font-size:.84rem;color:var(--text-2)}
.burger{display:none;width:38px;height:38px;place-items:center;border-radius:9px}
.burger span{display:block;width:18px;height:1.6px;background:var(--text);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;inset-inline-start:0;
  width:100%;height:100%;background:var(--text)}
.burger span::before{transform:translateY(-6px)}
.burger span::after{transform:translateY(6px)}

.views{padding:clamp(1rem,3vw,2rem);flex:1}
.view{display:none;animation:fade .4s var(--ease)}
.view.on{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- الأرقام ---------- */
.stats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1.5rem}
.stat{
  background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:1.2rem 1.3rem;
  transition:border-color .35s var(--ease),transform .35s var(--ease)}
.stat:hover{border-color:rgba(201,162,39,.36);transform:translateY(-2px)}
.stat b{
  display:block;font-family:"IBM Plex Mono",monospace;font-size:1.9rem;
  font-weight:500;line-height:1.1;color:var(--violet);font-variant-numeric:tabular-nums}
.stat span{font-size:.85rem;color:var(--text-2)}
.stat.gold b{color:var(--gold)}

/* ---------- الألواح والجداول ---------- */
.panel{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;
  padding:clamp(1.1rem,2.6vw,1.8rem);margin-bottom:1.4rem}
.panel h2{font-size:1.1rem;margin-bottom:1rem}
.form{display:grid;gap:1.1rem;max-width:820px}
.acts{display:flex;gap:.7rem;flex-wrap:wrap}

.tools{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.1rem;align-items:center}
.tools .inp{width:auto;min-width:190px}

.tbl-wrap{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;
  overflow-x:auto;overflow-y:hidden}
.tbl th,.tbl td{padding:.85rem 1rem;text-align:start;border-bottom:1px solid var(--line);
  vertical-align:middle}
.tbl thead th{
  font-size:.8rem;font-weight:600;color:var(--text-2);
  background:var(--panel-2);white-space:nowrap;position:sticky;top:0}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr{transition:background .25s var(--ease)}
.tbl tbody tr:hover{background:rgba(107,63,160,.035)}
.tbl .t-title{font-weight:600;max-width:34ch}
.tbl .t-sub{display:block;font-size:.8rem;color:var(--text-2);font-weight:400}
.tbl .cell-acts{display:flex;gap:.4rem;justify-content:flex-end;white-space:nowrap}
.tag{
  display:inline-block;padding:.18rem .55rem;border-radius:7px;font-size:.78rem;
  background:rgba(107,63,160,.1);color:var(--violet);white-space:nowrap}
.tag.gold{background:rgba(201,162,39,.16);color:#8a6f16}
.tag.ok{background:rgba(10,124,63,.12);color:var(--ok)}
.tag.off{background:rgba(90,75,110,.12);color:var(--text-2)}
.t-empty{padding:2.4rem 1rem;text-align:center;color:var(--text-2)}

/* ---------- الرفع ---------- */
.drop{
  position:relative;border:1.5px dashed var(--line-2);border-radius:13px;
  padding:1.7rem 1.2rem;text-align:center;cursor:pointer;background:var(--panel-2);
  transition:border-color .3s var(--ease),background .3s var(--ease)}
.drop.sm{padding:1.1rem}
.drop:hover,.drop.over{border-color:var(--gold);background:rgba(201,162,39,.07)}
.drop-t{margin:0;font-weight:600;font-size:.94rem}
.drop-s{margin:.25rem 0 0;font-size:.82rem;color:var(--text-2)}
.prog{position:absolute;inset-inline:0;bottom:0;height:4px;background:rgba(107,63,160,.14);
  border-radius:0 0 12px 12px;overflow:hidden}
.prog i{display:block;height:100%;width:0;background:var(--gold);transition:width .25s linear}
.chosen{
  display:flex;align-items:center;gap:.8rem;margin-top:.7rem;
  padding:.7rem .9rem;background:var(--panel-2);border-radius:11px;font-size:.88rem}
.chosen img{width:54px;height:40px;object-fit:cover;border-radius:7px;flex:none}
.chosen .x{margin-inline-start:auto;color:var(--bad);font-size:1.15rem;line-height:1;padding:.2rem .4rem}
.chosen .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thumbs{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));margin-top:.7rem}
.thumb{position:relative;aspect-ratio:4/3;border-radius:9px;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb button{
  position:absolute;top:3px;inset-inline-end:3px;width:22px;height:22px;border-radius:6px;
  background:rgba(20,11,34,.76);color:#fff;font-size:.85rem;line-height:1}

/* ---------- المحرر ---------- */
.ed{border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--panel)}
.ed-bar{
  display:flex;flex-wrap:wrap;gap:.15rem;padding:.45rem;
  background:var(--panel-2);border-bottom:1px solid var(--line)}
.ed-bar button{
  min-width:34px;height:32px;padding:0 .5rem;border-radius:7px;font-size:.9rem;
  transition:background .2s var(--ease)}
.ed-bar button:hover{background:rgba(107,63,160,.11)}
.ed-bar button.on{background:var(--violet);color:#fff}
.ed-bar .sep{width:1px;height:22px;background:var(--line-2);margin:5px .3rem;align-self:center}
.ed-area{
  min-height:280px;max-height:60vh;overflow-y:auto;padding:1.1rem 1.2rem;line-height:1.95;outline:none}
.ed-area:empty::before{content:"اكتب مقالك هنا";color:var(--text-2);opacity:.65}
.ed-area h2{font-size:1.35rem;margin:1.3rem 0 .5rem}
.ed-area h3{font-size:1.15rem;margin:1.1rem 0 .4rem}
.ed-area blockquote{
  margin:1rem 0;padding-inline-start:1rem;border-inline-start:3px solid var(--gold);color:var(--text-2)}
.ed-area img{max-width:100%;border-radius:9px;margin:.7rem 0}
.ed-area ul,.ed-area ol{padding-inline-start:1.5rem}
.ed-area hr{border:0;border-top:1px solid var(--line-2);margin:1.4rem 0}
.ed-area .sticker{font-size:2.4rem;line-height:1.2;vertical-align:middle}

/* تعليقٌ ليس فيه إلا ملصق: يُقرأ في الجدول بحجمه لا كحرفٍ صغير */
.t-sub.t-emo{font-size:1.6rem;line-height:1.3}

/* الردّ التلقائي تحت التعليق، بلونٍ يميّزه عن كلام الزائر */
.t-reply{
  display:block;margin-block-start:.35rem;padding-inline-start:.6rem;
  border-inline-start:2px solid var(--violet);
  font-size:.8rem;line-height:1.6;color:var(--violet)}

/* ---------- التنبيه ---------- */
.toast{
  position:fixed;inset-block-end:1.4rem;inset-inline-start:50%;
  transform:translate(50%,140%);z-index:80;
  background:var(--ink-deep);color:#F3EEE4;
  padding:.85rem 1.4rem;border-radius:12px;font-size:.9rem;
  border:1px solid rgba(201,162,39,.3);box-shadow:0 14px 44px rgba(10,6,20,.36);
  transition:transform .38s var(--ease);max-width:min(92vw,460px)}
html[dir="rtl"] .toast{transform:translate(50%,140%)}
.toast.show{transform:translate(50%,0)}
.toast.bad{border-color:rgba(180,35,31,.5)}

/* ---------- الشاشات الصغيرة ---------- */
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .side{
    position:fixed;inset-block:0;inset-inline-start:0;width:var(--side);z-index:40;
    transform:translateX(-100%);transition:transform .34s var(--ease)}
  html[dir="rtl"] .side{transform:translateX(100%)}
  .side.open{transform:translateX(0)!important}
  .burger{display:grid}
  .stat b{font-size:1.6rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}


/* ---------- مُتاح للبيع والطلبات ---------- */
.file-thumb{
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  padding:.55rem .7rem;border-radius:9px;
  background:var(--panel-2);border:1px solid var(--line);position:relative}
.ft-kind{
  font-family:var(--f-mono,monospace);font-size:.66rem;font-weight:600;
  padding:.15rem .4rem;border-radius:4px;background:var(--violet);color:#fff}
.ft-name{flex:1 1 auto;font-size:.86rem;word-break:break-all}
.ft-size{font-size:.74rem;color:var(--text-2)}
.file-thumb .x{
  width:24px;height:24px;border-radius:6px;border:0;cursor:pointer;
  background:rgba(180,35,31,.12);color:var(--bad);font-size:1.05rem;line-height:1}
.file-thumb .x:hover{background:var(--bad);color:#fff}

.bank-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-block:.6rem 1rem}
.bank-grid > div{
  display:grid;gap:.15rem;padding:.6rem .75rem;border-radius:9px;
  background:var(--panel-2);border:1px solid var(--line)}
.bank-grid span{font-size:.74rem;color:var(--text-2)}
.bank-grid strong{font-size:.92rem;word-break:break-all}
.bank-grid .wide{grid-column:1/-1}


/* صورة لصقها زائر داخل تعليقه، تُراجَع من الجدول مباشرة */
.t-sticker{display:block;margin-block-start:.4rem;max-width:140px;border-radius:10px;
  overflow:hidden;border:1px solid var(--line,rgba(107,63,160,.2));line-height:0}
.t-sticker img{width:100%;height:auto;max-height:110px;object-fit:cover;display:block}

/* صندوق الردّ اليدوي: يفتح تحت صفّ التعليق نفسه، فلا يفقد المحرِّر سياقه */
.tbl tr.c-edit > td{padding:.9rem 1rem;background:rgba(107,63,160,.05)}
.c-edit-l{display:block;font-weight:600;font-size:.86rem;margin-block-end:.45rem}
.c-edit-t{width:100%;resize:vertical;font:inherit;line-height:1.7;padding:.7rem .8rem;
  border-radius:12px;border:1px solid var(--line-strong,rgba(107,63,160,.34));
  background:var(--panel,#fff);color:inherit}
.c-edit-t:focus{border-color:var(--violet,#6B3FA0);outline:none}
.c-edit-h{margin:.4rem 0 .7rem;font-size:.76rem;opacity:.72}
.c-edit-a{display:flex;gap:.5rem}
