/* /Components/Pages/Economy/Admin/CurrencyEdit.razor.rz.scp.css */
    .currency-edit-panel[b-4g6j8rnhzd] { padding: 0; }
    .tab-nav[b-4g6j8rnhzd] { display: flex; gap: 0.25rem; border-bottom: 1px solid rgba(255,255,255,0.08);
        padding: 0.5rem 1.5rem 0; overflow-x: auto; }
    .tab-btn[b-4g6j8rnhzd] { padding: 0.7rem 1rem; background: transparent; border: none; color: var(--text-muted);
        cursor: pointer; border-bottom: 2px solid transparent; font-size: 0.9rem; white-space: nowrap;
        transition: color 0.1s, border-color 0.1s; }
    .tab-btn:hover[b-4g6j8rnhzd] { color: var(--text); }
    .tab-btn.active[b-4g6j8rnhzd] { color: #4ade80; border-bottom-color: #4ade80; }
    .tab-badge[b-4g6j8rnhzd] { display: inline-block; margin-left: 0.35rem; padding: 0.05rem 0.4rem;
        background: rgba(74,222,128,0.15); color: #4ade80; border-radius: 0.7rem;
        font-size: 0.65rem; vertical-align: middle; }
    .tab-body[b-4g6j8rnhzd] { padding: 1.5rem; min-height: 200px; }
    .tab-actions[b-4g6j8rnhzd] { padding: 1rem 1.5rem; border-top: 1px solid rgba(255,255,255,0.08); margin: 0; }

    .field-group[b-4g6j8rnhzd] { border: 1px solid rgba(255,255,255,0.08); border-radius: 0.5rem;
        padding: 0.85rem 1rem 1rem; margin-top: 1rem; }
    .field-group legend[b-4g6j8rnhzd] { padding: 0 0.5rem; font-size: 0.85rem; text-transform: uppercase;
        letter-spacing: 0.05em; color: var(--text-muted); }

    .field-block[b-4g6j8rnhzd] { margin-top: 1rem; }
    .field-block label[b-4g6j8rnhzd] { display: block; margin-bottom: 0.4rem; font-size: 0.85rem; color: var(--text-muted); }
    .json-editor[b-4g6j8rnhzd] { width: 100%; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
        font-size: 0.85rem; padding: 0.7rem; background: rgba(0,0,0,0.25);
        border: 1px solid rgba(255,255,255,0.08); border-radius: 0.4rem; color: var(--text); }

    .last-delivery[b-4g6j8rnhzd] { margin-top: 1rem; padding: 0.7rem 1rem; background: rgba(255,255,255,0.03);
        border-radius: 0.4rem; display: flex; gap: 0.5rem; align-items: center; font-size: 0.85rem; }
    .last-delivery .err[b-4g6j8rnhzd] { color: #f87171; }
    .sync-backlog[b-4g6j8rnhzd] { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.82rem;
        color: var(--text-muted); margin-left: auto; }
    .sync-backlog .material-symbols-outlined[b-4g6j8rnhzd] { font-size: 1.05rem; }
    .sync-backlog .muted[b-4g6j8rnhzd] { opacity: 0.7; }
/* /Components/Pages/Economy/Admin/Multipliers.razor.rz.scp.css */
    .field-group[b-w99s3x2zw3] { border: 1px solid rgba(255,255,255,0.08); border-radius: 0.5rem;
        padding: 0.85rem 1rem 1rem; margin-bottom: 1rem; }
    .field-group legend[b-w99s3x2zw3] { padding: 0 0.5rem; font-size: 0.85rem; text-transform: uppercase;
        letter-spacing: 0.05em; color: var(--text-muted); }

    .kind-picker[b-w99s3x2zw3] { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        margin-bottom: 1.25rem; }
    .kind-btn[b-w99s3x2zw3] { display: flex; flex-direction: column; align-items: flex-start; gap: 0.25rem;
        padding: 0.85rem 1rem; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
        border-radius: 0.5rem; color: var(--text); cursor: pointer; transition: all 0.1s; text-align: left; }
    .kind-btn:hover[b-w99s3x2zw3] { background: rgba(255,255,255,0.06); }
    .kind-btn.active[b-w99s3x2zw3] { background: rgba(74,222,128,0.1); border-color: #4ade80; color: #4ade80; }
    .kind-btn .material-symbols-outlined[b-w99s3x2zw3] { font-size: 1.4rem; }
    .kind-btn .kind-desc[b-w99s3x2zw3] { font-size: 0.75rem; color: var(--text-muted); font-weight: normal; }
    .kind-btn.active .kind-desc[b-w99s3x2zw3] { color: rgba(74,222,128,0.7); }

    .scope-buttons[b-w99s3x2zw3] { display: flex; gap: 0.5rem; flex-wrap: wrap; }
    .scope-btn[b-w99s3x2zw3] { padding: 0.4rem 0.85rem; background: rgba(255,255,255,0.03);
        border: 1px solid rgba(255,255,255,0.08); border-radius: 1.5rem; color: var(--text);
        cursor: pointer; transition: all 0.1s; font-size: 0.85rem; }
    .scope-btn:hover[b-w99s3x2zw3] { background: rgba(255,255,255,0.06); }
    .scope-btn.active[b-w99s3x2zw3] { background: rgba(74,222,128,0.15); border-color: #4ade80; color: #4ade80; }

    .day-picker[b-w99s3x2zw3] { display: flex; gap: 0.4rem; margin-bottom: 0.75rem; flex-wrap: wrap; }
    .day-pill[b-w99s3x2zw3] { width: 3rem; padding: 0.45rem 0; background: rgba(255,255,255,0.03);
        border: 1px solid rgba(255,255,255,0.08); border-radius: 0.5rem; color: var(--text);
        cursor: pointer; text-align: center; font-size: 0.85rem; transition: all 0.1s; }
    .day-pill:hover[b-w99s3x2zw3] { background: rgba(255,255,255,0.06); }
    .day-pill.active[b-w99s3x2zw3] { background: rgba(96,165,250,0.15); border-color: #60a5fa; color: #60a5fa; font-weight: 600; }

    .preview-box[b-w99s3x2zw3] { display: flex; gap: 0.6rem; align-items: flex-start;
        background: rgba(96,165,250,0.08); border: 1px solid rgba(96,165,250,0.3);
        border-radius: 0.5rem; padding: 0.7rem 1rem; margin-bottom: 1rem; font-size: 0.9rem; }
    .preview-box .material-symbols-outlined[b-w99s3x2zw3] { color: #60a5fa; }

    .scope-pills .pill[b-w99s3x2zw3] { display: inline-block; padding: 0.05rem 0.4rem; margin-right: 0.25rem;
        font-size: 0.7rem; background: rgba(74,222,128,0.12); color: #4ade80; border-radius: 0.25rem; }
    .mult-table tr.off[b-w99s3x2zw3] { opacity: 0.6; }
    .mult-table .factor[b-w99s3x2zw3] { font-weight: 600; }
    .mult-table .row-actions[b-w99s3x2zw3] { white-space: nowrap; text-align: right; }
    .mult-table .row-actions .btn-sm[b-w99s3x2zw3] { padding: 0.25rem 0.6rem; font-size: 0.8rem; margin-left: 0.35rem; }
/* /Components/Pages/Economy/Components/CurrencySwitcher.razor.rz.scp.css */
.cur-switch[b-bw84pzdrr3] { display: inline-flex; gap: 0.25rem; padding: 0.3rem; border-radius: 0.6rem; background: rgba(255, 255, 255, 0.05); border: 1px solid var(--border); flex-wrap: wrap; }
.cur-tab[b-bw84pzdrr3] { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.4rem 0.9rem; border: none; background: transparent; color: var(--text-muted); border-radius: 0.45rem; cursor: pointer; font: inherit; font-size: 0.88rem; transition: background 0.1s, color 0.1s; }
.cur-tab:hover[b-bw84pzdrr3] { color: var(--text); }
.cur-tab.active[b-bw84pzdrr3] { background: var(--accent); color: #fff; font-weight: 600; }
.cur-tab.active .star[b-bw84pzdrr3], .cur-readonly .star[b-bw84pzdrr3] { color: #fde047; }
.cur-tab .star[b-bw84pzdrr3], .cur-readonly .star[b-bw84pzdrr3] { font-size: 1rem; color: #fbbf24; }
.cur-readonly[b-bw84pzdrr3] { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.95rem; font-weight: 600; color: var(--text); padding: 0.3rem 0.2rem; }
.cur-select[b-bw84pzdrr3] { min-width: 7rem; }
/* /Components/Pages/Economy/Components/MintAdjustDialog.razor.rz.scp.css */
.ma-backdrop[b-xw71xxoxs7] { position: fixed; inset: 0; background: rgba(0, 8, 28, 0.55); display: flex; align-items: center;
    justify-content: center; z-index: 1000; padding: 1rem; }
.ma-card[b-xw71xxoxs7] { width: 100%; max-width: 420px; padding: 1.25rem 1.4rem; display: flex; flex-direction: column; gap: 0.7rem; }
.ma-head[b-xw71xxoxs7] { display: flex; align-items: center; justify-content: space-between; }
.ma-head h2[b-xw71xxoxs7] { margin: 0; }
.ma-x[b-xw71xxoxs7] { border: none; background: transparent; color: var(--text-muted); cursor: pointer; display: inline-flex; }
.ma-x:hover[b-xw71xxoxs7] { color: var(--text); }
.ma-card .subtitle[b-xw71xxoxs7] { margin: 0; }
.ma-card label[b-xw71xxoxs7] { display: block; font-size: 0.85rem; color: var(--text-muted); }
.ma-card label .dg-select[b-xw71xxoxs7], .ma-card label .dg-search[b-xw71xxoxs7], .ma-card label input[b-xw71xxoxs7] { width: 100%; margin-top: 0.25rem; }
.ma-row[b-xw71xxoxs7] { display: flex; gap: 0.7rem; }
.ma-row label[b-xw71xxoxs7] { flex: 1; }
.ma-card .message.ok[b-xw71xxoxs7] { color: #4ade80; }
.ma-card .message.err[b-xw71xxoxs7] { color: var(--danger); }
.ma-card .btn-row[b-xw71xxoxs7] { margin-top: 0.3rem; }

/* Target mode toggle (One member / By role) */
.ma-modes[b-xw71xxoxs7] { align-self: flex-start; display: inline-flex; border: 1px solid var(--border); border-radius: 0.55rem; overflow: hidden; }
.ma-modes button[b-xw71xxoxs7] { appearance: none; background: transparent; border: none; border-left: 1px solid var(--border); color: var(--text-muted);
    font: inherit; font-size: 0.82rem; padding: 0.34rem 0.8rem; cursor: pointer; transition: background 0.12s, color 0.12s; }
.ma-modes button:first-child[b-xw71xxoxs7] { border-left: none; }
.ma-modes button:hover[b-xw71xxoxs7] { color: var(--text); background: rgba(255, 255, 255, 0.04); }
.ma-modes button.active[b-xw71xxoxs7] { background: var(--accent); color: #fff; }

.ma-confirm[b-xw71xxoxs7] { margin: 0; font-size: 0.85rem; color: var(--text); background: rgba(255, 255, 255, 0.04);
    border-radius: var(--radius); padding: 0.55rem 0.7rem; }
/* /Components/Pages/Economy/GuildParticipation.razor.rz.scp.css */
/* Header: trophy icon + name on the left, members chip on the right */
.t-head[b-u4acdkw7fq] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.p-title[b-u4acdkw7fq] { display: flex; align-items: center; gap: 0.7rem; }
.p-title > .material-symbols-outlined[b-u4acdkw7fq] { font-size: 1.9rem; color: #EF9F27; }
.p-name[b-u4acdkw7fq] { font-size: 1.35rem; font-weight: 600; line-height: 1.1; }
.p-sub[b-u4acdkw7fq] { font-size: 0.82rem; color: var(--text-muted); }
.p-members[b-u4acdkw7fq] { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.82rem; color: var(--text-muted);
    background: rgba(255, 255, 255, 0.04); border: 1px solid var(--glass-border); border-radius: 0.6rem; padding: 0.4rem 0.7rem; }
.p-members .material-symbols-outlined[b-u4acdkw7fq] { font-size: 1.05rem; }
/* /Components/Pages/Economy/GuildTreasury.razor.rz.scp.css */
/* Header: treasury icon + name on the left, currency switch + actions top-right, wraps */
.t-head[b-ro32zuiajf] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.p-title[b-ro32zuiajf] { display: flex; align-items: center; gap: 0.7rem; }
.p-title > .material-symbols-outlined[b-ro32zuiajf] { font-size: 1.9rem; color: var(--accent); }
.p-name[b-ro32zuiajf] { font-size: 1.35rem; font-weight: 600; line-height: 1.1; }
.p-sub[b-ro32zuiajf] { font-size: 0.82rem; color: var(--text-muted); }
.t-controls[b-ro32zuiajf] { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
/* /Components/Pages/Economy/Participation/Parts/PointsLedgerPart.razor.rz.scp.css */
.pl-table td.num.pos[b-m3qj8tqfe0] { color: #4ade80; }
.pl-table td.num.neg[b-m3qj8tqfe0] { color: var(--danger); }
.pl-table .pl-season[b-m3qj8tqfe0] { font-size: 0.78rem; color: var(--text-muted); }
.pl-table .pl-sys[b-m3qj8tqfe0] { color: var(--text-muted); }

.pl-table tr.dg-group td[b-m3qj8tqfe0] { background: rgba(255, 255, 255, 0.03); color: var(--text-muted); font-size: 0.78rem;
    text-transform: uppercase; letter-spacing: 0.03em; padding-top: 0.4rem; padding-bottom: 0.4rem; }
.grp-net[b-m3qj8tqfe0] { float: right; text-transform: none; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.grp-net .pos[b-m3qj8tqfe0] { color: #4ade80; }

.dg-footer-left[b-m3qj8tqfe0] { display: flex; align-items: center; gap: 1rem; }
.pl-totals[b-m3qj8tqfe0] { font-size: 0.82rem; color: var(--text-muted); }
.pl-totals .pos[b-m3qj8tqfe0] { color: #4ade80; }
/* /Components/Pages/Economy/Participation/Parts/RankingPart.razor.rz.scp.css */
/* Flat, subtle grid frame (matches the treasury/ledger grids) so the footer pins to the bottom */
.rk-grid[b-61lapg98rc] { background: rgba(255, 255, 255, 0.018); border: 1px solid var(--glass-border); border-radius: var(--radius); }
.rk-list[b-61lapg98rc] { padding: 0.25rem 1rem; }
.rk-empty[b-61lapg98rc] { padding: 1.5rem 1rem; text-align: center; }
/* /Components/Pages/Economy/Treasury/Parts/DistributionPart.razor.rz.scp.css */
/* Header (shared treasury look) */
.t-head[b-apf1ur7ziq] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.t-crumb[b-apf1ur7ziq] { display: flex; align-items: center; gap: 0.5rem; font-size: 1.35rem; font-weight: 600; }
.t-crumb a[b-apf1ur7ziq] { color: var(--text-muted); font-weight: 600; }
.t-crumb a:hover[b-apf1ur7ziq] { color: var(--text); }
.t-crumb .sep[b-apf1ur7ziq] { font-size: 1.5rem; color: var(--text-muted); opacity: 0.55; }
.t-switch[b-apf1ur7ziq] { display: inline-flex; gap: 0.25rem; padding: 0.3rem; border-radius: 0.6rem; background: rgba(255,255,255,0.05); border: 1px solid var(--border); }
.cur-tab[b-apf1ur7ziq] { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.4rem 0.9rem; border: none; background: transparent; color: var(--text-muted); border-radius: 0.45rem; cursor: pointer; font: inherit; font-size: 0.88rem; }
.cur-tab:hover[b-apf1ur7ziq] { color: var(--text); }
.cur-tab.active[b-apf1ur7ziq] { background: var(--accent); color: #fff; font-weight: 600; }
.cur-tab .star[b-apf1ur7ziq] { font-size: 1rem; color: #fde047; }

.stat[b-apf1ur7ziq] { position: relative; overflow: hidden; }
.kpi-ico[b-apf1ur7ziq] { position: absolute; top: 0.3rem; right: 0.45rem; font-size: 3.6rem; opacity: 0.1; pointer-events: none; }
.spark[b-apf1ur7ziq] { width: 100%; height: 24px; margin-top: 0.35rem; display: block; }
.spark polyline[b-apf1ur7ziq] { fill: none; stroke: #60a5fa; stroke-width: 2; vector-effect: non-scaling-stroke; }

/* Histogram: 10 buckets on desktop, merged 5 on narrow screens */
.hist-mini[b-apf1ur7ziq] { display: none; }
@media (max-width: 720px) {
    .hist-full[b-apf1ur7ziq] { display: none; }
    .hist-mini[b-apf1ur7ziq] { display: block; }
}

/* Buckets over time (stacked) */
.d-stack[b-apf1ur7ziq] { width: 100%; height: 180px; display: block; }
.d-stack .axis[b-apf1ur7ziq] { stroke: var(--border); stroke-width: 1; }
.d-labels[b-apf1ur7ziq] { display: flex; justify-content: space-around; font-size: 0.72rem; color: var(--text-muted); margin-top: 0.25rem; text-align: center; }
.d-labels span[b-apf1ur7ziq] { flex: 1; }
.d-labels .cnt[b-apf1ur7ziq] { color: var(--text); font-weight: 600; }
.legend[b-apf1ur7ziq] { font-size: 0.8rem; color: var(--text-muted); display: inline-flex; align-items: center; gap: 0.4rem; }
.legend .ramp[b-apf1ur7ziq] { width: 60px; height: 9px; border-radius: 2px; display: inline-block;
    background: linear-gradient(90deg, #185FA5, #7FA9A0, #EF9F27, #BA7517); }

/* Frameless cards */
.d-card[b-apf1ur7ziq] { padding: 0.25rem 0.1rem 1rem; margin-bottom: 1.25rem; }
.d-card .panel-head[b-apf1ur7ziq] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.6rem; }
.d-card h2[b-apf1ur7ziq] { margin: 0; }

/* Histogram */
.d-hist[b-apf1ur7ziq] { width: 100%; height: 160px; display: block; }
.d-hist .axis[b-apf1ur7ziq] { stroke: var(--border); stroke-width: 1; }
.d-hist .bar[b-apf1ur7ziq] { fill: #378ADD; }
.d-hist .bar.top[b-apf1ur7ziq] { fill: #BA7517; }
.d-labels[b-apf1ur7ziq] { display: flex; justify-content: space-around; font-size: 0.72rem; color: var(--text-muted); margin-top: 0.25rem; text-align: center; }
.d-labels span[b-apf1ur7ziq] { flex: 1; }
.d-labels .cnt[b-apf1ur7ziq] { color: var(--text); font-weight: 600; }

/* Holder rows */
.hold-row[b-apf1ur7ziq] { display: flex; align-items: center; gap: 0.6rem; padding: 6px 0; border-bottom: 0.5px solid var(--border); font-size: 0.9rem; }
.hold-row .rank[b-apf1ur7ziq] { width: 22px; color: var(--text-muted); flex: none; text-align: center; }
.hold-row .rank.gold[b-apf1ur7ziq], .hold-row .rank.silver[b-apf1ur7ziq], .hold-row .rank.bronze[b-apf1ur7ziq] {
    height: 22px; line-height: 22px; border-radius: 50%; font-weight: 700; font-size: 0.78rem; color: #1c1606; }
.hold-row .rank.gold[b-apf1ur7ziq] { background: linear-gradient(145deg, #fde68a, #f59e0b); }
.hold-row .rank.silver[b-apf1ur7ziq] { background: linear-gradient(145deg, #f1f5f9, #94a3b8); }
.hold-row .rank.bronze[b-apf1ur7ziq] { background: linear-gradient(145deg, #f7c08a, #b45309); color: #fff; }
.hold-row .hold-val[b-apf1ur7ziq] { margin-left: auto; font-variant-numeric: tabular-nums; }
/* /Components/Pages/Economy/Treasury/Parts/FlowPart.razor.rz.scp.css */
/* Header (shared treasury look) */
.t-head[b-2dxum4etnt] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.t-crumb[b-2dxum4etnt] { display: flex; align-items: center; gap: 0.5rem; font-size: 1.35rem; font-weight: 600; }
.t-crumb a[b-2dxum4etnt] { color: var(--text-muted); font-weight: 600; }
.t-crumb a:hover[b-2dxum4etnt] { color: var(--text); }
.t-crumb .sep[b-2dxum4etnt] { font-size: 1.5rem; color: var(--text-muted); opacity: 0.55; }
.t-switch[b-2dxum4etnt] { display: inline-flex; gap: 0.25rem; padding: 0.3rem; border-radius: 0.6rem; background: rgba(255,255,255,0.05); border: 1px solid var(--border); }
.cur-tab[b-2dxum4etnt] { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.4rem 0.9rem; border: none; background: transparent; color: var(--text-muted); border-radius: 0.45rem; cursor: pointer; font: inherit; font-size: 0.88rem; }
.cur-tab:hover[b-2dxum4etnt] { color: var(--text); }
.cur-tab.active[b-2dxum4etnt] { background: var(--accent); color: #fff; font-weight: 600; }
.cur-tab .star[b-2dxum4etnt] { font-size: 1rem; color: #fde047; }
.f-note[b-2dxum4etnt] { font-size: 12px; color: var(--text-muted); margin: -0.3rem 0 1rem; }

.stat[b-2dxum4etnt] { position: relative; overflow: hidden; }
.stat .num.pos[b-2dxum4etnt] { color: #4ade80; }
.stat .num.neg[b-2dxum4etnt] { color: var(--danger); }
.kpi-ico[b-2dxum4etnt] { position: absolute; top: 0.3rem; right: 0.45rem; font-size: 3.6rem; opacity: 0.1; pointer-events: none; }
.spark[b-2dxum4etnt] { width: 100%; height: 24px; margin-top: 0.35rem; display: block; }
.spark polyline[b-2dxum4etnt] { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.spark.mint polyline[b-2dxum4etnt] { stroke: #4ade80; }
.spark.burn polyline[b-2dxum4etnt] { stroke: var(--danger); }
.spark.net polyline[b-2dxum4etnt] { stroke: #60a5fa; }

/* Mint vs burn by month */
.f-bars[b-2dxum4etnt] { width: 100%; height: 150px; display: block; }
.f-bars .axis[b-2dxum4etnt] { stroke: var(--border); stroke-width: 1; }
.f-bars .bar.mint[b-2dxum4etnt] { fill: #4ade80; }
.f-bars .bar.burn[b-2dxum4etnt] { fill: var(--danger); }
.f-mlabels[b-2dxum4etnt] { display: flex; justify-content: space-around; font-size: 0.72rem; color: var(--text-muted); margin-top: 0.25rem; }
.f-mlabels span[b-2dxum4etnt] { flex: 1; text-align: center; }

/* Inflation over time */
.infl-cap[b-2dxum4etnt] { font-size: 0.78rem; color: var(--text-muted); margin-top: 1rem; }
.f-infl[b-2dxum4etnt] { width: 100%; height: 70px; display: block; margin-top: 0.25rem; }
.f-infl polyline[b-2dxum4etnt] { fill: none; stroke: #fbbf24; stroke-width: 2; vector-effect: non-scaling-stroke; }
.f-infl .zero[b-2dxum4etnt] { stroke: var(--border); stroke-width: 1; stroke-dasharray: 4 3; }

/* Frameless cards */
.f-card[b-2dxum4etnt] { padding: 0.25rem 0.1rem 1rem; margin-bottom: 1.25rem; }
.f-card .panel-head[b-2dxum4etnt] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.6rem; }
.f-card h2[b-2dxum4etnt] { margin: 0; }
.legend[b-2dxum4etnt] { font-size: 0.8rem; color: var(--text-muted); }
.legend .sw[b-2dxum4etnt] { display: inline-block; width: 10px; height: 10px; border-radius: 2px; vertical-align: middle; }
.legend .sw.mint[b-2dxum4etnt] { background: #4ade80; }
.legend .sw.burn[b-2dxum4etnt] { background: var(--danger); }

/* Diverging by-source bars */
.flow-row[b-2dxum4etnt] { display: grid; grid-template-columns: 92px 1fr 1fr 64px; align-items: center; gap: 8px; margin-top: 0.5rem; font-size: 0.9rem; }
.flow-row .fname[b-2dxum4etnt] { color: var(--text-muted); }
.flow-row .fbar[b-2dxum4etnt] { height: 13px; }
.flow-row .fbar.left[b-2dxum4etnt] { display: flex; justify-content: flex-end; }
.flow-row .fbar .fill[b-2dxum4etnt] { height: 100%; border-radius: 2px; }
.flow-row .fbar .fill.mint[b-2dxum4etnt] { background: #4ade80; }
.flow-row .fbar .fill.burn[b-2dxum4etnt] { background: var(--danger); }
.flow-row .fval[b-2dxum4etnt] { text-align: right; font-variant-numeric: tabular-nums; }
.flow-row .fval.pos[b-2dxum4etnt] { color: #4ade80; }
.flow-row .fval.neg[b-2dxum4etnt] { color: var(--danger); }

/* Inflation gauge */
.gauge[b-2dxum4etnt] { position: relative; height: 8px; border-radius: 4px; margin-top: 0.5rem;
    background: linear-gradient(90deg, var(--danger), #4ade80 30%, #4ade80 60%, #fbbf24); }
.gauge .needle[b-2dxum4etnt] { position: absolute; top: -3px; width: 3px; height: 14px; background: var(--text); border-radius: 2px; transform: translateX(-50%); }
.gauge-labels[b-2dxum4etnt] { display: flex; justify-content: space-between; font-size: 11px; color: var(--text-muted); margin-top: 4px; }
/* /Components/Pages/Economy/Treasury/Parts/LedgerPart.razor.rz.scp.css */
/* Header */
.t-head[b-0k3iukufif] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.t-crumb[b-0k3iukufif] { display: flex; align-items: center; gap: 0.5rem; font-size: 1.35rem; font-weight: 600; }
.t-crumb a[b-0k3iukufif] { color: var(--text-muted); font-weight: 600; }
.t-crumb a:hover[b-0k3iukufif] { color: var(--text); }
.t-crumb .sep[b-0k3iukufif] { font-size: 1.5rem; color: var(--text-muted); opacity: 0.55; }

.mono[b-0k3iukufif] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-variant-numeric: tabular-nums; }

/* ---- Top summary: trial balance + composition + supply trend (3-up) ---- */
.jr-summary[b-0k3iukufif] { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 1rem; margin-bottom: 1rem; align-items: stretch; }
/* Tablet: drop the trend tile. Narrow: keep only the trial balance. */
@media (max-width: 1100px) { .jr-summary[b-0k3iukufif] { grid-template-columns: 1.3fr 1fr; } .jr-summary .opt ~ .opt[b-0k3iukufif] { display: none; } }
@media (max-width: 760px) { .jr-summary[b-0k3iukufif] { grid-template-columns: 1fr; } .jr-summary .opt[b-0k3iukufif] { display: none; } }
.jr-card[b-0k3iukufif] { background: rgba(255, 255, 255, 0.025); border: 1px solid var(--glass-border); border-radius: var(--radius); padding: 1rem 1.15rem; display: flex; flex-direction: column; }
.jr-card .panel-head[b-0k3iukufif] { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.6rem; }
.jr-card h2[b-0k3iukufif] { margin: 0; font-size: 1rem; }

.tb-ok[b-0k3iukufif], .tb-off[b-0k3iukufif] { font-size: 0.78rem; font-weight: 500; display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.55rem; border-radius: 1rem; }
.tb-ok[b-0k3iukufif] { color: #4ade80; background: rgba(74, 222, 128, 0.12); }
.tb-off[b-0k3iukufif] { color: var(--danger); background: rgba(220, 38, 38, 0.12); }
.tb-ok .material-symbols-outlined[b-0k3iukufif], .tb-off .material-symbols-outlined[b-0k3iukufif] { font-size: 1rem; }

.jr-auditlink[b-0k3iukufif] { font-size: 0.8rem; color: var(--text-muted); font-weight: 500; }
.jr-auditlink:hover[b-0k3iukufif] { color: var(--text); }

/* Trial-balance table */
.jr-tb[b-0k3iukufif] { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.jr-tb td[b-0k3iukufif] { padding: 7px 0; border-top: 0.5px solid var(--border); }
.jr-tb tr:first-child td[b-0k3iukufif] { border-top: none; }
.jr-tb td.num[b-0k3iukufif] { text-align: right; }
.jr-tb tr.tb-total td[b-0k3iukufif] { border-top: 1px solid var(--border); font-weight: 600; }

/* Supply-composition donut — centred in the remaining card height */
.comp[b-0k3iukufif] { flex: 1; display: flex; align-items: center; justify-content: center; gap: 1.4rem; }
.comp svg[b-0k3iukufif] { flex: 0 0 auto; }
.comp-legend[b-0k3iukufif] { display: flex; flex-direction: column; gap: 0.45rem; font-size: 0.88rem; min-width: 9.5rem; }
.comp-legend > div[b-0k3iukufif] { display: flex; align-items: center; gap: 0.45rem; }
.comp-legend b[b-0k3iukufif] { margin-left: auto; font-weight: 600; font-variant-numeric: tabular-nums; }
.dot[b-0k3iukufif] { width: 0.7rem; height: 0.7rem; border-radius: 0.2rem; flex: 0 0 auto; }
.dot.circ[b-0k3iukufif] { background: #1D9E75; }
.dot.escrow[b-0k3iukufif] { background: #EF9F27; }
.dot.burned[b-0k3iukufif] { background: #888780; }

/* Supply-trend mini panel */
.tr-win[b-0k3iukufif] { font-size: 0.74rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.tr-body[b-0k3iukufif] { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.tr-net[b-0k3iukufif] { font-size: 1.7rem; font-weight: 600; font-variant-numeric: tabular-nums; display: flex; align-items: baseline; gap: 0.5rem; }
.tr-net.pos[b-0k3iukufif] { color: #4ade80; }
.tr-net.neg[b-0k3iukufif] { color: var(--danger); }
.tr-pct[b-0k3iukufif] { font-size: 0.85rem; font-weight: 500; opacity: 0.85; }
.tr-cap[b-0k3iukufif] { font-size: 0.78rem; color: var(--text-muted); margin-top: 0.15rem; }
.tr-spark[b-0k3iukufif] { width: 100%; height: 42px; margin-top: 0.6rem; }
.tr-spark polyline[b-0k3iukufif] { fill: none; stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.tr-spark.pos polyline[b-0k3iukufif] { stroke: #4ade80; }
.tr-spark.neg polyline[b-0k3iukufif] { stroke: var(--danger); }

/* Journal table */
.jr-table td.num.debit[b-0k3iukufif] { color: var(--danger); }
.jr-table td.num.credit[b-0k3iukufif] { color: #4ade80; }

/* Day group header + daily subtotals */
.jr-table tr.dg-group td[b-0k3iukufif] { background: rgba(255, 255, 255, 0.03); color: var(--text-muted); font-size: 0.78rem;
    text-transform: uppercase; letter-spacing: 0.03em; padding-top: 0.4rem; padding-bottom: 0.4rem; }
.grp-net[b-0k3iukufif] { float: right; text-transform: none; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.grp-net .debit[b-0k3iukufif] { color: var(--danger); }
.grp-net .credit[b-0k3iukufif] { color: #4ade80; }

/* Clickable rows + detail drawer (mirrors Wallet ledger) */
.led-row[b-0k3iukufif] { cursor: pointer; }
.led-row.open > td[b-0k3iukufif] { background: var(--surface); }
.led-detail > td[b-0k3iukufif] { background: rgba(255, 255, 255, 0.02); }
.ld-grid[b-0k3iukufif] { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.5rem 1.5rem; padding: 0.6rem 0.4rem; white-space: normal; }
.ld-grid > div[b-0k3iukufif] { display: flex; flex-direction: column; gap: 0.1rem; }
.ld-grid .ld-reason[b-0k3iukufif] { grid-column: 1 / -1; }
.ld-grid .k[b-0k3iukufif] { font-size: 0.72rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.03em; }
.ld-grid .v[b-0k3iukufif] { font-size: 0.88rem; }
.ld-grid .v.mono[b-0k3iukufif] { font-size: 0.8rem; word-break: break-all; }
.ld-grid .v.debit[b-0k3iukufif] { color: var(--danger); }
.ld-grid .v.credit[b-0k3iukufif] { color: #4ade80; }

/* Account chips (escrow / burn / system counter) */
.acct[b-0k3iukufif] { font-size: 0.72rem; padding: 2px 8px; border-radius: 0.7rem; text-transform: uppercase; letter-spacing: 0.03em; white-space: nowrap; }
.acct-escrow[b-0k3iukufif] { background: rgba(251, 191, 36, 0.14); color: #fbbf24; }
.acct-burn[b-0k3iukufif] { background: rgba(220, 38, 38, 0.14); color: var(--danger); }
.acct-sys[b-0k3iukufif] { color: var(--text-muted); }

/* Footer totals */
.dg-footer-left[b-0k3iukufif] { display: flex; align-items: center; gap: 1rem; }
.jr-totals[b-0k3iukufif] { font-size: 0.82rem; color: var(--text-muted); }
.jr-totals .debit[b-0k3iukufif] { color: var(--danger); }
.jr-totals .credit[b-0k3iukufif] { color: #4ade80; }

/* Bulk award (collapsible) */
.jr-bulk[b-0k3iukufif] { padding: 0.5rem 1.25rem 1.25rem; }
.jr-bulk > summary[b-0k3iukufif] { cursor: pointer; padding: 0.6rem 0; font-weight: 500; display: flex; align-items: center; gap: 0.4rem; }
.jr-bulk > summary .material-symbols-outlined[b-0k3iukufif] { font-size: 1.15rem; }
/* /Components/Pages/Economy/Treasury/Parts/OverviewPart.razor.rz.scp.css */
/* Supply hero band */
.t-band[b-gicx43y7qw] { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1rem; margin-bottom: 1.25rem; }
@media (max-width: 760px) { .t-band[b-gicx43y7qw] { grid-template-columns: 1fr; } }
.t-band .label[b-gicx43y7qw] { color: var(--text-muted); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; }
.t-hero[b-gicx43y7qw] { background: rgba(255,255,255,0.035); border-radius: var(--radius); padding: 1.1rem 1.25rem; display: flex; flex-direction: column; }
.t-hero-top[b-gicx43y7qw] { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0.9rem; }
.hero-num[b-gicx43y7qw] { font-size: 2.1rem; font-weight: 700; line-height: 1.05; margin-top: 0.15rem; }
.hero-num .unit[b-gicx43y7qw] { font-size: 0.95rem; font-weight: 500; color: var(--text-muted); }
.trend[b-gicx43y7qw] { display: inline-flex; align-items: center; gap: 0.2rem; font-size: 0.8rem; padding: 0.2rem 0.5rem; border-radius: 0.5rem; }
.trend .material-symbols-outlined[b-gicx43y7qw] { font-size: 1rem; }
.trend.up[b-gicx43y7qw] { color: #4ade80; background: rgba(74,222,128,0.12); }
.trend.down[b-gicx43y7qw] { color: var(--danger); background: rgba(220,38,38,0.12); }
.supply-bar[b-gicx43y7qw] { display: flex; height: 9px; border-radius: 5px; overflow: hidden; background: rgba(255,255,255,0.06); margin-top: auto; }
.supply-bar .seg.circ[b-gicx43y7qw] { background: #1D9E75; }
.supply-bar .seg.escrow[b-gicx43y7qw] { background: #EF9F27; }
.supply-bar .seg.burned[b-gicx43y7qw] { background: #888780; }
.supply-meta[b-gicx43y7qw] { display: flex; gap: 14px; font-size: 12px; color: var(--text-muted); margin-top: 5px; flex-wrap: wrap; }
.supply-meta .dot[b-gicx43y7qw] { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 4px; }
.supply-meta .dot.circ[b-gicx43y7qw] { background: #1D9E75; }
.supply-meta .dot.escrow[b-gicx43y7qw] { background: #EF9F27; }
.supply-meta .dot.burned[b-gicx43y7qw] { background: #888780; }
.t-side[b-gicx43y7qw] { display: flex; flex-direction: column; gap: 1rem; }
.t-stat[b-gicx43y7qw] { background: rgba(255,255,255,0.035); border-radius: var(--radius); padding: 0.8rem 1rem; }
.t-stat .num[b-gicx43y7qw] { font-size: 1.4rem; font-weight: 700; margin-top: 0.1rem; }
.t-stat .num.pos[b-gicx43y7qw] { color: #4ade80; }
.t-stat .num.neg[b-gicx43y7qw] { color: var(--danger); }
.t-stat .mini-num[b-gicx43y7qw] { font-size: 1.3rem; font-weight: 700; margin-top: 0.1rem; }
.t-mini-grid[b-gicx43y7qw] { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.net-spark[b-gicx43y7qw] { width: 100%; height: 26px; margin-top: 0.4rem; display: block; }
.net-spark .zero[b-gicx43y7qw] { stroke: var(--border); stroke-width: 1; }
.net-spark polyline[b-gicx43y7qw] { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.net-spark polyline.pos[b-gicx43y7qw] { stroke: #4ade80; }
.net-spark polyline.neg[b-gicx43y7qw] { stroke: var(--danger); }

/* Frameless cards */
.t-card[b-gicx43y7qw] { padding: 0.25rem 0.1rem 1rem; margin-bottom: 1.25rem; }
.t-card .panel-head[b-gicx43y7qw] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.6rem; }
.t-card h2[b-gicx43y7qw] { margin: 0; }
.t-cols[b-gicx43y7qw] { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem 1.5rem; }
@media (max-width: 760px) { .t-cols[b-gicx43y7qw] { grid-template-columns: 1fr; } }

/* Candle chart (fixed height, fills width, non-scaling strokes) */
.t-candles[b-gicx43y7qw] { width: 100%; height: 200px; display: block; }
.t-candles line[b-gicx43y7qw], .t-candles polyline[b-gicx43y7qw] { vector-effect: non-scaling-stroke; }
.t-candles .axis[b-gicx43y7qw] { stroke: var(--border); stroke-width: 1; }
.t-candles .wick.up[b-gicx43y7qw], .t-candles .body.up[b-gicx43y7qw] { stroke: #4ade80; fill: #4ade80; }
.t-candles .wick.down[b-gicx43y7qw], .t-candles .body.down[b-gicx43y7qw] { stroke: var(--danger); fill: var(--danger); }
.t-candles .wick[b-gicx43y7qw] { stroke-width: 1.5; }
.t-candles .close[b-gicx43y7qw] { fill: none; stroke: #60a5fa; stroke-width: 2; }
.t-candles .ma[b-gicx43y7qw] { fill: none; stroke: #fbbf24; stroke-width: 1.5; }
.t-candles .trend[b-gicx43y7qw] { stroke: var(--text-muted); stroke-width: 1.5; stroke-dasharray: 5 4; }
.t-mlabels[b-gicx43y7qw] { display: flex; justify-content: space-around; font-size: 0.72rem; color: var(--text-muted); margin-top: 0.25rem; }
.t-mlabels span[b-gicx43y7qw] { flex: 1; text-align: center; }
.legend[b-gicx43y7qw] { font-size: 0.8rem; color: var(--text-muted); display: inline-flex; align-items: center; gap: 0.3rem; flex-wrap: wrap; }
.legend .sw[b-gicx43y7qw] { width: 10px; height: 10px; border-radius: 2px; display: inline-block; margin-left: 0.4rem; }
.legend .sw.up[b-gicx43y7qw] { background: #4ade80; }
.legend .sw.down[b-gicx43y7qw] { background: var(--danger); }
.legend .ln[b-gicx43y7qw] { width: 14px; height: 0; display: inline-block; vertical-align: middle; margin-left: 0.5rem; }
.legend .ln.close[b-gicx43y7qw] { border-top: 2px solid #60a5fa; }
.legend .ln.ma[b-gicx43y7qw] { border-top: 2px solid #fbbf24; }
.legend .ln.trend[b-gicx43y7qw] { border-top: 2px dashed var(--text-muted); }

/* Holder + movement card rows */
.hold-row[b-gicx43y7qw] { display: flex; align-items: center; gap: 0.6rem; padding: 6px 0; border-bottom: 0.5px solid var(--border); font-size: 0.9rem; }
.hold-row .rank[b-gicx43y7qw] { width: 22px; color: var(--text-muted); flex: none; text-align: center; }
.hold-row .rank.gold[b-gicx43y7qw], .hold-row .rank.silver[b-gicx43y7qw], .hold-row .rank.bronze[b-gicx43y7qw] {
    height: 22px; line-height: 22px; border-radius: 50%; font-weight: 700; font-size: 0.78rem; color: #1c1606; }
.hold-row .rank.gold[b-gicx43y7qw] { background: linear-gradient(145deg, #fde68a, #f59e0b); }
.hold-row .rank.silver[b-gicx43y7qw] { background: linear-gradient(145deg, #f1f5f9, #94a3b8); }
.hold-row .rank.bronze[b-gicx43y7qw] { background: linear-gradient(145deg, #f7c08a, #b45309); color: #fff; }
.hold-row .hold-val[b-gicx43y7qw] { margin-left: auto; font-variant-numeric: tabular-nums; }
.mv-row[b-gicx43y7qw] { display: flex; align-items: center; gap: 0.6rem; padding: 6px 0; border-bottom: 0.5px solid var(--border); font-size: 0.9rem; }
.mv-row .mv-src[b-gicx43y7qw] { display: inline-flex; align-items: center; gap: 0.25rem; color: var(--text-muted); width: 130px; flex: none; }
.mv-row .mv-src .material-symbols-outlined[b-gicx43y7qw] { font-size: 1.05rem; }
.mv-row .mv-who[b-gicx43y7qw] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.mv-row .mv-who[b-gicx43y7qw]  .user-chip { gap: 0.35rem; }
.mv-row .mv-who[b-gicx43y7qw]  .user-chip .avatar-sm { width: 22px; height: 22px; font-size: 0.65rem; }
.mv-row .mv-who[b-gicx43y7qw]  .user-chip-name b { font-weight: 500; font-size: 0.85rem; }
.mv-row .mv-who .party-sys[b-gicx43y7qw] { color: var(--text-muted); }
.mv-row .mv-amt[b-gicx43y7qw] { margin-left: auto; font-variant-numeric: tabular-nums; }
.mv-row .mv-amt.pos[b-gicx43y7qw] { color: #4ade80; }
.mv-row .mv-amt.neg[b-gicx43y7qw] { color: var(--danger); }
/* /Components/Pages/Economy/Wallet/Parts/AccountPart.razor.rz.scp.css */
/* Breadcrumb header — page-title sized, with a UserChip for the member; controls sit top-right and wrap */
.wallet-head[b-t3jemfu8sk] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.wallet-controls[b-t3jemfu8sk] { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.wallet-crumb[b-t3jemfu8sk] { display: flex; align-items: center; gap: 0.5rem; font-size: 1.35rem; font-weight: 600; }
.wallet-crumb a[b-t3jemfu8sk] { color: var(--text-muted); font-weight: 600; }
.wallet-crumb a:hover[b-t3jemfu8sk] { color: var(--text); }
.wallet-crumb .sep[b-t3jemfu8sk] { font-size: 1.5rem; color: var(--text-muted); opacity: 0.55; }
.wallet-crumb[b-t3jemfu8sk]  .user-chip { gap: 0.5rem; }
.wallet-crumb[b-t3jemfu8sk]  .user-chip .avatar-sm { width: 30px; height: 30px; font-size: 0.85rem; }
.wallet-crumb[b-t3jemfu8sk]  .user-chip-name b { font-size: 1.35rem; font-weight: 600; }

/* Currency switcher (segmented pill) */
.wallet-switch[b-t3jemfu8sk] { display: inline-flex; gap: 0.25rem; padding: 0.3rem; border-radius: 0.6rem;
    background: rgba(255, 255, 255, 0.05); border: 1px solid var(--border); flex-wrap: wrap; }
.cur-tab[b-t3jemfu8sk] { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.45rem 1rem; border: none;
    background: transparent; color: var(--text-muted); border-radius: 0.45rem; cursor: pointer; font: inherit;
    font-size: 0.9rem; transition: background 0.1s, color 0.1s; }
.cur-tab:hover[b-t3jemfu8sk] { color: var(--text); }
.cur-tab.active[b-t3jemfu8sk] { background: var(--accent); color: #fff; font-weight: 600; }
.cur-tab.active .star[b-t3jemfu8sk] { color: #fde047; }
.cur-tab .star[b-t3jemfu8sk] { font-size: 1rem; color: #fbbf24; }

/* KPI band: a wide balance hero + a side column of flow + mini stats. No frames. */
.kpi-band[b-t3jemfu8sk] { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1rem; margin-bottom: 1.25rem; }
@media (max-width: 760px) { .kpi-band[b-t3jemfu8sk] { grid-template-columns: 1fr; } }

.kpi-band .label[b-t3jemfu8sk] { color: var(--text-muted); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; }

.kpi-hero[b-t3jemfu8sk] { background: rgba(255, 255, 255, 0.035); border-radius: var(--radius); padding: 1.1rem 1.25rem; display: flex; flex-direction: column; }
.kpi-hero-top[b-t3jemfu8sk] { display: flex; justify-content: space-between; align-items: flex-start; }
.hero-num[b-t3jemfu8sk] { font-size: 2.1rem; font-weight: 700; line-height: 1.05; margin-top: 0.15rem; }
.hero-num .unit[b-t3jemfu8sk] { font-size: 0.95rem; font-weight: 500; color: var(--text-muted); }
.trend[b-t3jemfu8sk] { display: inline-flex; align-items: center; gap: 0.2rem; font-size: 0.8rem; padding: 0.2rem 0.5rem; border-radius: 0.5rem; }
.trend .material-symbols-outlined[b-t3jemfu8sk] { font-size: 1rem; }
.trend.up[b-t3jemfu8sk] { color: #4ade80; background: rgba(74, 222, 128, 0.12); }
.trend.down[b-t3jemfu8sk] { color: var(--danger); background: rgba(220, 38, 38, 0.12); }
.hero-spark[b-t3jemfu8sk] { width: 100%; height: 40px; display: block; margin: 0.7rem 0 0.8rem; }
.hero-spark polyline[b-t3jemfu8sk] { fill: none; stroke: #60a5fa; stroke-width: 2; vector-effect: non-scaling-stroke; }
.avail-bar[b-t3jemfu8sk] { display: flex; height: 8px; border-radius: 4px; overflow: hidden; background: rgba(255, 255, 255, 0.06); margin-top: auto; }
.avail-bar .seg.avail[b-t3jemfu8sk] { background: #4ade80; }
.avail-bar .seg.held[b-t3jemfu8sk] { background: #fbbf24; }
.avail-meta[b-t3jemfu8sk] { display: flex; justify-content: space-between; font-size: 0.8rem; color: var(--text-muted); margin-top: 0.4rem; }
.avail-meta .material-symbols-outlined[b-t3jemfu8sk] { font-size: 0.95rem; vertical-align: -2px; color: #fbbf24; }

.kpi-side[b-t3jemfu8sk] { display: flex; flex-direction: column; gap: 1rem; }
.kpi-flow[b-t3jemfu8sk] { background: rgba(255, 255, 255, 0.035); border-radius: var(--radius); padding: 0.85rem 1rem; }
.flow-head[b-t3jemfu8sk] { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.6rem; }
.flow-net[b-t3jemfu8sk] { font-size: 1.15rem; font-weight: 700; }
.flow-net.pos[b-t3jemfu8sk] { color: #4ade80; }
.flow-net.neg[b-t3jemfu8sk] { color: var(--danger); }
.flow-row[b-t3jemfu8sk] { display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; margin-top: 0.35rem; }
.flow-row .dir[b-t3jemfu8sk] { width: 24px; color: var(--text-muted); }
.flow-row .flow-bar[b-t3jemfu8sk] { flex: 1; height: 7px; background: rgba(255, 255, 255, 0.06); border-radius: 4px; overflow: hidden; }
.flow-row .flow-bar .fill.in[b-t3jemfu8sk] { height: 100%; background: #4ade80; }
.flow-row .flow-bar .fill.out[b-t3jemfu8sk] { height: 100%; background: var(--danger); }
.flow-row .fv[b-t3jemfu8sk] { width: 42px; text-align: right; }

.kpi-mini-grid[b-t3jemfu8sk] { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.kpi-mini[b-t3jemfu8sk] { background: rgba(255, 255, 255, 0.035); border-radius: var(--radius); padding: 0.7rem 0.85rem; }
.mini-num[b-t3jemfu8sk] { font-size: 1.3rem; font-weight: 700; margin-top: 0.1rem; }
.delta[b-t3jemfu8sk] { font-size: 0.72rem; font-weight: 600; margin-left: 0.2rem; }
.delta.up[b-t3jemfu8sk] { color: #4ade80; }
.delta.down[b-t3jemfu8sk] { color: var(--danger); }

/* Earned-by-source: frameless block; quick transfer keeps its panel */
.wallet-cols[b-t3jemfu8sk] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; margin-bottom: 1.25rem; align-items: start; }
@media (max-width: 760px) { .wallet-cols[b-t3jemfu8sk] { grid-template-columns: 1fr; } }
.src-panel[b-t3jemfu8sk] { padding: 0.25rem 0.25rem 0; }
.src-panel .panel-head[b-t3jemfu8sk] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; }
.src-panel h2[b-t3jemfu8sk] { margin: 0; }
.src-row[b-t3jemfu8sk] { display: flex; align-items: center; gap: 0.6rem; margin-top: 0.6rem; font-size: 0.9rem; }
.src-row .src-name[b-t3jemfu8sk] { width: 92px; color: var(--text-muted); flex: none; }
.src-row .src-bar[b-t3jemfu8sk] { flex: 1; height: 12px; background: rgba(255, 255, 255, 0.06); border-radius: 3px; overflow: hidden; }
.src-row .src-bar .fill[b-t3jemfu8sk] { height: 100%; background: #4ade80; }
.src-row .src-val[b-t3jemfu8sk] { width: 64px; text-align: right; flex: none; }

.send-amt[b-t3jemfu8sk] { display: flex; gap: 0.6rem; }
.send-amt label[b-t3jemfu8sk] { flex: 1; }

/* Ledger datagrid colours */
.dg-table td.num.pos[b-t3jemfu8sk] { color: #4ade80; }
.dg-table td.num.neg[b-t3jemfu8sk] { color: var(--danger); }

/* Day-group header rows + totals */
.dg-table tr.dg-group td[b-t3jemfu8sk] { background: rgba(255, 255, 255, 0.03); color: var(--text-muted); font-size: 0.78rem;
    text-transform: uppercase; letter-spacing: 0.03em; padding-top: 0.4rem; padding-bottom: 0.4rem; }
.dg-table tr.dg-group .grp-net[b-t3jemfu8sk] { margin-left: 0.5rem; font-weight: 600; }
.dg-table tr.dg-group .grp-net.pos[b-t3jemfu8sk] { color: #4ade80; }
.dg-table tr.dg-group .grp-net.neg[b-t3jemfu8sk] { color: var(--danger); }
.dg-table td.num.bal[b-t3jemfu8sk] { color: var(--text-muted); font-variant-numeric: tabular-nums; }

/* Counterparty column + transaction drill-in */
.led-row[b-t3jemfu8sk] { cursor: pointer; }
.led-row.open > td[b-t3jemfu8sk] { background: var(--surface); }
.dg-table td.party[b-t3jemfu8sk] { white-space: nowrap; }
.party[b-t3jemfu8sk]  .user-chip { gap: 0.35rem; }
.party[b-t3jemfu8sk]  .user-chip .avatar-sm { width: 22px; height: 22px; font-size: 0.65rem; }
.party[b-t3jemfu8sk]  .user-chip-name b { font-weight: 500; font-size: 0.85rem; }
.party-sys[b-t3jemfu8sk] { color: var(--text-muted); font-size: 0.85rem; }
.led-detail > td[b-t3jemfu8sk] { background: rgba(255, 255, 255, 0.02); }
.ld-grid[b-t3jemfu8sk] { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.5rem 1.5rem; padding: 0.6rem 0.4rem; }
.ld-grid > div[b-t3jemfu8sk] { display: flex; flex-direction: column; gap: 0.1rem; }
.ld-grid .k[b-t3jemfu8sk] { font-size: 0.72rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.03em; }
.ld-grid .v[b-t3jemfu8sk] { font-size: 0.88rem; }
.ld-grid .v.mono[b-t3jemfu8sk] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.8rem; word-break: break-all; }
.ld-grid .v.pos[b-t3jemfu8sk] { color: #4ade80; }
.ld-grid .v.neg[b-t3jemfu8sk] { color: var(--danger); }
.dg-totals[b-t3jemfu8sk] { font-size: 0.82rem; color: var(--text-muted); margin-left: 1rem; }
.dg-totals .pos[b-t3jemfu8sk] { color: #4ade80; }
.dg-totals .neg[b-t3jemfu8sk] { color: var(--danger); }
/* /Components/Pages/Economy/Wallet/Parts/AnalyticsPart.razor.rz.scp.css */
/* Header row: breadcrumb + controls */
.an-head[b-4hbogvgnc3] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.an-controls[b-4hbogvgnc3] { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }

.wallet-crumb[b-4hbogvgnc3] { display: flex; align-items: center; gap: 0.5rem; font-size: 1.35rem; font-weight: 600; }
.wallet-crumb a[b-4hbogvgnc3] { color: var(--text-muted); font-weight: 600; }
.wallet-crumb a:hover[b-4hbogvgnc3] { color: var(--text); }
.wallet-crumb .sep[b-4hbogvgnc3] { font-size: 1.4rem; color: var(--text-muted); opacity: 0.55; }
.wallet-crumb .who[b-4hbogvgnc3] { font-weight: 600; }
.wallet-crumb[b-4hbogvgnc3]  .user-chip .avatar-sm { width: 28px; height: 28px; font-size: 0.8rem; }
.wallet-crumb[b-4hbogvgnc3]  .user-chip-name b { font-size: 1.35rem; font-weight: 600; }

/* Currency switcher (shared visual with the wallet) */
.wallet-switch[b-4hbogvgnc3] { display: flex; gap: 0.25rem; padding: 0.3rem; border-radius: 0.6rem; background: rgba(255, 255, 255, 0.04); flex-wrap: wrap; }
.cur-tab[b-4hbogvgnc3] { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.85rem; border: none; background: transparent;
    color: var(--text-muted); border-radius: 0.45rem; cursor: pointer; font-size: 0.88rem; transition: background 0.1s, color 0.1s; }
.cur-tab:hover[b-4hbogvgnc3] { color: var(--text); }
.cur-tab.active[b-4hbogvgnc3] { background: var(--card-bg); color: var(--text); font-weight: 600; }
.cur-tab .star[b-4hbogvgnc3] { font-size: 1rem; color: #fbbf24; }

/* KPI tiles — lighter subtle surface to match the wallet (no glass frame) */
.an-kpi[b-4hbogvgnc3] { background: rgba(255, 255, 255, 0.035); border-radius: var(--radius); }
.stat .num .unit[b-4hbogvgnc3] { font-size: 0.85rem; font-weight: 500; color: var(--text-muted); }
.stat .num.pos[b-4hbogvgnc3] { color: #4ade80; }
.stat .num.neg[b-4hbogvgnc3] { color: var(--danger); }

/* Balance-over-time line */
.an-line[b-4hbogvgnc3] { width: 100%; height: 150px; display: block; }
.an-line .area[b-4hbogvgnc3] { fill: rgba(96, 165, 250, 0.15); stroke: none; }
.an-line .line[b-4hbogvgnc3] { fill: none; stroke: #60a5fa; stroke-width: 2; vector-effect: non-scaling-stroke; }

/* Candle chart (balance OHLC per month + close line + trend) — fixed height, width fills (non-uniform scale,
   so keep every stroke non-scaling to avoid distortion). */
.an-candles[b-4hbogvgnc3] { width: 100%; height: 200px; display: block; }
.an-candles line[b-4hbogvgnc3], .an-candles polyline[b-4hbogvgnc3] { vector-effect: non-scaling-stroke; }
.an-candles .axis[b-4hbogvgnc3] { stroke: var(--border); stroke-width: 1; }
.an-candles .wick.up[b-4hbogvgnc3], .an-candles .body.up[b-4hbogvgnc3] { stroke: #4ade80; fill: #4ade80; }
.an-candles .wick.down[b-4hbogvgnc3], .an-candles .body.down[b-4hbogvgnc3] { stroke: var(--danger); fill: var(--danger); }
.an-candles .wick[b-4hbogvgnc3] { stroke-width: 1.5; }
.an-candles .close[b-4hbogvgnc3] { fill: none; stroke: #60a5fa; stroke-width: 2; }
.an-candles .trend[b-4hbogvgnc3] { stroke: var(--text-muted); stroke-width: 1.5; stroke-dasharray: 5 4; }

.an-mlabels[b-4hbogvgnc3] { display: flex; justify-content: space-around; font-size: 0.72rem; color: var(--text-muted); margin-top: 0.25rem; }
.an-mlabels span[b-4hbogvgnc3] { flex: 1; text-align: center; }
.legend[b-4hbogvgnc3] { font-size: 0.8rem; color: var(--text-muted); display: inline-flex; align-items: center; gap: 0.3rem; }
.legend .sw[b-4hbogvgnc3] { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }
.legend .sw.earned[b-4hbogvgnc3] { background: #4ade80; }
.legend .sw.spent[b-4hbogvgnc3] { background: var(--danger); margin-left: 0.5rem; }
.legend .ln[b-4hbogvgnc3] { width: 14px; height: 0; display: inline-block; vertical-align: middle; margin-left: 0.5rem; }
.legend .ln.close[b-4hbogvgnc3] { border-top: 2px solid #60a5fa; }
.legend .ln.trend[b-4hbogvgnc3] { border-top: 2px dashed var(--text-muted); }

/* Frameless chart/readout cards */
.an-card[b-4hbogvgnc3] { padding: 0.25rem 0.1rem 1rem; margin-bottom: 1.25rem; }
.an-card .panel-head[b-4hbogvgnc3] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.6rem; }
.an-card h2[b-4hbogvgnc3] { margin: 0; }

/* Two-up source breakdowns */
.wallet-cols[b-4hbogvgnc3] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem 1.5rem; margin-bottom: 1.25rem; align-items: start; }
.wallet-cols.single[b-4hbogvgnc3] { grid-template-columns: 1fr; }
.wallet-cols .an-card[b-4hbogvgnc3] { margin-bottom: 0; }
@media (max-width: 720px) { .wallet-cols[b-4hbogvgnc3] { grid-template-columns: 1fr; } }

.src-row[b-4hbogvgnc3] { display: flex; align-items: center; gap: 0.6rem; margin-top: 0.6rem; font-size: 0.9rem; }
.src-row .src-name[b-4hbogvgnc3] { width: 92px; color: var(--text-muted); flex: none; }
.src-row .src-bar[b-4hbogvgnc3] { flex: 1; height: 12px; background: rgba(255, 255, 255, 0.06); border-radius: 3px; overflow: hidden; }
.src-row .src-bar .fill.earned[b-4hbogvgnc3] { height: 100%; background: #4ade80; }
.src-row .src-bar .fill.spent[b-4hbogvgnc3] { height: 100%; background: var(--danger); }
.src-row .src-val[b-4hbogvgnc3] { width: 70px; text-align: right; flex: none; }

/* Season-over-season bars (clickable to scope the page to that season) */
.season-row[b-4hbogvgnc3] { display: flex; align-items: center; gap: 0.6rem; padding: 0.35rem 0.4rem; border-radius: 0.4rem;
    cursor: pointer; font-size: 0.9rem; }
.season-row:hover[b-4hbogvgnc3] { background: rgba(255, 255, 255, 0.04); }
.season-row.sel[b-4hbogvgnc3] { background: rgba(96, 165, 250, 0.12); }
.season-row .season-name[b-4hbogvgnc3] { width: 150px; flex: none; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.season-row.sel .season-name[b-4hbogvgnc3] { color: var(--text); }
.season-row .season-bar[b-4hbogvgnc3] { flex: 1; height: 12px; background: rgba(255, 255, 255, 0.06); border-radius: 3px; overflow: hidden; }
.season-row .season-bar .fill[b-4hbogvgnc3] { height: 100%; background: #4ade80; }
.season-row .season-val[b-4hbogvgnc3] { width: 64px; text-align: right; flex: none; font-variant-numeric: tabular-nums; }

/* Trends / insights */
.insight[b-4hbogvgnc3] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0; font-size: 0.9rem; border-top: 1px solid var(--border); }
.insight:first-of-type[b-4hbogvgnc3] { border-top: none; }
.insight .material-symbols-outlined[b-4hbogvgnc3] { font-size: 1.1rem; color: var(--text-muted); }
/* /Components/Pages/Economy/Wallet/Parts/PointsPart.razor.rz.scp.css */
.wp-bal[b-ln9wyyyb4m] { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.95rem; color: var(--text-muted); }
.wp-bal b[b-ln9wyyyb4m] { color: var(--text); font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.wp-bal .material-symbols-outlined[b-ln9wyyyb4m] { color: #EF9F27; font-size: 1.2rem; }
/* /Components/Pages/Quests/Components/QuestCard.razor.rz.scp.css */
/* Scoped to QuestCard. Shared classes the table view / detail page also use stay global in app.css
   (qc-title, qc-reward, qc-issuer, qc-pts, esc-lock, action-bar) — as does the board grid (.quest-board).
   The markdown-teaser rules use ::deep because the <p>/<code>/<a> come from injected MarkupString HTML,
   which doesn't carry the component's scope attribute. */

.quest-card[b-8abj1nj76i] {
    display: flex;
    flex-direction: row;
    gap: 0;
    padding: 0;
    align-items: stretch;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}
.quest-card:hover[b-8abj1nj76i] { transform: translateY(-2px); border-color: color-mix(in srgb, var(--accent) 40%, var(--card-border)); }

/* Left rail — the quest type icon stacked over its difficulty tier, the whole rail tinted by tier (W1). */
.qc-rail[b-8abj1nj76i] {
    flex: 0 0 54px;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.55rem;
    padding: 0.9rem 0;
    background: color-mix(in srgb, var(--accent) 16%, transparent);
    color: var(--accent);
    border-radius: var(--radius) 0 0 var(--radius);
}
.qc-rail-icon[b-8abj1nj76i] { font-size: 1.7rem; line-height: 1; }
.qc-rail-tier[b-8abj1nj76i] { font-size: 1.1rem; font-weight: 800; line-height: 1; }
.qc-rail.tier-edge-S[b-8abj1nj76i] { background: linear-gradient(170deg, #fde047, #f59e0b); color: #6b3d05; }
.qc-rail.tier-edge-A[b-8abj1nj76i] { background: linear-gradient(170deg, #fb7185, #ef4444); color: #fff; }
.qc-rail.tier-edge-B[b-8abj1nj76i] { background: linear-gradient(170deg, #c084fc, #8b5cf6); color: #fff; }
.qc-rail.tier-edge-C[b-8abj1nj76i] { background: linear-gradient(170deg, #60a5fa, #3b82f6); color: #fff; }
.qc-rail.tier-edge-D[b-8abj1nj76i] { background: linear-gradient(170deg, #4ade80, #22c55e); color: #06351a; }
.qc-rail.tier-edge-E[b-8abj1nj76i] { background: linear-gradient(170deg, #cbd5e1, #94a3b8); color: #243244; }

.qc-body[b-8abj1nj76i] {
    flex: 1 1 auto; min-width: 0;
    display: flex; flex-direction: column; gap: 0.5rem;
    padding: 0.9rem 1.05rem 1rem;
}
.qc-body-top[b-8abj1nj76i] { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.6rem; }
.qc-subrow[b-8abj1nj76i] { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: -0.25rem; }

.qc-meta2[b-8abj1nj76i] { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem; color: var(--text-muted); font-size: 0.82rem; }
.qc-meta2 .qc-dot[b-8abj1nj76i] { opacity: 0.45; }
.qc-type-label[b-8abj1nj76i] { font-weight: 600; color: var(--text); font-size: 0.82rem; }
.qc-exp[b-8abj1nj76i] { display: inline-flex; align-items: center; gap: 0.25rem; }
.qc-exp .material-symbols-outlined[b-8abj1nj76i] { font-size: 1rem; }
.qc-details[b-8abj1nj76i] { font-size: 0.8rem; font-weight: 600; }

/* Description teaser, clamped to 3 lines; full text reveals in a hover/focus popover. */
.qc-desc[b-8abj1nj76i] {
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.qc-desc.markdown[b-8abj1nj76i]  p,
.qc-desc.markdown[b-8abj1nj76i]  ul,
.qc-desc.markdown[b-8abj1nj76i]  ol,
.qc-desc.markdown[b-8abj1nj76i]  blockquote,
.qc-desc.markdown[b-8abj1nj76i]  pre { display: inline; margin: 0; padding: 0; border: 0; background: none; }
.qc-desc.markdown[b-8abj1nj76i]  code { background: var(--surface); border-radius: 4px; padding: 0 0.2rem; }
.qc-desc.markdown[b-8abj1nj76i]  a { color: var(--accent); }

.qc-desc-wrap[b-8abj1nj76i] { position: relative; min-height: 3.7rem; }
.qc-desc-wrap.has-pop .qc-desc[b-8abj1nj76i] { cursor: help; }
.qc-desc-pop[b-8abj1nj76i] {
    position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30;
    display: none; padding: 0.65rem 0.75rem; border-radius: 11px;
    max-height: 16rem; overflow: auto;
    font-size: 0.86rem; line-height: 1.5; color: var(--text);
}
.qc-desc-wrap.has-pop:hover .qc-desc-pop[b-8abj1nj76i],
.qc-desc-wrap.has-pop:focus-within .qc-desc-pop[b-8abj1nj76i] { display: block; }

/* Thin progress bar for multi-slot guild quests. */
.qc-bar[b-8abj1nj76i] { height: 5px; border-radius: 3px; background: var(--surface); overflow: hidden; }
.qc-bar-fill[b-8abj1nj76i] { height: 100%; background: var(--accent); border-radius: 3px; }

/* Action buttons all sit to the right on a card (the shared .action-bar defaults to space-between). */
.action-bar[b-8abj1nj76i] { justify-content: flex-end; }

/* Footer: details link + claimer avatar stack. */
.qc-foot[b-8abj1nj76i] {
    display: flex; align-items: center; justify-content: space-between; gap: 0.5rem;
    margin-top: auto;
}
.qc-claimed[b-8abj1nj76i] { color: var(--text-muted); font-size: 0.8rem; white-space: nowrap; }
.qc-claimers[b-8abj1nj76i] { position: relative; display: flex; align-items: center; gap: 0.4rem; }
.qc-claimers.has-pop[b-8abj1nj76i] { cursor: pointer; }
.qc-claimers .stack[b-8abj1nj76i] { display: flex; align-items: center; }

.avatar-xs[b-8abj1nj76i] {
    width: 1.5rem; height: 1.5rem; border-radius: 50%; flex: 0 0 auto;
    display: inline-grid; place-items: center; object-fit: cover;
    background: linear-gradient(135deg, var(--accent), var(--accent-soft));
    color: #fff; font-weight: 700; font-size: 0.62rem;
    box-shadow: 0 0 0 2px var(--bg-base);
}
.stack .avatar-xs[b-8abj1nj76i] { margin-left: -0.45rem; }
.stack .avatar-xs:first-child[b-8abj1nj76i] { margin-left: 0; }
.avatar-xs.more[b-8abj1nj76i] { background: var(--surface); color: var(--text-muted); }
.avatar-xs.ring-claimed[b-8abj1nj76i]   { box-shadow: 0 0 0 2px var(--bg-base), 0 0 0 3.5px var(--text-muted); }
.avatar-xs.ring-submitted[b-8abj1nj76i] { box-shadow: 0 0 0 2px var(--bg-base), 0 0 0 3.5px var(--accent); }
.avatar-xs.ring-revision[b-8abj1nj76i]  { box-shadow: 0 0 0 2px var(--bg-base), 0 0 0 3.5px #d97706; }
.avatar-xs.ring-approved[b-8abj1nj76i]  { box-shadow: 0 0 0 2px var(--bg-base), 0 0 0 3.5px #16a34a; }
.avatar-xs.ring-rejected[b-8abj1nj76i]  { box-shadow: 0 0 0 2px var(--bg-base), 0 0 0 3.5px var(--danger); }

/* Roster popup — pure CSS, shows on hover (desktop) or focus/tap (mobile). */
.roster-pop[b-8abj1nj76i] {
    position: absolute;
    bottom: calc(100% + 0.5rem);
    right: 0;
    z-index: 30;
    min-width: 14rem;
    max-width: 18rem;
    padding: 0.6rem;
    border-radius: var(--radius-sm);
    display: none;
    flex-direction: column;
    gap: 0.4rem;
}
.qc-claimers:hover .roster-pop[b-8abj1nj76i],
.qc-claimers:focus-within .roster-pop[b-8abj1nj76i] { display: flex; }
.roster-head[b-8abj1nj76i] { font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-muted); }
.roster-row[b-8abj1nj76i] { display: flex; align-items: center; gap: 0.45rem; }
.roster-row .roster-name[b-8abj1nj76i] { font-size: 0.85rem; font-weight: 600; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.roster-row .roster-by[b-8abj1nj76i] { font-size: 0.72rem; color: var(--text-muted); white-space: nowrap; }
/* /Components/Pages/Quests/Components/QuestHero.razor.rz.scp.css */
.qhero[b-frxw2o0m20] {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    overflow: hidden;
}

.qhero-rail[b-frxw2o0m20] {
    flex: 0 0 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.1rem;
    color: #fff;
    background: var(--surface);
}
.qhero-tier-letter[b-frxw2o0m20] { font-size: 1.25rem; font-weight: 800; line-height: 1; }

.qhero-type-emb[b-frxw2o0m20] {
    align-self: center;
    margin-left: 0.9rem;
    font-size: 2.1rem;
    color: var(--accent);
    flex: 0 0 auto;
}

.qhero-head[b-frxw2o0m20] { flex: 1; min-width: 0; padding: 0.85rem 1rem; align-self: center; }
.qhero-crumb[b-frxw2o0m20] { display: flex; align-items: baseline; gap: 0.4rem; flex-wrap: wrap; }
.qhero-crumb a[b-frxw2o0m20] { color: var(--text-muted); font-size: 0.85rem; }
.qhero-crumb a:hover[b-frxw2o0m20] { color: var(--accent); }
.qhero-sep[b-frxw2o0m20] { color: var(--text-muted); opacity: 0.55; }
.qhero-title[b-frxw2o0m20] { font-size: 1.5rem; font-weight: 700; color: var(--text); line-height: 1.2; overflow-wrap: anywhere; }
.qhero-sub[b-frxw2o0m20] { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.2rem; color: var(--text-muted); font-size: 0.85rem; }
.qhero-type[b-frxw2o0m20] { font-weight: 400; color: var(--text); }
.qhero-dot[b-frxw2o0m20] { opacity: 0.45; }
.qhero-issuer[b-frxw2o0m20] { display: inline-flex; align-items: center; gap: 0.25rem; }
.qhero-issuer .material-symbols-outlined[b-frxw2o0m20] { font-size: 1rem; }

.qhero-facts[b-frxw2o0m20] {
    align-self: center;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1rem;
    padding: 0.85rem 1rem;
    text-align: right;
    flex: 0 0 auto;
}
.qhero-reward[b-frxw2o0m20] { font-weight: 700; font-size: 1.05rem; display: inline-flex; align-items: center; gap: 0.2rem; white-space: nowrap; }
.qhero-reward.reward-coin[b-frxw2o0m20] { color: #b45309; }
.qhero-reward.reward-points[b-frxw2o0m20] { color: #1d4ed8; }
:root[data-theme="dark"] .qhero-reward.reward-coin[b-frxw2o0m20] { color: #fdba74; }
:root[data-theme="dark"] .qhero-reward.reward-points[b-frxw2o0m20] { color: #93c5fd; }
.qhero-pts[b-frxw2o0m20] { font-size: 0.78rem; font-weight: 700; color: #1d4ed8; }
:root[data-theme="dark"] .qhero-pts[b-frxw2o0m20] { color: #93c5fd; }
.qhero-timer[b-frxw2o0m20] { font-size: 0.8rem; color: var(--text-muted); display: inline-flex; align-items: center; gap: 0.2rem; }
.qhero-timer .material-symbols-outlined[b-frxw2o0m20] { font-size: 1rem; }
.qhero-timer.due-warn[b-frxw2o0m20] { color: #d97706; }
.qhero-timer.due-bad[b-frxw2o0m20] { color: var(--danger); }

/* Tier ramp — the rail is the bold gradient; the whole hero takes a faint tint of the same hue. */
.qhero.tier-S[b-frxw2o0m20] { background: linear-gradient(100deg, color-mix(in srgb, #f59e0b 14%, transparent), transparent 72%); }
.qhero.tier-S .qhero-rail[b-frxw2o0m20] { background: linear-gradient(165deg, #fde047, #f59e0b); color: #6b3d05; }
.qhero.tier-A[b-frxw2o0m20] { background: linear-gradient(100deg, color-mix(in srgb, #ef4444 14%, transparent), transparent 72%); }
.qhero.tier-A .qhero-rail[b-frxw2o0m20] { background: linear-gradient(165deg, #fb7185, #ef4444); }
.qhero.tier-B[b-frxw2o0m20] { background: linear-gradient(100deg, color-mix(in srgb, #8b5cf6 14%, transparent), transparent 72%); }
.qhero.tier-B .qhero-rail[b-frxw2o0m20] { background: linear-gradient(165deg, #c084fc, #8b5cf6); }
.qhero.tier-C[b-frxw2o0m20] { background: linear-gradient(100deg, color-mix(in srgb, #3b82f6 14%, transparent), transparent 72%); }
.qhero.tier-C .qhero-rail[b-frxw2o0m20] { background: linear-gradient(165deg, #60a5fa, #3b82f6); }
.qhero.tier-D[b-frxw2o0m20] { background: linear-gradient(100deg, color-mix(in srgb, #22c55e 14%, transparent), transparent 72%); }
.qhero.tier-D .qhero-rail[b-frxw2o0m20] { background: linear-gradient(165deg, #4ade80, #22c55e); color: #06351a; }
.qhero.tier-E[b-frxw2o0m20] { background: linear-gradient(100deg, color-mix(in srgb, #94a3b8 14%, transparent), transparent 72%); }
.qhero.tier-E .qhero-rail[b-frxw2o0m20] { background: linear-gradient(165deg, #cbd5e1, #94a3b8); color: #243244; }
.qhero.no-tier .qhero-rail[b-frxw2o0m20] { flex-basis: 6px; }

/* Mobile: rail becomes a top ribbon, everything stacks, facts go to a row. */
@media (max-width: 640px) {
    .qhero[b-frxw2o0m20] { flex-wrap: wrap; }
    .qhero-rail[b-frxw2o0m20] { flex-basis: 100%; flex-direction: row; gap: 0.35rem; padding: 0.3rem 0.7rem; justify-content: flex-start; }
    .qhero-type-emb[b-frxw2o0m20] { margin-left: 0.7rem; font-size: 1.8rem; }
    .qhero-head[b-frxw2o0m20] { padding: 0.6rem 0.7rem; }
    .qhero-facts[b-frxw2o0m20] {
        flex-basis: 100%;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 0.7rem;
        padding: 0 0.7rem 0.7rem;
        text-align: left;
    }
}
/* /Components/Pages/Quests/QuestDetail.razor.rz.scp.css */
/* Detail = one object you're reading → bounded column, centered (the board stays full-bleed). */
.qd-page[b-4bc1zgpmjf] { max-width: 1080px; margin: 0 auto; }

.qd-tracker[b-4bc1zgpmjf] { margin: 0.9rem 0 0.2rem; padding: 0 0.4rem; }

/* Frameless content — the hero frames the top; description + participants just breathe. */
.qd-desc[b-4bc1zgpmjf] { margin: 0; padding: 0.1rem 0.2rem; }
.qd-desc .detail-desc[b-4bc1zgpmjf] { color: var(--text); line-height: 1.6; }

.qd-participants .panel-head[b-4bc1zgpmjf] { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 0.4rem; }
.qd-participants .panel-head h2[b-4bc1zgpmjf] { margin: 0; font-size: 1.05rem; }
.qd-participants .p-row[b-4bc1zgpmjf] { border-bottom: 1px solid var(--card-border); }
.qd-participants .p-row:last-child[b-4bc1zgpmjf] { border-bottom: none; }

/* Two columns: main content left, sticky action panel right. Source order is side-then-main so that on mobile
   (single column) the action panel stacks on top — primary actions stay thumb-reachable. */
.qd-grid[b-4bc1zgpmjf] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    grid-template-areas: "main side";
    gap: 1rem;
    align-items: start;
    margin-top: 1rem;
}
.qd-main[b-4bc1zgpmjf] { grid-area: main; display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.qd-side[b-4bc1zgpmjf] { grid-area: side; position: sticky; top: 1rem; }

.qd-actions[b-4bc1zgpmjf] { padding: 0.9rem 1rem; }
.qd-actions-head[b-4bc1zgpmjf] { margin: 0 0 0.65rem; font-size: 0.95rem; }
.qd-action-list[b-4bc1zgpmjf] { display: flex; flex-direction: column; gap: 0.5rem; align-items: stretch; }
.qd-action-list[b-4bc1zgpmjf]  .btn { justify-content: center; }
.qd-action-list[b-4bc1zgpmjf]  select,
.qd-action-list[b-4bc1zgpmjf]  .tier-select { width: 100%; }
.qd-action-list[b-4bc1zgpmjf]  .checkbox { font-size: 0.85rem; color: var(--text-muted); }
.qd-actions-empty[b-4bc1zgpmjf] { margin: 0; }

@media (max-width: 1024px) {
    .qd-grid[b-4bc1zgpmjf] { grid-template-columns: 1fr; grid-template-areas: "side" "main"; }
    .qd-side[b-4bc1zgpmjf] { position: static; }
    /* Full-width single column → lay the action buttons out in a wrapping row, not a tall stack. */
    .qd-action-list[b-4bc1zgpmjf] { flex-direction: row; flex-wrap: wrap; align-items: center; }
    .qd-action-list[b-4bc1zgpmjf]  .btn { flex: 0 1 auto; }
}
/* /Components/Pages/Shop/Components/ListingCard.razor.rz.scp.css */
.shop-tile[b-j7ujbdxy9u] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}
.shop-tile:hover[b-j7ujbdxy9u] {
    transform: translateY(-3px);
    box-shadow: var(--card-shadow-hover);
    border-color: color-mix(in srgb, var(--accent) 40%, var(--card-border));
}
.shop-tile.is-featured[b-j7ujbdxy9u] { border-color: rgba(246, 196, 83, 0.5); }

/* Media area: the whole product image (contain) over a blurred copy of itself — never cropped. The item link
   covers the media; store/category chips overlay a scrim at the bottom (siblings, so no nested anchors). */
.shop-tile-media-wrap[b-j7ujbdxy9u] { position: relative; aspect-ratio: 1 / 1; background: var(--surface); overflow: hidden; }
.shop-tile-thumb[b-j7ujbdxy9u] { position: absolute; inset: 0; display: block; }
.shop-tile-thumb .tile-bg[b-j7ujbdxy9u] {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    filter: blur(20px) brightness(0.7); transform: scale(1.15);
}
.shop-tile-thumb .tile-fg[b-j7ujbdxy9u] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.shop-tile-media-wrap.placeholder .shop-tile-thumb[b-j7ujbdxy9u] {
    display: flex; align-items: center; justify-content: center; color: var(--text-muted);
}
.shop-tile-media-wrap.placeholder .shop-tile-thumb .material-symbols-outlined[b-j7ujbdxy9u] { font-size: 2.2rem; opacity: 0.5; }
.shop-tile-overlay[b-j7ujbdxy9u] {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 3;
    padding: 1.3rem 0.5rem 0.45rem; display: flex; gap: 0.3rem; flex-wrap: wrap; align-items: center;
    background: linear-gradient(to top, rgba(3, 7, 16, 0.82), rgba(3, 7, 16, 0.3) 55%, transparent);
    pointer-events: none;
}
.tile-ochip[b-j7ujbdxy9u] {
    font-size: 0.68rem; line-height: 1; border-radius: 6px; padding: 0 8px; height: 22px; pointer-events: auto;
    display: inline-flex; align-items: center; gap: 0.25rem; background: rgba(255, 255, 255, 0.16);
    color: #eaf1fb; text-decoration: none; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis;
    box-sizing: border-box; vertical-align: middle;
}
.tile-ochip.store[b-j7ujbdxy9u] { background: rgba(96, 165, 250, 0.34); color: #dbeafe; }
.tile-ochip.store:hover[b-j7ujbdxy9u] { background: rgba(96, 165, 250, 0.5); }
.tile-ochip .material-symbols-outlined[b-j7ujbdxy9u] { font-size: 0.95rem; line-height: 1; flex: 0 0 auto; }

/* Corner badges (featured / new) live top-left of the media. */
.shop-tile-badges[b-j7ujbdxy9u] { position: absolute; top: 0.5rem; left: 0.5rem; display: flex; gap: 0.3rem; z-index: 4; }

.shop-tile-body[b-j7ujbdxy9u] { display: flex; flex-direction: column; gap: 0.3rem; padding: 0.65rem 0.8rem 0.8rem; flex: 1; }
.shop-tile-body h3[b-j7ujbdxy9u] { margin: 0; font-size: 1.02rem; line-height: 1.25; }
.shop-tile-meta[b-j7ujbdxy9u] { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: auto; }
/* /Components/Pages/Shop/Components/StoreCard.razor.rz.scp.css */
/* Discord-style shop card (Shops tab): banner + overlapping logo + type chip + description + featured strip. */
.shop-store-card[b-iysemi35hx] {
    position: relative;
    display: flex; flex-direction: column; overflow: visible;
    background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius);
    box-shadow: var(--card-shadow);
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}
.shop-store-card:hover[b-iysemi35hx] {
    transform: translateY(-3px); box-shadow: var(--card-shadow-hover);
    border-color: color-mix(in srgb, var(--accent) 40%, var(--card-border));
}
/* Fixed (not min) height so collapsed and expanded are byte-for-byte the same footprint — collapsed content is
   always bounded (clamped description + 2 featured rows), expanded fills the same box with internal scroll. */
.shop-store-card[b-iysemi35hx] { height: 25rem; overflow: hidden; }

/* Full-bleed banner (edge to edge, cover) like a Discord profile/store header. */
.ssc-banner[b-iysemi35hx] { position: relative; display: block; height: 132px; background: var(--surface); border-radius: var(--radius) var(--radius) 0 0; overflow: hidden; }
.ssc-banner img[b-iysemi35hx] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ssc-banner.placeholder[b-iysemi35hx] { display: flex; align-items: center; justify-content: center; color: var(--text-muted); }
.ssc-banner.placeholder .material-symbols-outlined[b-iysemi35hx] { font-size: 2rem; opacity: 0.5; }
.ssc-body[b-iysemi35hx] { position: relative; flex: 1; display: flex; flex-direction: column; gap: 0.45rem; padding: 0.6rem 0.9rem 0.9rem; border-radius: 0 0 var(--radius) var(--radius); }
/* Rating badge overlaid on the banner's top-right corner. */
.ssc-rating[b-iysemi35hx] {
    position: absolute; top: 0.55rem; right: 0.6rem; z-index: 5;
    font-size: 0.72rem; font-weight: 600; border-radius: 6px; padding: 2px 8px; white-space: nowrap;
    background: rgba(0, 0, 0, 0.55); color: #fff; backdrop-filter: blur(3px);
}

/* Expanded: keep icon/title, drop the banner; the featured block holds its natural size (5 rows is the standard),
   and the description flexes to fill whatever height remains, scrolling if it overflows. */
.shop-store-card.expanded .ssc-body[b-iysemi35hx] { border-radius: var(--radius); }
.shop-store-card.expanded .ssc-desc.ssc-desc-full[b-iysemi35hx] { flex: 1 1 auto; height: auto; max-height: none; min-height: 2.7rem; overflow-y: auto; }
.shop-store-card.expanded .ssc-featured[b-iysemi35hx] { flex: 0 0 auto; }
/* Collapsed long descriptions still get the un-clamped scroll treatment when shown full elsewhere. */
.ssc-desc.ssc-desc-full[b-iysemi35hx] { height: auto; max-height: 8rem; overflow-y: auto; }
.ssc-expand[b-iysemi35hx] {
    align-self: flex-start;
    display: inline-flex; align-items: center; gap: 0.25rem;
    background: none; border: none; cursor: pointer; padding: 0.1rem 0;
    font-size: 0.78rem; font-weight: 600; color: var(--accent);
}
.ssc-expand:hover[b-iysemi35hx] { text-decoration: underline; }
.ssc-expand .material-symbols-outlined[b-iysemi35hx] { font-size: 1.05rem; }
.ssc-logo[b-iysemi35hx] {
    width: 52px; height: 52px; flex: 0 0 auto; border-radius: 11px;
    border: 2px solid var(--card-bg); object-fit: cover; background: var(--surface);
    display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--text);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}
/* Header row below the banner: logo left; title (line 1) + type (line 2) beside it; rating pinned top-right. */
.ssc-head[b-iysemi35hx] { display: flex; align-items: flex-start; gap: 0.7rem; min-width: 0; }
.ssc-headtext[b-iysemi35hx] { flex: 1; min-width: 0; }
.ssc-head h3[b-iysemi35hx] {
    margin: 0; font-size: 1.1rem; line-height: 1.2; min-width: 0;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ssc-meta[b-iysemi35hx] { display: flex; gap: 0.35rem; align-items: center; flex-wrap: wrap; margin-top: 0.25rem; }
/* Compact markdown preview: render emphasis/lists but reserve a fixed ~2-line slot so cards stay comparable. */
.ssc-desc[b-iysemi35hx] { color: var(--text-muted); font-size: 0.85rem; margin: 0; height: 2.7rem; overflow: hidden; }
.ssc-more[b-iysemi35hx] { color: var(--text-muted); font-size: 0.78rem; }
.ssc-desc > :is(p, ul, ol, h1, h2, h3, h4, blockquote)[b-iysemi35hx] { margin: 0; }
.ssc-desc ul[b-iysemi35hx], .ssc-desc ol[b-iysemi35hx] { padding-left: 1.1rem; }
.ssc-desc :is(strong, b)[b-iysemi35hx] { color: var(--text); }
.ssc-featured[b-iysemi35hx] { border-top: 1px solid var(--card-border); padding-top: 0.45rem; }
.ssc-featured .lbl[b-iysemi35hx] {
    font-size: 0.64rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted);
    margin-bottom: 0.2rem; display: flex; align-items: center; gap: 0.25rem;
}
.ssc-featured .lbl .material-symbols-outlined[b-iysemi35hx] { font-size: 0.85rem; }
.ssc-frow[b-iysemi35hx] { display: flex; justify-content: space-between; gap: 0.5rem; font-size: 0.84rem; padding: 1px 0; }
.ssc-frow .nm[b-iysemi35hx] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ssc-foot[b-iysemi35hx] { display: flex; align-items: center; gap: 0.45rem; margin-top: auto; color: var(--text-muted); font-size: 0.78rem; flex-wrap: wrap; }
/* /Components/Pages/Shop/OrderReceipt.razor.rz.scp.css */
/* Receipt = one transaction you're reading → bounded, centered column (the orders board stays full-bleed). */
.rc-page[b-bju1tippam] { max-width: 1080px; margin: 0 auto; }

/* ── Ticket header ── */
.rc-head[b-bju1tippam] {
    border: 1px solid var(--card-border);
    border-top: 3px solid var(--rc-accent, var(--accent));
    border-radius: var(--radius);
    background: var(--card-bg);
    overflow: hidden;
}
.rc-crumb[b-bju1tippam] { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.4rem; font-size: 0.78rem; color: var(--text-muted); }
.rc-crumb a[b-bju1tippam] { color: var(--text-muted); text-decoration: none; }
.rc-crumb a:hover[b-bju1tippam] { color: var(--text); }
.rc-crumb-sep[b-bju1tippam] { opacity: 0.5; }
.rc-title[b-bju1tippam] { font-size: 1.2rem; font-weight: 700; color: var(--text); line-height: 1.2; }
.rc-head-top[b-bju1tippam] { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem 1.1rem; flex-wrap: wrap; }
.rc-emblem[b-bju1tippam] {
    width: 54px; height: 54px; flex: 0 0 auto; border-radius: 12px; overflow: hidden;
    background: var(--surface); border: 1px solid var(--border);
    display: flex; align-items: center; justify-content: center;
}
.rc-emblem img[b-bju1tippam] { width: 100%; height: 100%; object-fit: cover; }
.rc-emblem .material-symbols-outlined[b-bju1tippam] { font-size: 1.7rem; color: var(--text-muted); }
.rc-ident[b-bju1tippam] { flex: 1; min-width: 120px; }
.rc-chips[b-bju1tippam] { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.45rem; }
.rc-chips .material-symbols-outlined[b-bju1tippam] { font-size: 0.9rem; vertical-align: -2px; }

.rc-stub[b-bju1tippam] { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; text-align: right; gap: 0.25rem; }
.rc-status[b-bju1tippam] { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.72rem; padding: 2px 9px; border-radius: 999px; white-space: nowrap; }
.rc-status .material-symbols-outlined[b-bju1tippam] { font-size: 0.9rem; }
.rc-total[b-bju1tippam] { font-size: 1.3rem; font-weight: 700; display: inline-flex; align-items: center; gap: 0.35rem; }
.rc-total small[b-bju1tippam] { font-size: 0.7rem; font-weight: 600; color: var(--text-muted); }
.rc-total .material-symbols-outlined[b-bju1tippam] { font-size: 1rem; color: var(--accent); }

.rc-ok[b-bju1tippam]   { background: color-mix(in srgb, #0f9d6b 16%, transparent); color: #0f9d6b; }
.rc-info[b-bju1tippam] { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); }
.rc-warn[b-bju1tippam] { background: color-mix(in srgb, #b45309 18%, transparent); color: #b45309; }
.rc-bad[b-bju1tippam]  { background: color-mix(in srgb, var(--danger) 16%, transparent); color: var(--danger); }

/* Perforation + facts strip. */
.rc-facts[b-bju1tippam] { display: flex; flex-wrap: wrap; gap: 0.4rem 1.3rem; padding: 0.6rem 1.1rem; border-top: 1px dashed var(--border); font-size: 0.8rem; color: var(--text-muted); }
.rc-facts > span[b-bju1tippam] { display: inline-flex; align-items: center; gap: 0.3rem; }
.rc-facts .material-symbols-outlined[b-bju1tippam] { font-size: 0.95rem; vertical-align: -2px; }

/* ── Layout: main + sticky side. Source order is side-then-main, so on mobile the actions stack on top. ── */
.rc-grid[b-bju1tippam] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 1rem;
    align-items: start;
    margin-top: 1rem;
}
.rc-col-main[b-bju1tippam] { display: flex; flex-direction: column; gap: 1.1rem; min-width: 0; }
.rc-col-side[b-bju1tippam] { display: flex; flex-direction: column; gap: 1rem; position: sticky; top: 1rem; }
.rc-receipt[b-bju1tippam] { display: flex; flex-direction: column; }

/* Store column (in the buyer · seller · store row): compact logo/type-icon + name + type. */
.rc-store-col[b-bju1tippam] { display: inline-flex; align-items: center; gap: 0.45rem; text-decoration: none; color: inherit; min-width: 0; max-width: 100%; }
.rc-store-col:hover .rc-shop-name[b-bju1tippam] { color: var(--accent); }
.rc-shop-ico[b-bju1tippam] { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 8px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; }
.rc-shop-ico img[b-bju1tippam] { width: 100%; height: 100%; object-fit: cover; }
.rc-shop-ico .material-symbols-outlined[b-bju1tippam] { font-size: 1rem; color: var(--text-muted); }
.rc-shop-text[b-bju1tippam] { min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
.rc-shop-name[b-bju1tippam] { font-size: 0.82rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-shop-type[b-bju1tippam] { font-size: 0.68rem; color: var(--text-muted); }

.rc-side-head[b-bju1tippam] { margin: 0 0 0.6rem; font-size: 0.92rem; display: flex; align-items: center; gap: 0.35rem; }
.rc-side-head .material-symbols-outlined[b-bju1tippam] { font-size: 1.05rem; }
.rc-actions[b-bju1tippam] { padding: 0.85rem 1rem; }
.rc-act-list[b-bju1tippam] { display: flex; flex-direction: column; gap: 0.5rem; align-items: stretch; }
.rc-act-list .btn[b-bju1tippam] { justify-content: center; }
.rc-act-sep[b-bju1tippam] { height: 1px; background: var(--border); margin: 0.15rem 0; }

.rc-rate[b-bju1tippam] { padding: 0.85rem 1rem; }
.rc-rate .star-pick[b-bju1tippam] { margin: 0.3rem 0 0.5rem; }
.rc-rate-lbl[b-bju1tippam] { font-size: 0.8rem; color: var(--text-muted); display: block; }
.rc-rate-comment[b-bju1tippam] {
    width: 100%; box-sizing: border-box; resize: vertical; font: inherit; font-size: 0.85rem;
    padding: 0.4rem 0.5rem; border: 1px solid var(--border); border-radius: var(--radius-sm);
    background: var(--card-bg); color: var(--text); margin-bottom: 0.5rem;
}
.rc-rate .btn[b-bju1tippam] { width: 100%; justify-content: center; }
.rc-rate-mine[b-bju1tippam], .rc-rate-cp[b-bju1tippam] { margin: 0.35rem 0 0; }
.rc-stars[b-bju1tippam] { color: #f5b301; letter-spacing: 1px; }
.rc-hide[b-bju1tippam] { margin-left: 0.4rem; }

/* Contextual sections (offer / dispute / dispute form). */
.rc-section[b-bju1tippam] { padding: 0.85rem 1rem; }
.rc-sec-head[b-bju1tippam] { margin: 0 0 0.4rem; font-size: 1rem; display: flex; align-items: center; gap: 0.4rem; }
.rc-sec-head .material-symbols-outlined[b-bju1tippam] { font-size: 1.15rem; }
.rc-sec-sub[b-bju1tippam] { margin: 0 0 0.5rem; }
.rc-sec-foot[b-bju1tippam] { margin-top: 0.5rem; }
.rc-danger[b-bju1tippam] { border-color: color-mix(in srgb, var(--danger) 45%, var(--card-border)); }
.rc-counter[b-bju1tippam] { max-width: 9rem; }
.rc-dispute-reason[b-bju1tippam] { margin: 0.2rem 0 0.5rem; }
.rc-evidence[b-bju1tippam] { max-width: 100%; max-height: 260px; border-radius: 8px; }

/* Parties: from → to with reputation. */
/* Frameless content (matches the quest detail): a buyer · seller · store row that flows 3-up on desktop and
   wraps 2-up on phones, then the ledger — divided by a hairline. */
.rc-parties[b-bju1tippam] {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.9rem 1.2rem;
    padding: 0 0.2rem 0.9rem; border-bottom: 1px solid var(--border);
}
.rc-party[b-bju1tippam] { display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; }
.rc-party-lbl[b-bju1tippam] { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); }
.rc-rep[b-bju1tippam] { font-size: 0.74rem; color: #b45309; font-weight: 600; display: inline-flex; align-items: center; gap: 0.2rem; }
.rc-rep .material-symbols-outlined[b-bju1tippam] { font-size: 0.85rem; }
.rc-rep-n[b-bju1tippam] { color: var(--text-muted); font-weight: 400; }
.rc-rep-none[b-bju1tippam] { color: var(--text-muted); font-weight: 400; }

/* Itemised ledger. */
.rc-ledger[b-bju1tippam] { display: grid; gap: 0.4rem; margin: 0; padding: 0.9rem 0.2rem 0; }
.rc-ledger > div[b-bju1tippam] { display: flex; justify-content: space-between; gap: 1rem; }
.rc-ledger dt[b-bju1tippam] { color: var(--text-muted); margin: 0; }
.rc-ledger dd[b-bju1tippam] { margin: 0; font-weight: 600; }
.rc-ledger-total[b-bju1tippam] { border-top: 1px solid var(--border); padding-top: 0.4rem; margin-top: 0.15rem; }
.rc-ledger-total dd[b-bju1tippam] { font-size: 1.1rem; }

/* Timeline: icon node + a connecting line down the body; each step timestamped. */
.rc-timeline[b-bju1tippam] { padding: 0.3rem 0.2rem; }
.rc-tl-head[b-bju1tippam] { margin: 0 0 0.7rem; font-size: 1rem; }
.rc-step[b-bju1tippam] { display: flex; gap: 10px; }
.rc-step-ic[b-bju1tippam] {
    width: 28px; height: 28px; border-radius: 50%; flex: 0 0 auto; z-index: 1;
    display: flex; align-items: center; justify-content: center; font-size: 1rem;
    background: var(--surface); color: var(--text-muted);
}
.rc-step-body[b-bju1tippam] { flex: 1; min-width: 0; margin-left: -24px; padding-left: 24px; padding-bottom: 1rem; border-left: 2px solid var(--border); }
.rc-step-last[b-bju1tippam] { border-left-color: transparent; padding-bottom: 0; }
.rc-step-title[b-bju1tippam] { margin: 0; font-size: 0.9rem; font-weight: 600; }
.rc-step-time[b-bju1tippam] { font-weight: 400; color: var(--text-muted); }
.rc-step-note[b-bju1tippam] { margin: 0.15rem 0 0; font-size: 0.82rem; color: var(--text-muted); }

.rc-done .rc-step-ic[b-bju1tippam] { background: color-mix(in srgb, #0f9d6b 20%, var(--card-bg)); color: #0f9d6b; }
.rc-done .rc-step-body[b-bju1tippam] { border-left-color: #0f9d6b; }
.rc-current .rc-step-ic[b-bju1tippam] { background: color-mix(in srgb, var(--accent) 20%, var(--card-bg)); color: var(--accent); }
.rc-current .rc-step-body[b-bju1tippam] { border-left-style: dashed; }
.rc-current .rc-step-title[b-bju1tippam] { color: var(--accent); }
.rc-current .rc-step-time[b-bju1tippam] { color: var(--accent); }
.rc-pending .rc-step-body[b-bju1tippam] { border-left-style: dashed; }
.rc-bad .rc-step-ic[b-bju1tippam] { background: color-mix(in srgb, var(--danger) 20%, var(--card-bg)); color: var(--danger); }
.rc-bad .rc-step-body[b-bju1tippam] { border-left-color: var(--danger); }

/* Star picker (rating). */
.star-pick[b-bju1tippam] { display: flex; gap: 0.15rem; }
.star-btn[b-bju1tippam] { background: none; border: none; cursor: pointer; padding: 0; line-height: 1; color: var(--text-muted); }
.star-btn .material-symbols-outlined[b-bju1tippam] { font-size: 1.6rem; }
.star-btn.on[b-bju1tippam] { color: #f5b301; }
.star-btn.on .material-symbols-outlined[b-bju1tippam] { font-variation-settings: 'FILL' 1; }

/* ── Mobile: dissolve the columns and reorder the blocks → actions, receipt, ratings, timeline. ── */
@media (max-width: 1024px) {
    .rc-grid[b-bju1tippam] { display: flex; flex-direction: column; gap: 1rem; }
    .rc-col-main[b-bju1tippam], .rc-col-side[b-bju1tippam] { display: contents; }
    .rc-actions[b-bju1tippam] { order: 1; }
    .rc-section[b-bju1tippam] { order: 2; }
    .rc-receipt[b-bju1tippam] { order: 3; }
    .rc-rate[b-bju1tippam] { order: 4; }
    .rc-timeline[b-bju1tippam] { order: 5; }

    /* Actions pack onto shared rows instead of one tall stack; the separator forces a row break. */
    .rc-act-list[b-bju1tippam] { flex-direction: row; flex-wrap: wrap; }
    .rc-act-list .btn[b-bju1tippam] { flex: 1 1 auto; }
    .rc-act-sep[b-bju1tippam] { flex-basis: 100%; height: 0; margin: 0; background: transparent; }
}
/* /Components/Shared/PageHeader.razor.rz.scp.css */
/* Scoped to PageHeader. The breadcrumb / subtitle / toolbar base styles stay global (app.css:
   .page-head / .page-breadcrumb / .subtitle / .page-toolbar) — this file is the icon + KPI additions only. */

.ph-bar[b-soeh5bhiof] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.75rem 1.25rem;
}

.ph-lead[b-soeh5bhiof] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1 1 16rem;
    min-width: 0;
}

.ph-icon[b-soeh5bhiof] {
    font-size: 1.9rem;
    color: var(--accent);
    flex: 0 0 auto;
}

.ph-headings[b-soeh5bhiof] { min-width: 0; }

/* KPI tiles. Default (desktop, few): a compact cluster pinned to the top-right of the bar. */
.ph-kpis[b-soeh5bhiof] {
    display: flex;
    gap: 0.5rem;
    flex: 0 0 auto;
    align-self: center;
}

.ph-kpi[b-soeh5bhiof] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    padding: 0.4rem 0.7rem;
    min-width: 4.5rem;
    border: 1px solid var(--card-border);
    border-radius: 0.55rem;
    background: var(--surface);
}

/* Icon variant: a compact square tile — Material icon over the value, label shown in the hover tooltip. */
.ph-kpi.has-icon[b-soeh5bhiof] {
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    width: 3.4rem;
    height: 3.4rem;
    min-width: 0;
    padding: 0.4rem;
    cursor: default;
    transition: border-color 0.12s ease, background 0.12s ease;
}
.ph-kpi.has-icon:hover[b-soeh5bhiof] {
    border-color: color-mix(in srgb, var(--accent) 45%, var(--card-border));
    background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}
.ph-kpi-icon[b-soeh5bhiof] { font-size: 1.25rem; line-height: 1; color: var(--text-muted); }
.ph-kpi.has-icon .ph-kpi-value[b-soeh5bhiof] { font-size: 1.05rem; }

.ph-kpi-value[b-soeh5bhiof] { font-size: 1.15rem; font-weight: 700; line-height: 1.1; color: var(--text); }
.ph-kpi-label[b-soeh5bhiof] { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-muted); }

.ph-kpi.kpi-good .ph-kpi-value[b-soeh5bhiof], .ph-kpi.kpi-good .ph-kpi-icon[b-soeh5bhiof] { color: var(--success, #4ade80); }
.ph-kpi.kpi-warn .ph-kpi-value[b-soeh5bhiof], .ph-kpi.kpi-warn .ph-kpi-icon[b-soeh5bhiof] { color: var(--warn, #fbbf24); }
.ph-kpi.kpi-bad .ph-kpi-value[b-soeh5bhiof], .ph-kpi.kpi-bad .ph-kpi-icon[b-soeh5bhiof] { color: var(--danger, #f87171); }

/* Many KPIs (> InlineKpiMax) on desktop: wrap to a full-width strip below the breadcrumb, above the toolbar. */
.ph-many .ph-kpis[b-soeh5bhiof] {
    flex-basis: 100%;
    order: 2;
}

/* Mobile: KPIs always become a compact horizontal-scroll strip below the breadcrumb (never collapsed). */
@media (max-width: 720px) {
    .ph-kpis[b-soeh5bhiof] {
        flex-basis: 100%;
        order: 2;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .ph-kpis[b-soeh5bhiof]::-webkit-scrollbar { display: none; }
    .ph-kpi[b-soeh5bhiof] { flex: 0 0 auto; min-width: 5rem; }
}
/* /Components/Shared/StatusTracker.razor.rz.scp.css */
.tracker[b-4ijw5b2hq2] {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.trk-stage[b-4ijw5b2hq2] {
    flex: 1;
    text-align: center;
    position: relative;
    padding-top: 1.15rem;
    font-size: 0.72rem;
    color: var(--text-muted);
    min-width: 0;
}

/* Connecting line from this dot toward the next. */
.trk-stage[b-4ijw5b2hq2]::after {
    content: "";
    position: absolute;
    top: 0.5rem;
    left: 50%;
    right: -50%;
    height: 2px;
    background: var(--card-border);
}
.trk-stage:last-child[b-4ijw5b2hq2]::after { display: none; }

.trk-dot[b-4ijw5b2hq2] {
    position: absolute;
    top: 0.15rem;
    left: 50%;
    transform: translateX(-50%);
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    /* Opaque centre + bg-base ring punch a hole over the connecting line; inset ring is the unreached outline. */
    background: var(--bg-base);
    box-shadow: inset 0 0 0 2px var(--card-border), 0 0 0 3px var(--bg-base);
}

.trk-label[b-4ijw5b2hq2] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.trk-count[b-4ijw5b2hq2] {
    display: inline-grid;
    place-items: center;
    min-width: 1.05rem;
    height: 1.05rem;
    padding: 0 0.25rem;
    border-radius: 0.6rem;
    background: var(--accent);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1;
}
.tracker.tone-danger .trk-count[b-4ijw5b2hq2] { background: var(--danger); }

.trk-stage.reached[b-4ijw5b2hq2] { color: var(--text); }
.trk-stage.reached .trk-dot[b-4ijw5b2hq2] { background: var(--accent); box-shadow: 0 0 0 3px var(--bg-base); }
.trk-stage.reached[b-4ijw5b2hq2]::after { background: var(--accent); }
.trk-stage.current .trk-dot[b-4ijw5b2hq2] { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, var(--bg-base)); }

.tracker.tone-danger .trk-stage.reached .trk-dot[b-4ijw5b2hq2] { background: var(--danger); box-shadow: 0 0 0 3px var(--bg-base); }
.tracker.tone-danger .trk-stage.reached[b-4ijw5b2hq2]::after { background: var(--danger); }
.tracker.tone-danger .trk-stage.current .trk-dot[b-4ijw5b2hq2] { box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 35%, var(--bg-base)); }

/* Mobile: tighter labels. */
@media (max-width: 640px) {
    .trk-stage[b-4ijw5b2hq2] { font-size: 0.64rem; padding-top: 1rem; }
}
/* /Components/Shared/TabBar.razor.rz.scp.css */
.tabbar[b-9aumogimo0] { display: flex; gap: 0.25rem; border-bottom: 1px solid var(--border); margin-bottom: 1.25rem; }
.tabbar-tab[b-9aumogimo0] { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.6rem 1rem; color: var(--text-muted);
    border-bottom: 2px solid transparent; white-space: nowrap; font-size: 0.92rem; }
.tabbar-tab:hover[b-9aumogimo0] { color: var(--text); text-decoration: none; }
.tabbar-tab.active[b-9aumogimo0] { color: #4ade80; border-bottom-color: #4ade80; font-weight: 600; }
.tabbar-tab .material-symbols-outlined[b-9aumogimo0] { font-size: 1.15rem; }

/* Tight screens: collapse non-active tabs to icon-only (tooltip via title); the active tab keeps its label.
   This avoids horizontal scrolling no matter how many tabs there are. */
@media (max-width: 820px) {
    .tabbar[b-9aumogimo0] { gap: 0.1rem; }
    .tabbar-tab[b-9aumogimo0] { padding: 0.6rem 0.7rem; }
    .tabbar-tab:not(.active) .tab-label[b-9aumogimo0] { display: none; }
    .tabbar-tab.active[b-9aumogimo0] { gap: 0.3rem; }
}

/* Last resort on very narrow viewports: let it scroll rather than overflow the layout. */
@media (max-width: 360px) {
    .tabbar[b-9aumogimo0] { overflow-x: auto; }
}
