:root{--bg:#01292d;--surface:#20393e;--surface-2:#012326;--elevated:#29575c;--border:rgba(41,87,92,.35);--border-hover:rgba(41,87,92,.65);--text:#fefefe;--text-secondary:#c7d8d5;--muted:#7a9799;--brand:#4e8d79;--brand-hover:#62a08d;--paid:#16a34a;--pending:#f59e0b;--ready:#60a5fa;--cancelled:#f472b6;--error:#f87171}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.brand-logo,body{color:var(--text)}.brand-logo{display:inline-flex;margin:0 0 .5rem}.brand-logo svg{display:block;height:1.5rem;width:auto}.muted{color:var(--muted);font-size:.9rem}.state{max-width:32rem;margin:0 auto;padding:6rem 1.5rem;text-align:center}.state h1{font-size:1.6rem;font-weight:800;margin:0 0 1rem}.state p{color:var(--text-secondary)}.open-form{margin:2rem auto;max-width:26rem;text-align:left}.open-form__label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.5rem}.open-form__input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:.5rem;color:var(--text);font-size:.9375rem;padding:.75rem .9rem;margin-bottom:.75rem;transition:border-color .15s ease,box-shadow .15s ease}.open-form__input::placeholder{color:var(--muted)}.open-form__input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(78,141,121,.25)}.open-form__input[aria-invalid=true]{border-color:var(--error)}.open-form__error{margin:.75rem 0 0;color:var(--error);font-size:.85rem}.card-wrap{display:flex;justify-content:center;padding:3rem 1.25rem}.card{width:100%;max-width:30rem;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;overflow:hidden}@media (min-width:820px){.card{max-width:52rem}}.card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 1.75rem}.card__header .brand-logo{margin-bottom:.35rem}.card__title{font-size:1.5rem;font-weight:800;margin:0;line-height:1.2}.hero{margin:0 1.75rem;padding:1.5rem 1.5rem 1.4rem;background:linear-gradient(135deg,rgba(78,141,121,.18),rgba(78,141,121,.05));border:1px solid rgba(78,141,121,.35);border-radius:.625rem}.hero__label{margin:0 0 .25rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.hero__amount{margin:0;font-size:2.25rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.hero__breakdown{margin:.5rem 0 0;font-size:.85rem;color:var(--text-secondary)}.card__grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem;padding:1rem 1.75rem 1.5rem}@media (min-width:820px){.card__grid{grid-template-columns:1fr 1fr}}.subcard{background:var(--surface-2);border:1px solid var(--border);border-radius:.625rem;padding:1.1rem 1.25rem 1.25rem}.subcard__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .25rem}.subcard__note{margin:.85rem 0 0;font-size:.75rem;color:var(--muted)}.rows{margin:0;padding:0}.row{display:flex;justify-content:space-between;align-items:baseline;gap:1.25rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:none;padding-bottom:0}.row dt{color:var(--muted);font-size:.85rem;white-space:nowrap}.row dd{margin:0;text-align:right;font-weight:500;font-size:.9rem}.card__footer{display:grid;grid-gap:.75rem;gap:.75rem;padding:.25rem 1.75rem 1.75rem}.button{display:inline-block;width:100%;text-align:center;background:var(--brand);color:var(--text);text-decoration:none;font-weight:600;padding:.75rem 1rem;border-radius:.5rem;border:1px solid transparent;cursor:pointer;font-size:.9375rem;transition:background .15s ease,transform .15s ease}.button:hover{background:var(--brand-hover);transform:translateY(-1px)}.button--secondary{background:transparent;border-color:var(--brand)}.button--secondary:hover{background:var(--surface)}.button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(78,141,121,.35)}.pending-note{margin:0;color:var(--muted);font-size:.9rem}.badge{display:inline-block;padding:.2rem .6rem;border-radius:.375rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#0a0a0a}.badge--paid{background:var(--paid);color:#fefefe}.badge--pending{background:var(--pending)}.badge--ready{background:var(--ready)}.badge--cancelled{background:var(--cancelled)}