File size: 4,891 Bytes
3b1f761
d54bdf8
 
 
 
 
 
3b1f761
 
 
 
0a4b44d
c9c13b7
0a4b44d
c9c13b7
0a4b44d
 
 
 
d54bdf8
3b1f761
 
0a4b44d
d54bdf8
3b1f761
0a4b44d
c9c13b7
 
 
 
0a4b44d
d54bdf8
3b1f761
 
0a4b44d
3b1f761
0a4b44d
 
 
 
 
3b1f761
0a4b44d
 
d54bdf8
0a4b44d
3b1f761
0a4b44d
3b1f761
cf762fc
 
d54bdf8
 
 
 
 
 
 
 
0a4b44d
 
d54bdf8
0a4b44d
 
 
 
c9c13b7
 
 
d54bdf8
c9c13b7
 
 
cf762fc
0a4b44d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cf762fc
 
c9c13b7
 
 
cf762fc
 
 
 
 
 
 
 
 
0a4b44d
 
 
 
 
c9c13b7
863e37f
c9c13b7
 
d54bdf8
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
:root{
  --primary:#4137A8; --primary2:#1CADE4;
  --success:#00B050; --success2:#42BA97;
  --info:#27CED7; --info2:#1CADE4;
  --danger:#F5554A; --danger2:#FF7A70;

  --gray1:#5C6E88; --violet:#7030A0;
  --bg:#F6F8FB; --card:#FFFFFF; --text:#1B2559; --muted:#667085; --border:#E5E7EB;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  direction:rtl; text-align:center;
  font-family:'Cairo',system-ui,-apple-system,'Segoe UI',Tahoma,Arial,sans-serif;
  background:var(--bg); color:var(--text);
}
.container{max-width:1100px;margin:0 auto;padding:16px}
.center{text-align:center}

/* رأس */
.hero{
  border:1px solid var(--border); border-radius:16px; padding:22px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 8px 26px rgba(16,24,40,.06); margin:10px 0 18px;
}
.hero h1{margin:0 0 6px;font-size:clamp(22px,3vw,32px);color:var(--primary);font-weight:700}
.sub{margin:0;color:var(--gray1)}
.sub .name, .footer .name { color: var(--violet); font-weight: 700; }
.sub .role, .footer .role { color: var(--gray1); font-weight: 700; }
.sep { margin: 0 .35rem; color: var(--gray1); }

/* بطاقة */
.card{
  background:var(--card); border:1px solid var(--border); border-radius:14px;
  padding:18px; box-shadow:0 6px 18px rgba(16,24,40,.05);
}
.label{font-weight:700;display:block;margin-bottom:6px}
.paste{
  width:100%; min-height:clamp(160px,40vh,420px); line-height:1.8;
  border:1px solid var(--border); border-radius:12px; padding:12px;
  text-align:right; resize:vertical;
}
.hint{color:var(--muted); font-size:13px; margin:8px 0 12px}

/* أزرار */
.btn-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:6px 0 10px}
.btn{
  border:none;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer;position:relative
}
.btn[disabled]{opacity:.55; cursor:not-allowed}

/* Gradients احترافية */
.btn-primary{ color:#fff; background:linear-gradient(90deg,var(--primary),var(--primary2)); box-shadow:0 8px 18px rgba(65,55,168,.18) }
.btn-success{ color:#fff; background:linear-gradient(90deg,var(--success),var(--success2)); box-shadow:0 8px 18px rgba(0,176,80,.18) }
.btn-info{    color:#fff; background:linear-gradient(90deg,var(--info),var(--info2));         box-shadow:0 8px 18px rgba(39,206,215,.18) }
.btn-danger{  color:#fff; background:linear-gradient(90deg,var(--danger),var(--danger2));     box-shadow:0 8px 18px rgba(245,85,74,.18) }
.btn-light{   background:#fff;color:var(--text);border:1px dashed var(--border) }

/* أرقام الخطوات */
#btn-parse::before,#btn-export::before,#btn-clear::before{
  content:attr(data-step); position:absolute; top:-8px; inset-inline-start:-8px;
  background:rgba(0,0,0,.2); color:#fff; width:22px; height:22px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
}

/* شارة العدّاد داخل زر التحليل */
.btn .badge{
  margin-inline-start:.5rem; padding:2px 8px; border-radius:999px; font-size:12px;
  background:rgba(255,255,255,.22); color:#fff; border:1px solid rgba(255,255,255,.35);
}
.badge-right{ position:relative; top:-1px; }

/* اسم الملف */
.fname{
  border:1px solid var(--border); border-radius:10px; padding:10px 12px;
  min-width:140px; outline:none;
}

/* الجدول */
.table-wrap{overflow:auto; border:1px solid var(--border); border-radius:12px}
.table{border-collapse:collapse; width:100%}
.table thead th{
  background:var(--primary); color:#fff; position:sticky; top:0; z-index:1;
  padding:10px; border-bottom:1px solid var(--border); text-align:center
}
.table td{padding:10px; border-top:1px solid var(--border); text-align:center}
.table td[contenteditable="true"]{background:#fffaf2}
.table tr:nth-child(even) td{background:#fafcff}
.table tr:hover td{background:#f4f7ff}

/* إبراز الخلايا غير الصحيحة */
.table td.invalid{ background:#fff5f5; outline:1px solid #f6b2b2; }

/* Toast */
.toast{
  position:fixed; inset-inline:0; bottom:20px; margin:auto;
  max-width:420px; padding:12px 16px; border-radius:12px; color:#053b2c;
  background:#e9fbf4; border:1px solid #bdf0df; box-shadow:0 8px 24px rgba(16,24,40,.12);
  font-weight:600; display:none;
}
.toast.show{display:block; animation:fade 2.4s ease both}
@keyframes fade{0%{opacity:0; transform:translateY(10px)}10%,90%{opacity:1; transform:translateY(0)}100%{opacity:0; transform:translateY(10px)}}

/* موبايل */
@media (max-width:768px){
  .container{padding:12px}
  .paste{min-height:clamp(140px,34vh,360px)}
}

/* طباعة: الجدول فقط */
@media print{
  body{ background:#fff; }
  .hero, .btn-row, .hint, .footer, .paste, .label{ display:none !important; }
  .table-wrap{ border:none; }
  .table thead th{ background:#222 !important; color:#fff !important; }
  .table td{ background:#fff !important; }
}