:root{--navy:#17324d;--blue:#2b6f9f;--green:#3d8060;--ink:#24323d;--muted:#657580;--border:#dfe7ec;--soft:#f5f8fa;--white:#fff;--danger:#a63232}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fbfcfd;line-height:1.55}a{color:var(--blue)}img{max-width:100%}.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{padding:18px 15px;background:#fff;border-right:1px solid var(--border);position:sticky;top:0;height:100vh;overflow:auto}.brand-banner{width:100%;border-radius:12px}.sidebar small{display:block;color:var(--muted);margin:8px 4px 15px}.nav-group{margin:12px 0}.nav-group summary{font-weight:800;color:var(--navy);cursor:pointer;padding:8px}.nav-group a,.nav-single{display:block;padding:8px 11px;border-radius:9px;text-decoration:none;color:#40545f}.nav-group a:hover,.nav-single:hover,.active{background:#edf5fb!important;color:var(--navy)!important}.main{min-width:0}.topbar{display:none}.container{max-width:1220px;margin:auto;padding:22px 28px 44px}.legal-line{text-align:center;color:#526876;font-size:.9rem;margin:-4px 0 12px}.hero{padding:2.4rem 2.6rem;border-radius:24px;background:radial-gradient(circle at 86% 12%,rgba(55,137,171,.19),transparent 30%),linear-gradient(128deg,#edf5fb 0%,#f6fbf7 58%,#f7f5fb 100%);border:1px solid #d9e5ec;box-shadow:0 10px 30px rgba(25,55,75,.06)}.hero h1{color:var(--navy);font-size:clamp(1.55rem,2.55vw,2.2rem);line-height:1.08;margin:.35rem 0 .7rem;white-space:nowrap}.eyebrow{color:var(--blue);font-size:.9rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.lead{font-size:1.28rem;color:#425662;max-width:960px}.muted{font-size:1.08rem;color:var(--muted)}h1,h2,h3{color:var(--navy);line-height:1.2}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.panel{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 7px 22px rgba(25,55,75,.04)}.initiative-card img{width:100%;aspect-ratio:5/3;object-fit:cover;border-radius:13px}.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 16px;background:var(--navy);color:#fff;text-decoration:none;font-weight:750;cursor:pointer}.button.secondary,button.secondary{background:#edf5fb;color:var(--navy);border:1px solid #cddfe9}.button.danger,button.danger{background:var(--danger)}.actions{display:flex;gap:9px;flex-wrap:wrap}.alert{padding:12px 15px;border-radius:11px;margin:12px 0;background:#eaf5ef;color:#285c42}.alert.error{background:#fff0f0;color:#852525}.alert.info{background:#eef6fb;color:#27536f}.pill{display:inline-block;border-radius:999px;padding:4px 9px;background:#eaf3f8;color:#315b72;font-size:.83rem;font-weight:700}label{display:block;font-weight:700;margin:10px 0}input,select,textarea{display:block;width:100%;margin-top:5px;padding:10px 11px;border:1px solid #cdd9df;border-radius:9px;font:inherit;background:#fff}textarea{min-height:110px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--navy);background:var(--soft)}footer{margin-top:35px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted)}.narrow{max-width:620px;margin:50px auto;padding:20px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.admin-tabs a{padding:8px 11px;background:#edf3f6;border-radius:9px;text-decoration:none}.stat{font-size:1.8rem;font-weight:800;color:var(--navy)}ul.clean{padding-left:1.2rem}.patron-card h3{margin-bottom:3px}.empty{border:1px dashed #b8c9d3;border-radius:13px;padding:18px;color:var(--muted)}@media(max-width:980px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--border)}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hero h1{white-space:normal}.grid.three{grid-template-columns:1fr 1fr}}@media(max-width:650px){.container{padding:16px}.grid.two,.grid.three,.form-grid{grid-template-columns:1fr}.hero{padding:1.6rem}.sidebar nav{display:block}}
