/* Copyright (c) 2026 Dismo Industries LLC. Proprietary - all rights reserved. */
.credits-panel { display:grid; gap:1rem; min-width:0; }
.credits-panel[hidden],.credit-account[hidden] { display:none; }
.credit-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }
.credit-tile { display:grid; gap:.35rem; }
.credit-tile>span { color:var(--muted,#9e93bf); font-size:.7rem; letter-spacing:.05em; }
.credit-tile strong,.credit-balance { color:var(--accent,#55dbff); font-size:1.8rem; font-family:monospace; font-weight:800; }
.credit-tile small { color:var(--muted,#9e93bf); }
.credit-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.credit-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:1rem 0; }
.credit-fields label,.credit-grant-form>label,#credit-settings-form>label { display:grid; gap:.4rem; font-size:.85rem; }
.credit-fields input,.credit-fields select,#credit-settings-form>label input { width:100%; min-width:0; }
.credits-panel select { background:var(--card-bg,#151027); color:var(--brand-text,#ede7ff); border:1px solid var(--card-border,#322b43); border-radius:6px; padding:.5rem; }
.credit-confirm { display:flex!important; align-items:center; gap:.5rem; margin:1rem 0; }
.credits-table { max-width:100%; min-width:0; overflow:auto; }
.credits-table table { width:100%; border-collapse:collapse; font-size:.85rem; }
.credits-table th,.credits-table td { text-align:left; border-bottom:1px solid var(--card-border,#322b43); padding:.65rem .25rem; vertical-align:top; white-space:normal!important; overflow-wrap:anywhere; }
.credits-table th { color:var(--muted,#9e93bf); font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; }
.credit-number { font-family:monospace; text-align:right!important; }
.credit-positive { color:#38f2a5; }
.credit-kind { display:inline-block; font-size:.7rem; border-radius:4px; color:var(--accent,#55dbff); background:rgba(85,219,255,.1); padding:.15rem .35rem; }
.credit-request,.credit-activity { border-bottom:1px solid var(--card-border,#322b43); padding:.7rem 0; overflow-wrap:anywhere; }
.credit-request h4,.credit-activity p { margin:.2rem 0; }
.credits-panel p,.credit-account p { line-height:1.5; max-width:80ch; }
.credit-account { background:var(--card-bg,#151027); border:1px solid var(--card-border,#322b43); border-left:2px solid var(--brand-accent,#55dbff); border-radius:12px; margin:1rem 0; padding:1.2rem; min-width:0; }
.credit-account h2 { font-size:1rem; }
.credit-account .credits-table small { display:block; color:var(--brand-muted,#9e93bf); margin-top:.25rem; }
.builder-mode-toggle.has-credits { display:grid; grid-template-columns:minmax(0,1fr); }
.builder-mode-toggle.has-credits .builder-mode-btn { text-align:left; width:100%; }
.credit-columns:has(> :only-child) { grid-template-columns:minmax(0,1fr); }
.credit-account input,.credit-account textarea,.credit-account select { color:var(--brand-text,#ede7ff); background:var(--brand-bg,#0c081b); border:1px solid var(--card-border,#322b43); border-radius:6px; padding:.5rem; max-width:100%; }
.credit-account textarea { width:100%; resize:vertical; }
.credit-account form label { display:block; margin:.5rem 0; }
.credit-account button { margin-top:.5rem; }
.credit-model-choice { margin:.6rem 0; }
.credit-model-choice label { display:grid; gap:.4rem; }
.credit-model-choice select { max-width:100%; }
@media(max-width:700px) {
  .credit-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .credit-columns,.credit-fields { grid-template-columns:minmax(0,1fr); }
  .credits-table { overflow:visible; }
  .credits-table table,.credits-table tbody,.credits-table tr,.credits-table td { display:block; width:100%; text-align:left!important; }
  .credits-table thead { display:none; }
  .credits-table tr { padding:.6rem 0; border-bottom:1px solid var(--card-border,#322b43); }
  .credits-table td { padding:.2rem 0; border:0; }
  .credits-table td[data-label]::before { content:attr(data-label) ': '; color:var(--muted,#9e93bf); font-family:inherit; }
  .credit-account { padding:.8rem; }
}

/* Ledger types: generation grey, failed yellow, included cyan, other dim. */
.credit-kind { font-family:'Space Mono',ui-monospace,monospace; font-weight:700; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.credit-kind-generation { color:#c9bde6; background:rgba(245,236,255,.08); }
.credit-kind-failed { color:#ffd84a; background:rgba(255,216,74,.12); }
.credit-kind-included { color:#68e1fd; background:rgba(104,225,253,.12); }
.credit-kind-other { color:#a89cc8; background:rgba(245,236,255,.06); }
.credit-detail { color:var(--ink-dim,#a89cc8); }
.credit-ledger td strong { font-weight:600; }
.credit-negative { color:#ff5a6e; }
.credit-small { color:var(--ink-dim,#a89cc8); font-size:.8rem; }
.credits-table td small { display:block; color:var(--ink-dim,#a89cc8); margin-top:.2rem; font-size:.75rem; }

/* Admin credits forms, rows and lists. */
.admin-page .credit-primary { background:linear-gradient(90deg,#ff2bb8,#c86bff); border-color:transparent; color:#fff; font-weight:600; }
.admin-page .credit-primary:disabled { opacity:.6; }
.credit-inline { display:flex; align-items:center; gap:.45rem; color:var(--ink-dim,#a89cc8); }
.credit-inline input { flex:0 1 9rem; min-width:0; }
.credit-fields label small { color:var(--ink-mute,#6b5e88); font-size:.76rem; line-height:1.45; }
.credit-fields-one { grid-template-columns:minmax(0,1fr); }
.credit-reason { display:grid; gap:.4rem; font-size:.85rem; margin-bottom:.8rem; max-width:36rem; }
.credit-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; }
.credit-free-line { margin-top:1rem; padding-top:.8rem; border-top:1px solid var(--line,#322b43); color:var(--ink-dim,#a89cc8); }
.credit-models .credit-inline { justify-content:flex-end; }
.credit-models .credit-inline input { flex-basis:6rem; text-align:right; }
.credit-rows { margin:.6rem 0; }
.credit-rows div,.person-usage-rows div { display:flex; justify-content:space-between; gap:1rem; padding:.6rem 0; border-bottom:1px solid var(--line,#322b43); }
.credit-rows dt,.person-usage-rows dt { color:var(--ink,#f5ecff); }
.credit-rows dd,.person-usage-rows dd { margin:0; text-align:right; font-weight:700; }
.credit-activity-list { list-style:none; margin:.4rem 0 0; padding:0; }
.credit-activity-list .credit-activity { display:flex; justify-content:space-between; gap:1rem; padding:.55rem 0; }
.credit-activity-list time { flex:none; font-family:'Space Mono',ui-monospace,monospace; font-size:.75rem; color:var(--ink-dim,#a89cc8); }
.credit-request h4 { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.credit-decided { margin-top:1rem; }
.credit-decided summary { cursor:pointer; color:var(--ink-dim,#a89cc8); font-weight:600; }
.credit-audit td:first-child,.credit-audit td:last-child { white-space:nowrap!important; }
.credit-filters button .mono { opacity:.75; margin-left:.2rem; }

/* People list. */
.admin-page #signin-accounts-card #people-list h3 { display:flex; align-items:center; gap:.5rem; }
.admin-page #signin-accounts-card .people-tiles { margin:1rem 0; }
.admin-page #signin-accounts-table .people-credits { display:none; }
.admin-page #signin-accounts-table.has-credits .people-credits { display:table-cell; text-align:right; }
.admin-page #signin-accounts-table .people-open { text-align:right; width:1%; }
.admin-page #signin-accounts-table td { vertical-align:middle; }
.admin-page #signin-accounts-table th,.admin-page #signin-accounts-table td { text-align:left; }
.admin-page #signin-accounts-table th.people-credits,.admin-page #signin-accounts-table td.people-credits,.admin-page #signin-accounts-table .people-open { text-align:right; }
.admin-page #signin-accounts-table td.people-credits { font-family:var(--font-mono); }
.admin-page #signin-accounts-table .pill { margin-left:.25rem; }
.admin-page #signin-accounts-table td:not(.people-person) { font-size:.85rem; }

/* Person profile. */
.admin-page .person-name { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.admin-page .person-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin:.4rem 0 1rem; }
.admin-page .person-action-credits { border-color:rgba(104,225,253,.5); }
.admin-page #person-profile .tiles { margin:0 0 .85rem; }
.admin-page #person-profile .person-tiles > div { display:block; }
.admin-page #person-profile .person-tiles span.k { color:var(--ink-mute); }
.admin-page #person-profile .person-tiles strong.v { font-size:1.6rem; }
.admin-page #person-profile .person-credit-tiles { grid-template-columns:repeat(4,minmax(0,1fr)); }
.admin-page .person-tabs [role="tab"][data-count]::after { content:attr(data-count); display:inline-block; margin-left:.4rem; padding:0 .4rem; border-radius:999px; background:var(--bg-elev); color:var(--ink-dim); font:700 .68rem var(--font-mono); }
.admin-page #person-profile .person-usage-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:1rem; }
.admin-page .person-usage-rows { margin:1rem 0; }
.admin-page .credit-filters { margin:1rem 0 .4rem; }

/* Give credits dialog. */
.admin-page .credit-dialog { width:min(34rem,calc(100vw - 2rem)); max-height:calc(100vh - 2rem); padding:1.2rem; border:1px solid rgba(104,225,253,.45); border-radius:14px; background:#1f1840; color:var(--ink); box-shadow:0 20px 60px rgba(0,0,0,.6); }
.admin-page .credit-dialog::backdrop { background:rgba(8,5,15,.7); }
.admin-page .credit-dialog-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.admin-page .credit-dialog-head h4 { margin:0; font-size:1.15rem; }
.admin-page .credit-dialog-head p { margin:.3rem 0 0; color:var(--ink-dim); font-size:.85rem; }
.admin-page .credit-dialog-form { display:grid; gap:.75rem; margin-top:1rem; }
.admin-page .credit-dialog-form label { display:grid; gap:.4rem; font-weight:600; font-size:.9rem; }
.admin-page .credit-dialog-form input,.admin-page .credit-dialog-form select { width:100%; padding:.6rem; color:var(--ink); background:#120c24; border:1px solid var(--line-strong); border-radius:7px; font:inherit; }
.admin-page .credit-dialog-form .credit-inline input { width:auto; flex-basis:8rem; }
.admin-page .credit-dialog-form [role="status"]:empty { display:none; }
.admin-page .credit-label { display:flex; align-items:center; gap:.5rem; }
.admin-page .credit-required { justify-self:start; padding:.05rem .35rem; border-radius:4px; background:var(--yellow-soft); color:var(--yellow); font:700 .62rem var(--font-mono); text-transform:uppercase; letter-spacing:.06em; }
.admin-page .credit-balance-line { display:flex; justify-content:space-between; margin:0; padding:.5rem 0; border-bottom:1px dashed var(--line-strong); font-weight:600; }
.admin-page .credit-dialog-form .credit-actions { padding-top:.8rem; border-top:1px solid var(--line); }

@media(max-width:1100px) { .admin-page #person-profile .person-credit-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .admin-page #person-profile .person-usage-tiles,.admin-page #person-profile .person-credit-tiles { grid-template-columns:minmax(0,1fr); }
  /* Compact phone rows: person, last sign-in, credits, Open. */
  .admin-page #signin-accounts-card #people-list thead { display:block; }
  .admin-page #signin-accounts-card #people-list thead tr,.admin-page #signin-accounts-card #people-list tbody tr { display:grid; grid-template-columns:minmax(0,1fr) 5.4rem 3.4rem 3.4rem; align-items:center; gap:.4rem; padding:.55rem 0; }
  .admin-page #signin-accounts-card #people-list thead tr { border-bottom:1px solid var(--card-border); padding:.2rem 0; }
  .admin-page #signin-accounts-card #people-list th { display:block; padding:0; border:0; }
  .admin-page #signin-accounts-card #people-list th button { font-size:.62rem; }
  .admin-page #signin-accounts-card .people-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-page #signin-accounts-card #people-list .people-joined { display:none; }
  .admin-page #signin-accounts-card #people-list td { padding:0; }
  .admin-page #signin-accounts-card #people-list td[data-label]::before { content:none; }
  .admin-page #signin-accounts-card #people-list .people-credits { display:block; visibility:hidden; text-align:right; }
  .admin-page #signin-accounts-card #people-list .has-credits .people-credits { visibility:visible; }
  .admin-page #signin-accounts-card #people-list .people-open { width:auto; text-align:right; }
  .admin-page #signin-accounts-card #people-list .people-open .person-open { padding:.3rem .45rem; }
  .admin-page #signin-accounts-card #people-list .people-person .pill { display:table; margin:.2rem 0 0; }
  .credit-rows div { flex-wrap:wrap; }
  .credit-models .credit-inline { justify-content:flex-start; }
}

/* Buying: ledger types bought green, refund purple, chargeback red. */
.credit-kind-bought { color:#38f2a5; background:rgba(56,242,165,.12); }
.credit-kind-refund { color:#c86bff; background:rgba(200,107,255,.14); }
.credit-kind-chargeback { color:#ff5a6e; background:rgba(255,90,110,.14); }
.credit-kind-promo { color:#ff7ae0; background:rgba(255,122,224,.12); }
.credit-kind-expired { color:#a89cc8; background:rgba(245,236,255,.06); }

/* Promo credits on the person's card. */
.credit-promo-list { list-style:none; margin:.2rem 0 0; padding:0; }
.credit-promo-list li { padding:.35rem 0; border-bottom:1px solid var(--card-border,#322b43); }
.credit-promo-list small { color:var(--brand-muted,#9e93bf); }
.credit-claim { max-width:26rem; }
.credit-claim-row { display:flex; gap:.5rem; align-items:center; margin-top:.3rem; }
.credit-claim-row input { flex:1; min-width:0; text-transform:uppercase; }
.credit-account .credit-claim-row button { margin-top:0; }

/* The person's Buy credits area. */
.credit-buy { margin:.4rem 0 1rem; }
.credit-buy-packs { margin-top:.8rem; }
.credit-buy-packs[hidden] { display:none; }
.credit-pack-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr)); gap:.6rem; margin:.6rem 0; }
.credit-account .credit-pack { display:grid; gap:.2rem; margin:0; padding:.8rem; text-align:left; color:var(--brand-text,#ede7ff); background:var(--brand-bg,#0c081b); border:1px solid var(--card-border,#322b43); border-radius:10px; cursor:pointer; }
.credit-account .credit-pack:hover,.credit-account .credit-pack:focus-visible { border-color:var(--brand-accent,#55dbff); }
.credit-account .credit-pack span { font-family:'Space Mono',ui-monospace,monospace; font-size:1.1rem; color:var(--brand-accent,#55dbff); }
.credit-account .credit-pack small { color:var(--brand-muted,#9e93bf); }
.credit-account .credit-pack:disabled { opacity:.6; cursor:wait; }
.credit-code { max-width:20rem; }
.credit-code input { display:block; width:100%; margin-top:.3rem; }
.credit-buy-notice { padding:.6rem .8rem; border-radius:8px; background:rgba(56,242,165,.1); }
.credit-purchase-list { list-style:none; margin:.4rem 0 1rem; padding:0; }
.credit-purchase-list li { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem; padding:.55rem 0; border-bottom:1px solid var(--card-border,#322b43); }
.credit-purchase-list small { color:var(--brand-muted,#9e93bf); margin-left:.3rem; }
.credit-refund-ask { flex-basis:100%; }
.credit-refund-ask[hidden] { display:none; }

/* Admin buying tabs. */
.admin-page .credit-not-connected { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; color:var(--ink-dim); }
.admin-page .credit-alert { padding:.7rem .9rem; border-radius:8px; background:var(--red-soft); color:var(--ink); }
.admin-page .credit-mismatches { margin:.4rem 0 0; padding-left:1.2rem; color:var(--ink-dim); overflow-wrap:anywhere; }
.admin-page .credit-packs input[type="number"] { width:100%; max-width:9rem; min-width:0; }
.admin-page .credit-packs [data-add-pack] { margin:.6rem 0 1rem; }
.admin-page .credit-switch { display:inline-flex; align-items:center; gap:.4rem; }
.admin-page .credit-inline-form { display:inline-flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:0; }
.admin-page .credit-inline-form [role="status"] { margin:0; }
.admin-page .credit-actions a.button { display:inline-block; padding:.45rem .8rem; border:1px solid var(--line-strong); border-radius:7px; color:var(--ink); text-decoration:none; }
.admin-page .credit-refund-open summary { cursor:pointer; color:var(--cyan); font-weight:600; }
.admin-page .credit-refund-open[open] { min-width:min(24rem,80vw); }
.admin-page .credit-refund-form .credit-fields { grid-template-columns:minmax(0,1fr); }
.admin-page .credit-paused { padding:.6rem 0; border-bottom:1px solid var(--line); }
.admin-page .credit-promos td .credit-detail,.admin-page .credit-request h4 small { color:var(--ink-dim); font-weight:400; font-size:.8rem; }
.admin-page .credit-money-tiles { margin-bottom:.8rem; }
.admin-page .credit-fields label[hidden] { display:none; }
.admin-page .credit-promos tr.credit-promo-off { opacity:.6; }
.admin-page .credit-promos td small.credit-detail { display:block; }
.admin-page .credit-promos td[data-label="Code"] strong { color:var(--cyan); overflow-wrap:anywhere; }
.admin-page .credit-mismatches li { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.4rem .8rem; padding:.4rem 0; }
.admin-page .credit-mismatches .credit-reason { margin:0; min-width:min(16rem,100%); }
.admin-page .credit-refund-open-row .credit-inline-form { margin-top:.2rem; }
.admin-page .credit-refund-open-row .credit-inline-form .credit-reason { margin:0; min-width:min(16rem,100%); }
@media(max-width:700px) {
  .admin-page .credit-refund-open[open] { min-width:0; }
  .admin-page .credit-packs input[type="number"] { max-width:none; }
}

/* Filtered-out ledger rows stay hidden on phones too. */
.credits-table tr[hidden], .credit-ledger tr[hidden] { display:none !important; }

/* Credits follow the surrounding blocks in Studio Settings. */
.cf-settings-main .credit-account { background:transparent; border:0; border-bottom:1px solid var(--cf-bg-line); border-radius:0; margin:0; padding:16px 0; font-family:var(--cf-font-mono); font-size:11.5px; line-height:1.65; }
.cf-settings-main .credit-account h2 { margin:0 0 10px; font-family:var(--cf-font-display); font-size:11px; font-weight:700; letter-spacing:.12em; color:var(--cf-ink); }
.cf-settings-main .credit-account h3 { margin:16px 0 6px; font-family:var(--cf-font-mono); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--cf-ink-dim); }
.cf-settings-main .credit-account p { margin:0 0 10px; font-family:var(--cf-font-mono); font-size:11.5px; line-height:1.65; color:var(--cf-ink-dim); max-width:52ch; }
.cf-settings-main .credit-account .credit-balance { font-size:20px; }
.cf-settings-main .credit-account .credits-table table { font-size:11.5px; }
.cf-settings-main .credit-account .credits-table th,.cf-settings-main .credit-account .credits-table td { padding:.35rem .25rem; }
.cf-settings-main .credit-account .credits-table th,.cf-settings-main .credit-account .credit-kind { font-size:11px; }
.cf-settings-main .credit-account small,.cf-settings-main .credit-account .credit-small { font-size:11px; }
