/* public/mobile.css */ /* Mobile Clean Reset für Lunch Daily Admin */ /* Ziel: mobile Ansicht ruhig wie Heycater: kein Desktop-Sidebar-Chaos, keine gequetschten Karten */ @media screen and (max-width: 900px) { html, body { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; } body { margin: 0 !important; padding: 0 !important; background: #f7f5ee !important; } *, *::before, *::after { box-sizing: border-box !important; } img, svg, canvas, video { max-width: 100% !important; } /* App-Grundlayout */ .app { display: block !important; grid-template-columns: 1fr !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; min-height: 100vh !important; overflow-x: hidden !important; } /* Alte Desktop-Sidebar auf Mobile komplett ausblenden */ aside, aside.sidebar, .sidebar, .admin-sidebar, .desktop-sidebar, .side-nav, .desktop-nav, .app > nav, .app > aside, body > nav, body > aside { display: none !important; visibility: hidden !important; opacity: 0 !important; position: absolute !important; left: -9999px !important; top: auto !important; width: 0 !important; min-width: 0 !important; max-width: 0 !important; height: 0 !important; min-height: 0 !important; max-height: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important; pointer-events: none !important; } /* Mobile Navigation darf sichtbar bleiben */ .mobile-admin-nav { display: block !important; visibility: visible !important; opacity: 1 !important; position: sticky !important; top: 0 !important; left: auto !important; width: 100% !important; max-width: 100% !important; height: auto !important; min-height: 0 !important; max-height: none !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; pointer-events: auto !important; z-index: 999999 !important; background: rgba(255, 255, 255, 0.97) !important; backdrop-filter: blur(18px) !important; -webkit-backdrop-filter: blur(18px) !important; border-bottom: 1px solid rgba(18, 35, 24, 0.08) !important; box-shadow: 0 12px 30px rgba(18, 35, 24, 0.08) !important; } .mobile-admin-nav, .mobile-admin-nav * { box-sizing: border-box !important; pointer-events: auto !important; -webkit-tap-highlight-color: transparent !important; } /* Alte grüne Schnellnavigation aus früherer Version komplett weg */ .mobile-admin-nav__quick { display: none !important; visibility: hidden !important; opacity: 0 !important; height: 0 !important; min-height: 0 !important; max-height: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important; pointer-events: none !important; } /* Mobile Header */ .mobile-admin-nav__bar, .mobile-admin-nav__top { display: grid !important; grid-template-columns: 56px 1fr 56px !important; align-items: center !important; gap: 10px !important; width: 100% !important; min-height: 76px !important; padding: 12px 16px !important; } .mobile-admin-nav__burger, .mobile-admin-nav__toggle { display: inline-flex !important; position: relative !important; z-index: 1000009 !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 6px !important; width: 56px !important; height: 56px !important; min-width: 56px !important; min-height: 56px !important; padding: 0 !important; border: 0 !important; border-radius: 18px !important; background: #fffefa !important; cursor: pointer !important; pointer-events: auto !important; box-shadow: inset 0 0 0 1px rgba(23, 72, 61, 0.12), 0 10px 24px rgba(20, 35, 24, 0.08) !important; } .mobile-admin-nav__burger span, .mobile-admin-nav__toggle span { display: block !important; width: 24px !important; height: 2.5px !important; border-radius: 999px !important; background: #17483d !important; pointer-events: none !important; } .mobile-admin-nav__logo { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 0 !important; text-decoration: none !important; } .mobile-admin-nav__logo img { display: block !important; width: auto !important; max-width: 132px !important; max-height: 36px !important; object-fit: contain !important; } .mobile-admin-nav__avatar-small { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 56px !important; height: 56px !important; min-width: 56px !important; min-height: 56px !important; border-radius: 18px !important; background: #17483d !important; color: #ffffff !important; font-size: 14px !important; font-weight: 900 !important; letter-spacing: 0.05em !important; text-decoration: none !important; box-shadow: 0 10px 24px rgba(20, 35, 24, 0.08) !important; } /* Drawer links wie Heycater */ .mobile-admin-nav__drawer { display: block !important; visibility: visible !important; opacity: 1 !important; position: fixed !important; top: 0 !important; left: 0 !important; right: auto !important; z-index: 1000007 !important; width: min(82vw, 360px) !important; height: 100vh !important; height: 100dvh !important; padding: 18px !important; margin: 0 !important; background: #fffefa !important; box-shadow: 22px 0 60px rgba(10, 20, 10, 0.22) !important; transform: translateX(-105%) !important; transition: transform 0.24s ease !important; overflow-y: auto !important; overflow-x: hidden !important; pointer-events: auto !important; -webkit-overflow-scrolling: touch !important; } .mobile-admin-nav.is-open .mobile-admin-nav__drawer { transform: translateX(0) !important; } .mobile-admin-nav__backdrop { display: none !important; position: fixed !important; inset: 0 !important; z-index: 1000006 !important; background: rgba(12, 18, 14, 0.48) !important; backdrop-filter: blur(1px) !important; -webkit-backdrop-filter: blur(1px) !important; pointer-events: auto !important; } .mobile-admin-nav.is-open .mobile-admin-nav__backdrop { display: block !important; } .mobile-admin-nav__drawer-top { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 14px !important; padding-bottom: 18px !important; margin-bottom: 18px !important; border-bottom: 1px solid #ece5da !important; } .mobile-admin-nav__profile { display: flex !important; align-items: center !important; gap: 12px !important; min-width: 0 !important; } .mobile-admin-nav__profile-avatar { flex: 0 0 auto !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 52px !important; height: 52px !important; border-radius: 18px !important; background: #17483d !important; color: #ffffff !important; font-size: 15px !important; font-weight: 900 !important; letter-spacing: 0.05em !important; } .mobile-admin-nav__profile strong { display: block !important; max-width: 190px !important; overflow: hidden !important; color: #11170f !important; font-size: 18px !important; font-weight: 900 !important; line-height: 1.1 !important; white-space: nowrap !important; text-overflow: ellipsis !important; } .mobile-admin-nav__profile small { display: block !important; margin-top: 4px !important; max-width: 190px !important; overflow: hidden !important; color: #6d746b !important; font-size: 13px !important; font-weight: 750 !important; line-height: 1.15 !important; white-space: nowrap !important; text-overflow: ellipsis !important; } .mobile-admin-nav__close { flex: 0 0 auto !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 46px !important; height: 46px !important; min-width: 46px !important; min-height: 46px !important; padding: 0 !important; border: 0 !important; border-radius: 16px !important; background: #f3f1e9 !important; color: #11170f !important; font-size: 30px !important; line-height: 1 !important; cursor: pointer !important; } .mobile-admin-nav__groups { display: grid !important; gap: 20px !important; padding-bottom: 34px !important; } .mobile-admin-nav__group h3 { margin: 0 0 10px !important; color: #8b9287 !important; font-size: 11px !important; font-weight: 900 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; } .mobile-admin-nav__links { display: grid !important; gap: 8px !important; } .mobile-admin-nav__links a, .mobile-admin-nav__logout { display: flex !important; align-items: center !important; justify-content: space-between !important; min-height: 48px !important; padding: 0 15px !important; border-radius: 16px !important; background: #f7f6f0 !important; color: #1f2b1e !important; font-size: 15px !important; font-weight: 850 !important; text-decoration: none !important; } .mobile-admin-nav__links a::after { content: "›" !important; color: #9aa096 !important; font-size: 22px !important; font-weight: 700 !important; } .mobile-admin-nav__links a.active { background: #e8f3e5 !important; color: #286433 !important; box-shadow: inset 0 0 0 1px rgba(71, 123, 77, 0.18) !important; } .mobile-admin-nav__links a.active::after { color: #286433 !important; } .mobile-admin-nav__logout { justify-content: center !important; margin-top: 2px !important; background: #fff1f1 !important; color: #8a2b2b !important; } body.mobile-admin-nav-open { overflow: hidden !important; touch-action: none !important; } /* Hauptinhalt sauber full width */ main, .main, .content, .page, .page-content, .admin-main, .admin-content, .app > main, .app > .main, .app > .content { display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 18px 14px 42px !important; box-sizing: border-box !important; overflow-x: hidden !important; } .topbar, .admin-topbar, .page-topbar { width: 100% !important; max-width: 100% !important; min-width: 0 !important; padding: 10px 14px !important; box-sizing: border-box !important; overflow-x: hidden !important; } /* Hero / große Flächen */ .hero, .page-hero, .admin-hero, .dashboard-hero, .billing-hero { width: 100% !important; max-width: 100% !important; min-width: 0 !important; padding: 22px 18px !important; border-radius: 22px !important; overflow: hidden !important; } h1 { font-size: 30px !important; line-height: 1.05 !important; letter-spacing: -0.04em !important; overflow-wrap: anywhere !important; } h2 { font-size: 24px !important; line-height: 1.1 !important; overflow-wrap: anywhere !important; } h3 { overflow-wrap: anywhere !important; } p { font-size: 15px !important; line-height: 1.55 !important; } /* Allgemeine Grids einspaltig */ .grid, .admin-grid, .dashboard-grid, .dashboard-cards, .dashboard-card-grid, .admin-dashboard-grid, .cards-grid, .stats-grid, .quick-grid, .overview-grid, .billing-stats, .form-grid, .company-grid, .dish-grid, .order-grid, .products-grid, .employee-menu-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; } /* Allgemeine Karten */ .card, .panel, .box, .section, .dashboard-card, .admin-dashboard-card, .stat-card, .quick-card, .overview-card, .billing-card, .order-card, .dish-card, .company-card { width: 100% !important; max-width: 100% !important; min-width: 0 !important; padding: 18px !important; border-radius: 20px !important; box-sizing: border-box !important; overflow: hidden !important; } .card > *, .panel > *, .box > *, .section > *, .dashboard-card > *, .admin-dashboard-card > *, .stat-card > *, .quick-card > *, .overview-card > *, .billing-card > *, .order-card > *, .dish-card > *, .company-card > * { min-width: 0 !important; } /* Dashboard-Karten mobil lesbar */ .dashboard-card, .admin-dashboard-card, .quick-card, .overview-card { display: grid !important; grid-template-columns: 64px minmax(0, 1fr) auto !important; align-items: center !important; gap: 14px !important; padding: 18px !important; } .dashboard-card strong, .admin-dashboard-card strong, .quick-card strong, .overview-card strong { word-break: break-word !important; overflow-wrap: anywhere !important; } .dashboard-card p, .admin-dashboard-card p, .quick-card p, .overview-card p { overflow-wrap: anywhere !important; } /* Große Dashboard-/Chartkarten nicht in Spalten quetschen */ .dashboard-card--large, .admin-dashboard-card--large, .chart-card, .report-card, .revenue-card, .dashboard-wide, .admin-wide, .wide-card { display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; overflow: hidden !important; } .chart-card canvas, .chart-card svg, .report-card canvas, .report-card svg { width: 100% !important; max-width: 100% !important; } /* Formulare */ input, select, textarea, button { max-width: 100% !important; box-sizing: border-box !important; font-size: 16px !important; } input, select, textarea { width: 100% !important; min-height: 46px !important; } button, .btn, .button, .billing-btn { min-height: 46px !important; justify-content: center !important; } /* Buttons nur im Content full width, nicht in Mobile Nav */ main button, main .btn, main .button, main .billing-btn, .content button, .content .btn, .content .button, .content .billing-btn, .admin-content button, .admin-content .btn, .admin-content .button, .admin-content .billing-btn { width: 100% !important; } .mobile-admin-nav button, .mobile-admin-nav a { width: auto !important; } /* Tabellen nicht kaputt quetschen */ table { min-width: 720px !important; } .table-wrap, .billing-company-table-wrap, .orders-table-wrap { width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; } /* Billing mobil */ .billing-page { display: grid !important; gap: 18px !important; } .billing-company-toolbar, .billing-recent-filterbar { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; padding: 14px !important; } .billing-toolbar-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; } .billing-recent-head-grid, .billing-recent-money-grid, .billing-recent-meta { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; } .billing-charge-tabs { display: flex !important; overflow-x: auto !important; overflow-y: hidden !important; flex-wrap: nowrap !important; gap: 8px !important; -webkit-overflow-scrolling: touch !important; scrollbar-width: none !important; } .billing-charge-tabs::-webkit-scrollbar { display: none !important; } .billing-charge-tab { flex: 0 0 auto !important; width: auto !important; white-space: nowrap !important; } /* Verhindert seitliches Schieben durch einzelne breite Elemente */ .hide-mobile-overflow { width: 100% !important; max-width: 100% !important; min-width: 0 !important; overflow: hidden !important; } } @media screen and (max-width: 520px) { main, .main, .content, .page, .page-content, .admin-main, .admin-content, .app > main, .app > .main, .app > .content { padding-left: 12px !important; padding-right: 12px !important; } h1 { font-size: 28px !important; } h2 { font-size: 22px !important; } .hero, .page-hero, .admin-hero, .dashboard-hero, .billing-hero, .card, .panel, .box, .section, .dashboard-card, .admin-dashboard-card, .stat-card, .quick-card, .overview-card, .billing-card, .order-card, .dish-card, .company-card { border-radius: 18px !important; } .dashboard-card, .admin-dashboard-card, .quick-card, .overview-card { grid-template-columns: 56px minmax(0, 1fr) auto !important; gap: 12px !important; padding: 16px !important; } } /* ========================= FINAL MOBILE FIXES 1) Burger verschwindet bei offenem Drawer 2) Dashboard-Charts / Wochenkarten nicht mehr gequetscht ========================= */ @media screen and (max-width: 900px) { /* Burger darf beim geöffneten Menü NICHT über dem Drawer kleben */ .mobile-admin-nav.is-open .mobile-admin-nav__toggle { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; } .mobile-admin-nav__drawer { z-index: 1000020 !important; } .mobile-admin-nav__backdrop { z-index: 1000010 !important; } .mobile-admin-nav__toggle { z-index: 1000000 !important; } /* Dashboard kaputte 2-Spalten-Bereiche mobil hart auf 1 Spalte setzen */ .dashboard-layout, .dashboard-row, .dashboard-split, .dashboard-overview, .dashboard-main-grid, .dashboard-secondary-grid, .dashboard-stats-row, .dashboard-chart-row, .dashboard-summary-grid, .dashboard-content-grid, .admin-dashboard-layout, .admin-dashboard-row, .admin-dashboard-grid, .admin-dashboard-main, .admin-dashboard-content, .stats-row, .stats-layout, .weekly-grid, .week-grid, .report-grid, .chart-grid { display: grid !important; grid-template-columns: 1fr !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; gap: 14px !important; overflow: hidden !important; } /* Alle großen Dashboard-Karten dürfen nicht mehr nebeneinander kleben */ .dashboard-card, .admin-dashboard-card, .stat-card, .metric-card, .chart-card, .revenue-card, .report-card, .overview-card, .quick-card, .wide-card, .dashboard-card--large, .dashboard-card--wide, .admin-dashboard-card--large, .admin-dashboard-card--wide { width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; overflow: hidden !important; } /* Chart-/Reportkarten nicht wie kleine Icon-Karten behandeln */ .chart-card, .revenue-card, .report-card, .dashboard-card--large, .dashboard-card--wide, .admin-dashboard-card--large, .admin-dashboard-card--wide { display: block !important; padding: 18px !important; } /* Kleine Karten dürfen Icon + Text behalten */ .dashboard-card:not(.dashboard-card--large):not(.dashboard-card--wide):not(.chart-card):not(.revenue-card):not(.report-card), .admin-dashboard-card:not(.admin-dashboard-card--large):not(.admin-dashboard-card--wide):not(.chart-card):not(.revenue-card):not(.report-card), .quick-card, .overview-card, .stat-card, .metric-card { display: grid !important; grid-template-columns: 72px 1fr auto !important; align-items: center !important; gap: 14px !important; } /* Chart-Inhalte sauber skalieren */ canvas, svg, .chart, .chart-wrap, .chart-container { width: 100% !important; max-width: 100% !important; min-width: 0 !important; overflow: hidden !important; } /* Falls eine Karte innen nochmal ein Desktop-Grid hat */ .dashboard-card > *, .admin-dashboard-card > *, .chart-card > *, .revenue-card > *, .report-card > * { max-width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; } } /* ========================= FINAL DASHBOARD WEEK BLOCK FIX verhindert linke schmale Karte neben Wochenstatistik ========================= */ @media screen and (max-width: 900px) { /* Der kaputte Bereich darf mobil nicht zweispaltig bleiben */ .dashboard-week-row, .dashboard-week-grid, .dashboard-finance-row, .dashboard-finance-grid, .dashboard-metrics-row, .dashboard-metrics-grid, .dashboard-analytics-row, .dashboard-analytics-grid, .admin-week-row, .admin-week-grid, .admin-finance-row, .admin-finance-grid { display: grid !important; grid-template-columns: 1fr !important; width: 100% !important; max-width: 100% !important; gap: 14px !important; overflow: visible !important; } /* Falls der Bereich keine eindeutige Klasse hat: alle direkten Karten im Dashboard sauber stapeln */ .dashboard-card + .dashboard-card, .admin-dashboard-card + .admin-dashboard-card { margin-top: 14px !important; } /* Die linke schmale Rechnungskarte mobil normal breit machen */ .dashboard-card:has(.revenue-card), .dashboard-card:has(.chart-card), .admin-dashboard-card:has(.revenue-card), .admin-dashboard-card:has(.chart-card) { display: block !important; } /* Alle Karten in diesem Bereich volle Breite */ .revenue-card, .chart-card, .dashboard-card, .admin-dashboard-card { float: none !important; clear: both !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin-left: 0 !important; margin-right: 0 !important; transform: none !important; } /* Der innere Statistikblock rechts darf nicht überlagern */ .revenue-card, .chart-card { position: relative !important; left: auto !important; right: auto !important; } /* Sicherheitsfix für alle Desktop-Grids mit 2 Spalten im Dashboard */ .admin-main [class*="grid"], .admin-content [class*="grid"], main [class*="grid"] { grid-template-columns: 1fr !important; } } /* ========================= MOBILE DASHBOARD REVENUE FIX Fix für gequetschten Wochen-/Rechnungsblock ========================= */ @media screen and (max-width: 900px) { .dashboard-page, .admin-dashboard-page, .dashboard-content, .admin-dashboard-content { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; } .dashboard-page * , .admin-dashboard-page * { max-width: 100% !important; box-sizing: border-box !important; } .dashboard-grid, .dashboard-main-grid, .dashboard-secondary-grid, .dashboard-summary-grid, .dashboard-stats-grid, .dashboard-week-grid, .dashboard-report-grid, .dashboard-finance-grid, .dashboard-billing-grid, .dashboard-kpi-grid, .admin-dashboard-grid, .admin-dashboard-main-grid, .admin-dashboard-secondary-grid, .admin-dashboard-summary-grid, .admin-dashboard-stats-grid, .admin-dashboard-week-grid, .admin-dashboard-report-grid, .admin-dashboard-finance-grid, .admin-dashboard-billing-grid, .admin-dashboard-kpi-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; overflow: visible !important; } .dashboard-card, .admin-dashboard-card, .dashboard-stat, .admin-dashboard-stat, .dashboard-panel, .admin-dashboard-panel, .dashboard-box, .admin-dashboard-box, .dashboard-chart, .admin-dashboard-chart, .dashboard-revenue, .admin-dashboard-revenue, .dashboard-billing, .admin-dashboard-billing, .dashboard-open-invoices, .admin-dashboard-open-invoices { display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; overflow: hidden !important; } .dashboard-card, .admin-dashboard-card, .dashboard-panel, .admin-dashboard-panel, .dashboard-box, .admin-dashboard-box { padding: 18px !important; border-radius: 22px !important; } .dashboard-card > *, .admin-dashboard-card > *, .dashboard-panel > *, .admin-dashboard-panel > *, .dashboard-box > *, .admin-dashboard-box > * { width: auto !important; max-width: 100% !important; min-width: 0 !important; } .dashboard-card[style], .admin-dashboard-card[style], .dashboard-panel[style], .admin-dashboard-panel[style], .dashboard-box[style], .admin-dashboard-box[style] { grid-column: auto !important; grid-row: auto !important; } .dashboard-card h2, .dashboard-card h3, .dashboard-card p, .dashboard-card span, .dashboard-card strong, .admin-dashboard-card h2, .admin-dashboard-card h3, .admin-dashboard-card p, .admin-dashboard-card span, .admin-dashboard-card strong { overflow-wrap: anywhere !important; word-break: normal !important; } canvas, svg, .chart, .chart-wrap, .chart-container, .sparkline, .revenue-chart { display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; height: auto !important; overflow: hidden !important; } } /* ========================= MOBILE FIX: Admin Dashboard Wochenblock Fix für ad-week-box / ad-chart / ad-card ========================= */ @media screen and (max-width: 900px) { .ad-card { width: 100% !important; max-width: 100% !important; min-width: 0 !important; display: block !important; overflow: hidden !important; padding: 18px !important; border-radius: 22px !important; box-sizing: border-box !important; } .ad-card * { max-width: 100% !important; box-sizing: border-box !important; } .ad-card > div { width: 100% !important; max-width: 100% !important; min-width: 0 !important; } .ad-week-grid, .ad-week-row, .ad-week-stats, .ad-week-summary { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; overflow: hidden !important; } .ad-week-box { display: grid !important; grid-template-columns: 58px 1fr !important; align-items: center !important; gap: 12px !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; padding: 14px !important; border-radius: 18px !important; overflow: hidden !important; } .ad-week-box > div { min-width: 0 !important; max-width: 100% !important; } .ad-week-icon { width: 52px !important; height: 52px !important; min-width: 52px !important; border-radius: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; } .ad-week-box small { display: block !important; max-width: 100% !important; font-size: 14px !important; line-height: 1.25 !important; white-space: normal !important; overflow-wrap: anywhere !important; } .ad-week-box b { display: block !important; max-width: 100% !important; font-size: 22px !important; line-height: 1.1 !important; white-space: normal !important; overflow-wrap: anywhere !important; } .ad-chart { width: 100% !important; max-width: 100% !important; min-width: 0 !important; height: 110px !important; margin-top: 14px !important; overflow: hidden !important; border-radius: 18px !important; } .ad-chart svg { display: block !important; width: 100% !important; max-width: 100% !important; height: 100% !important; } .ad-chart path { max-width: 100% !important; } .ad-card[style], .ad-week-box[style], .ad-chart[style] { grid-column: auto !important; grid-row: auto !important; } } /* ===== RESET PASSWORD MOBILE FIX ===== */ @media screen and (max-width: 900px) { body:has(form[action="/reset-password"]) .login-wrap, .login-wrap { width: 100% !important; min-height: calc(100vh - 40px) !important; padding: 28px 18px 44px !important; display: flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; } body:has(form[action="/reset-password"]) .login-card { width: 100% !important; max-width: 430px !important; display: grid !important; grid-template-columns: 1fr !important; gap: 20px !important; padding: 26px 22px !important; border-radius: 28px !important; box-sizing: border-box !important; text-align: left !important; } body:has(form[action="/reset-password"]) .login-card img { display: block !important; max-width: 180px !important; max-height: 70px !important; width: auto !important; height: auto !important; margin: 0 auto 10px !important; object-fit: contain !important; } body:has(form[action="/reset-password"]) .login-card form { width: 100% !important; display: grid !important; gap: 14px !important; } body:has(form[action="/reset-password"]) .login-card label { display: block !important; margin-bottom: 7px !important; font-size: 15px !important; font-weight: 900 !important; color: #18231c !important; } body:has(form[action="/reset-password"]) .login-card input { width: 100% !important; min-height: 54px !important; border-radius: 18px !important; font-size: 16px !important; } body:has(form[action="/reset-password"]) .login-card .btn, body:has(form[action="/reset-password"]) .login-card button { width: 100% !important; min-height: 56px !important; border-radius: 18px !important; font-size: 17px !important; font-weight: 900 !important; } } /* ===== RESET PASSWORD MOBILE FINAL FIX ===== */ @media screen and (max-width: 900px) { .login-wrap { width: 100% !important; min-height: 100vh !important; padding: 34px 18px 48px !important; display: flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; } .login-card { width: 100% !important; max-width: 420px !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 18px !important; padding: 28px 22px !important; border-radius: 28px !important; box-sizing: border-box !important; } .login-card img { display: block !important; width: auto !important; max-width: 190px !important; max-height: 72px !important; object-fit: contain !important; margin: 0 auto 8px !important; } .login-card form { width: 100% !important; display: grid !important; gap: 14px !important; } .login-card label { display: block !important; margin-bottom: 7px !important; font-size: 15px !important; font-weight: 900 !important; color: #17231c !important; } .login-card input { width: 100% !important; min-height: 54px !important; border-radius: 18px !important; font-size: 16px !important; } .login-card button, .login-card .btn { width: 100% !important; min-height: 56px !important; border-radius: 18px !important; font-size: 17px !important; font-weight: 900 !important; } } /* ===== RESET PASSWORD PAGE FINAL POLISH ===== */ @media screen and (max-width: 900px) { .login-wrap { width: 100% !important; min-height: 100vh !important; padding: 34px 18px 48px !important; display: flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; } .login-card { width: 100% !important; max-width: 420px !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 18px !important; padding: 28px 22px !important; border-radius: 28px !important; box-sizing: border-box !important; text-align: left !important; } .login-card img, .login-card .brand img, .login-card .login-logo { display: block !important; width: auto !important; max-width: 190px !important; max-height: 72px !important; object-fit: contain !important; margin: 0 auto 14px !important; } .login-card form { width: 100% !important; display: grid !important; gap: 14px !important; } .login-card label { display: block !important; margin-bottom: 7px !important; font-size: 15px !important; font-weight: 900 !important; color: #17231c !important; } .login-card input { width: 100% !important; min-height: 54px !important; border-radius: 18px !important; font-size: 16px !important; } .login-card button, .login-card .btn { width: 100% !important; min-height: 56px !important; border-radius: 18px !important; font-size: 17px !important; font-weight: 900 !important; } }