/* Document fitting changes the screen surface only. The saved/printed paper is unchanged. */
@media screen {
  html.pc-document-fit, html.pc-document-fit body { margin:0 !important; width:100% !important; max-width:100% !important; min-width:0 !important; }
  html.pc-document-fit body { box-sizing:border-box !important; padding:8px !important; overflow-x:hidden !important; background:#fff !important; }
  .pc-document-stage { position:relative; width:100%; min-width:0; }
  .pc-document-paper { position:absolute; top:0; left:0; width:var(--pc-paper-width); transform:scale(var(--pc-paper-scale,1)); transform-origin:top left; }
  .pc-document-paper > .doc, .pc-document-paper > .page, .pc-document-paper > .document, .pc-document-paper > .a4 { margin-left:0 !important; margin-right:0 !important; }
}
@media print {
  .pc-document-stage, .pc-document-paper { display:contents !important; position:static !important; width:auto !important; height:auto !important; transform:none !important; }
  .pc-documents-dialog, .pc-documents-backdrop, .pc-documents-launch { display:none !important; }
}
.pc-documents-launch { min-height:44px; white-space:normal; }
.pc-documents-dialog { box-sizing:border-box; width:min(1000px,96vw); max-height:94dvh; padding:0; color:#202f42; background:#fff; border:1px solid #bdcddd; border-radius:16px; box-shadow:0 10px 45px #132c4a33; font:16px/1.4 Arial,sans-serif; }
.pc-documents-dialog::backdrop { background:#10223688; }
.pc-documents-dialog [hidden] { display:none !important; }
.pc-documents-dialog.pc-documents-fallback { display:block; position:fixed; inset:3dvh 2vw; margin:auto; z-index:10005; overflow:auto; }
.pc-documents-backdrop { position:fixed; inset:0; background:#10223688; z-index:10004; }
.pc-documents-head { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px; border-bottom:1px solid #dbe3eb; background:#fff; }
.pc-documents-head h2 { margin:0; font-size:22px; }
.pc-documents-head button, .pc-documents-controls button, .pc-document-links a, .pc-guest-actions button, .pc-guest-picker button { min-height:44px; border:1px solid #bacddd; border-radius:9px; padding:9px 13px; color:#1d456b; background:#f1f7fc; cursor:pointer; font:inherit; text-decoration:none; }
.pc-documents-head button:focus-visible, .pc-document-links a:focus-visible, .pc-guest-actions button:focus-visible { outline:3px solid #74a7e5; outline-offset:2px; }
.pc-documents-body { padding:16px; }
.pc-documents-controls { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.pc-documents-controls button[aria-pressed=true] { background:#215e9a; border-color:#215e9a; color:#fff; }
.pc-document-row { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #dce4ec; }
.pc-document-row strong, .pc-document-row small { display:block; }
.pc-document-row small, .pc-documents-note { color:#5c6d7d; }
.pc-document-links { display:flex; flex-wrap:wrap; gap:8px; }
.pc-document-empty { padding:20px 0; color:#5c6d7d; }
.pc-guest-picker { display:flex; flex-wrap:wrap; gap:8px; padding:12px 0; }
.pc-guest-picker button { text-align:left; }
.pc-guest-picker small { display:block; }
.pc-guest-card-actions { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.pc-guest-card-actions a { display:inline-flex; align-items:center; min-height:44px; color:#1d456b; padding:0 4px; }
.pc-document-pending, .pc-guest-warning { color:#764c05; background:#fff7df; border:1px solid #e7d39a; border-radius:9px; padding:10px 12px; }
.pc-guest-editor-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.pc-guest-field { display:flex; flex-direction:column; gap:5px; min-width:0; }
.pc-guest-field input:not([type=checkbox]), .pc-guest-field textarea, .pc-guest-field select { box-sizing:border-box; width:100%; border:1px solid #bccbda; border-radius:8px; padding:10px; color:#183d65; background:#fff; font:inherit; }
.pc-guest-field textarea { resize:vertical; min-height:90px; }
.pc-guest-field.pc-guest-full, .pc-guest-actions, .pc-guest-warning { grid-column:1/-1; }
.pc-guest-archived { color:#677585; background:#f2f4f6; padding:8px; border-radius:8px; white-space:pre-wrap; }
.pc-guest-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; position:sticky; bottom:0; padding:12px 0; background:#fff; }
.pc-guest-actions .pc-guest-save { background:#216d49; color:#fff; border-color:#216d49; }
.pc-guest-status { white-space:pre-wrap; }
.pc-guest-status[role=alert] { color:#a32924; }
.pc-print-history { border-top:1px solid #dce4ec; margin-top:18px; padding-top:4px; }
.pc-print-history button { min-height:44px; border:1px solid #bacddd; border-radius:9px; padding:9px 13px; color:#1d456b; background:#f1f7fc; cursor:pointer; font:inherit; }
.pc-print-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
@media(max-width:650px) {
  .pc-documents-head { padding:12px; }
  .pc-documents-head h2 { font-size:19px; }
  .pc-documents-body { padding:12px; }
  .pc-guest-editor-form { grid-template-columns:1fr; }
  .pc-document-links { width:100%; }
  .pc-document-links a { flex:1; text-align:center; }
}
