.credit-pill,.admin-credit-button{border:1px solid #dfeae2;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap}
.credit-pill{background:#fff8e8;color:#7d5b20;padding:7px 11px;cursor:pointer}.credit-pill:hover{background:#ffefcd;border-color:#e7cf9c}
.admin-credit-button{background:#eaf5ea;color:#397357;padding:7px 11px}
.admin-credit-button:hover{background:#dff0e1}
.admin-modal-backdrop{position:fixed;z-index:60;inset:0;background:#102f3b99;display:grid;place-items:center;padding:24px;backdrop-filter:blur(4px)}
.admin-modal{width:min(780px,100%);max-height:min(760px,calc(100svh - 48px));overflow:auto;background:#f8faf7;border:1px solid #dce8e1;border-radius:20px;box-shadow:0 24px 80px #102e3c55;padding:27px}
.admin-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:21px}
.admin-modal-head h2{font:600 2rem/1.1 Fraunces,Georgia,serif;margin:5px 0 4px}
.admin-modal-head p{color:#74867f;font-size:.8rem;margin:0}
.admin-close{height:38px;width:38px;border:1px solid #dce7e1;background:#fff;border-radius:10px;color:#527068;font-size:1.6rem;line-height:1}
.admin-credit-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(120px,.5fr);gap:13px 15px;background:#fff;border:1px solid #e1eae5;border-radius:15px;padding:19px}
.admin-credit-form .field{margin:0}
.admin-credit-form .admin-note{grid-column:1/-1}
.admin-form-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px}
.admin-form-footer small{color:#81918b;font-size:.7rem;line-height:1.4}
.admin-history{margin-top:24px}
.admin-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.admin-history-head h3{margin:0;font:600 1.15rem Fraunces,Georgia,serif}
.admin-history-head span{color:#87968f;font-size:.69rem}
.admin-grant-list{display:grid;gap:8px}
.admin-grant{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;background:#fff;border:1px solid #e1e9e4;border-radius:11px;padding:12px 14px}
.admin-grant strong{font-size:.77rem;overflow:hidden;text-overflow:ellipsis}
.admin-grant-amount{color:#397357;font-size:.78rem;font-weight:800}
.admin-grant-meta,.admin-grant-note{font-size:.66rem;color:#87968f}
.admin-grant-note{grid-column:1/-1;color:#61776f}
.grant-status{display:inline-block;border-radius:999px;padding:2px 6px;margin-right:5px;background:#e8f3e8;color:#397357;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.grant-status.pending{background:#fff2d8;color:#8b651e}
.admin-empty{background:#fff;border:1px dashed #cddbd3;border-radius:11px;padding:22px;text-align:center;color:#7b8d85;font-size:.76rem}
@media(max-width:960px){.admin-credit-button{font-size:0;padding:7px}.admin-credit-button:after{content:'Admin';font-size:.68rem}.credit-pill{display:none}}
@media(max-width:620px){.admin-modal-backdrop{padding:10px;align-items:end}.admin-modal{padding:21px 16px;max-height:90svh;border-radius:19px 19px 10px 10px}.admin-credit-form{grid-template-columns:1fr}.admin-credit-form .admin-note,.admin-form-footer{grid-column:1}.admin-form-footer{align-items:stretch;flex-direction:column}.admin-form-footer .btn{width:100%}}
.access-pill,.access-status{display:inline-flex;align-items:center;gap:5px;border:1px solid #ead9b5;background:#fff8e8;color:#7d5b20;border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap}
.access-pill{padding:7px 10px}.access-status{padding:4px 8px;margin-bottom:7px}.access-pill.open,.access-status.open{border-color:#cae2d0;background:#eaf5ea;color:#397357}
.unlock-modal-backdrop{position:fixed;z-index:70;inset:0;background:#102f3ba3;display:grid;place-items:center;padding:24px;backdrop-filter:blur(5px)}
.unlock-modal{position:relative;width:min(480px,100%);background:#f8faf7;border:1px solid #dce8e1;border-radius:22px;box-shadow:0 28px 90px #102e3c66;padding:34px;text-align:center}
.unlock-close{position:absolute;right:16px;top:16px;height:38px;width:38px;border:1px solid #dce7e1;background:#fff;border-radius:10px;color:#527068;font-size:1.6rem;line-height:1}
.unlock-icon{width:62px;height:62px;border-radius:18px;background:#e9f5e8;color:#397357;display:grid;place-items:center;margin:0 auto 17px}
.unlock-modal h2{font:600 2.15rem/1.1 Fraunces,Georgia,serif;margin:7px 0 12px}.unlock-modal>p{color:#6f817a;font-size:.85rem;margin:0 auto 20px;max-width:390px}
.unlock-benefits{display:grid;gap:9px;text-align:left;background:#fff;border:1px solid #e1eae5;border-radius:14px;padding:16px;margin-bottom:15px}.unlock-benefits span{display:flex;align-items:center;gap:9px;color:#41645a;font-size:.77rem;font-weight:700}.unlock-benefits svg{color:#5f9f7a}
.unlock-balance{display:flex;align-items:center;justify-content:space-between;background:#fff8e8;border:1px solid #ead9b5;border-radius:12px;padding:12px 15px;margin-bottom:15px;color:#765a2d;font-size:.78rem}.unlock-balance strong{font:700 1.25rem Fraunces,Georgia,serif}
.unlock-submit{width:100%;min-height:49px}.unlock-modal>small{display:block;color:#87968f;font-size:.68rem;line-height:1.45;margin-top:11px}
.purchase-text-button{border:0;background:transparent;color:#397357;font-size:.72rem;font-weight:800;margin-top:10px}.purchase-text-button:hover{text-decoration:underline}
.purchase-modal-backdrop{position:fixed;z-index:75;inset:0;background:#102f3baa;display:grid;place-items:center;padding:24px;backdrop-filter:blur(6px)}
.purchase-modal{position:relative;width:min(570px,100%);max-height:calc(100svh - 48px);overflow:auto;background:#f8faf7;border:1px solid #dce8e1;border-radius:22px;box-shadow:0 28px 90px #102e3c66;padding:34px;text-align:center}
.purchase-icon{width:62px;height:62px;border-radius:18px;background:#fff0cc;color:#8b651e;display:grid;place-items:center;margin:0 auto 17px}.purchase-modal h2{font:600 2.15rem/1.1 Fraunces,Georgia,serif;margin:7px 0 12px}.purchase-modal>p{color:#6f817a;font-size:.85rem;line-height:1.5;margin:0 auto 17px;max-width:450px}
.purchase-current{display:flex;align-items:center;justify-content:space-between;background:#eaf5ea;border:1px solid #cee4d2;border-radius:12px;padding:11px 15px;margin-bottom:14px;color:#397357;font-size:.76rem}.purchase-current strong{font-size:.82rem}.purchase-products{display:grid;gap:10px;margin:14px 0}.purchase-product{position:relative;width:100%;border:1px solid #dce7e1;background:#fff;border-radius:14px;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;color:#234b4d}.purchase-product:hover{border-color:#78b593;background:#f5fbf4;box-shadow:0 7px 20px #214b3c12}.purchase-product.best{border:2px solid #76b893;padding:16px 17px}.purchase-product>span:not(.purchase-best){display:grid;gap:4px}.purchase-product strong{font:600 1.15rem Fraunces,Georgia,serif}.purchase-product small{color:#809087;font-size:.67rem}.purchase-product b{font:700 1.45rem Fraunces,Georgia,serif;color:#183b49}.purchase-best{position:absolute;right:13px;top:-9px;border-radius:999px;background:#76b893;color:#143d35;padding:4px 8px;font-size:.55rem;font-weight:900;letter-spacing:.08em}.purchase-assurances{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 14px;color:#61776f;font-size:.66rem;font-weight:700;margin:14px 0}.purchase-assurances span{display:flex;align-items:center;gap:4px}.purchase-assurances svg{color:#5f9f7a}.purchase-loading,.purchase-unavailable{background:#fff;border:1px dashed #cbdad2;border-radius:14px;padding:24px;margin:14px 0;color:#6f817a;font-size:.78rem}.purchase-unavailable{display:grid;gap:5px}.purchase-unavailable strong{color:#405e57}.purchase-refresh{border:0;background:transparent;color:#397357;font-size:.68rem;font-weight:800}.purchase-refresh:hover:not(:disabled){text-decoration:underline}.purchase-mode{display:block;color:#9b7b3f;font-size:.64rem;margin-top:10px}
@media(max-width:1150px){.access-pill{display:none}}
@media(max-width:620px){.unlock-modal-backdrop,.purchase-modal-backdrop{padding:10px;align-items:end}.unlock-modal,.purchase-modal{padding:29px 18px 24px;border-radius:20px 20px 10px 10px;max-height:92svh}.unlock-modal h2,.purchase-modal h2{font-size:1.8rem}.unlock-close{right:12px;top:12px}.purchase-product{padding:15px 13px}.purchase-product.best{padding:14px 12px}.purchase-product b{font-size:1.25rem}}
