.nav{color:#334155;text-decoration:none;padding:.25rem 0}.nav.active{color:#be185d;border-bottom:2px solid #be185d}.link{text-decoration:underline}.btn{background:#be185d;color:#fff;padding:.45rem .8rem;border-radius:.5rem;text-decoration:none;font-weight:600}.btn-secondary{background:#e2e8f0;color:#0f172a;padding:.45rem .8rem;border-radius:.5rem;text-decoration:none;font-weight:600}.card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem}.badge{display:inline-block;padding:.15rem .5rem;border-radius:9999px;background:#fce7f3;color:#9d174d;font-size:.75rem;font-weight:700}.form-input{width:100%;border:1px solid #cbd5e1;border-radius:.5rem;padding:.6rem}.form-label{font-weight:600;color:#0f172a}.table{width:100%;border-collapse:collapse}.table th,.table td{border:1px solid #e5e7eb;padding:.5rem;text-align:left}.alert{border-left:4px solid #ef4444;background:#fef2f2;color:#991b1b;padding:.75rem 1rem;border-radius:.5rem}.success{border-left:4px solid #10b981;background:#ecfdf5;color:#065f46;padding:.75rem 1rem;border-radius:.5rem}

/* Theme */
:root{ --jm-primary:#be185d; --jm-primary-600:#9d174d; --jm-primary-50:#fdf2f8; --jm-accent:#7c3aed; --jm-ink:#0f172a; --jm-ink-2:#334155; --jm-border:#e5e7eb; --jm-bg:#f8fafc; }
body{ background:var(--jm-bg); color:var(--jm-ink); }
.card{ background:#fff; border:1px solid var(--jm-border); border-radius:.9rem; padding:1rem; }
.badge{ display:inline-block; padding:.2rem .6rem; border-radius:9999px; background:var(--jm-primary-50); color:var(--jm-primary-600); font-size:.75rem; font-weight:700; }
.btn, .btn-secondary{ display:inline-flex; align-items:center; justify-content:center; min-height:42px; line-height:1; border-radius:.65rem; padding:.55rem 1rem; text-decoration:none; font-weight:700; white-space:nowrap; gap:.4rem; }
.btn{ background:var(--jm-primary); color:#fff; } .btn:hover{ background:var(--jm-primary-600); }
.btn-secondary{ background:#e2e8f0; color:var(--jm-ink); } .btn-secondary:hover{ background:#cbd5e1; }
.form-input{ width:100%; border:1px solid #cbd5e1; border-radius:.65rem; padding:.7rem .8rem; font-size:1rem; }
.form-label{ font-weight:600; color:var(--jm-ink); }
.alert{ border-left:4px solid #ef4444; background:#fef2f2; color:#991b1b; padding:.85rem 1rem; border-radius:.6rem; }
.success{ border-left:4px solid #10b981; background:#ecfdf5; color:#065f46; padding:.85rem 1rem; border-radius:.6rem; }
@media (max-width: 768px){
  h1{ font-size:1.8rem; line-height:1.2; }
  h2{ font-size:1.5rem; }
  .card{ padding:1rem; }
  .btn, .btn-secondary{ width:100%; min-height:48px; font-size:1rem; }
  .nav{ padding:.5rem 0; }
  .grid-mobile-1 > *{ width:100%; }
}
/* Quickbar */
.jm-quickbar{ position:fixed; left:0; right:0; bottom:0; z-index:60; background:#fff; border-top:1px solid var(--jm-border); display:flex; justify-content:space-around; align-items:center; padding:.35rem .5rem; }
.jm-quickbar a{ flex:1; text-align:center; padding:.45rem .25rem; margin:0 .25rem; border-radius:.65rem; font-weight:700; text-decoration:none; color:var(--jm-ink-2); border:1px solid #e5e7eb; }
.jm-quickbar a:active{ background:var(--jm-primary-50); border-color:#fbcfe8; }
@media (min-width: 768px){ .jm-quickbar{ display:none; } }