/* --- 1. Reset & Base Styles (Dark Mode) --- */ body { margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background-color: #121212; /* Deep Black */ color: white; display: flex; justify-content: center; height: 100vh; overflow: hidden; margin-top: 60px; /* Space for fixed navbar */ } /* Mobile Container */ .app-container { width: 100%; max-width: 420px; min-width: 320px; height: calc(100% - 60px); min-height: 600px; background-color: #181818; position: relative; display: flex; flex-direction: column; box-shadow: 0 0 20px rgba(0,0,0,0.5); margin: 60px auto 0; overflow: hidden; } /* --- 2. Header --- */ .header { padding: 20px; display: flex; justify-content: space-between; align-items: center; } .header h1 { margin: 0; font-size: 24px; font-weight: 800; } .header .revenue { color: #1DB954; font-weight: bold; font-size: 14px; } /* --- 3. The Card Stack (Central Focus) --- */ .card-stack { flex: 1; position: relative; display: flex; justify-content: center; align-items: center; perspective: 1000px; } .card { width: 85%; min-width: 280px; height: 55vh; min-height: 400px; max-height: 500px; background: linear-gradient(145deg, #2a2a2a, #222); border-radius: 20px; position: absolute; box-shadow: 0 10px 25px rgba(0,0,0,0.5); display: flex; flex-direction: column; justify-content: space-between; padding: 25px; box-sizing: border-box; transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.4s; border: 1px solid #333; } /* Service Branding */ .service-badge { align-self: flex-start; background: rgba(255,255,255,0.1); padding: 5px 12px; border-radius: 50px; font-size: 12px; font-weight: bold; text-transform: uppercase; display: flex; align-items: center; gap: 5px; } .spotify-theme .service-badge { color: #1DB954; border: 1px solid #1DB954; } .netflix-theme .service-badge { color: #E50914; border: 1px solid #E50914; } /* Client Details */ .client-info h2 { font-size: 28px; margin: 0 0 5px 0; } .client-info p { color: #888; margin: 0; font-size: 14px; } .expiry-warning { color: #ff4b4b; font-size: 13px; margin-top: 10px; display: block; } /* --- 4. Action Area (Thumb Zone) --- */ .actions { padding: 0 30px 120px 30px; /* Extra bottom padding for nav bar */ display: flex; justify-content: space-between; gap: 20px; } .btn-action { flex: 1; height: 60px; border-radius: 30px; border: none; font-size: 16px; font-weight: bold; cursor: pointer; transition: transform 0.1s, box-shadow 0.2s; display: flex; justify-content: center; align-items: center; gap: 10px; } .btn-action:active { transform: scale(0.95); } .btn-whatsapp { background-color: #333; color: white; } .btn-whatsapp:hover { background-color: #444; box-shadow: 0 0 15px rgba(255, 255, 255, 0.1); } .btn-renew { background-color: #1DB954; /* Spotify Green */ color: black; box-shadow: 0 0 15px rgba(29, 185, 84, 0.4); } .btn-renew:hover { box-shadow: 0 0 25px rgba(29, 185, 84, 0.6); } /* --- 5. Bottom Navigation (Fixed) --- */ .bottom-nav { position: absolute; bottom: 0; width: 100%; height: 80px; background: #121212; display: flex; justify-content: space-around; align-items: center; border-top: 1px solid #333; } .nav-item { display: flex; flex-direction: column; align-items: center; color: #666; font-size: 10px; gap: 4px; cursor: pointer; transition: color 0.2s; } .nav-item:hover { color: #aaa; } .nav-item.active { color: #1DB954; } .nav-icon { font-size: 24px; } /* --- Animations --- */ .swipe-right { transform: translateX(120%) rotate(15deg) !important; opacity: 0 !important; } .swipe-left { transform: translateX(-120%) rotate(-15deg) !important; opacity: 0 !important; } /* Loading Animation */ @keyframes pulse { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.5; } } .loading { animation: pulse 1.5s infinite ease-in-out; }