:root{--ink:#152433;--navy:#173d5f;--blue:#009efa;--blue2:#007fc9;--red:#aa0000;--gold:#b58618;--paper:#f4f7fa;--line:#d8e0e8;--muted:#667788;--white:#fff;--shadow:0 12px 30px rgba(19,45,68,.09)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;line-height:1.45}a{color:#006da9}.site-header{min-height:94px;background:#e9eef3;border-bottom:5px solid var(--blue);display:flex;align-items:center;gap:24px;padding:10px 24px;position:sticky;top:0;z-index:20;box-shadow:0 3px 15px rgba(0,0,0,.08)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--red);font-weight:800;letter-spacing:.06em}.brand img{width:205px;height:75px;object-fit:contain}.brand span{border-left:1px solid #b7c2cb;padding-left:14px}.main-nav{display:flex;gap:4px;flex:1}.main-nav a{color:var(--navy);text-decoration:none;font-weight:650;padding:9px 10px;border-radius:7px}.main-nav a:hover{background:#d7e4ed}.account{display:flex;align-items:center;gap:14px;text-align:right}.account span{font-weight:650}.account small{display:block;color:var(--muted);font-weight:400;text-transform:capitalize}.link-button{border:0;background:none;color:#006da9;text-decoration:underline;cursor:pointer;padding:2px;font:inherit}.nav-toggle{display:none}.page{max-width:1500px;margin:0 auto;padding:30px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-heading h1{font-size:clamp(1.7rem,3vw,2.5rem);margin:0;color:var(--navy)}.page-heading p{margin:.25rem 0 0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem!important;font-weight:750;color:var(--red)!important}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:15px;margin-bottom:25px}.stat{background:var(--white);border-top:5px solid var(--navy);border-radius:10px;padding:22px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.stat strong{display:block;font-size:2.2rem;color:var(--navy)}.stat span{color:var(--muted)}.stat.blue{border-color:var(--blue)}.stat.red{border-color:var(--red)}.stat.gold{border-color:var(--gold)}.stat.muted{border-color:#8495a4}.panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:22px;box-shadow:var(--shadow)}.panel h2{margin-top:0;color:var(--navy)}.panel-heading{display:flex;align-items:center;justify-content:space-between}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:720px}th{background:var(--blue);color:#fff;text-align:left;position:sticky;top:0}th,td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:hover{background:#edf8ff}td.actions{white-space:nowrap}td.actions a{margin-right:10px}.empty{text-align:center;color:var(--muted);padding:30px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:10px 15px;text-decoration:none;font-weight:700;cursor:pointer;font:inherit}.button.primary{background:var(--red);color:#fff}.button.primary:hover{background:#c10000}.button.blue{background:var(--navy);color:#fff}.button.secondary{background:#fff;color:var(--navy);border-color:#b9c6d1}.button.danger{background:#7c0010;color:#fff}.button.small{padding:6px 10px;font-size:.9rem}.search-bar{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);padding:15px;border-radius:10px;margin-bottom:18px}.search-bar.compact{max-width:300px}.grow{flex:1}label{display:flex;flex-direction:column;gap:5px;font-weight:650;color:#30485b}input,select,textarea{width:100%;border:1px solid #afbeca;border-radius:7px;padding:10px;background:#fff;color:#152433;font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(0,158,250,.22);border-color:var(--blue)}label small{font-weight:400;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.stack-form{display:flex;flex-direction:column;gap:14px}.status{display:inline-block;padding:4px 8px;border-radius:999px;background:#e5e9ed;font-size:.84rem;white-space:nowrap}.status.active-member{background:#dff4ff;color:#005b86}.status.former-member{background:#eceff2;color:#55616c}.status.prospective-member{background:#fff1cc;color:#725200}.status.honorary-member{background:#f5e5ff;color:#66327c}.alert{padding:12px 15px;border-radius:8px;margin-bottom:15px;background:#e7f5ff;border-left:5px solid var(--blue)}.alert.error{background:#fff0f1;border-color:var(--red)}.alert.success{background:#e9f8ed;border-color:#288341}.login-page{min-height:100vh;display:grid;place-items:center}.login-card{width:min(460px,94vw);background:#fff;padding:36px;border-radius:16px;border-top:8px solid var(--red);box-shadow:0 25px 70px rgba(16,45,67,.18)}.login-logo{width:280px;max-width:100%;display:block;margin:auto}.login-card h1{text-align:center;color:var(--navy);margin-bottom:4px}.login-card>p{text-align:center;color:var(--muted);margin-bottom:24px}.report-options{display:flex;gap:20px;align-items:end}.report-options label{flex:1}.report-buttons{display:flex;gap:10px;flex-wrap:wrap}.upload-form{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin-top:20px}.prose{max-width:900px}.danger-panel{border-left:6px solid var(--red)}.error-card{max-width:650px;margin:10vh auto}.roster-table{max-height:65vh}.roster-table th{top:0}@media(max-width:1050px){.site-header{flex-wrap:wrap}.main-nav{order:4;width:100%;display:none;flex-wrap:wrap}.main-nav.open{display:flex}.nav-toggle{display:block;margin-left:auto}.account{margin-left:auto}.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.page{padding:18px}.site-header{padding:8px 14px}.brand img{width:150px}.brand span{display:none}.account span{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.search-bar,.report-options{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.page-heading{align-items:flex-start;flex-direction:column}.report-buttons{flex-direction:column}.report-buttons .button{width:100%}}@media print{.site-header,.page-heading .button,.search-bar{display:none}.page{padding:0;max-width:none}.table-wrap{box-shadow:none;border:0}}
