: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; } }