*{box-sizing:border-box}
:root{
--primary:#075e70;--primary2:#168aad;--accent:#0b7285;--bg:#f4f7f9;--card:#fff;
--text:#25313a;--muted:#6b7880;--border:#dce4e8;--danger:#c92a2a;--success:#237a37;
}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none}.container{max-width:1180px;margin:30px auto;padding:0 16px}
.hero{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;padding:46px 25px;border-radius:22px;text-align:center;box-shadow:0 14px 38px rgba(0,0,0,.12)}
.hero h1{font-size:38px;margin:0 0 12px}.hero p{font-size:18px;margin:0;opacity:.95}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.search-card{max-width:760px;margin:24px auto}
label{display:block;font-weight:700;margin-bottom:7px}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cbd7dd;border-radius:10px;font:inherit;background:#fff;color:#24313a}
textarea{min-height:105px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.btn,button{display:inline-block;border:0;border-radius:10px;padding:12px 17px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}
.btn-secondary{background:#53636d}.btn-danger{background:#c92a2a}.btn-warning{background:#e67700}.btn-light{background:#fff;color:var(--primary)}
.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.compact .btn,.compact button{padding:8px 10px;font-size:12px}
.alert{padding:14px 16px;border-radius:11px;margin:16px 0}.alert-success{background:#ebfbee;color:#237a37;border:1px solid #b2f2bb}.alert-error{background:#fff0f0;color:#a51111;border:1px solid #ffc9c9}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}
.topbar h1{margin:0}.small{font-size:13px;color:var(--muted)}
.dashboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin:20px 0}
.stat{background:#fff;border:1px solid var(--border);border-radius:15px;padding:18px;text-align:center;box-shadow:0 7px 22px rgba(0,0,0,.05)}
.stat strong{display:block;font-size:32px}.stat span{color:var(--muted)}.stat.active{border-top:5px solid #2f9e44}.stat.expired{border-top:5px solid #e03131}.stat.suspended{border-top:5px solid #f59f00}.stat.cancelled{border-top:5px solid #862e9c}
table{width:100%;border-collapse:collapse;margin-top:18px}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}th{background:#edf4f7}
.table-wrap{overflow-x:auto}
.status{display:inline-block;padding:8px 14px;border-radius:999px;font-weight:800}
.status-valid{background:#d3f9d8;color:#1b6b2a}.status-expired{background:#ffe3e3;color:#a51111}.status-suspended{background:#fff3bf;color:#8a5a00}.status-inactive{background:#e9ecef;color:#495057}.status-cancelled{background:#f3d9fa;color:#7b2c8f}
.membership-card{background:linear-gradient(135deg,#062f3a,#075e70 58%,#168aad);color:#fff;border-radius:25px;padding:27px;box-shadow:0 20px 50px rgba(0,0,0,.22);position:relative;overflow:hidden}
.membership-card:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-110px;top:-130px;background:rgba(255,255,255,.08)}
.card-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:18px;position:relative;z-index:2}
.org-name{font-size:25px;font-weight:900;letter-spacing:.5px}.org-sub{opacity:.86;margin-top:4px}
.card-body{display:grid;grid-template-columns:160px 1fr 155px;gap:25px;align-items:center;padding:26px 0;position:relative;z-index:2}
.member-photo{width:150px;height:180px;object-fit:cover;border:4px solid rgba(255,255,255,.78);border-radius:18px;background:#dce8ed}
.photo-empty{display:flex;align-items:center;justify-content:center;color:#60717b;text-align:center}
.member-data h2{font-size:31px;margin:0 0 16px}.member-data p{line-height:1.55}
.qr-box{background:#fff;border-radius:16px;padding:10px;text-align:center;color:#25313a}.qr-box img{display:block;width:135px;max-width:100%}.qr-box small{font-weight:700}
.card-foot{border-top:1px solid rgba(255,255,255,.28);padding-top:14px;font-size:12px;opacity:.87;position:relative;z-index:2}
.public-message{margin-top:18px;padding:17px;border-radius:12px;background:#eef9ff;border-left:5px solid #168aad;color:#17465a}
.result-note{text-align:center;padding:16px;margin:18px 0;border-radius:12px;background:#eafaf1;border:1px solid #b2f2bb;color:#236b32}
.admin-note{background:#fff8e1;border:1px solid #ffe066;padding:14px;border-radius:11px;margin-top:12px}
.login-box{max-width:520px;margin:70px auto}
.pagination{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.pagination a{padding:8px 11px;border-radius:8px;background:#e9f1f4;color:#075e70;font-weight:700}
@media(max-width:900px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.card-body{grid-template-columns:1fr;text-align:center}.member-photo{margin:auto}.qr-box{max-width:155px;margin:auto}}
@media(max-width:700px){.container{margin:15px auto}.hero{padding:34px 18px}.hero h1{font-size:29px}.form-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.card{padding:17px}.card-head{flex-direction:column}.org-name{font-size:21px}.member-data h2{font-size:26px}}
@media(max-width:430px){.dashboard-grid{grid-template-columns:1fr}.membership-card{padding:19px}.actions{flex-direction:column}.actions .btn,.actions button{width:100%;text-align:center}}
