/* Lani English · Be A Gift · My Learning / Teacher Studio */
.bag-wrap{display:grid;gap:17px;margin:23px 0 26px;min-width:0}
.bag-card{padding:24px;border-radius:23px}
.bag-card h2{font-size:clamp(1.17rem,2vw,1.45rem);line-height:1.35;color:#17426d;margin:0 0 13px}
.bag-card p{color:#5c7891;line-height:1.65;font-size:.92rem}
.bag-eyebrow{display:block;text-transform:uppercase;font-size:.7rem;letter-spacing:.13em;font-weight:850;color:#418bb5;margin:0 0 12px}
.bag-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.bag-heading h2{margin:0}
.bag-hero{display:flex;justify-content:space-between;gap:12px;align-items:center;background:linear-gradient(118deg,#c8efff 0%,#ecf9ff 65%,#fff4d5 100%);overflow:hidden;border-color:#d7ebf8}
.bag-hero h2{color:#124475;font-weight:850}
.bag-hero p{max-width:550px;margin:7px 0 14px}
.bag-flower{font-size:clamp(4.2rem,9vw,7rem);filter:drop-shadow(0 9px 9px #9ab9c55c);line-height:1}
.bag-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;background:#fff9e5;border:1px solid #f4e6bd;border-radius:99px;color:#8e742b;font-weight:800;font-size:.72rem;white-space:nowrap}
.bag-promise{background:#fffdf7;border-color:#f3e9d2}
.bag-rule{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-radius:15px;background:#fff;margin:9px 0;border:1px solid #f5ebda;font-size:.94rem}
.bag-rule strong{font-size:.91rem;color:#a56b20;white-space:nowrap}
.bag-consent{display:flex;align-items:flex-start;gap:10px;margin:15px 0;color:#486980;font-size:.89rem;line-height:1.55;cursor:pointer}
.bag-consent input,.bag-reasons input{width:17px;height:17px;accent-color:#327fc9;flex-shrink:0;margin-top:3px}
.bag-button{background:#e79a3f;color:#fff;border:0;border-radius:13px;margin-top:4px}
.bag-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.bag-impact{display:grid;grid-template-columns:42px 1fr;column-gap:9px;margin:10px 0;padding:14px;background:#f4f9ff;border:1px solid #e6eff9;border-radius:16px}
.bag-impact:nth-of-type(2){background:#fff9eb}
.bag-impact:nth-of-type(3){background:#f3faf2}
.bag-impact span{grid-row:span 2;font-size:1.65rem}
.bag-impact b{font-size:.93rem;color:#205479}
.bag-impact small{margin-top:5px;line-height:1.55;color:#688196}
.bag-stats,.bag-total{border-radius:16px;background:#f0f8ff;padding:16px;margin:13px 0;display:flex;flex-direction:column;gap:7px;color:#4a7393}
.bag-stats strong,.bag-total strong{font-size:1.8rem;color:#1c6ba5;font-variant-numeric:tabular-nums}
.bag-stats small,.bag-total small{color:#7792a5}
.bag-reasons{display:grid;gap:9px;margin:15px 0 10px}
.bag-reasons label{display:flex;align-items:center;gap:8px;border:1px solid #e6ebf2;padding:11px;border-radius:12px;color:#415f7e;font-size:.87rem}
.bag-success{border-radius:13px;padding:12px 14px;background:#e9f8f1;color:#20765f!important;border:1px solid #c2e5d7;font-size:.85rem}
.bag-pending{margin-top:17px;background:#f7fbff;border:1px solid #d8eaf9;padding:14px;border-radius:15px}
.bag-donation{margin:12px 0;border-top:1px solid #e3edf8;padding:12px 0 0;font-size:.88rem}
.bag-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.bag-actions .button{font-size:.83rem;border-radius:11px;padding:10px 12px;text-decoration:none}
.bag-zalo{background:#1679cb!important;color:white!important}
.bag-muted,.bag-empty{font-size:.85rem;color:#738b9e}
.bag-empty{padding:17px;background:#f7faff;border-radius:12px}
.bag-ledger-rows{display:grid;gap:4px}
.bag-ledger-row{padding:11px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #edf2f8}
.bag-ledger-row b{display:block;color:#315d7d;font-size:.86rem}
.bag-ledger-row small{display:block;color:#7993a4;margin-top:4px}
.bag-ledger-row strong{color:#216b91;white-space:nowrap}
.bag-error{background:#fff0ef;color:#b23d34!important;border:1px solid #f0c2c2;border-radius:12px;padding:12px 15px}
.bag-review{padding:17px;border:1px solid #dfeaf3;border-radius:17px;margin-top:15px;background:#fbfdff}
.bag-review .bag-heading b{overflow-wrap:anywhere;color:#205177}
.bag-review .bag-heading strong{white-space:nowrap;color:#1a6b9b}
.bag-teacher{margin-top:18px}
@media(max-width:800px){.bag-grid{grid-template-columns:1fr}.bag-card{padding:19px}.bag-flower{font-size:3.9rem}.bag-hero{align-items:flex-start}.bag-heading .bag-pill{white-space:normal}.bag-rule{font-size:.85rem}}
@media(max-width:420px){.bag-hero{gap:0}.bag-flower{font-size:3rem}.bag-hero h2{font-size:1.2rem}.bag-card{padding:17px}.bag-actions .button{width:100%;text-align:center}.bag-rule strong{font-size:.81rem}}
/* Contact Lani: visible even before a student reports a contribution. */
.bag-zalo-contact{background:#eef8ff;border:1px solid #d9ecfc;border-radius:14px;padding:12px 13px;margin:12px 0 15px;align-items:center}
.bag-zalo-contact small{font-size:.8rem;line-height:1.5;color:#416987;flex:1;min-width:160px}
.bag-zalo-contact .bag-zalo{display:inline-flex;align-items:center;justify-content:center;min-height:42px;text-align:center;font-weight:800;border:1px solid #1377c5}
.bag-ledger .bag-empty .bag-zalo{display:inline-flex;margin-top:7px;padding:10px 15px;border-radius:12px;text-decoration:none;font-size:.86rem}
@media(max-width:580px){.bag-zalo-contact{flex-direction:column;align-items:stretch}.bag-zalo-contact small{min-width:0}.bag-zalo-contact .bag-zalo{width:100%}}
