/* No custom touch listeners: native page pinch and pan remain available. */
.cadre-document-viewer,.cadre-document-viewer *,.cadre-document-modal-layer,.cadre-document-modal,.cadre-document-modal * { touch-action:auto; }
.cadre-document-viewer { display:flex; flex-direction:column; width:100%; height:100%; min-width:0; min-height:0; color:var(--ink-700); }
.cadre-document-viewer>iframe { display:block; flex:1; width:100%; height:100%; min-height:0; border:0; background:#fff; }
.cadre-document-pdf-pages { flex:1; min-height:0; min-width:0; overflow:auto; padding:12px; background:var(--cream-50,#f6f5ef); }
.cadre-document-pdf-page { position:relative; width:100%; overflow:hidden; margin:0 0 12px; background:#fff; box-shadow:0 1px 5px #0002; }
.cadre-document-pdf-page:last-child { margin-bottom:0; }
.cadre-document-pdf-page canvas { display:block; width:100%; height:100%; }
.cadre-document-page-loading { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--ink-500); font-size:13px; }
.cadre-document-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cadre-document-image-surface { flex:1; min-height:0; overflow:auto; background:var(--cream-50,#f6f5ef); }
.cadre-document-image-surface>img { display:block; width:100%; height:auto; max-width:100%; object-fit:contain; }
.cadre-document-message { padding:24px; margin:auto; font-size:14px; line-height:1.6; text-align:center; }
.cadre-document-modal-layer { position:fixed; inset:0; z-index:1300; display:flex; align-items:center; justify-content:center; padding:24px; background:#0009; box-sizing:border-box; }
.cadre-document-modal { display:flex; flex-direction:column; width:min(1100px,100%); max-width:100%; height:min(94dvh,1000px); min-height:0; border-radius:12px; overflow:hidden; background:var(--paper,#fff); box-shadow:0 12px 64px #0004; }
.cadre-document-modal-header { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px; border-bottom:1px solid var(--ink-100); }
.cadre-document-modal-header h2 { min-width:0; margin:0; font-family:var(--font-body); font-size:16px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.cadre-document-modal .btn { min-height:44px; min-width:44px; }
.cadre-document-modal-header .btn { flex-shrink:0; }
.cadre-document-modal-content { display:flex; flex:1; min-width:0; min-height:0; overflow:auto; background:var(--cream-50,#f6f5ef); }
.cadre-document-modal-footer { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; border-top:1px solid var(--ink-100); padding:8px 20px; font-size:12px; color:var(--ink-500); }
.cadre-document-modal-footer a { display:flex; align-items:center; min-height:44px; color:var(--gold-900); text-decoration:underline; text-underline-offset:3px; }
.cadre-document-files { display:flex; gap:8px; flex-shrink:0; flex-wrap:wrap; padding:8px 20px; border-bottom:1px solid var(--ink-100); }
.cadre-document-files [aria-pressed=true] { border-color:var(--gold-900); color:var(--gold-900); background:var(--gold-50); }
.cadre-document-modal :is(button,a):focus-visible,.annual-record-title:focus-visible { outline:2px solid var(--gold-900); outline-offset:2px; }
.annual-record-title { display:inline-flex; align-items:center; min-height:44px; min-width:0; max-width:100%; border:0; background:none; padding:0; font:inherit; font-weight:600; color:inherit; text-align:left; overflow-wrap:anywhere; text-decoration:underline; text-decoration-color:var(--ink-200); text-underline-offset:3px; cursor:pointer; }
.annual-simple-item[data-previewable=true] { cursor:pointer; }
.annual-review-document-stage:has(.cadre-document-viewer) { overflow:hidden; }
@media(max-width:600px) { .cadre-document-modal-layer { padding:8px; } .cadre-document-modal { height:calc(100dvh - 16px); border-radius:9px; } .cadre-document-modal-header { gap:10px; padding:10px 12px; } .cadre-document-modal-header h2 { font-size:14px; } .cadre-document-modal-footer { padding:5px 12px; gap:0 12px; } .cadre-document-files { padding:8px 12px; } }
