Spaces:
Runtime error
Runtime error
Download mobile-fix.css from noor122/smartparking: direct link, hf CLI and curl.
- Browser
- Download file 13.3 kB
-
https://huggingface.co/spaces/noor122/smartparking/resolve/main/mobile-fix.css
- Command line
-
hf download hf://spaces/noor122/smartparking/mobile-fix.css
-
curl -L -o mobile-fix.css https://huggingface.co/spaces/noor122/smartparking/resolve/main/mobile-fix.css
13.3 kB
| /* ============================================================ | |
| mobile.css — SmartPark AI | |
| ضيفه آخر واحد في الـ <head> في كل صفحة: | |
| <link rel="stylesheet" href="mobile.css"> | |
| ============================================================ */ | |
| /* ========================================================= | |
| 1. NAVBAR — هامبرغر منيو | |
| ========================================================= */ | |
| /* الزرار مخفي على الديسكتوب */ | |
| .hamburger-btn { | |
| display: none; | |
| background: transparent; | |
| border: none; | |
| cursor: pointer; | |
| flex-direction: column; | |
| gap: 5px; | |
| padding: 5px; | |
| z-index: 1001; | |
| } | |
| .hamburger-btn span { | |
| display: block; | |
| width: 22px; | |
| height: 2px; | |
| background: white; | |
| border-radius: 2px; | |
| transition: 0.3s; | |
| } | |
| @media (max-width: 768px) { | |
| .navbar { | |
| padding: 12px 16px; | |
| position: fixed; | |
| flex-wrap: nowrap; | |
| gap: 0; | |
| justify-content: space-between; | |
| align-items: center; | |
| height: 56px; | |
| } | |
| .logo { font-size: 16px ; white-space: nowrap; } | |
| /* نخبي الـ nav الأصلية */ | |
| .navbar nav { display: none ; } | |
| /* نبيّن زرار الهامبرغر */ | |
| .hamburger-btn { display: flex; } | |
| /* القائمة المنسدلة لما تنفتح */ | |
| .mobile-nav-menu { | |
| display: none; | |
| position: fixed; | |
| top: 56px; | |
| left: 0; | |
| width: 100%; | |
| background: rgba(5, 8, 15, 0.97); | |
| backdrop-filter: blur(15px); | |
| border-bottom: 1px solid rgba(255,255,255,0.08); | |
| z-index: 998; | |
| padding: 8px 0 12px; | |
| flex-direction: column; | |
| } | |
| .mobile-nav-menu.open { display: flex; } | |
| .mobile-nav-menu a { | |
| color: white; | |
| text-decoration: none; | |
| font-size: 15px; | |
| font-weight: 600; | |
| padding: 13px 20px; | |
| border-bottom: 1px solid rgba(255,255,255,0.05); | |
| display: block; | |
| transition: 0.2s; | |
| } | |
| .mobile-nav-menu a:last-child { border-bottom: none; } | |
| .mobile-nav-menu a:hover { color: #00c2b8; padding-left: 26px; } | |
| /* نصغر الـ nav-actions */ | |
| .nav-actions { gap: 8px ; font-size: 13px; } | |
| .sign-btn { padding: 7px 14px ; font-size: 12px ; } | |
| .theme-toggle span { display: none; } /* نخبي كلمة Night/Day */ | |
| } | |
| /* ========================================================= | |
| 2. HERO SECTION | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| .hero-title { | |
| font-size: clamp(2.8rem, 11vw, 4.5rem); | |
| letter-spacing: 1px; | |
| } | |
| .hero-subtitle { | |
| font-size: 15px; | |
| margin: 12px 0 24px; | |
| padding: 0 10px; | |
| } | |
| .hero-btn { | |
| padding: 12px 28px; | |
| font-size: 15px; | |
| } | |
| } | |
| /* ========================================================= | |
| 3. FEATURES & HOW IT WORKS | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| .features, .how-it-works { padding: 50px 5%; } | |
| .section-header h2 { font-size: 24px ; } | |
| .section-header p { font-size: 14px; } | |
| .features-grid { grid-template-columns: 1fr ; gap: 14px; } | |
| .steps-container { grid-template-columns: 1fr ; gap: 14px; } | |
| } | |
| /* ========================================================= | |
| 4. FOOTER | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| .modern-footer { padding: 40px 5% 20px; } | |
| .footer-top { grid-template-columns: 1fr ; gap: 28px; } | |
| .footer-bottom { flex-direction: column; gap: 12px; text-align: center; } | |
| } | |
| /* ========================================================= | |
| 5. DASHBOARD — السايدبار يتحول لشريط تنقل سفلي | |
| ========================================================= */ | |
| @media (max-width: 900px) { | |
| .sidebar { | |
| width: 100% ; | |
| height: 60px ; | |
| position: fixed ; | |
| bottom: 0 ; | |
| top: auto ; | |
| left: 0 ; | |
| flex-direction: row ; | |
| padding: 0 ; | |
| border-right: none ; | |
| border-top: 1px solid var(--border-color) ; | |
| z-index: 500 ; | |
| overflow: hidden; | |
| align-items: stretch; | |
| } | |
| .sidebar-header { display: none ; } | |
| .sidebar-footer { display: none ; } | |
| .sidebar-menu { | |
| display: flex ; | |
| flex-direction: row ; | |
| flex: 1; | |
| margin: 0 ; | |
| padding: 0 ; | |
| align-items: stretch; | |
| } | |
| .sidebar-menu li { | |
| flex: 1; | |
| margin: 0 ; | |
| display: flex; | |
| } | |
| .sidebar-menu a { | |
| flex-direction: column ; | |
| gap: 3px ; | |
| padding: 6px 2px ; | |
| font-size: 9px ; | |
| text-align: center; | |
| border-radius: 0 ; | |
| justify-content: center; | |
| align-items: center; | |
| width: 100%; | |
| overflow: hidden; | |
| white-space: nowrap; | |
| } | |
| /* نخلي النص جنب الأيقونة مش تحتها عشان يتسع */ | |
| .sidebar-menu a i { font-size: 1.05rem ; } | |
| .main-content { | |
| margin-left: 0 ; | |
| padding: 16px 14px 75px ; | |
| } | |
| } | |
| /* ========================================================= | |
| 6. TOP BAR داخل الداشبورد — الإصلاح الجذري | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| /* *** الحل الرئيسي: نلغي الـ absolute positioning من الـ wallet page *** | |
| walletStyle.css بيعمل top-actions absolute وده بيخلي الـ overlap */ | |
| .top-bar { | |
| position: relative ; | |
| display: flex ; | |
| flex-direction: row ; | |
| justify-content: space-between ; | |
| align-items: center ; | |
| flex-wrap: nowrap ; | |
| gap: 8px; | |
| margin-bottom: 18px ; | |
| min-height: 48px; | |
| padding: 0 ; | |
| } | |
| .welcome-text { | |
| align-items: flex-start ; | |
| text-align: left ; | |
| justify-content: flex-start ; | |
| flex: 1 1 auto; | |
| min-width: 0; | |
| padding-right: 4px; | |
| } | |
| .welcome-text h2 { | |
| font-size: 1.2rem ; | |
| margin: 0 ; | |
| white-space: nowrap; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| display: flex ; | |
| align-items: center ; | |
| gap: 6px ; | |
| line-height: 1.2 ; | |
| } | |
| /* نخبي السطر الثاني تحت العنوان */ | |
| .welcome-text p { display: none ; } | |
| /* *** الأهم: نلغي الـ absolute من top-actions تماماً *** */ | |
| .top-actions { | |
| position: static ; | |
| top: auto ; | |
| right: auto ; | |
| transform: none ; | |
| display: flex ; | |
| align-items: center ; | |
| gap: 6px ; | |
| flex-shrink: 0; | |
| flex: 0 0 auto; | |
| } | |
| /* Wallet Badge أصغر */ | |
| .wallet-badge { | |
| font-size: 0.7rem ; | |
| padding: 5px 8px ; | |
| white-space: nowrap; | |
| gap: 4px ; | |
| } | |
| /* نخبي الـ balance badge على شاشات < 400px */ | |
| @media (max-width: 400px) { | |
| .wallet-badge { display: none ; } | |
| } | |
| .user-avatar img { | |
| width: 30px ; | |
| height: 30px ; | |
| } | |
| .notification-trigger { | |
| padding: 7px 8px ; | |
| } | |
| .notification-trigger i { font-size: 1rem ; } | |
| /* الـ dropdown ميطلعش برا الشاشة */ | |
| .dropdown-menu { | |
| right: 0 ; | |
| left: auto ; | |
| width: 180px ; | |
| font-size: 0.85rem; | |
| } | |
| } | |
| /* ========================================================= | |
| 7. الخريطة + كروت الجراجات | |
| ========================================================= */ | |
| @media (max-width: 900px) { | |
| .location-section { grid-template-columns: 1fr ; gap: 16px; } | |
| #map { height: 280px ; } | |
| } | |
| /* ========================================================= | |
| 8. MY WALLET — الكارت الرئيسي | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| .wallet-center-wrapper { padding-top: 8px; } | |
| .flow-card { | |
| padding: 22px 16px ; | |
| border-radius: 18px ; | |
| max-width: 100% ; | |
| min-height: auto ; | |
| } | |
| .balance-master { padding: 20px 16px ; margin: 16px 0 ; } | |
| .b-amount { font-size: 2.6rem ; } | |
| .b-amount .dec { font-size: 1.3rem ; } | |
| .b-amount .currency { font-size: 1rem ; } | |
| .btn-balance-add { padding: 12px ; font-size: 0.9rem ; } | |
| .selection-item { padding: 13px 12px ; } | |
| .item-label { font-size: 0.9rem ; } | |
| } | |
| /* ========================================================= | |
| 9. PAYMENT / TICKET | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| .ticket-wrapper { | |
| padding: 14px ; | |
| height: auto ; | |
| align-items: flex-start ; | |
| } | |
| .ticket-container { max-width: 100% ; } | |
| .ticket-details { padding: 18px 16px ; } | |
| .ticket-footer { padding: 8px 16px 24px ; } | |
| .total-price { font-size: 1.4rem ; } | |
| } | |
| /* ========================================================= | |
| 10. RESERVATIONS | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| .history-page-wrapper { max-width: 100% ; padding: 0 ; } | |
| .history-box { padding: 16px 14px ; border-radius: 16px ; } | |
| .split-row { flex-direction: column ; align-items: flex-start ; gap: 8px ; } | |
| .cyan-price { font-size: 1.3rem ; } | |
| } | |
| /* ========================================================= | |
| 11. MODALS | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| .booking-card, | |
| .modal-container, | |
| .reserve-style-modal { | |
| width: 95vw ; | |
| max-width: 95vw ; | |
| padding: 18px 14px ; | |
| border-radius: 16px ; | |
| max-height: 88vh; | |
| overflow-y: auto; | |
| } | |
| #slotDashboardModal .booking-card { width: 96vw ; max-width: 96vw ; } | |
| .slots-grid { grid-template-columns: repeat(auto-fill, minmax(95px, 1fr)) ; gap: 8px ; } | |
| .spot-options { flex-wrap: wrap ; gap: 8px ; } | |
| .spot-options .spot-radio { flex: 1 1 calc(33% - 6px) ; min-width: 75px; } | |
| .split-boxes-row { flex-direction: column ; } | |
| } | |
| /* ========================================================= | |
| 12. NOTIFICATION SIDEBAR — يطلع من تحت على موبايل | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| .notif-sidebar { | |
| width: 100% ; | |
| right: 0 ; | |
| left: 0 ; | |
| top: auto ; | |
| bottom: -80vh ; | |
| height: 75vh ; | |
| border-left: none ; | |
| border-top: 1px solid var(--border-color) ; | |
| border-radius: 20px 20px 0 0 ; | |
| transition: bottom 0.4s cubic-bezier(0.16, 1, 0.3, 1) ; | |
| } | |
| .notif-sidebar.active { bottom: 0 ; right: 0 ; } | |
| } | |
| /* ========================================================= | |
| 13. SIGNUP | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| .split-left { display: none ; } | |
| .split-right { width: 100% ; min-height: 100vh ; } | |
| .form-wrapper { padding: 24px 18px ; } | |
| } | |
| /* ========================================================= | |
| 14. VEHICLES | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| .vehicles-grid { grid-template-columns: 1fr 1fr ; gap: 12px ; } | |
| } | |
| /* ========================================================= | |
| 15. عام | |
| ========================================================= */ | |
| @media (max-width: 768px) { | |
| body { overflow-x: hidden ; } | |
| img { max-width: 100%; height: auto; } | |
| .dashboard-layout { overflow-x: hidden; } | |
| } |