.purchase-page .page-heading p { color:var(--muted); margin-top:6px; font-size:13px; }
.purchase-panel { overflow:hidden; }
.purchase-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:16px 18px; }
.purchase-tabs { display:flex; gap:4px; }
.purchase-tabs button { min-height:42px; padding:10px 14px; border-radius:7px; color:var(--muted); }
.purchase-tabs button[aria-pressed="true"] { background:var(--accent-soft); color:var(--accent); }
.purchase-search { display:flex; align-items:center; gap:10px; min-width:200px; flex:1; border:1px solid var(--line); border-radius:7px; padding:0 12px; }
.purchase-search svg { width:16px; height:16px; color:var(--muted); }
.purchase-search input { min-height:42px; min-width:0; width:100%; border:0; outline:none; background:transparent; color:var(--text); }
.purchase-search:focus-within { outline:2px solid var(--accent); }
.purchase-toolbar select { background:var(--panel); color:var(--text); border:1px solid var(--line); min-height:42px; border-radius:7px; padding:8px 12px; }
.purchase-flag-filter { display:flex; align-items:center; gap:8px; font-size:12px; cursor:pointer; min-height:42px; }
.purchase-flag-filter input { accent-color:var(--accent); }
.purchase-columns,.purchase-row>summary { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(120px,.7fr) minmax(115px,.6fr) minmax(170px,.9fr) 16px; gap:18px; align-items:center; padding:14px 20px; }
.purchase-columns { border-block:1px solid var(--line); color:var(--faint); font-size:11px; }
.purchase-row { border-bottom:1px solid var(--line); }
.purchase-row:last-child { border-bottom:0; }
.purchase-row>summary { min-height:74px; cursor:pointer; list-style:none; font-size:13px; }
.purchase-row>summary::-webkit-details-marker { display:none; }
.purchase-row>summary:hover { background:var(--surface); }
.purchase-row>summary:focus-visible,.purchase-history>summary:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.purchase-row strong { font-weight:600; }
.purchase-row small { display:block; color:var(--faint); margin-top:4px; font-size:11px; }
.purchase-person { min-width:0; overflow-wrap:anywhere; }
.purchase-person .purchase-flag { display:flex; align-items:center; gap:5px; color:var(--text); }
.purchase-flag svg { width:12px; height:12px; }
.purchase-badge { justify-self:start; padding:4px 8px; border-radius:5px; background:var(--surface); font-size:11px; }
.purchase-badge[data-status="expired"] { color:var(--text); background:#6b6b6b20; }
.purchase-badge[data-status="failed"],.purchase-badge[data-status="review"] { color:var(--text); background:#adadad15; }
.purchase-badge[data-status="renewed"],.purchase-badge[data-status="purchased"] { color:var(--text); background:#9d9d9d15; }
.purchase-date { font-size:12px; color:var(--muted); }
.purchase-chevron svg { width:14px; transition:transform .16s; }
.purchase-row[open] .purchase-chevron svg { transform:rotate(90deg); }
.purchase-detail { padding:4px 20px 20px; background:var(--surface); }
.purchase-detail dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:16px 0; }
.purchase-detail dt { font-size:11px; color:var(--faint); }
.purchase-detail dd { font-size:13px; margin:6px 0 0; overflow-wrap:anywhere; }
.purchase-muted { color:var(--muted); font-size:11px; }
.purchase-source { margin-bottom:16px; }
.purchase-source summary { font-size:12px; cursor:pointer; padding:10px 0; }
.purchase-source pre { white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; font-size:12px; line-height:1.7; color:var(--muted); }
.purchase-pages { display:flex; justify-content:space-between; align-items:center; padding:12px 18px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.purchase-pages[hidden] { display:none; }
.purchase-pages>div { display:flex; align-items:center; gap:12px; }
.purchase-history { margin-top:16px; border:1px solid var(--line); border-radius:12px; background:var(--panel); }
.purchase-history>summary { display:flex; align-items:center; gap:10px; min-height:54px; padding:12px 18px; cursor:pointer; list-style:none; font-size:13px; }
.purchase-history>summary::-webkit-details-marker { display:none; }
.purchase-history>summary svg { width:16px; }
.purchase-history>summary>span { margin-left:auto; color:var(--muted); font-size:11px; }
#purchase-history-jobs { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:0 18px 18px; }
#purchase-history-jobs>section { display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding-top:16px; }
#purchase-history-jobs strong { font-size:13px; }
#purchase-history-jobs span { display:block; font-size:12px; color:var(--muted); margin-top:6px; }
#purchase-history-jobs p { color:var(--faint); font-size:12px; line-height:1.6; margin-top:6px; }
#purchase-history-jobs button { align-self:start; flex:none; }
.purchase-empty { padding:36px 20px; text-align:center; }
.purchase-empty p { color:var(--muted); font-size:13px; margin-top:8px; }
.purchase-error:not(:empty) { padding:12px 16px; margin-bottom:16px; border-left:3px solid #b8b8b8; background:var(--panel); font-size:13px; }
.notice-symbol.purchase_expired { color:var(--text); background:#6b6b6b20; }
[data-theme="light"] .purchase-badge[data-status="expired"],[data-theme="light"] .notice-symbol.purchase_expired { color:var(--text); }
[data-theme="light"] .purchase-flag,[data-theme="light"] .purchase-badge[data-status="failed"],[data-theme="light"] .purchase-badge[data-status="review"] { color:var(--text); }
[data-theme="light"] .purchase-badge[data-status="renewed"],[data-theme="light"] .purchase-badge[data-status="purchased"] { color:var(--text); }
@media(max-width:900px) { .purchase-columns { display:none; }.purchase-row>summary { grid-template-columns:minmax(0,1fr) auto 16px; gap:10px; }.purchase-person { grid-column:1; }.purchase-row>summary>span:nth-child(2) { grid-column:1; grid-row:2; }.purchase-badge { grid-column:2;grid-row:1; }.purchase-date { grid-column:2;grid-row:2; }.purchase-chevron { grid-column:3;grid-row:1 / span 2; }.purchase-detail dl { grid-template-columns:1fr 1fr; }#purchase-history-jobs { grid-template-columns:1fr; } }
@media(max-width:520px) { .purchase-tabs { width:100%; }.purchase-tabs button { flex:1;font-size:12px; }.purchase-search { flex-basis:100%; }.purchase-row>summary { padding:14px; font-size:12px; }.purchase-date { max-width:120px; text-align:right; font-size:11px; }.purchase-detail dl { grid-template-columns:1fr; }.purchase-pages { flex-wrap:wrap; gap:12px; }.purchase-pages .btn { padding:8px 12px; } }
@media(prefers-reduced-motion:reduce) { .purchase-chevron svg { transition:none; } }
