:root {
    --primary: #008080; --bg: #F4F7F6; --white: #FFFFFF; --success: #00C896; --danger: #FF4D4D;
}
* { box-sizing: border-box; font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }
body { background-color: var(--bg); margin: 0; display: flex; justify-content: center; min-height: 100vh; overflow-x: hidden; }
.app-container { width: 100%; max-width: 440px; padding: 40px 24px; position: relative; padding-bottom: 120px; }
.hidden { display: none !important; }
.auth-centered { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 80vh; }
.logo { font-size: 42px; font-weight: 800; color: var(--primary); letter-spacing: -2px; margin: 0; }
.card { background: var(--white); width: 100%; padding: 30px; border-radius: 28px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
input, select, textarea { width: 100%; padding: 16px; border: 2px solid #E1E8E7; border-radius: 14px; margin-bottom: 12px; font-size: 16px; outline: none; }
.btn-primary { background: var(--primary); color: white; border: none; padding: 18px; border-radius: 14px; font-weight: 700; width: 100%; cursor: pointer; }
.btn-grey { background: #e0e6e6; color: #5d6d6e; border: none; padding: 16px; border-radius: 14px; font-weight: 600; width: 100%; cursor: pointer; }
.btn-grey-small { background: #e0e6e6; border: none; padding: 8px 16px; border-radius: 20px; font-size: 12px; font-weight: 700; cursor: pointer; }
.header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; }
.wallet-pill { background: var(--primary); color: white; padding: 6px 14px; border-radius: 20px; font-size: 11px; font-weight: 800; cursor: pointer; }
.gig-card-mini { background: white; padding: 20px; border-radius: 18px; border-left: 6px solid var(--primary); box-shadow: 0 4px 12px rgba(0,0,0,0.03); margin-bottom: 12px; }
.matched-bg { border-left-color: var(--success); background: #f0fff4; }
.card-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; }
.btn-wa { color: #25D366; font-weight: 800; text-decoration: none; font-size: 13px; }
.btn-done { background: var(--success); color: white; border: none; padding: 8px 16px; border-radius: 10px; font-weight: 700; cursor: pointer; }
.swipe-stack { height: 400px; position: relative; margin-bottom: 40px; }
.tinder-card { background: white; width: 100%; height: 100%; position: absolute; border-radius: 30px; padding: 30px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; box-shadow: 0 15px 35px rgba(0,0,0,0.1); transition: 0.4s; overflow: hidden; }
.stamp { position: absolute; top: 20px; padding: 5px 15px; border: 4px solid; border-radius: 10px; font-size: 24px; font-weight: 900; opacity: 0; z-index: 10; }
.stamp-accept { right: 20px; color: var(--success); border-color: var(--success); transform: rotate(15deg); }
.stamp-decline { left: 20px; color: var(--danger); border-color: var(--danger); transform: rotate(-15deg); }
.swipe-left-anim { transform: translateX(-150%) rotate(-25deg); opacity: 0; }
.swipe-right-anim { transform: translateX(150%) rotate(25deg); opacity: 0; }
.swipe-controls { display: flex; justify-content: center; gap: 30px; }
.btn-swipe { width: 70px; height: 70px; border-radius: 50%; border: none; font-size: 24px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); cursor: pointer; }
.btn-skip { background: #fff; color: var(--danger); border: 2px solid var(--danger); }
.btn-match { background: var(--success); color: #fff; }
.nav-bar { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 440px; background: white; display: flex; justify-content: space-around; padding: 15px 0 30px 0; border-top: 1px solid #eee; }
.nav-item { background: none; border: none; color: #bdc3c7; font-size: 11px; font-weight: 800; flex: 1; cursor: pointer; }
.nav-item.active { color: var(--primary); }
/* Login Page Button Spacing Fix */
#auth-screen .button-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;      /* Increases the gap between Login and Register */
    margin-top: 24px !important; /* Space between the password field and buttons */
}

#auth-screen .btn-primary, 
#auth-screen .btn-grey {
    margin: 0 !important;      /* Removes any conflicting old margins */
}
/* --- TINDER CARD VISIBILITY FIX --- */
.swipe-stack { 
    height: 480px !important; /* Forces the stack area to be tall enough */
    position: relative; 
    margin: 20px 0 40px 0; 
    z-index: 5;
    display: block !important;
}

.tinder-card {
    background: white !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    border-radius: 30px !important;
    padding: 30px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1) !important;
    z-index: 10 !important;
    display: flex !important; /* Forces the card to exist */
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Ensure the text inside the card is black/visible */
.tinder-card h2, .tinder-card p, .tinder-card h3 {
    color: #333 !important;
    display: block !important;}
