.cadre-batch-overlay { position:fixed; inset:0; z-index:1400; display:flex; align-items:center; justify-content:center; padding:24px; background:#20241c99; box-sizing:border-box; }
.cadre-batch-dialog { width:min(980px,100%); max-height:calc(100dvh - 48px); display:flex; flex-direction:column; min-height:0; background:var(--paper,#fff); color:var(--ink-900,#252720); border-radius:14px; overflow:hidden; box-shadow:0 20px 80px #0003; font-family:var(--font-body,Arial,sans-serif); }
.cadre-batch-dialog>header { flex-shrink:0; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 24px; border-bottom:1px solid var(--ink-100,#e7e4dc); }
.cadre-batch-dialog>header p { margin:0 0 4px; color:var(--ink-500,#686b61); font-size:12px; }
.cadre-batch-dialog h2 { margin:0; font-family:var(--font-display,Georgia,serif); font-weight:400; font-size:26px; }
.cadre-batch-dialog form { display:flex; flex-direction:column; min-height:0; }
.cadre-batch-body { min-height:0; overflow:auto; padding:20px 24px; overscroll-behavior:contain; }
.cadre-batch-dialog .btn,.cadre-batch-dialog summary { min-height:44px; min-width:44px; box-sizing:border-box; }
.cadre-batch-dialog .btn { display:inline-flex; align-items:center; justify-content:center; text-align:center; padding:9px 12px; font:inherit; font-size:13px; cursor:pointer; border:1px solid var(--ink-200,#d6d4ca); border-radius:8px; background:var(--paper,#fff); color:inherit; }
.cadre-batch-dialog .btn-primary { background:var(--ink-900,#2f3b2c); color:#fff; }
.cadre-batch-dialog .btn:disabled { cursor:default; opacity:.5; }
.cadre-batch-dialog :is(button,input,select,summary,a,[tabindex]):focus-visible { outline:2px solid var(--gold-900,#896c2b); outline-offset:3px; }
.cadre-batch-person { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; }
.cadre-batch-person select,.cadre-batch-fields :is(select,input) { width:100%; box-sizing:border-box; min-height:44px; background:#fff; color:inherit; border:1px solid var(--ink-200,#d6d4ca); border-radius:8px; font:inherit; font-size:16px; padding:9px 10px; }
.cadre-batch-recipient { margin:16px 0 10px; font-size:14px; line-height:1.5; }
.cadre-batch-recipient span { display:block; font-size:12px; color:var(--ink-500,#686b61); overflow-wrap:anywhere; }
.cadre-batch-intro,.cadre-batch-hint { font-size:13px; line-height:1.6; color:var(--ink-500,#686b61); }
.cadre-batch-pick { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:18px 0; }
.cadre-batch-pick>span { font-size:12px; color:var(--ink-500,#686b61); }
.cadre-batch-hidden { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.cadre-batch-entry { margin-top:16px; border:1px solid var(--ink-100,#e7e4dc); border-radius:10px; padding:16px; }
.cadre-batch-entry[data-save-state=saved] { border-color:var(--sage-600,#74886b); }
.cadre-batch-entry-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.cadre-batch-entry h3 { margin:0; font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.cadre-batch-received { font-size:12px; color:var(--sage-600,#58704f); }
.cadre-batch-fields { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,.8fr); gap:12px; }
.cadre-batch-fields label { min-width:0; display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:600; }
.cadre-batch-file-list { margin-top:12px; }
.cadre-batch-file { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--ink-100,#e7e4dc); padding:7px 0; }
.cadre-batch-file>div { display:flex; gap:6px; flex-shrink:0; }
.cadre-batch-file-title { display:flex; align-items:center; gap:9px; min-width:0; flex:1; min-height:44px; border:0; background:none; padding:4px 0; text-align:left; color:inherit; font:inherit; font-size:13px; overflow-wrap:anywhere; cursor:pointer; }
.cadre-batch-file-title small { display:block; font-size:12px; color:var(--ink-500,#686b61); margin-top:3px; }
.cadre-batch-add-pages { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.cadre-batch-checks { font-size:12px; color:var(--ink-500,#686b61); margin-top:8px; }
.cadre-batch-checks summary { cursor:pointer; align-content:center; }
.cadre-batch-checks p { margin:4px 0 8px; line-height:1.6; overflow-wrap:anywhere; }
.cadre-batch-preview { margin-top:10px; height:400px; display:flex; flex-direction:column; border:1px solid var(--ink-100,#e7e4dc); overflow:hidden; border-radius:8px; }
.cadre-batch-preview>div:first-child { flex-shrink:0; display:flex; justify-content:space-between; align-items:center; gap:8px; padding:6px 10px; }
.cadre-batch-preview strong { min-width:0; overflow-wrap:anywhere; font-size:12px; }
.cadre-batch-preview :is(iframe,img) { border:0; max-width:100%; min-height:0; flex:1; object-fit:contain; }
.cadre-batch-preview>.cadre-document-viewer { min-height:0; }
.cadre-batch-message,.cadre-batch-entry-error { padding:12px; background:var(--rust-100,#f8e9df); border-radius:8px; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.cadre-batch-dialog footer { display:flex; flex-shrink:0; justify-content:space-between; align-items:center; gap:14px; padding:14px 24px; border-top:1px solid var(--ink-100,#e7e4dc); background:#fff; }
.cadre-batch-dialog footer>span { font-size:12px; line-height:1.5; color:var(--ink-500,#686b61); }
.cadre-batch-dialog footer>.btn { flex-shrink:0; }
@media(max-width:700px) { .cadre-batch-overlay { padding:0; } .cadre-batch-dialog { width:100%; height:100dvh; max-height:100dvh; border-radius:0; } .cadre-batch-dialog>header { padding:16px; } .cadre-batch-dialog h2 { font-size:23px; } .cadre-batch-body { padding:16px; } .cadre-batch-fields { grid-template-columns:1fr 1fr; } .cadre-batch-fields>label:first-child { grid-column:1/-1; } .cadre-batch-file { flex-wrap:wrap; } .cadre-batch-file-title { flex-basis:100%; } .cadre-batch-file>div { flex-shrink:1; flex-wrap:wrap; } .cadre-batch-dialog footer { padding:12px 16px calc(12px + env(safe-area-inset-bottom)); gap:8px; } .cadre-batch-dialog footer>.btn { max-width:56%; } }

.cadre-batch-thumbnail,.cadre-batch-file-kind { flex-shrink:0; width:34px; height:42px; object-fit:cover; border-radius:4px; background:var(--cream-50,#f7f5ee); }
.cadre-batch-file-kind { display:flex; align-items:center; justify-content:center; font-size:10px; color:var(--gold-900,#806827); }
