/* Base layout */
:root { --bg:#0b0f14; --card:#111826; --muted:#9fb0c3; --fg:#e6edf3; --border:rgba(255,255,255,.08); }
body { background:var(--bg); color:var(--fg); font: 15px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial; }
.container, .wrap { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:14px; padding:18px; margin-bottom:14px; }
a { color:#66c1ff; }

/* Grid helpers */
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.row3 { display:grid; grid-template-columns:2fr 1fr 1fr; gap:12px; }

/* Cards deck for plan lists (home page categories) */
.cards { display:grid; gap:16px; }
.cards.auto { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* Sticky top bar (for category chips/anchors) */
.sticky-bar {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(8px);
  background: rgba(17,24,38,.85);
  border-bottom: 1px solid var(--border);
}

/* Inputs */
input[type=text], input[type=email], input[type=date], select, textarea {
  width:100%; padding:10px; border-radius:10px; border:1px solid var(--border);
  background:#0f1725; color:var(--fg);
}
.btn { padding:10px 14px; border-radius:10px; border:1px solid var(--border);
       background:linear-gradient(180deg, rgba(102,193,255,.18), rgba(102,193,255,.10)); color:#fff; font-weight:800; }
.err { color:#ffb4b4; }

/* Breakpoints */
@media (max-width: 1024px) {
  .row3 { grid-template-columns: 1fr 1fr; }   /* collapse 3→2 */
}
@media (max-width: 640px) {
  .row2, .row3 { grid-template-columns: 1fr; }  /* stack to single column */
  .card { padding:14px; }
  .wrap, .container { padding: 0 12px; }
}
