File size: 4,178 Bytes
3b1f761
8f7eaec
 
 
 
7d7eed7
 
 
 
 
 
 
 
8f7eaec
 
3b1f761
8f7eaec
 
 
0a4b44d
7d7eed7
8f7eaec
 
 
7d7eed7
8f7eaec
7d7eed7
 
8f7eaec
 
 
3b1f761
7d7eed7
 
3b1f761
8f7eaec
 
0a4b44d
7d7eed7
 
8f7eaec
 
 
7d7eed7
1fb8dea
8f7eaec
 
1fb8dea
7d7eed7
8f7eaec
0a4b44d
8f7eaec
7d7eed7
8f7eaec
3b1f761
8f7eaec
 
3b1f761
8f7eaec
 
cf762fc
8f7eaec
 
 
 
 
d54bdf8
7d7eed7
8f7eaec
7d7eed7
 
 
0a4b44d
 
8f7eaec
 
7d7eed7
 
8f7eaec
c9c13b7
 
7d7eed7
 
0a4b44d
7d7eed7
0a4b44d
7d7eed7
8f7eaec
 
 
7d7eed7
c9c13b7
cf762fc
8f7eaec
 
 
 
 
7d7eed7
 
 
 
 
 
 
 
 
 
 
8f7eaec
 
 
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
:root{
  --bg:#F4F6FA;
  --card:#FFFFFF;
  --text:#1F2937;
  --muted:#6B7280;
  --primary:#4137A8;
  --accent:#1CADE4;
  --success:#42BA97;
  --secondary:#5C6E88;
  --violet:#7030A0;
  --cyan:#27CED7;
  --warning:#FFC000;
  --danger:#F5554A;
  --border:#E5E7EB;
  --rowAlt:#F5F8FF;
}

*{ box-sizing:border-box }
html,body{ height:100% }
body{
  margin:0; padding:24px; background:var(--bg); color:var(--text);
  font-family:"Cairo",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.container{ max-width:1100px; margin:0 auto; }
.center{ text-align:center }

.hero h1{ margin:0 0 4px; font-weight:800; font-size:clamp(22px,4vw,34px); color:var(--primary) }
.hero .sub{ margin:0; color:var(--muted); font-size:14px }
.hero .sep{ margin:0 .5rem }

.card{
  margin:18px auto 28px; background:var(--card); border:1px solid var(--border);
  border-radius:16px; box-shadow:0 6px 24px rgba(0,0,0,.05); padding:18px;
}

.label{ display:block; text-align:right; font-weight:700; margin:4px 4px 8px }
.paste{
  width:100%; min-height:180px; resize:vertical; border:1px solid var(--border); border-radius:12px;
  padding:12px 14px; line-height:1.7; font-size:15px; background:#fff;
}
.paste:focus{ outline:2px solid var(--accent) }

.filters{ display:flex; gap:12px; margin-top:12px; flex-wrap:wrap; justify-content:center }
.control{
  border:1px solid var(--border); border-radius:10px; padding:10px 12px; background:#fff;
  min-width:260px; font-size:14px;
}

.hint{ margin:12px 0 8px; color:var(--muted); font-size:13px }

.btn-row{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; margin:8px 0 16px;
}
.btn{
  border:0; border-radius:999px; padding:10px 14px; font-weight:700; cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.08); transition:transform .05s ease;
}
.btn:active{ transform:translateY(1px) }
.btn[disabled]{ opacity:.5; cursor:not-allowed; box-shadow:none }

.btn-primary{ background:var(--primary); color:#fff }
.btn-success{ background:var(--success); color:#fff }
.btn-info{ background:var(--accent); color:#fff }
.btn-danger{ background:var(--danger); color:#fff }
.btn-light{ background:#EEF2FF; color:var(--primary) }

.btn[data-step]{ position:relative; padding-inline-start:36px }
.btn[data-step]::before{
  content:attr(data-step); position:absolute; inset-inline-start:10px; top:50%; transform:translateY(-50%);
  width:20px; height:20px; border-radius:999px; background:#fff; color:var(--primary);
  font-weight:800; font-size:12px; display:grid; place-items:center;
}

.badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:22px; height:22px; padding:0 6px; background:#fff; color:var(--primary);
  border-radius:999px; font-weight:800; font-size:12px; margin-inline-start:8px;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.7);
}

.table-wrap{ overflow:auto; border:1px solid var(--border); border-radius:12px }
.table{ width:100%; border-collapse:collapse; min-width:900px }
.table thead th{
  background:var(--primary); color:#fff; padding:10px; font-weight:800; position:sticky; top:0; text-align:center;
}
.table td{ padding:10px; border:1px solid var(--border); text-align:center; background:#fff }
.table tbody tr:nth-child(even) td{ background:var(--rowAlt) }
.invalid{ background:#FFF2F2 !important; outline:2px solid var(--danger) }

.footer{ margin:18px 0; text-align:center; color:var(--muted); font-size:13px }

.toast{
  position:fixed; left:50%; transform:translateX(-50%); bottom:22px;
  background:#111827; color:#fff; padding:10px 14px; border-radius:10px; font-weight:700; opacity:0;
}
.toast.show{ opacity:1; transition:opacity .2s ease }

.modal{
  position:fixed; inset:0; background:rgba(0,0,0,.35); display:grid; place-items:center; padding:16px;
}
.modal[hidden]{ display:none }
.modal-card{
  width:min(720px,95vw); background:#fff; border-radius:14px; border:1px solid var(--border);
  box-shadow:0 10px 40px rgba(0,0,0,.2); padding:14px;
}
.modal-head{ font-weight:800; color:var(--primary); margin-bottom:8px; text-align:right }
.modal-textarea{ min-height:180px }

@media (max-width:640px){
  body{ padding:16px }
  .table{ min-width:760px }
}