:root{--brand: #16294f;--brand-dark: #0e1a36;--gold: #e3a72f;--gold-soft: #f3d27a;--bronze: #7a4f0e;--ink: #20242e;--muted: #595446;--line: #e7dcc4;--bg: #f6efe0;--card: #ffffff;--error: #b42318;--ok: #0a7d33;--radius: 10px;--display: "Cinzel", "Trajan Pro", Georgia, serif;--body: "EB Garamond", Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{margin:0;font-family:var(--body);font-size:1.05rem;color:var(--ink);background:var(--bg);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:12px 18px;background:var(--brand);color:#fff;border-bottom:2px solid var(--gold)}.topbar .brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.topbar .brand-logo{width:38px;height:38px;border-radius:50%;background:#fff;object-fit:contain;padding:2px;border:2px solid var(--gold);box-sizing:border-box}.topbar .brand-name{font-family:var(--display);font-weight:600;font-size:1.05rem;letter-spacing:.05em;line-height:1.1}.topbar .nav{margin-left:auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.topbar .nav a{color:#fff;text-decoration:none;opacity:.92;font-size:.98rem}.topbar .nav a:hover{opacity:1}.topbar .nav a.router-link-active{box-shadow:inset 0 -2px 0 var(--gold);padding-bottom:2px;opacity:1}.nav-signout{font-size:.98rem}.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;padding:10px;background:none;border:1px solid rgba(255,255,255,.35);border-radius:8px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px}.nav-toggle-bar{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .18s ease,opacity .18s ease}.topbar.nav-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.topbar.nav-open .nav-toggle-bar:nth-child(2){opacity:0}.topbar.nav-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.content{width:100%;max-width:640px;margin:0 auto;padding:20px 16px;flex:1}.auth-brand{text-align:center;margin:40px 0 4px}.auth-brand-logo{width:72px;height:72px;border-radius:50%;background:#fff;object-fit:contain;padding:4px;border:2px solid var(--gold);box-sizing:border-box}.auth-brand-name{font-family:var(--display);color:var(--brand);font-weight:600;letter-spacing:.05em;margin:12px 0 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:16px}.auth-card{max-width:430px;margin:20px auto 48px}h1,h2,h3{font-family:var(--display);color:var(--brand);font-weight:600;line-height:1.2}h1{font-size:1.55rem;letter-spacing:.02em;margin:0 0 16px}h2{font-size:1.15rem;letter-spacing:.02em;margin:0 0 10px}h3{font-size:1.05rem;margin:0 0 6px}.greeting{margin:8px 0 18px}label{display:block;margin-bottom:14px;font-size:.92rem;color:var(--muted)}input,select{display:block;width:100%;margin-top:6px;padding:11px 12px;font-family:var(--body);font-size:1.02rem;color:var(--ink);border:1px solid #d8cdb4;border-radius:8px;background:#fff}input:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #16294f26}.btn{display:inline-block;width:100%;padding:12px 18px;font-family:var(--body);font-size:1.02rem;font-weight:600;color:#fff;background:var(--brand);border:none;border-radius:8px;cursor:pointer;text-decoration:none;text-align:center;transition:background .18s ease}.btn:hover{background:var(--brand-dark)}.btn:disabled{opacity:.6;cursor:default}.link-btn{background:none;border:none;color:#fff;cursor:pointer;font:inherit;opacity:.92}.link-btn:hover{opacity:1}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.92rem}.auth-links a{color:var(--brand);text-decoration:none}.auth-links a:hover{color:var(--bronze);text-decoration:underline}.amount{font-family:var(--display);font-size:2.1rem;font-weight:600;color:var(--brand);margin:4px 0 14px}.amount.zero{color:var(--ok)}.dues-list{list-style:none;padding:0;margin:0}.dues-list li{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line)}.muted{color:var(--muted)}.small{font-size:.88rem}.strong,strong{font-weight:600}.error{color:var(--error);margin:8px 0}.info{color:var(--ok);margin:8px 0}.success{text-align:center}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn-ghost{display:block;text-align:center;padding:12px;border-radius:8px;border:1px solid var(--brand);color:var(--brand);text-decoration:none;font-weight:600;transition:background .18s ease}.btn-ghost:hover{background:#e3a72f1f;border-color:var(--gold)}.check-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--ink)}.check-row input{width:auto;margin:0}.check-row span{flex:1}.hist-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.hist-right{display:flex;align-items:center;gap:12px}.tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 6px}.link{background:none;border:none;color:var(--brand);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.link:hover{color:var(--bronze)}.stripe-element{margin:12px 0 16px}.dues-list+.btn{margin-top:16px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition-duration:.001ms!important}}@media (max-width: 640px){body{font-size:1rem}.topbar{flex-wrap:wrap;gap:10px 14px;padding:10px 14px}.topbar .brand-name{font-size:.98rem}.nav-toggle{display:flex}.topbar .nav{display:none;order:3;flex-basis:100%;margin-left:0;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 0 4px;border-top:1px solid rgba(255,255,255,.18);margin-top:6px}.topbar.nav-open .nav{display:flex}.topbar .nav a,.nav-signout{padding:10px 4px;font-size:1.02rem}.content{padding:16px 14px}.card{padding:18px}h1{font-size:1.4rem}.amount{font-size:1.9rem}.auth-card{margin:12px auto 32px}}@media (max-width: 380px){.actions{grid-template-columns:1fr}}
