[hidden]{display:none!important}.portal-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.portal-brand{font-size:24px;font-weight:600}.portal-header nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.portal-header a:hover,.portal-header button:hover{text-decoration:underline}.portal-main{padding-top:40px;padding-bottom:70px}.portal-main h1{font:400 clamp(34px,4vw,50px)/1.2 var(--serif);margin:14px 0}.portal-main h2{font:400 27px/1.35 var(--serif);margin:28px 0 18px}.portal-lead{font-size:18px;color:#63715e}.portal-panel{padding:28px;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.portal-auth{max-width:540px}.portal-main label{display:grid;gap:7px;font-size:13px}.portal-main input,.portal-main select{font:inherit;padding:11px;border:1px solid #bfc9b5;border-radius:5px;background:white;color:var(--ink);min-width:0;width:100%}.portal-auth form{display:grid;gap:18px}.portal-auth details{margin-top:24px}.portal-auth summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.portal-filters{display:flex;gap:15px;align-items:end;flex-wrap:wrap;padding:22px;background:#eef2e6;border-radius:10px;margin-top:22px}.portal-filters label{flex:1 1 160px}.portal-filters button{flex:0 0 auto}.portal-muted{font-size:12px;line-height:1.7;color:#66715f;max-width:950px}.portal-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.portal-metric{padding:22px;background:#f0f3e8;border:1px solid var(--line);border-radius:10px}.portal-metric span{display:block;font-size:12px;color:#64715a}.portal-metric strong{display:block;font-size:25px;font-weight:500;margin-top:8px;font-variant-numeric:tabular-nums}.portal-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;margin-top:22px}.portal-main table{width:100%;border-collapse:collapse;text-align:left}.portal-main caption{text-align:left;font-weight:600;padding:18px}.portal-main th,.portal-main td{padding:14px 18px;border-top:1px solid var(--line);vertical-align:top}.portal-main th{font-size:12px;background:#f0f3e8}.portal-main td:not(:first-child){white-space:nowrap;font-variant-numeric:tabular-nums}.portal-main section{margin-bottom:38px}.portal-books{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.portal-book{display:flex;gap:20px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:10px}.portal-book img{width:70px;height:100px;object-fit:contain}.portal-book h3{font:20px/1.4 var(--serif);margin:0 0 8px}.portal-book a{font-size:13px;text-decoration:underline;text-underline-offset:3px}.portal-warning{padding:18px;border:1px solid #c7ad6e;background:#fff4d8}.portal-error{color:#a7322e}#portal-author-label{max-width:400px}#portal-status{min-height:24px}#portal-payments p{padding:14px 0;border-bottom:1px solid var(--line)}@media(max-width:650px){.portal-header{align-items:start;flex-direction:column}.portal-header nav{font-size:12px;gap:16px}.portal-main{padding-top:28px}.portal-filters{padding:16px;gap:12px}.portal-filters label{flex-basis:130px}.portal-metrics{grid-template-columns:1fr}.portal-main th,.portal-main td{padding:12px;font-size:12px}.portal-books{grid-template-columns:1fr}.portal-panel{padding:20px}.portal-main table{min-width:540px}}

.portal-tabs{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}.audio-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}.audio-options .portal-panel{margin:0}.audio-price{font-size:25px;color:#415b31}.audio-options h3{font:26px/1.3 var(--serif);margin-top:0}.audio-options label{margin-top:16px}#portal-audio p{line-height:1.7}#portal-audio audio{width:100%;margin-top:6px}.audio-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.audio-wide{grid-column:1/-1}.portal-main textarea{width:100%;font:inherit;border:1px solid #bfc9b5;border-radius:5px;padding:11px;resize:vertical}.audio-request{border-bottom:1px solid var(--line);padding:18px 0}.audio-request h4{margin:0 0 8px}.audio-request p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:650px){.audio-options,.audio-form{grid-template-columns:1fr}.portal-tabs .button{padding:12px}}
