/* Broadside is the product identity. Client sheet styles stay in #sheetcss. */
@font-face{font-family:"Broadside Editorial";src:url('/assets/brand/Newsreader.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Broadside Mono";src:url('/assets/brand/IBMPlexMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{
  --bg:#F4EFE6;--surface:#FFFDFA;--surface-2:#F5F1EA;--ink:#16191F;--muted:#65625E;
  --line:#DCD5CA;--accent:#A3301C;--accent-ink:#FFFFFF;--signal:#A3301C;--desk:#E7E1D7;
  --f-label:"Broadside Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --f-editorial:"Broadside Editorial",Georgia,serif;
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#16191F;--surface:#1D2633;--surface-2:#232F40;--ink:#F4EFE6;--muted:#B8B6B1;
    --line:#394351;--accent:#B7422D;--accent-ink:#FFFFFF;--signal:#F0A38F;--desk:#111720;
  }
}
:root[data-theme="dark"]{
  --bg:#16191F;--surface:#1D2633;--surface-2:#232F40;--ink:#F4EFE6;--muted:#B8B6B1;
  --line:#394351;--accent:#B7422D;--accent-ink:#FFFFFF;--signal:#F0A38F;--desk:#111720;
}
[hidden]{display:none!important}
.bs-eyebrow{font:400 10px/1.6 var(--f-label);letter-spacing:.15em;text-transform:uppercase;color:var(--signal);margin:0 0 10px}
.topbar{background:#1B2A41;color:#F4EFE6;border-bottom:0;padding:16px 28px;gap:24px;flex-shrink:0}
.brandmark{align-items:center;gap:14px;flex-shrink:0}
.brandmark img{display:block;width:180px;height:auto}
.brandmark span{font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em;color:#CDC4B2;max-width:50px}
.tabs{background:transparent;border:0;border-radius:0;padding:0;gap:4px}
.tabs button{color:#C4C9D1;padding:10px 14px;border-radius:2px;font-weight:500;border-bottom:2px solid transparent}
.tabs button:hover{color:#F4EFE6;background:#FFFFFF0D}
.tabs button[aria-selected="true"]{color:#F4EFE6;background:#FFFFFF0B;border-bottom-color:#D65C43;box-shadow:none}
.topbar :focus-visible{outline-color:#F4EFE6}
.savestate{color:#D0D3D7;font-size:10px;white-space:nowrap}
.savestate[data-s="saved"] i{background:#8DCDB0}
.savestate[data-s="saving"] i{background:#E39C8A}
.savestate[data-s="error"] i,.savestate[data-s="local"] i{background:#E5BA73}
.account-badge{color:#C4C9D1;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.topbar .signout-button{color:#F4EFE6;background:transparent;border-color:#607088;font-size:11px;border-radius:2px;padding:6px 10px}
.topbar .signout-button:hover{border-color:#F4EFE6}
.wrap{max-width:1280px;padding:42px 32px 64px}
.library-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--line)}
h1.pagehead{font-family:var(--f-editorial);font-size:44px;line-height:1.12;font-weight:400;letter-spacing:-.025em;margin:0 0 10px}
.sub{font-size:14px;line-height:1.65}
.btn{border-radius:3px;padding:9px 15px}
.btn.primary:hover{filter:brightness(.93)}
.btn.small{padding:6px 10px}
.plist{gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.pcard{border-radius:3px;box-shadow:0 3px 12px #16191F04}
.pcard .pbody{padding:20px 20px 18px;gap:7px}
.pcard .pname{font-family:var(--f-editorial);font-size:26px;line-height:1.16;font-weight:400;letter-spacing:-.015em}
.pcard .paddr{font-size:13px;line-height:1.5}
.pcard .pmeta{margin-top:10px}
.pcard .pact{padding:14px 20px;gap:8px}
.pcard .pact .danger{margin-left:auto}
.pcard .pact .primary{background:transparent;color:var(--signal);border-color:var(--line)}
.pcard .pact .primary:hover{border-color:var(--signal);filter:none}
.chip{border-radius:2px;font-size:9px;padding:3px 7px}
.empty{border-style:solid;border-radius:3px;padding:64px 24px}
.empty strong{font:400 32px/1.2 var(--f-editorial);margin-bottom:12px}
.property-create-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.empty .property-create-actions{justify-content:center;margin-top:24px}
.app:has(.studio){height:100dvh;min-height:0}
.app:has(.studio)>.view{display:flex}
.studio{flex:1;width:100%;height:auto;min-height:0;grid-template-columns:minmax(330px,390px) 1fr}
.ed-head{padding:20px;border-top:3px solid var(--accent);gap:12px}
details.grp>summary{padding:16px 20px;font-size:13px}
details.grp[open]>summary{color:var(--signal)}
.grp-body{padding:0 20px 20px;gap:12px}
.fld input,.fld select,.fld textarea,.ed-head select,.tb select{border-radius:3px;padding:9px 10px}
/* Larger entry text, retaining the existing field height and padding. */
.fld input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),.fld textarea{
  font-family:var(--f-ui);font-size:16px;line-height:20px;
}
.readiness,.listitem,.module,.fp,.photoslot .pv,.gal-item input,.fpm-stage,.fitwarn,.seg,.panel,.modal,.drop,.rv-wrap,.notes,.aer-ed,.photo-choice,.plan-card{border-radius:3px}
.lbl{font-size:10px;letter-spacing:.09em}
.tb{padding:16px 22px;gap:12px}
.tb .fld{max-width:100%}
.tb select{max-width:100%}
.edit-scope select{border:1px solid var(--line);border-radius:3px;background:var(--surface);padding:5px;color:var(--ink)}
.preview-help{padding:12px 22px;border-bottom:1px solid var(--line)}
.export-note{margin:0;padding:10px 22px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--muted);background:var(--surface)}
.pages{padding-top:28px;gap:26px}
.pageframe{box-shadow:0 8px 26px #16191F21}
.pagelabel{font-size:10px;letter-spacing:.1em}
.panel{padding:24px;gap:16px}
.panel h2{font:400 26px/1.2 var(--f-editorial)}
.modal h2{font:400 28px/1.2 var(--f-editorial)}
.toast{border-radius:3px}
@media screen{
  #pages [data-edit-copy]:hover,#pages [data-edit-group]:hover,#pages [data-edit-path]:hover,#pages [data-edit-path]:focus{background:rgba(163,48,28,.06)}
  #pages [data-edit-path]:focus{outline-color:#A3301C}
  #pages [data-photo-place]:hover{outline-color:#A3301C}
}

/* Account screens share the invitation's fixed Paper/Oxford palette. */
body:has(.auth-panel){background:#F4EFE6;color:#16191F;color-scheme:light}
.auth-panel{max-width:1240px;min-height:100dvh;margin:0 auto;padding:36px 40px 24px;display:flex;flex-direction:column;justify-content:center;color:#16191F;font-family:var(--f-editorial)}
.auth-masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 30px}
.auth-logo{display:block;width:220px;height:auto}
.auth-masthead .bs-eyebrow{color:#645E56;margin:0;font-size:11px;letter-spacing:.1em}
.auth-layout{display:grid;grid-template-columns:1.12fr 1fr;min-height:550px;border:1px solid #DCD5CA}
.auth-story{background:#1B2A41;color:#F4EFE6;padding:56px 50px;display:flex;flex-direction:column;justify-content:center}
.auth-story h1{font:400 clamp(46px,5.1vw,68px)/1.06 var(--f-editorial);letter-spacing:-.025em;margin:0 0 26px;max-width:440px;text-wrap:balance}
.auth-intro{font-size:21px;line-height:1.5;color:#E0DDD6;max-width:37ch;margin:0}
.auth-entry{padding:52px 50px 36px;background:#FFFDFA;display:flex;flex-direction:column;justify-content:center}
.auth-entry>.bs-eyebrow{color:#65625E;margin-bottom:18px;font-size:11px;letter-spacing:.1em}
.auth-entry h2{font:400 39px/1.15 var(--f-editorial);letter-spacing:-.025em;margin:0 0 14px;color:#16191F}
.auth-description{font-size:19px;line-height:1.5;color:#65625E;margin:0;max-width:36ch}
.auth-panel form{display:grid;gap:19px;margin:28px 0 0}
.auth-panel label{display:grid;gap:8px;font:400 11px/1.6 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:#44464B}
.auth-panel input{width:100%;min-width:0;border:1px solid #D3CDC3;background:#FFFFFF;color:#16191F;border-radius:2px;padding:12px 13px;min-height:47px;font:400 16px/1.4 var(--f-label);letter-spacing:normal;text-transform:none;box-shadow:none}
.auth-panel :focus-visible,.auth-panel input:focus{outline:2px solid #1B2A41;outline-offset:3px}
.auth-panel .primary{justify-content:center;background:#A3301C;border-color:#A3301C;color:#FFFFFF;border-radius:2px;padding:14px 20px;margin-top:3px;font:400 12px/1.6 var(--f-label);letter-spacing:.02em}
.auth-panel [role="status"]{color:#1B2A41;font-size:17px;line-height:1.5;margin:12px 0 0;overflow-wrap:anywhere}
.auth-panel [role="status"][data-error="true"]{color:#A3301C}
.auth-panel [role="status"]:empty{margin:0}
.auth-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 20px;margin-top:22px}
.auth-panel #authSwitch,.auth-request{font:400 11px/1.6 var(--f-label);letter-spacing:.02em;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#C3BCAF}
.auth-panel #authSwitch{padding:0;border:0;border-radius:0;color:#16191F;background:transparent}
.auth-panel #authSwitch:hover,.auth-request:hover{color:#1B2A41;text-decoration-color:#1B2A41}
.auth-panel #passwordHint{margin:-10px 0 0;color:#65625E;font-size:16px}
.auth-request{color:#65625E}
.help-link{font:400 11px/1.6 var(--f-label);letter-spacing:.02em;text-underline-offset:4px;white-space:nowrap}
.topbar .help-link{color:#E0DDD6}
.auth-footer{padding:24px 0 0;font:400 10px/1.7 var(--f-label);letter-spacing:.08em;text-transform:uppercase;color:#65625E;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.auth-footer .help-link{color:#65625E;text-transform:none}

@media(max-width:1150px){
  .topbar{gap:16px;padding:14px 20px}
  .brandmark span{display:none}
  .account-badge{max-width:140px}
  .tabs button{padding:10px}
  .auth-story,.auth-entry{padding:42px 36px 32px}
}
@media(max-width:860px){
  .topbar{gap:12px 16px}
  .tabs{order:5;width:100%;border-top:1px solid #FFFFFF26;padding-top:8px}
  .tabs button{flex:1}
  .savestate{margin-left:auto}
  .account-badge{max-width:180px}
  .app:has(.studio){height:auto;min-height:100dvh}
  .app:has(.studio)>.view{display:block}
  .studio{grid-template-columns:1fr}
  .wrap{padding:30px 22px 48px}
  .auth-panel{padding:28px 24px 22px}
  .auth-layout{grid-template-columns:1fr 1fr;min-height:540px}
  .auth-story,.auth-entry{padding:36px 26px 30px}
  .auth-story h1{font-size:46px}
  .auth-intro{font-size:19px}
  .auth-entry h2{font-size:33px}
}
@media(max-width:600px){
  .auth-panel{padding:24px 20px;justify-content:flex-start}
  .auth-masthead{align-items:start;flex-direction:column;gap:18px;padding-bottom:24px}
  .auth-logo{width:200px}
  .auth-layout{grid-template-columns:1fr;min-height:0}
  .auth-story{padding:32px 26px}
  .auth-story h1{font-size:44px;max-width:330px;margin-bottom:16px;text-wrap:initial}
  .auth-intro{max-width:38ch;font-size:19px}
  .auth-entry{padding:32px 26px}
  .auth-entry h2{font-size:34px}
  .auth-panel form{margin-top:24px}
  .auth-footer{padding-top:18px}
  .topbar{padding:14px 16px;gap:12px}
  .brandmark img{width:180px}
  .account-badge{order:3;max-width:calc(100% - 90px);margin-right:auto}
  .signout-button{order:4}
  .wrap{padding:28px 18px 40px}
  h1.pagehead{font-size:38px}
  .library-heading{gap:20px;padding-bottom:22px;margin-bottom:22px}
  .plist{grid-template-columns:minmax(0,1fr);gap:20px}
  .panel{padding:18px}
  .tb{padding:16px;gap:10px}
  .preview-help{padding:12px 16px}
}

/* Source document intake: scoped away from printable collateral. */
.intake-overlay{padding:24px;align-items:center;overflow:hidden}
.intake-modal{width:min(1040px,100%);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;padding:0;gap:0;overflow:hidden}
.intake-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 28px;border-bottom:1px solid var(--line);flex:none}
.intake-header .bs-eyebrow{margin:0 0 8px}.intake-modal .intake-header h2{font-family:var(--bs-serif,"Broadside Editorial",Georgia,serif);font-size:30px;font-weight:400;line-height:1.15}
.intake-body{padding:24px 28px;overflow:auto;overscroll-behavior:contain;min-height:0}.intake-intro{font-size:19px;line-height:1.5;margin:0 0 10px}
.intake-modal fieldset{border:0;padding:0;margin:20px 0;min-width:0}.intake-modal .drop{display:grid;gap:14px;justify-items:center;padding:28px 20px;text-align:center;border:1px dashed var(--line);background:var(--surface-2)}
.intake-modal .drop .hint{margin:0;line-height:1.7}.intake-paste{margin:18px 0}.intake-paste summary,.intake-notes summary{cursor:pointer;padding:12px 0;font-size:13px}.intake-paste textarea{width:100%}
.source-file{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr) auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.source-file strong{display:block;overflow-wrap:anywhere;font-size:14px}.source-file .hint{display:block;margin-top:6px}.source-file .fld{margin:0}
.intake-progress{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.intake-progress p{flex-basis:100%;margin:0 0 12px;overflow-wrap:anywhere}
.intake-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex:none;padding:16px 28px;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(0,0,0,.045)}.intake-actions[hidden]{display:none}.intake-selection{display:flex;align-items:center;gap:16px}
.intake-table{width:100%;table-layout:fixed}.intake-table th:first-child{width:36px}.intake-table th:nth-child(2){width:24%}.intake-table th:last-child{width:76px}.intake-table tbody th{text-align:left;vertical-align:top;font-size:12px;font-weight:500;white-space:normal}.intake-table td,.intake-table th{padding:12px 8px;vertical-align:top}.intake-table tr:hover{background:var(--surface-2)}
.intake-table textarea,.intake-table select,.intake-table input:not([type=checkbox]){width:100%;min-width:0;box-sizing:border-box;color:var(--ink);border:1px solid transparent;background:transparent;font:inherit;font-size:14px;padding:6px;border-radius:2px;resize:vertical;line-height:1.5}.intake-table textarea:hover,.intake-table input:hover{border-color:var(--line)}.intake-table textarea:focus,.intake-table input:focus,.intake-table select:focus{border-color:var(--bs-oxford,#1b2a3f);outline:2px solid var(--line);background:var(--surface)}
.review-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.review-badge{font-size:10px;line-height:1.5;padding:2px 5px;border:1px solid var(--line);color:var(--muted);border-radius:2px}.review-badge[hidden]{display:none}.review-badge.warning{color:#79531b;background:#fff4db}.review-array{display:grid;gap:8px}.review-item{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px}.review-item .lbl{font-size:9px}.review-alternatives{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.review-row-actions .btn{opacity:.65;padding:5px}.intake-table tr:hover .review-row-actions .btn,.review-row-actions .btn:focus{opacity:1}.intake-table .dismissed td,.intake-table .dismissed th{background:var(--surface-2)}.intake-table .dismissed textarea,.intake-table .dismissed input{opacity:.5}.intake-table .ev,.intake-table .was{white-space:pre-wrap;overflow-wrap:anywhere;display:block;margin-top:8px;font-size:11px;line-height:1.5}.intake-warning{border-left:3px solid #a47d39;background:#fff4db;color:#62451b;padding:12px 16px;margin-bottom:16px;font-size:13px}.intake-notes{margin-top:20px;border-top:1px solid var(--line)}.intake-notes h3{font-size:13px;margin-top:18px}.intake-notes li{font-size:13px;line-height:1.6;margin-bottom:5px;overflow-wrap:anywhere}.intake-feedback{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:8px 0 0;padding:0;background:transparent;color:var(--muted);font-size:12px;line-height:1.6}.intake-feedback .intake-undo{padding:0;min-height:24px;border:0;border-radius:2px;background:transparent;color:var(--ink);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.intake-feedback .intake-undo:hover{color:var(--accent)}.intake-feedback .intake-undo:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.intake-modal .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:640px){.intake-overlay{padding:8px}.intake-modal{max-height:calc(100dvh - 16px)}.intake-header,.intake-body{padding:18px 14px}.intake-modal .intake-header h2{font-size:25px}.source-file{grid-template-columns:minmax(0,1fr) auto}.source-file .fld{grid-column:1/-1;grid-row:2}.intake-actions{padding:12px;gap:8px}.intake-selection{gap:4px;flex-wrap:wrap}.intake-actions .btn{font-size:11px;padding:10px}.intake-table th:nth-child(2){width:26%}.intake-table th:last-child{width:46px}.intake-table td,.intake-table th{padding:8px 4px}.review-item{grid-template-columns:1fr}.intake-table textarea{font-size:16px}}
.intake-table .review-array .lbl{text-transform:none}.intake-table .was{color:var(--warn)}
@keyframes source-field-glow{from{box-shadow:0 0 0 3px rgba(174,133,54,.3)}to{box-shadow:0 0 0 0 transparent}}
#editor .fld.unv{animation:source-field-glow 1.5s ease-out}
@media(prefers-reduced-motion:reduce){#editor .fld.unv{animation:none}}
.intake-overlay{overflow:clip}.intake-table .more-evidence summary{font-size:11px;margin-top:8px;cursor:pointer;color:var(--muted)}

/* Individual imported values can be accepted without changing their content. */
#editor .fld-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
#editor .fld-heading .lbl{margin:0}
#editor button.unvtag{margin:0;padding:2px 0;min-height:24px;border:0;border-radius:2px;background:transparent;color:var(--warn);font:400 11px/1.4 var(--f-label);letter-spacing:0;text-transform:none;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;cursor:pointer}
#editor button.unvtag:hover{color:var(--ink)}
#editor button.unvtag:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(pointer:coarse){#editor button.unvtag{min-height:32px;padding:5px 2px}}

/* Choose the people printed with the selected company's identity. */
#editor .contact-picker{min-width:0;border:1px solid var(--line);border-radius:3px;background:var(--surface-2)}
#editor .contact-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:9px 10px;min-height:40px;font-size:14px;line-height:1.4}
#editor .contact-picker>summary::-webkit-details-marker{display:none}
#editor .contact-picker>summary::after{content:"⌄";flex:none;color:var(--muted)}
#editor .contact-picker[open]>summary::after{content:"⌃"}
#editor .contact-picker>summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
#editor #contactPickerSelection{overflow-wrap:anywhere}
#editor .contact-options{padding:6px 10px;border-top:1px solid var(--line);background:var(--surface);max-height:240px;overflow:auto}
#editor .contact-options .toggle{min-height:40px;line-height:1.4;padding:6px 0}
#editor .contact-options input{flex:none;width:16px;height:16px;padding:0}
#editor .contact-options span{overflow-wrap:anywhere}

.photo-choice,.fp,.plan-card,.fpm-stage{position:relative}
.photo-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:32px;background:var(--surface-2);color:var(--ink);font-family:inherit;font-size:13px;line-height:1.4;padding:8px;pointer-events:none}
.photo-loading:before{content:"";width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:photo-spin 1s linear infinite}
.photo-loading.error:before{display:none}.fpm-stage[aria-busy="true"]{min-height:160px}.fpm-stage>.photo-loading{position:absolute;inset:0;z-index:3}
@keyframes photo-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.photo-loading:before{animation:none}}
