:root{--bg:#0f172a;--panel:rgba(15,23,42,.72);--panel2:rgba(30,41,59,.68);--fg:#e5e7eb;--muted:#94a3b8;--line:rgba(148,163,184,.22);--field:#111827;--primary:#60a5fa;--primary2:#2563eb;--bad:#f87171;--ok:#34d399;--warn:#fbbf24;--radius:.3rem;--shadow:0 8px 22px rgba(0,0,0,.22);--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(circle at top left,#1e3a8a 0,#0f172a 34%,#020617 100%);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}body{min-height:100%;margin:0;color:var(--fg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}input,select{width:100%;height:2.35rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(2,6,23,.5);color:var(--fg);padding:.45rem .6rem;outline:none}input:focus,select:focus{border-color:rgba(96,165,250,.8);box-shadow:0 0 0 3px rgba(96,165,250,.15)}label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:650}.container{width:min(1180px,calc(100% - 1.5rem));margin:0 auto;padding:1rem 0 2rem}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:.7rem;width:min(1180px,calc(100% - 1.5rem));margin:.75rem auto 0;padding:.5rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(15,23,42,.72);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.logo,.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius);background:linear-gradient(135deg,var(--primary),var(--primary2));color:white;font-weight:900}.topbar nav{display:flex;gap:.35rem;flex:1}.topbar nav a{padding:.45rem .65rem;border-radius:var(--radius);color:var(--muted);font-size:.85rem}.topbar nav a:hover{background:rgba(148,163,184,.11);color:var(--fg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.25rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(15,23,42,.62);color:var(--fg);padding:.45rem .7rem;cursor:pointer;font-size:.85rem;font-weight:750;white-space:nowrap}.btn:hover{border-color:rgba(96,165,250,.55);background:rgba(30,41,59,.82)}.btn-primary{border-color:rgba(96,165,250,.75);background:linear-gradient(135deg,var(--primary2),#1d4ed8);color:#fff}.btn-danger{border-color:rgba(248,113,113,.5);color:#fecaca}.btn-sm{min-height:1.9rem;padding:.32rem .5rem;font-size:.78rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1rem 0}.page-head h1,.auth-card h1{margin:.1rem 0;font-size:clamp(1.35rem,2vw,2rem);letter-spacing:-.04em}.eyebrow{margin:0;color:var(--primary);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.muted{color:var(--muted)}p{margin:.25rem 0}.grid-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:.75rem 0}.metric,.panel,.auth-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--panel),rgba(15,23,42,.56));box-shadow:var(--shadow);backdrop-filter:blur(14px)}.metric{display:grid;gap:.25rem;padding:.85rem}.metric span{color:var(--muted);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.metric strong{font-size:1.15rem;letter-spacing:-.03em}.metric small{color:var(--muted);line-height:1.35}.panel{padding:.85rem;margin:.75rem 0}.compact-panel{max-width:720px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.panel h2{margin:0;font-size:1rem}.inline-filter,.inline-form,.dues-form{display:flex;align-items:end;gap:.45rem}.inline-filter select{min-width:170px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:.82rem}th,td{padding:.55rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}th{background:rgba(15,23,42,.72);color:#cbd5e1;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}td small{display:block;margin-top:.12rem;color:var(--muted);font-size:.7rem}.actions{display:flex;gap:.35rem;align-items:center}.empty{text-align:center;color:var(--muted);padding:1rem}.badge{display:inline-flex;align-items:center;min-height:1.45rem;padding:.18rem .45rem;border:1px solid rgba(96,165,250,.28);border-radius:var(--radius);background:rgba(96,165,250,.12);color:#bfdbfe;font-size:.72rem;font-weight:850}.badge-warn{border-color:rgba(251,191,36,.34);background:rgba(251,191,36,.12);color:#fde68a}.text-ok{color:var(--ok);font-weight:850}.text-bad{color:var(--bad);font-weight:850}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:min(420px,100%);padding:1rem}.form-stack{display:grid;gap:.75rem;margin-top:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.form-actions{grid-column:1/-1;display:flex;gap:.5rem;justify-content:flex-end}.toast{position:fixed;right:1rem;top:1rem;z-index:50;display:flex;align-items:center;gap:.5rem;max-width:min(420px,calc(100% - 2rem));padding:.65rem .8rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(15,23,42,.92);box-shadow:var(--shadow);backdrop-filter:blur(14px);font-size:.85rem}.toast svg{width:1rem;height:1rem;fill:currentColor;flex:0 0 auto}.toast-ok{color:#bbf7d0;border-color:rgba(52,211,153,.34)}.toast-bad{color:#fecaca;border-color:rgba(248,113,113,.38)}.error-box{padding:.7rem;border:1px solid rgba(248,113,113,.38);border-radius:var(--radius);background:rgba(127,29,29,.2);color:#fecaca}@media(max-width:900px){.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-head,.page-head{align-items:stretch;flex-direction:column}.inline-filter{align-items:stretch}.form-grid{grid-template-columns:1fr}.topbar{align-items:stretch;flex-wrap:wrap}.topbar nav{order:3;width:100%;overflow:auto}.topbar form{margin-left:auto}}@media(max-width:560px){.grid-cards{grid-template-columns:1fr}.actions,.dues-form{align-items:stretch;flex-direction:column}.inline-form{width:100%}.btn{width:100%}.toast{left:.75rem;right:.75rem;top:.75rem;max-width:none}}
