:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#667085;--primary:#0f766e;--primary-dark:#115e59;--danger:#b42318;--border:#e4e7ec;--success:#027a48;--soft:#ecfdf3}*{box-sizing:border-box}body{margin:0;font-family:Arial,Noto Sans Bengali,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}.container{width:min(1120px,92vw);margin:0 auto}.topbar{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-weight:800;color:var(--primary);text-decoration:none;font-size:20px}.nav nav{display:flex;gap:14px;flex-wrap:wrap}.nav a{color:var(--text);text-decoration:none}.main{padding:28px 0 42px}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(16,24,40,.04)}.hero{display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:center}.eyebrow{color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin:0 0 8px}h1,h2,h3{margin-top:0;line-height:1.2}.lead,.muted{color:var(--muted)}.search-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.search-form input,.search-form select,.stack-form input,.stack-form select,.stack-form textarea{border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:#fff;min-width:190px;font:inherit}.search-form input,.search-form select,.stack-form input,.stack-form select{height:44px}.stack-form textarea{min-height:110px;resize:vertical}.stack-form{display:grid;gap:14px}.stack-form label{display:grid;gap:7px;font-weight:700}.stack-form input[type=file]{height:auto;padding:12px}button,.button{border:0;background:var(--primary);color:#fff;border-radius:12px;padding:11px 18px;font-weight:700;text-decoration:none;display:inline-block;cursor:pointer}button:hover,.button:hover{background:var(--primary-dark)}.button.light{background:var(--soft);color:var(--primary);border:1px solid #a6f4c5}.button.danger{background:var(--danger)}.button.danger:hover{background:#7a271a}.grid{display:grid;gap:16px;margin-top:18px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}.donor-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.stat-card strong{font-size:26px;color:var(--primary);display:block}.success-history{margin:20px 0}.success-card{border-color:#a6f4c5}.success-card.wide{grid-column:span 2}.join-cta{margin:20px 0;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:linear-gradient(135deg,#ecfdf3 0%,#ffffff 55%,#fff7ed 100%);border:1px solid #a6f4c5;position:relative;overflow:hidden}.join-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(15,118,110,.12),transparent 34%);pointer-events:none}.join-cta>*{position:relative}.join-cta h2{margin-bottom:8px}.join-cta-icon{width:64px;height:64px;border-radius:22px;background:#dc2626;color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:900;box-shadow:0 14px 30px rgba(220,38,38,.22)}.join-button{white-space:nowrap;box-shadow:0 12px 24px rgba(15,118,110,.22);font-size:16px}.stat-big{background:var(--soft);border-radius:20px;padding:24px;text-align:center}.stat-big span{display:block;font-size:46px;font-weight:900;color:var(--primary)}.stat-big.inline{display:inline-block;text-align:left}.stat-big.inline span{font-size:34px}.blood-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:58px;border-radius:50%;background:#fee4e2;color:var(--danger);font-weight:900;font-size:18px;margin-bottom:12px}.blood-badge.large{width:82px;height:82px;font-size:24px}.donor-card h3{margin-bottom:8px}.results-head{margin:24px 0 10px}.alert{padding:13px 15px;border-radius:12px;margin-bottom:16px}.alert-success{background:var(--soft);color:var(--success);border:1px solid #abefc6}.alert-error{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}.auth-card{max-width:520px;margin:40px auto}.admin-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row-actions form,.admin-actions form{margin:0}.link-danger{background:transparent;color:var(--danger);padding:0;border-radius:0;font-weight:700}.link-danger:hover{background:transparent;text-decoration:underline}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chips span,.status-pill{background:#f2f4f7;border:1px solid var(--border);padding:6px 10px;border-radius:999px}.table-wrap{overflow-x:auto;margin-top:16px}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px;vertical-align:top}th{background:#f9fafb}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.details-grid div{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fcfcfd}.details-grid strong{display:block;color:var(--muted);font-size:13px;margin-bottom:4px}.selected-donor,.list-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fcfcfd;margin-bottom:14px}.code-box{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;font-family:monospace}.embed-body{background:transparent}.embed-wrap{padding:10px;max-width:1000px;margin:0 auto}.footer{color:var(--muted);padding:26px 0;border-top:1px solid var(--border);background:#fff}@media(max-width:760px){.hero,.two,.details-grid,.form-grid,.join-cta{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column;padding:14px 0}.search-form input,.search-form select,.search-form button{width:100%}.admin-head{align-items:flex-start;flex-direction:column}.success-card.wide{grid-column:auto}.join-button{width:100%;text-align:center}.join-cta-icon{width:56px;height:56px;border-radius:18px}}
