.library-intro { background:var(--bg-soft); }
.library-intro h1 { max-width:900px; }
.library-note { font-size:.88rem; color:var(--text-muted); margin-top:18px; }
.library-note a,.consent-line a { text-decoration:underline; }
.resource-switch { display:flex; gap:0; padding-block:30px; border-bottom:1px solid var(--line); }
.resource-switch a { flex:1; padding:16px 22px; font-weight:700; border-left:3px solid var(--line); }
.resource-switch a[aria-current] { border-color:var(--accent-deep); background:var(--accent-soft); }
.resource-switch span { display:block; font-size:.88rem; font-weight:400; color:var(--text-muted); }
.library-filters { padding:24px; background:var(--bg-soft); border:1px solid var(--line); margin-bottom:28px; }
.library-search { margin-bottom:20px; }
.facet-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.field select { font:inherit; width:100%; min-height:46px; padding:9px; border:1px solid var(--line-strong); border-radius:4px; background:white; color:var(--text); }
.filter-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:16px; }
.filter-bottom p { margin:0; font-size:.9rem; }
.text-button { border:0; padding:8px 0; background:none; color:var(--accent-deep); text-decoration:underline; text-underline-offset:4px; font-weight:600; }
.text-button:disabled { color:var(--text-muted); cursor:default; }
.playbook-grid { display:grid; gap:28px; }
.playbook-card { display:grid; grid-template-columns:220px minmax(0,1fr); gap:36px; padding:30px; border:1px solid var(--line); border-radius:var(--radius-lg); align-items:start; }
.playbook-cover { width:100%; border:1px solid var(--line); border-radius:4px; }
.playbook-card__body h2 { font-size:1.85rem; line-height:1.2; margin-bottom:16px; }
.playbook-card__body>p { max-width:800px; }
.playbook-card--text { grid-template-columns:100px minmax(0,1fr); }
.playbook-number { padding:18px; border-top:4px solid var(--accent-deep); background:var(--bg-soft); font-size:1.4rem; font-weight:bold; }
.playbook-tags { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; }
.playbook-tags span { background:var(--bg-soft); font-size:.78rem; padding:3px 10px; border-radius:4px; }
.library-empty { padding:48px 20px; text-align:center; }
.library-status:empty,.publisher-message:empty { display:none; }
.library-status,.publisher-message { padding:12px 18px; background:var(--accent-soft); border-left:3px solid var(--accent-deep); }
.download-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; align-items:start; }
.download-context { position:sticky; top:130px; }
.download-context h2 { font-size:2rem; line-height:1.25; margin-block:18px; }
.subscription-panel { border:1px solid var(--line); padding:32px; border-radius:var(--radius-lg); }
.subscription-panel form { margin-top:0; }
.subscription-panel h2 { margin-bottom:26px; font-size:1.45rem; }
.consent-line { display:flex; gap:12px; align-items:flex-start; margin:22px 0 14px; font-size:.92rem; line-height:1.5; cursor:pointer; }
.consent-line input { width:19px; height:19px; flex-shrink:0; margin-top:2px; accent-color:var(--accent-deep); }
.form-status { margin-top:16px; }
.form-status[data-error=true] { color:#a12e20; }
.publisher-section { padding-top:15px; }
.publisher-login { max-width:680px; border:1px solid var(--line); padding:32px; }
.publisher-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.publisher-tabs { display:flex; flex-wrap:wrap; border-bottom:1px solid var(--line); gap:4px; margin:10px 0 28px; }
.publisher-tabs button { border:0; border-bottom:3px solid transparent; color:var(--text-muted); background:white; padding:14px 18px; font-size:.93rem; }
.publisher-tabs button[aria-pressed=true] { color:var(--accent-deep); border-bottom-color:var(--accent-deep); font-weight:bold; }
.publisher-box { border:1px solid var(--line); padding:28px; margin:24px 0; border-radius:var(--radius-lg); }
.publisher-box h3 { margin-bottom:20px; }
.publisher-box .field { margin-bottom:16px; }
.publisher-box small { font-size:.8rem; color:var(--text-muted); }
.publisher-book,.issue-card { border:1px solid var(--line); padding:22px; margin:16px 0; display:flex; justify-content:space-between; gap:24px; align-items:start; }
.publisher-book h3,.issue-card h3 { font-size:1.15rem; }
.publisher-book p,.issue-card p { margin:5px 0; font-size:.9rem; }
.publisher-book .button { flex-shrink:0; }
.status-pill { display:inline-block; font-size:.76rem; font-weight:bold; padding:3px 9px; background:var(--accent-soft); border-radius:3px; text-transform:capitalize; }
.status-pill--unsubscribed,.status-pill--paused,.status-pill--failed { background:#fff0e7; color:#7a3e13; }
.email-preview { border:1px solid var(--line); background:#fafcfc; padding:24px; margin-top:24px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:.95rem; }
#publish-form { border-top:1px solid var(--line); padding-top:24px; }
.subscriber-search { display:flex; align-items:end; gap:16px; max-width:650px; margin-bottom:24px; }
.subscriber-search .field { flex:1; }
.subscriber-table-wrap { overflow:auto; border:1px solid var(--line); }
.subscriber-table { border-collapse:collapse; width:100%; min-width:760px; font-size:.86rem; }
.subscriber-table th { background:var(--bg-soft); text-align:left; }
.subscriber-table th,.subscriber-table td { padding:14px; border-bottom:1px solid var(--line); vertical-align:top; max-width:260px; overflow-wrap:anywhere; }
.subscriber-table td small { display:block; color:var(--text-muted); }
.pagination { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:22px 0; font-size:.9rem; }
.issue-card { display:block; }
.issue-card .actions { margin-top:16px; }
.issue-card details { margin-top:12px; }
.readiness { background:var(--bg-soft); padding:20px; margin:20px 0; }
.editorial-topic { border-bottom:1px solid var(--line); padding:20px 0; }
.editorial-topic summary { cursor:pointer; font-weight:bold; }
.editorial-topic p { font-size:.93rem; }
[hidden] { display:none!important; }
@media(max-width:1050px) { .facet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .download-layout { gap:30px; } }
@media(max-width:700px) {
 .resource-switch { flex-direction:column; } .facet-grid { grid-template-columns:1fr; }
 .library-filters,.publisher-box,.subscription-panel { padding:20px; }
 .playbook-card,.playbook-card--text { grid-template-columns:1fr; padding:22px; gap:24px; }
 .playbook-cover { max-width:160px; } .playbook-number { max-width:90px; }
 .playbook-card__body h2 { font-size:1.55rem; }
 .download-layout { grid-template-columns:1fr; } .download-context { position:static; }
 .publisher-book { flex-direction:column; } .publisher-tabs button { padding:12px; }
 .subscriber-search { flex-direction:column; align-items:stretch; }
 .publisher-toolbar { align-items:flex-start; } .publisher-toolbar p { font-size:.9rem; overflow-wrap:anywhere; }
 .publisher-box .actions { align-items:stretch; }
}
