/* Landing page styles */
.lp-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 6vw;position:sticky;top:0;background:var(--card);border-bottom:1px solid var(--line);z-index:40;}
.lp-nav .brand span{font-family:var(--landing-display);font-weight:700;font-size:1.1rem;color:var(--vert-deep);}
[data-theme="dark"] .lp-nav .brand span{color:var(--vert);}
.lp-nav-links{display:flex;gap:26px;font-size:.86rem;font-weight:600;color:var(--ink-soft);}
.lp-nav-links a{cursor:pointer;}
.lp-nav-links a:hover{color:var(--vert-deep);}
.lp-nav-actions{display:flex;gap:10px;}
.lp-section h2{font-family:var(--landing-display);font-weight:700;font-size:1.7rem;text-align:center;margin:0 0 8px;}
.lp-section .lp-sub{text-align:center;color:var(--ink-soft);max-width:560px;margin:0 auto 40px;}
.lp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px;}
.lp-step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 20px;text-align:center;box-shadow:var(--shadow);}
.lp-step .lp-step-num{width:40px;height:40px;border-radius:50%;background:var(--terre);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--landing-display);font-weight:700;margin:0 auto 14px;}
.lp-step h3{font-size:.98rem;margin:0 0 6px;}
.lp-step p{font-size:.82rem;color:var(--ink-soft);margin:0;}
.lp-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;}
.lp-cat{background:var(--beige-alt);border-radius:16px;padding:22px 10px;text-align:center;font-size:.84rem;font-weight:600;border:1px solid var(--line);transition:transform .15s ease;}
.lp-cat:hover{transform:translateY(-3px);border-color:var(--or-doux);}
.lp-cat .lp-cat-ic{font-size:1.7rem;display:block;margin-bottom:8px;}
.lp-testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.lp-testi{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--terre);border-radius:14px;padding:20px;box-shadow:var(--shadow);}
.lp-testi p{font-size:.86rem;color:var(--ink-soft);font-style:italic;margin:0 0 14px;}
.lp-testi-who{display:flex;align-items:center;gap:10px;}
.lp-testi-who .av{width:36px;height:36px;border-radius:50%;background:var(--vert);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem;}
.lp-testi-who b{font-size:.82rem;}
.lp-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:30px;max-width:1280px;margin:0 auto 30px;}
.lp-footer h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--or-doux);margin:0 0 12px;}
.lp-footer a{display:block;font-size:.84rem;color:rgba(250,249,246,.78);margin-bottom:8px;cursor:pointer;}
.lp-footer a:hover{color:#fff;}
.lp-footer-bottom{text-align:center;font-size:.74rem;color:rgba(250,249,246,.55);border-top:1px solid rgba(255,255,255,.12);padding-top:18px;max-width:1280px;margin:0 auto;}

/* Auth screen */
#authScreen{display:none;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--vert-deep),var(--vert));padding:24px;}
#authScreen.show{display:flex;}
.auth-card .brand{justify-content:center;margin-bottom:18px;}
.auth-card h2{text-align:center;font-size:1.3rem;margin:0 0 4px;}
.auth-card .sub{text-align:center;margin-bottom:20px;}
.auth-toggle{display:flex;background:var(--beige-alt);border-radius:30px;padding:4px;margin-bottom:20px;}
.auth-toggle button{flex:1;padding:9px;border-radius:26px;font-size:.82rem;font-weight:700;color:var(--ink-soft);}
.auth-toggle button.active{background:var(--vert);color:#fff;}
.auth-forgot{text-align:right;font-size:.78rem;color:var(--vert-deep);margin:-6px 0 14px;cursor:pointer;}
[data-theme="dark"] .auth-forgot{color:var(--vert);}
.auth-card .modal-close{top:14px;right:14px;}
#landingScreen.hide{display:none;}

/* Empty state */
.empty{padding:50px 20px;text-align:center;color:var(--ink-soft);}
.empty .e-ic{font-size:2.2rem;margin-bottom:8px;}

/* Match connector */
.match-row{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:6px;}
.match-connector{display:flex;align-items:center;justify-content:center;}

/* Badge pill */
.badge-pill{font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:20px;color:#fff;}

/* Mobile nav */
.mobile-nav{display:none;}

/* Responsive */
@media (max-width:920px){
  #app{grid-template-columns:1fr;}
  .sidebar{display:none;}
  .view{padding:20px 16px 90px;}
  .lp-nav-links{display:none;}
  .field-row{grid-template-columns:1fr;}
}
