:root{--ink:#24343b;--forest:#3f6358;--soft:#e5efea;--line:#ccd7d1;--paper:#fffdf8}*{box-sizing:border-box}body{margin:0;background:#edf0e9;color:var(--ink);font:18px/1.5 system-ui,sans-serif}a{color:var(--forest)}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;background:var(--paper);border-bottom:1px solid var(--line)}header a{text-decoration:none;font-weight:700}main{max-width:1100px;margin:28px auto;padding:0 20px}h1{font-size:2rem;margin:0 0 18px}h2{font-size:1.35rem;margin:0 0 14px}p{margin:10px 0}nav,.actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.card{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:18px;margin:18px 0}form{max-width:550px}label{display:block;font-weight:600;margin:14px 0 6px}input,select,textarea{display:block;width:100%;font:inherit;color:inherit;padding:11px;border:1px solid #899e93;border-radius:9px;background:white}input[type=checkbox]{display:inline;width:auto}button,.button{display:inline-block;border:1px solid var(--forest);border-radius:10px;padding:10px 16px;background:var(--forest);color:white;font:inherit;text-decoration:none;cursor:pointer;min-height:44px}button:disabled{opacity:.55;cursor:wait}.secondary{background:white;color:var(--forest)}[hidden]{display:none!important}.message{padding:14px;background:var(--soft);border-radius:10px;border-left:4px solid var(--forest);overflow-wrap:anywhere}.error{background:#fff0ed;border-color:#a84430;color:#833525}.muted,small{color:#596c63;font-size:.88rem}.balance{font-size:1.5rem;font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid .card{margin:0}.record{padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.record:last-child{border:0}.record strong{display:block}.record .button{margin-top:8px}.policies{font-size:.85rem;margin-top:20px}footer{max-width:1100px;margin:24px auto;padding:16px 20px;font-size:.85rem;color:#596c63}.status{background:var(--soft);padding:4px 9px;border-radius:6px}.admin-form{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-form .wide{grid-column:1/-1}dialog{border:1px solid var(--line);border-radius:16px;max-width:450px;padding:24px;color:var(--ink)}dialog::backdrop{background:#17292388}dialog button{margin:12px 8px 0 0}:focus-visible{outline:3px solid #bd7c16;outline-offset:3px}@media(max-width:650px){body{font-size:17px}header{padding:12px 16px;flex-wrap:wrap}main{padding:0 12px;margin-top:18px}.card{padding:18px}.grid,.admin-form{grid-template-columns:1fr}h1{font-size:1.6rem}nav button{font-size:.9rem;padding:8px 10px}}
.credit-explainer{margin:0 0 20px;padding:14px 18px;border-left:3px solid #48675b;background:#f1f5ef;border-radius:8px;max-width:70ch}
.credit-explainer h3{margin:0 0 6px;font-size:1.05rem}
.credit-explainer p{margin:0;line-height:1.55;font-size:.95rem}
.account-summary{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:center;margin-bottom:18px}
.account-summary-copy{min-width:0}
.credit-guide-image{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px}
@media(max-width:800px){.account-summary{grid-template-columns:1fr;gap:12px}.credit-guide-image{max-width:320px;margin-inline:auto}}

.account-summary:has(.credit-guide-image[hidden]){grid-template-columns:1fr}

.subscription-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}#invitation-result{overflow-wrap:anywhere}@media(max-width:650px){.subscription-grid{grid-template-columns:1fr}}
