.cycle-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px 28px;border-bottom:1px solid var(--line,#d9d5cb);background:var(--paper,#f5f3ed)}
.cycle-banner>div{display:flex;flex-wrap:wrap;gap:.45rem 1rem;align-items:baseline}.cycle-banner .eyebrow{flex-basis:100%;font-size:10px;letter-spacing:.09em}.cycle-banner strong{font-size:17px}.cycle-banner #cycle-status{font-size:13px}.cycle-banner .has-changes{color:var(--accent,#985136)}
.account-locked .cycle-banner{display:none}.reading-focus .sidebar,.reading-focus .notes-panel{display:none}.reading-focus .workspace{grid-template-columns:1fr}.reading-focus .reader-layout{grid-template-columns:1fr}.reading-focus .cycle-banner .eyebrow{display:none}
.exchange-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0}.exchange-controls input[type=file]{max-width:100%}.dispatch-job .exchange-controls{padding:8px 0}.dispatch-job .button{white-space:normal}
@media(max-width:760px){.cycle-banner{padding:12px 16px;align-items:flex-start}.cycle-banner .eyebrow{line-height:1.6}.cycle-banner>div{display:grid}.cycle-banner button{min-width:90px}.exchange-controls{align-items:stretch;flex-direction:column}}

body:not(.account-locked){display:flex;flex-direction:column;height:100dvh;overflow:hidden}.topbar,.cycle-banner{flex-shrink:0}.workspace{flex:1;min-height:0;height:auto!important}.reading-focus .reader-scroll{padding-left:max(28px,calc((100vw - 760px)/2));padding-right:max(28px,calc((100vw - 760px)/2))}
@media(max-width:680px){.workspace{overflow:auto}.reading-view{height:100%!important}.cycle-banner .eyebrow{display:none}.cycle-banner #cycle-status{font-size:11px}.cycle-banner button{font-size:12px}}
