.blood-bank,.blood-admin{--blood:#a91226;--blood-dark:#670b18;--ink:#11251a;--green:#075b36;--lime:#b7ef38;--mist:#f3f8f4;color:var(--ink)}.blood-bank{gap:24px;max-width:1180px;margin:0 auto;padding:8px 0 34px;display:grid}.blood-bank__intro,.blood-admin__hero{color:#fff;background:linear-gradient(125deg,var(--blood-dark),var(--blood) 58%,#d94754);border:1px solid #ffffff1f;border-radius:26px;justify-content:space-between;align-items:center;gap:24px;padding:30px;display:flex;box-shadow:0 18px 50px #670b1838}.blood-bank__intro span,.blood-admin__hero>div>span,.blood-record-card>span{letter-spacing:.16em;font-size:12px;font-weight:900}.blood-bank__intro h2,.blood-admin__hero h2{margin:8px 0;font-size:clamp(25px,4vw,45px);line-height:1.05}.blood-bank__intro p,.blood-admin__hero p{opacity:.86;max-width:720px;margin:0;line-height:1.7}.blood-bank__drop{background:#ffffff1f;border:2px solid #ffffff80;border-radius:50%;flex:0 0 90px;place-items:center;width:90px;height:90px;font-size:50px;display:grid}.blood-summary{grid-template-columns:repeat(8,1fr);gap:10px;display:grid}.blood-summary>div{text-align:center;background:#fff;border:1px solid #dbe7df;border-radius:15px;gap:5px;padding:15px 9px;display:grid;box-shadow:0 8px 22px #0f321d0f}.blood-summary b{color:var(--blood);font-size:24px}.blood-summary span{color:#637269;font-size:11px}.blood-auth-card,.blood-profile-card,.blood-admin__filters,.blood-donor-list,.blood-record-card{background:#fff;border:1px solid #dbe7df;border-radius:22px;padding:24px;box-shadow:0 12px 34px #0f321d14}.blood-auth-tabs{background:#edf5ef;border-radius:13px;gap:8px;margin-bottom:22px;padding:5px;display:flex}.blood-auth-tabs button{color:#43564a;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:12px;font-weight:800}.blood-auth-tabs button.active{color:#fff;background:var(--green)}.blood-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.blood-form label{align-content:start;gap:7px;display:grid}.blood-form label>span{color:#53645a;font-size:12px;font-weight:800}.blood-form input,.blood-form select,.blood-form textarea,.blood-admin__filters input,.blood-admin__filters select{color:#14261b;width:100%;font:inherit;background:#fbfdfb;border:1px solid #cedbd2;border-radius:11px;outline:none;padding:12px 13px}.blood-form input:focus,.blood-form select:focus,.blood-form textarea:focus,.blood-admin__filters input:focus,.blood-admin__filters select:focus{border-color:var(--green);box-shadow:0 0 0 3px #075b361f}.blood-form .wide{grid-column:1/-1}.blood-form--login{max-width:650px;margin:auto}.blood-submit{cursor:pointer;color:#fff!important;background:var(--blood)!important;border:0!important;border-radius:11px!important;padding:13px 18px!important;font-weight:900!important}.blood-submit:disabled{opacity:.55}.blood-message{color:#12472e;overflow-wrap:anywhere;background:#e4f8e9;border-radius:10px;margin:16px 0 0;padding:12px 14px}.blood-privacy{text-align:center;color:#65766b;margin:0;font-size:12px}.blood-profile-card__head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;display:flex}.blood-profile-card__head span{color:var(--green);letter-spacing:.12em;font-size:11px;font-weight:900}.blood-profile-card__head h2{margin:6px 0 0}.blood-profile-card__head>b{color:#fff;background:var(--blood);border-radius:50%;place-items:center;width:82px;height:82px;font-size:30px;display:grid}.blood-check{padding-top:24px;align-items:center!important;gap:10px!important;display:flex!important}.blood-check input{width:20px;height:20px}.blood-profile-actions{flex-wrap:wrap;gap:10px;display:flex}.blood-profile-actions button{cursor:pointer;background:#f5faf6;border:1px solid #cbdacf;border-radius:10px;padding:12px 16px;font-weight:800}.blood-link-button,.blood-confirm-button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:10px 14px;font-weight:800;text-decoration:underline}.blood-confirm-button{margin:12px auto 0;display:block}.blood-loading{justify-content:center;align-items:center;gap:12px;min-height:130px;display:flex}.blood-spinner{border:3px solid #dbe7df;border-top-color:var(--blood);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite blood-spin}@keyframes blood-spin{to{transform:rotate(360deg)}}.blood-history{gap:8px;margin-top:22px;display:grid}.blood-history h3{margin:0 0 5px}.blood-history>div{background:#f2f7f3;border-radius:10px;grid-template-columns:110px 90px 1fr auto;align-items:center;gap:10px;padding:11px;display:grid}.blood-history small{overflow-wrap:anywhere}.blood-history button{color:#fff;background:var(--green);border:0;border-radius:8px;padding:7px 10px}.blood-admin{gap:18px;margin-top:22px;display:grid}.blood-admin__hero{background:linear-gradient(125deg,#4c0711,var(--blood) 62%,#d44954)}.blood-admin__stats{background:#ffffff1f;border-radius:18px;flex:0 0 140px;place-items:center;min-height:110px;display:grid}.blood-admin__stats b{font-size:38px}.blood-admin__stats span{font-size:11px}.blood-admin__filters{grid-template-columns:2fr 1fr;gap:14px;display:grid}.blood-admin__filters label{gap:7px;display:grid}.blood-admin__filters label>span{font-size:12px;font-weight:900}.blood-group-chips{grid-template-columns:repeat(9,1fr);gap:8px;display:grid}.blood-group-chips button{color:#344b3d;cursor:pointer;background:#fff;border:1px solid #d0ded4;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:11px 6px;font-weight:900;display:flex}.blood-group-chips button.active{border-color:var(--blood);color:#fff;background:var(--blood)}.blood-group-chips small{width:20px;height:20px;color:inherit;background:#00000017;border-radius:50%;place-items:center;display:grid}.blood-admin__layout{grid-template-columns:minmax(0,1.55fr) minmax(330px,.8fr);align-items:start;gap:18px;display:grid}.blood-donor-list__title{justify-content:space-between;align-items:center;display:flex}.blood-donor-list__title h3{margin:0}.blood-donor-list__title span{color:#637269;font-size:12px}.blood-donor{background:#fff;border:1px solid #dbe7df;border-radius:15px;margin-top:12px;transition:all .2s;overflow:hidden}.blood-donor.active{border-color:var(--blood);box-shadow:0 0 0 3px #a912261a}.blood-donor__main{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:64px 1fr auto;align-items:center;gap:13px;width:100%;padding:13px;display:grid}.blood-donor__main>strong{color:#fff;background:var(--blood);border-radius:14px;place-items:center;height:54px;font-size:22px;display:grid}.blood-donor__main>span{gap:5px;min-width:0;display:grid}.blood-donor__main>span small{white-space:nowrap;text-overflow:ellipsis;color:#66766c;overflow:hidden}.blood-donor__main em{border-radius:999px;padding:6px 9px;font-size:10px;font-style:normal;font-weight:900}.blood-donor__main em.available{color:#126231;background:#d9f9e2}.blood-donor__main em.unavailable{color:#881627;background:#fde1e5}.blood-donor__meta,.blood-donor__actions{border-top:1px solid #edf2ee;flex-wrap:wrap;gap:8px;padding:9px 13px;display:flex}.blood-donor__meta{color:#69786e;justify-content:space-between;font-size:11px}.blood-donor__actions button{color:#17462e;cursor:pointer;background:#e5f5e9;border:0;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800}.blood-donor__actions button:nth-child(2){color:#741420;background:#fbe3e6}.blood-record-card{position:sticky;top:20px}.blood-record-card>span{color:var(--blood)}.blood-record-card>h3{margin:7px 0 18px;font-size:24px}.blood-selected{background:#f7ecee;border-radius:14px;align-items:center;gap:13px;margin-bottom:17px;padding:13px;display:flex}.blood-selected>b{color:#fff;background:var(--blood);border-radius:50%;place-items:center;width:62px;height:62px;font-size:23px;display:grid}.blood-selected p{gap:4px;margin:0;display:grid}.blood-selected small{color:#65756b}.blood-record-form{grid-template-columns:1fr 1fr}.blood-empty{text-align:center;color:#718077;background:#f4f8f5;border-radius:13px;padding:25px}@media (width<=900px){.blood-summary{grid-template-columns:repeat(4,1fr)}.blood-group-chips{grid-template-columns:repeat(5,1fr)}.blood-admin__layout{grid-template-columns:1fr}.blood-record-card{position:static}}@media (width<=600px){.blood-bank{gap:15px}.blood-bank__intro,.blood-admin__hero{border-radius:20px;align-items:flex-start;padding:21px}.blood-bank__drop{flex-basis:58px;width:58px;height:58px;font-size:30px}.blood-admin__stats{display:none}.blood-summary{grid-template-columns:repeat(4,1fr);gap:7px}.blood-summary>div{padding:11px 5px}.blood-summary b{font-size:19px}.blood-auth-card,.blood-profile-card,.blood-admin__filters,.blood-donor-list,.blood-record-card{border-radius:17px;padding:15px}.blood-form,.blood-admin__filters,.blood-record-form{grid-template-columns:1fr}.blood-form .wide{grid-column:auto}.blood-profile-card__head>b{width:64px;height:64px;font-size:24px}.blood-profile-actions{display:grid}.blood-profile-actions button{width:100%}.blood-group-chips{grid-template-columns:repeat(3,1fr)}.blood-donor__main{grid-template-columns:52px 1fr}.blood-donor__main>strong{height:48px}.blood-donor__main em{grid-column:2;justify-self:start}.blood-history>div{grid-template-columns:1fr 1fr}.blood-history small{grid-column:1/-1}}.blood-simple-register__head{margin-bottom:22px}.blood-simple-register__head>span,.blood-registration-success>div>span{color:var(--blood);letter-spacing:.14em;font-size:11px;font-weight:900}.blood-simple-register__head h2{margin:7px 0;font-size:clamp(24px,4vw,38px)}.blood-simple-register__head p{color:#65766b;margin:0}.blood-registration-success{background:#fff;border:1px solid #dbe7df;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:26px;display:grid;box-shadow:0 12px 34px #0f321d14}.blood-registration-success__mark{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:64px;height:64px;font-size:32px;font-weight:900;display:grid}.blood-registration-success h2{margin:5px 0}.blood-registration-success p{color:#617168;margin:0}.blood-registration-success__group{color:#fff;background:var(--blood);border-radius:50%;place-items:center;width:78px;height:78px;font-size:28px;display:grid}.blood-registration-success__details,.blood-registration-success__actions,.blood-registration-success>.blood-message{grid-column:1/-1}.blood-registration-success__details{grid-template-columns:1fr 2fr;gap:10px;display:grid}.blood-registration-success__details p{background:#f2f7f3;border-radius:12px;padding:13px}.blood-registration-success__details span{text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:900;display:block}.blood-registration-success__actions{flex-wrap:wrap;gap:10px;display:flex}.blood-registration-success__actions button{cursor:pointer;background:#f5faf6;border:1px solid #cbdacf;border-radius:11px;padding:12px 16px;font-weight:900}.blood-donor-list--wide{width:100%}.blood-admin-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.blood-admin-card-grid .blood-donor{margin-top:0}.blood-public-directory{background:#fff;border:1px solid #dbe7df;border-radius:22px;gap:16px;padding:24px;display:grid;box-shadow:0 12px 34px #0f321d14}.blood-public-directory__head{justify-content:space-between;align-items:center;gap:18px;display:flex}.blood-public-directory__head>div>span{color:var(--blood);letter-spacing:.14em;font-size:11px;font-weight:900}.blood-public-directory__head h2{margin:5px 0;font-size:clamp(24px,3vw,34px)}.blood-public-directory__head p{color:#65766b;margin:0}.blood-public-directory__head>b{color:#fff;background:var(--blood);border-radius:50%;flex:0 0 58px;place-items:center;width:58px;height:58px;font-size:22px;display:grid}.blood-public-search{background:#f8fbf9;border:1px solid #cbdacf;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:4px 8px 4px 14px;display:grid}.blood-public-search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #075b361f}.blood-public-search>span{color:var(--green);font-size:28px;font-weight:900}.blood-public-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:11px 2px}.blood-public-search button{color:#fff;background:var(--blood);cursor:pointer;border:0;border-radius:50%;place-items:center;width:34px;height:34px;font-size:21px;display:grid}.blood-public-quick-groups{flex-wrap:wrap;gap:7px;display:flex}.blood-public-quick-groups button{color:#344b3d;cursor:pointer;background:#fff;border:1px solid #d0ded4;border-radius:999px;min-width:49px;padding:8px 11px;font-weight:900}.blood-public-quick-groups button.active{border-color:var(--blood);color:#fff;background:var(--blood)}.blood-public-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.blood-public-card{background:#fbfdfb;border:1px solid #dbe7df;border-radius:16px;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;display:grid}.blood-public-card__group{color:#fff;background:linear-gradient(145deg,var(--blood),#d33b4d);border-radius:15px;place-items:center;width:62px;height:62px;font-size:22px;display:grid}.blood-public-card h3{margin:0 0 5px;font-size:17px}.blood-public-card p{color:#69786e;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.blood-public-card>a{color:#fff;background:var(--green);border-radius:10px;padding:9px 11px;font-size:12px;font-weight:900;text-decoration:none}.blood-directory-error{color:#8a1726;background:#fde8eb;border-radius:12px;margin:0;padding:14px}@media (width<=900px){.blood-admin-card-grid{grid-template-columns:1fr}}@media (width<=700px){.blood-public-grid{grid-template-columns:1fr}.blood-public-card{grid-template-columns:54px minmax(0,1fr)}.blood-public-card__group{width:54px;height:54px;font-size:19px}.blood-public-card>a{grid-column:2;justify-self:start}.blood-public-directory{border-radius:18px;padding:16px}.blood-public-directory__head{align-items:flex-start}.blood-public-directory__head>b{flex-basis:46px;width:46px;height:46px;font-size:18px}}@media (width<=600px){.blood-registration-success{grid-template-columns:auto 1fr;padding:18px}.blood-registration-success__group{border-radius:14px;grid-column:1/-1;width:100%;height:58px}.blood-registration-success__details{grid-template-columns:1fr}.blood-registration-success__actions{display:grid}.blood-registration-success__actions button{width:100%}.blood-public-search input{font-size:14px}.blood-public-quick-groups{grid-template-columns:repeat(3,1fr);display:grid}.blood-public-quick-groups button{min-width:0}}.blood-entry-choice{background:linear-gradient(145deg,#fff,#f5faf7);border:1px solid #dbe7df;border-radius:24px;gap:18px;padding:25px;display:grid;box-shadow:0 12px 34px #0f321d14}.blood-entry-choice__head>span{color:var(--blood);letter-spacing:.14em;font-size:11px;font-weight:900}.blood-entry-choice__head h2{margin:7px 0 0;font-size:clamp(25px,4vw,38px)}.blood-entry-choice__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.blood-entry-choice__grid>button{text-align:left;color:var(--ink);cursor:pointer;background:#fff;border:2px solid #dce8e0;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;transition:all .2s;display:grid}.blood-entry-choice__grid>button:hover,.blood-entry-choice__grid>button.active{border-color:var(--blood);transform:translateY(-2px);box-shadow:0 10px 24px #a912261f}.blood-entry-choice__grid>button>b{color:#fff;background:var(--blood);border-radius:15px;place-items:center;width:55px;height:55px;font-size:25px;display:grid}.blood-entry-choice__grid>button:nth-child(2)>b{background:var(--green)}.blood-entry-choice__grid>button>span{gap:5px;display:grid}.blood-entry-choice__grid strong{font-size:18px}.blood-entry-choice__grid small{color:#68786e}.blood-entry-choice__grid em{font-size:24px;font-style:normal;font-weight:900}.blood-active-flow{gap:20px;display:grid}.blood-flow-placeholder{text-align:center;color:#617168;background:#f6faf7;border:1px dashed #a9baae;border-radius:17px;padding:22px}.blood-request-result{background:#fff;border:1px solid #dbe7df;border-radius:22px;gap:18px;padding:24px;display:grid;box-shadow:0 12px 34px #0f321d14}.blood-request-result__head{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.blood-request-result__head>span{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:58px;height:58px;font-size:28px;font-weight:900;display:grid}.blood-request-result__head small{color:var(--blood);letter-spacing:.12em;font-weight:900}.blood-request-result__head h2{margin:4px 0}.blood-request-result__head p{color:#65766b;margin:0}.blood-request-result__head>b{color:#fff;background:var(--blood);border-radius:50%;place-items:center;width:72px;height:72px;font-size:25px;display:grid}.blood-request-summary{grid-template-columns:1fr 2fr 1fr;gap:10px;display:grid}.blood-request-summary p{background:#f2f7f3;border-radius:12px;margin:0;padding:13px}.blood-request-summary span{color:#64756a;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:900;display:block}.blood-new-request{color:var(--green);cursor:pointer;background:#f5faf6;border:1px solid #cbdacf;border-radius:10px;justify-self:start;padding:11px 15px;font-weight:900}@media (width<=700px){.blood-entry-choice{border-radius:18px;padding:16px}.blood-entry-choice__grid{grid-template-columns:1fr}.blood-entry-choice__grid>button{padding:14px}.blood-request-result{padding:16px}.blood-request-result__head{grid-template-columns:auto 1fr}.blood-request-result__head>b{border-radius:13px;grid-column:1/-1;width:100%;height:54px}.blood-request-summary{grid-template-columns:1fr}.blood-new-request{width:100%}}.blood-public-card__actions{justify-items:stretch;gap:7px;display:grid}.blood-public-card__actions>a,.blood-public-card__actions>button{color:#fff;text-align:center;background:var(--green);cursor:pointer;white-space:nowrap;border:0;border-radius:10px;padding:9px 11px;font-size:12px;font-weight:900;text-decoration:none}.blood-public-card__actions>button{background:var(--blood)}.blood-public-card__actions>button.selected{background:#70411a}.blood-public-card__actions>button:disabled{cursor:default;opacity:.8}.blood-selected-assignment{background:linear-gradient(145deg,#ecfaef,#fff);border:2px solid #72bd83;border-radius:17px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.blood-selected-assignment span{color:var(--green);letter-spacing:.12em;font-size:11px;font-weight:900}.blood-selected-assignment h3{margin:5px 0;font-size:23px}.blood-selected-assignment p{color:#5d6f64;margin:0}.blood-selected-assignment__actions{flex-wrap:wrap;gap:8px;display:flex}.blood-selected-assignment__actions a,.blood-selected-assignment__actions button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:10px;padding:11px 14px;font-weight:900;text-decoration:none}.blood-selected-assignment__actions button{background:var(--blood)}.blood-admin-tabs{background:#e9f1eb;border-radius:15px;grid-template-columns:1fr 1fr;gap:8px;padding:6px;display:grid}.blood-admin-tabs button{color:#43564a;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:13px;font-weight:900}.blood-admin-tabs button.active{color:#fff;background:var(--blood)}.blood-admin__filters:has(label:nth-child(3)){grid-template-columns:2fr 1fr 1fr}.blood-patient-admin{background:#fff;border:1px solid #dbe7df;border-radius:22px;gap:16px;padding:24px;display:grid;box-shadow:0 12px 34px #0f321d14}.blood-patient-admin .blood-donor-list__title>div{gap:4px;display:grid}.blood-report-print{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:10px;padding:11px 15px;font-weight:900}.blood-patient-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.blood-patient-card{background:#fbfdfb;border:1px solid #dbe7df;border-radius:18px;gap:14px;padding:17px;display:grid}.blood-patient-card>header{grid-template-columns:66px 1fr;align-items:center;gap:13px;display:grid}.blood-patient-card>header>b{color:#fff;background:var(--blood);border-radius:16px;place-items:center;height:66px;font-size:23px;display:grid}.blood-patient-card>header span{color:var(--blood);letter-spacing:.12em;font-size:10px;font-weight:900}.blood-patient-card>header h3{margin:4px 0}.blood-patient-card>header p{color:#65766b;margin:0;font-size:12px}.blood-patient-details{grid-template-columns:1fr 1fr;gap:8px;display:grid}.blood-patient-details p{overflow-wrap:anywhere;background:#eef5f0;border-radius:10px;margin:0;padding:10px}.blood-patient-details p.wide{grid-column:1/-1}.blood-patient-details span{color:#6a786f;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:900;display:block}.blood-assignment-summary{background:#e9f8ed;border:1px solid #9dc9a8;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.blood-assignment-summary.donated{background:#f3ecf8;border-color:#b79bce}.blood-assignment-summary span{color:var(--green);letter-spacing:.12em;font-size:9px;font-weight:900}.blood-assignment-summary h4{margin:4px 0}.blood-assignment-summary p,.blood-assignment-summary small{color:#5d6d63;margin:0;font-size:11px}.blood-assignment-actions{gap:6px;display:grid}.blood-assignment-actions button,.blood-admin-assign button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:900}.blood-assignment-actions button:last-child{background:var(--blood)}.blood-admin-assign{grid-template-columns:1fr auto;gap:8px;display:grid}.blood-admin-assign select{background:#fff;border:1px solid #cad8cf;border-radius:10px;min-width:0;padding:10px}.blood-patient-card>footer{border-top:1px solid #e5ede7;justify-content:space-between;align-items:center;gap:10px;padding-top:11px;display:flex}.blood-patient-card>footer small{color:#6c7a71}.blood-patient-card>footer button{color:#fff;background:var(--blood);cursor:pointer;border:0;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:900}@media (width<=900px){.blood-patient-grid{grid-template-columns:1fr}.blood-admin__filters:has(label:nth-child(3)){grid-template-columns:1fr 1fr}}@media (width<=700px){.blood-public-card__actions{grid-column:2}.blood-selected-assignment,.blood-assignment-summary{flex-direction:column;align-items:stretch}.blood-selected-assignment__actions{display:grid}.blood-patient-admin{padding:15px}.blood-patient-admin .blood-donor-list__title{flex-direction:column;align-items:stretch;gap:10px}.blood-admin__filters:has(label:nth-child(3)){grid-template-columns:1fr}.blood-patient-details{grid-template-columns:1fr}.blood-patient-details p.wide{grid-column:auto}.blood-admin-assign{grid-template-columns:1fr}.blood-patient-card>footer{flex-direction:column;align-items:stretch}.blood-patient-card>footer button{width:100%}}.blood-private-directory-note{color:#31543e;background:#edf7f0;border:1px solid #c9dbce;border-radius:13px;margin:0;padding:15px 17px;font-weight:800;line-height:1.7}.blood-donor--inactive{background:#fff8f9;border-color:#e2c5ca}.blood-donor__last-date{font-weight:800;color:#8b1727!important}.blood-donor__actions .blood-delete-button{color:#fff;background:var(--blood)}.blood-management-approval{background:linear-gradient(135deg,#edf8f0,#fff);border:1px solid #b8d4bf;border-radius:18px;grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);gap:16px;padding:18px;display:grid}.blood-management-approval__contact{color:#fff;background:linear-gradient(135deg,#073f29,#0a6a40);border-radius:14px;gap:7px;padding:16px;display:grid}.blood-management-approval__contact>span,.blood-approval-form label>span{letter-spacing:.12em;font-size:10px;font-weight:900}.blood-management-approval__contact h3,.blood-management-approval__contact p{margin:0}.blood-management-approval__contact h3{font-size:clamp(22px,3vw,31px)}.blood-management-approval__contact>div{flex-wrap:wrap;gap:8px;margin-top:5px;display:flex}.blood-management-approval__contact a{color:#073f29;background:#b7f33d;border-radius:9px;padding:9px 13px;font-weight:900;text-decoration:none}.blood-approval-form{align-content:center;gap:12px;padding:8px;display:grid}.blood-approval-form label{gap:8px;display:grid}.blood-approval-form input{text-align:center;letter-spacing:.32em;background:#fff;border:2px solid #b8c9bd;border-radius:12px;width:100%;padding:15px;font-size:28px;font-weight:900}.blood-approval-form input:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 4px #075b361f}.blood-approval-form button{color:#fff;background:var(--blood);cursor:pointer;border:0;border-radius:11px;padding:13px;font-weight:900}.blood-approval-form button:disabled{cursor:not-allowed;opacity:.55}.blood-message--error{color:#861827;background:#fde8eb}.blood-admin-approval{background:#fff7df;border:1px solid #e5bd68;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.blood-admin-approval.approved{background:#eaf8ee;border-color:#8ec69b}.blood-admin-approval>div:first-child{gap:4px;display:grid}.blood-admin-approval span{color:#815708;letter-spacing:.12em;font-size:9px;font-weight:900}.blood-admin-approval strong{letter-spacing:.17em;font-size:27px}.blood-admin-approval small{color:#637269}.blood-admin-approval>div:last-child{flex-wrap:wrap;gap:7px;display:flex}.blood-admin-approval button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:8px;padding:9px 11px;font-size:11px;font-weight:900}.blood-admin-approval button:last-child{background:var(--blood)}@media (width<=700px){.blood-management-approval{grid-template-columns:1fr;padding:13px}.blood-approval-form{padding:3px}.blood-admin-approval{flex-direction:column;align-items:stretch}.blood-admin-approval>div:last-child{grid-template-columns:1fr 1fr;display:grid}.blood-admin-approval button{width:100%}}.blood-request-recovery{background:linear-gradient(135deg,#eef9f1,#fff);border:1px solid #a9cdb3;border-radius:20px;gap:16px;padding:22px;display:grid;box-shadow:0 12px 30px #075b3614}.blood-request-recovery>div>span{color:var(--blood);letter-spacing:.13em;font-size:10px;font-weight:900}.blood-request-recovery h3{margin:6px 0;font-size:clamp(22px,3vw,31px)}.blood-request-recovery p{color:#5d7164;margin:0;line-height:1.6}.blood-request-recovery form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.blood-request-recovery label{gap:6px;display:grid}.blood-request-recovery label>span{color:#31543e;letter-spacing:.08em;font-size:10px;font-weight:900}.blood-request-recovery input{box-sizing:border-box;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #abc7b2;border-radius:10px;padding:12px}.blood-request-recovery button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:10px;min-height:44px;padding:10px 18px;font-weight:900}.blood-request-recovery button:disabled{opacity:.6;cursor:wait}.blood-request-live-status{color:#174b2c;background:#eaf8ee;border:1px solid #91c49e;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.blood-request-live-status.complete{color:#4f2567;background:#f4edf8;border-color:#bea0d0}.blood-request-live-status span{letter-spacing:.12em;font-size:10px;font-weight:900}.blood-request-live-status b{text-transform:capitalize}@media (width<=700px){.blood-request-recovery{padding:16px}.blood-request-recovery form{grid-template-columns:1fr}.blood-request-live-status{flex-direction:column;align-items:flex-start}}.blood-secure-match{color:#fff;background:linear-gradient(135deg,#092f22,#0d4932);border:1px solid #97f53e52;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin:18px 0;padding:22px;display:grid;box-shadow:0 14px 35px #04231829}.blood-admin-contact-settings{background:linear-gradient(135deg,#f0faf3,#fff);border:1px solid #bad7c1;border-radius:18px;grid-template-columns:minmax(230px,1fr) minmax(220px,.8fr) auto;align-items:end;gap:14px;margin:18px 0;padding:20px;display:grid;box-shadow:0 12px 30px #05462a14}.blood-admin-contact-settings h3,.blood-admin-contact-settings p{margin:3px 0}.blood-admin-contact-settings>div>span,.blood-admin-contact-settings label>span{color:#166534;letter-spacing:.12em;font-size:10px;font-weight:900;display:block}.blood-admin-contact-settings label input{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #9fc6aa;border-radius:10px;margin-top:6px;padding:12px}.blood-admin-contact-settings button{color:#fff;cursor:pointer;background:#166534;border:0;border-radius:10px;min-height:44px;padding:10px 18px;font-weight:900}.blood-admin-contact-settings button:disabled{opacity:.6;cursor:wait}.blood-admin-contact-settings>small{color:#345744;border-top:1px solid #d5e8da;grid-column:1/-1;padding-top:12px;line-height:1.6}@media (width<=760px){.blood-admin-contact-settings{grid-template-columns:1fr;align-items:stretch}.blood-admin-contact-settings button{width:100%}}.blood-secure-match>b{color:#12331f;background:#9df43f;border-radius:18px;place-items:center;width:76px;height:76px;font-size:34px;display:grid}.blood-secure-match span{font-weight:800}.blood-secure-match p{color:#d3e4da;margin:7px 0 0;line-height:1.65}.blood-secure-match__actions{flex-wrap:wrap;gap:9px;display:flex}.blood-secure-match__actions a{color:#14351f;background:#9df43f;border-radius:999px;padding:11px 15px;font-weight:800;text-decoration:none}@media (width<=700px){.blood-secure-match{grid-template-columns:auto 1fr}.blood-secure-match__actions{grid-column:1/-1}.blood-secure-match>b{width:62px;height:62px;font-size:28px}}.blood-admin-add-donor{color:#2b1717;background:linear-gradient(135deg,#fff7f7 0%,#fff 68%);border:1px solid #fecaca;border-radius:20px;grid-template-columns:minmax(220px,.85fr) minmax(0,1.6fr) auto;align-items:end;gap:18px;margin:18px 0 24px;padding:22px;display:grid;box-shadow:0 14px 34px #7f1d1d14}.blood-admin-add-donor__heading span{color:#b91c1c;letter-spacing:1.4px;margin-bottom:6px;font-size:11px;font-weight:900;display:block}.blood-admin-add-donor__heading h3{color:#7f1d1d;margin:0 0 6px;font-size:21px}.blood-admin-add-donor__heading p{color:#786568;margin:0;font-size:13px;line-height:1.5}.blood-admin-add-donor__fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.blood-admin-add-donor__fields label{gap:6px;min-width:0;display:grid}.blood-admin-add-donor__fields label.wide{grid-column:1/-1}.blood-admin-add-donor__fields label>span{color:#5f4347;font-size:12px;font-weight:800}.blood-admin-add-donor__fields input,.blood-admin-add-donor__fields select{color:#241719;background:#fff;border:1px solid #e8c8cc;border-radius:10px;outline:none;width:100%;min-width:0;padding:11px 12px}.blood-admin-add-donor__fields input:focus,.blood-admin-add-donor__fields select:focus{border-color:#dc2626;box-shadow:0 0 0 4px #dc26261a}.blood-admin-add-donor__submit{color:#fff;white-space:nowrap;cursor:pointer;background:linear-gradient(135deg,#991b1b,#dc2626);border:0;border-radius:11px;min-height:46px;padding:11px 17px;font-weight:900;box-shadow:0 8px 18px #991b1b33}.blood-admin-add-donor__submit:disabled{cursor:wait;opacity:.65}@media (width<=950px){.blood-admin-add-donor{grid-template-columns:1fr;align-items:stretch}}@media (width<=620px){.blood-admin-add-donor{padding:17px}.blood-admin-add-donor__fields{grid-template-columns:1fr}.blood-admin-add-donor__fields label.wide{grid-column:auto}.blood-admin-add-donor__submit{width:100%}}.blood-donor-list__title>div{gap:4px;display:grid}.blood-donor-list__title .blood-report-print{max-width:360px;line-height:1.35}@media (width<=700px){.blood-donor-list__title{flex-direction:column;align-items:stretch;gap:10px}.blood-donor-list__title .blood-report-print{width:100%;max-width:none}}.blood-selected-donor{background:linear-gradient(135deg,#f0fdf4,#fff);border:2px solid #16a064;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin:18px 0;padding:20px;display:grid;box-shadow:0 16px 38px #16a0641f}.blood-selected-donor__group{color:#fff;background:#b91c1c;border-radius:50%;place-items:center;width:72px;height:72px;font-size:28px;font-weight:950;display:grid}.blood-selected-donor__details span{color:#168057;letter-spacing:.12em;font-size:10px;font-weight:900}.blood-selected-donor__details h3{margin:5px 0 2px;font-size:24px}.blood-selected-donor__details p{color:#64746c;margin:0 0 7px}.blood-selected-donor__details strong{color:#7f1d1d;letter-spacing:.04em;font-size:21px}.blood-selected-donor__actions{gap:7px;min-width:165px;display:grid}.blood-selected-donor__actions a,.blood-selected-donor__actions button{color:#fff;text-align:center;cursor:pointer;background:#166534;border:0;border-radius:9px;padding:10px 13px;font-weight:850;text-decoration:none}.blood-selected-donor__actions a:nth-child(2){background:#168a52}.blood-selected-donor__actions button{background:#b91c1c}.blood-selected-donor__actions button:disabled{opacity:.65}.blood-selected-donor--complete{background:#f0f7f2;border-color:#78b98e}.blood-selected-donor--complete .blood-selected-donor__actions button{display:none}@media (width<=680px){.blood-selected-donor{grid-template-columns:auto 1fr;gap:12px;padding:15px}.blood-selected-donor__group{width:58px;height:58px;font-size:23px}.blood-selected-donor__details h3{font-size:20px}.blood-selected-donor__details strong{font-size:18px}.blood-selected-donor__actions{grid-column:1/-1;grid-template-columns:1fr 1fr;min-width:0}.blood-selected-donor__actions button{grid-column:1/-1}}.blood-donor__photo{object-fit:cover;border:3px solid #fff;border-radius:14px;width:54px;height:54px;box-shadow:0 3px 12px #5d141e33}.blood-photo-upload{color:#fff;cursor:pointer;background:#166534;border-radius:8px;align-items:center;padding:7px 9px;font-size:11px;font-weight:800;display:inline-flex}.blood-photo-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.blood-donor-reel{gap:18px;padding:28px 0;display:grid;overflow:hidden}.blood-donor-reel__heading{text-align:center}.blood-donor-reel__heading span{color:#a91226;letter-spacing:.18em;font-size:10px;font-weight:950}.blood-donor-reel__heading h2{color:#173c28;margin:5px 0}.blood-donor-reel__heading p{color:#66776c;margin:0}.blood-donor-reel__viewport{padding:6px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.blood-donor-reel__track{gap:12px;width:max-content;animation:28s linear infinite blood-donor-reel;display:flex}.blood-donor-reel__viewport:hover .blood-donor-reel__track{animation-play-state:paused}.blood-donor-reel article{background:linear-gradient(135deg,#fff,#f2faf4);border:1px solid #d9e8dc;border-radius:18px;grid-template-columns:72px minmax(130px,1fr);align-items:center;gap:12px;width:230px;padding:10px;display:grid;box-shadow:0 8px 22px #0f321d14}.blood-donor-reel article img{object-fit:cover;border-radius:14px;width:72px;height:72px}.blood-donor-reel article div{gap:6px;display:grid}.blood-donor-reel article strong{color:#173c28}.blood-donor-reel article span{color:#fff;background:#a91226;border-radius:999px;place-items:center;width:45px;height:28px;font-weight:950;display:grid}@keyframes blood-donor-reel{to{transform:translate(calc(-50% - 6px))}}@media (prefers-reduced-motion:reduce){.blood-donor-reel__track{animation:none}}.public-notification-center{z-index:1400;font-family:inherit;position:fixed;top:105px;right:22px}.public-notification-bell{color:#fff;cursor:pointer;background:#063d25;border:1px solid #b7ef3861;border-radius:999px;align-items:center;gap:9px;padding:12px 16px;display:flex;box-shadow:0 12px 30px #0020123d}.public-notification-bell>span{color:#b7ef38;font-size:12px}.public-notification-bell b{font-size:13px}.public-notification-bell i{color:#062b1a;background:#b7ef38;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-style:normal;font-weight:900;display:grid}.public-notification-panel{background:#fff;border:1px solid #08523126;border-radius:22px;width:min(390px,100vw - 28px);position:absolute;top:55px;right:0;overflow:hidden;box-shadow:0 24px 70px #00231447}.public-notification-panel header{color:#fff;background:linear-gradient(130deg,#053b23,#087245);justify-content:space-between;align-items:flex-start;padding:20px;display:flex}.public-notification-panel header span{letter-spacing:.15em;color:#b7ef38;font-size:10px;font-weight:900}.public-notification-panel header h2{margin:4px 0 0;font-size:22px}.public-notification-panel header button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:27px}.public-notification-list{max-height:420px;display:grid;overflow:auto}.public-notification-list>button{text-align:start;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e4eee8;grid-template-columns:32px 1fr auto;gap:10px;padding:16px;display:grid}.public-notification-list>button.unread{background:#f1fae9}.public-notification-list>button>span{color:#fff;background:#a91226;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.public-notification-list strong{color:#073e26;font-size:14px;display:block}.public-notification-list p{color:#52655a;margin:4px 0;font-size:12px;line-height:1.45}.public-notification-list small{color:#7b8b82;font-size:10px}.public-notification-list>button>b{color:#0b6840;align-self:center;font-size:20px}@media (width<=700px){.public-notification-center{z-index:2900;inset:auto auto 96px 14px}.public-notification-bell{padding:11px 14px}.public-notification-panel{width:auto;max-height:62vh;position:fixed;inset:auto 12px 148px}.public-notification-list{max-height:42vh}}*{box-sizing:border-box}body{color:#173c2a;background:#f4f8f5;margin:0;font:16px/1.6 system-ui,sans-serif}button,input{font:inherit}button{cursor:pointer;color:#fff;background:#14603d;border:0;border-radius:9px;padding:10px 16px}button:disabled{opacity:.6}a{color:#14603d}.site-header{background:#fff;border-bottom:1px solid #dce9e0;justify-content:space-between;align-items:center;gap:12px;padding:18px max(18px,50vw - 590px);display:flex}.brand{align-items:center;gap:12px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.brand small{letter-spacing:1px;font-size:11px;font-weight:500;display:block}.brand-mark{color:#b83243;background:#e5f2e9;border-radius:14px;padding:8px 15px;font-size:28px}.header-actions{gap:8px;display:flex}.shell{max-width:1180px;margin:auto;padding:24px 18px}.intro{color:#fff;background:#103e2b;border-radius:22px;margin-bottom:24px;padding:38px}.intro h1{margin:14px 0;font-size:clamp(30px,5vw,52px);line-height:1.4}.eyebrow{letter-spacing:2px;color:#b9dec6;font-size:11px}.notice{background:#ffffff0c;border-left:3px solid #e4bd70;max-width:850px;padding:14px;font-size:14px}.login-panel{background:#fff;border-radius:16px;max-width:440px;margin:24px auto;padding:28px}.login-panel label{margin:15px 0;display:block}.login-panel input{border:1px solid #aabdaf;border-radius:8px;width:100%;padding:10px}.admin-session{justify-content:space-between;padding:16px;display:flex}.install-panel{background:#e5f1e8;border-radius:16px;margin-top:30px;padding:24px}footer{text-align:center;padding:28px 18px 90px;font-size:14px}footer a{margin:10px}.blood-bank-page{max-width:100%}@media (width<=540px){.brand{font-size:15px}.brand-mark{display:none}.header-actions button{padding:8px;font-size:13px}.intro{padding:24px}.shell{padding:16px 10px}}.brand>span:last-child{max-width:300px;line-height:1.3}.brand small{margin-top:5px}@media (width<=540px){.brand>span:last-child{max-width:170px}}
