Files
Hamza-AyedandClaude Opus 5 4d8414c96b feat: استيراد كود سيرو إلى تريبز (سيرو @ecfe7568) — بلا تعديل
قرار المالك 2026-07-27: باك إند سيرو PHP هو المعتمد، وتطبيقاته المجرّبة
ميدانياً تحل محل إعادة البناء المؤرشفة. سيرو نفسه لم يُمسّ.

الخريطة:
  backend · payment_server · loction_server · ride_server ·
  passenger_server · docker · dashboard · stress_test  → الجذر
  siro_rider  → apps/rider          siro_driver  → apps/driver
  siro_admin  → dashboards/admin    siro_service → dashboards/service
  android_bot → apps/android_bot    socialBot    → apps/socialBot

نُسخ المتعقَّب في git سيرو فقط عبر `git archive` (3,198 ملفاً / ~169 م.ب)
لا `cp -r` — فاستُثنيت مخلفات البناء تلقائياً. بلا أي تعديل محتوى عمداً:
كل ما يلي يصير فرقاً مقروءاً مقابل المصدر.

لم يُستورد وسببه: siromove.com (الموقع التسويقي يبقى marketing/ في تريبز،
سيرو فيه 8 ملفات) · docs و planning (تريبز له docs/ الخاص) · deploy.sh
(ليس نشراً على سيرفر بل `git add . && git push origin --all` — فخّ في
مستودع آخر) · transit_dashboard (بانتظار قرار مصير backend-transit و
dashboards/transit-web).

⚠️ لا يبني بعد — ثلاثة نواقص متوقعة ومقصودة:
1. `.env` و `lib/env/env.g.dart` غير متعقَّبين في سيرو (أسرار لكل مستأجر):
   كل تطبيق فلاتر يحتاج .env خاصاً ثم توليد env.g.dart بـ build_runner.
2. إعدادات Firebase (9 ملفات google-services.json و GoogleService-Info.plist)
   يستبعدها .gitignore تريبز — ولكل مستأجر مشروع Firebase خاص أصلاً.
3. apps/driver في سيرو يشير إلى `../../Intaleq/packages/get` خارج المستودع →
   يجب ضمّ الحزم داخله أسوة بـ apps/rider.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 05:14:13 +03:00

127 lines
2.6 KiB
CSS

/* ==========================================================================
Siro Service Web Portal - Modern Design System
========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap');
:root {
--bg-dark: #090d16;
--bg-card: rgba(17, 24, 39, 0.75);
--border-color: rgba(255, 255, 255, 0.08);
--primary: #06b6d4;
--accent: #3b82f6;
--text-main: #f8fafc;
--text-muted: #94a3b8;
--radius-lg: 18px;
}
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Inter', sans-serif;
background-color: var(--bg-dark);
color: var(--text-main);
min-height: 100vh;
display: flex;
flex-direction: column;
}
header {
padding: 1.5rem 3rem;
border-bottom: 1px solid var(--border-color);
display: flex;
align-items: center;
justify-content: space-between;
backdrop-filter: blur(12px);
}
.logo {
display: flex;
align-items: center;
gap: 0.75rem;
font-family: 'Outfit', sans-serif;
font-size: 1.5rem;
font-weight: 700;
}
.logo i {
color: var(--primary);
}
main {
flex: 1;
padding: 3rem;
max-width: 1200px;
margin: 0 auto;
width: 100%;
}
.hero-card {
background: var(--bg-card);
border: 1px solid var(--border-color);
border-radius: var(--radius-lg);
padding: 3rem;
text-align: center;
backdrop-filter: blur(16px);
}
.hero-card h1 {
font-size: 2.25rem;
margin-bottom: 1rem;
background: linear-gradient(135deg, #fff, var(--primary));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1.5rem;
margin-top: 2.5rem;
}
.service-card {
background: rgba(30, 41, 59, 0.4);
border: 1px solid var(--border-color);
border-radius: 14px;
padding: 1.75rem;
text-align: left;
transition: all 0.3s ease;
}
.service-card:hover {
transform: translateY(-4px);
border-color: var(--primary);
}
.service-icon {
width: 48px;
height: 48px;
border-radius: 12px;
background: rgba(6, 182, 212, 0.15);
color: var(--primary);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
margin-bottom: 1rem;
}
.btn-cyan {
background: linear-gradient(135deg, var(--primary), var(--accent));
color: white;
padding: 0.75rem 1.5rem;
border-radius: 10px;
border: none;
font-weight: 600;
cursor: pointer;
margin-top: 1.5rem;
display: inline-flex;
align-items: center;
gap: 0.5rem;
}