:root{font-family:system-ui,sans-serif;color:#173041;background:#f2f6f7;--petrol:#007e88;--line:#d4e1e5}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0}.top{display:flex;align-items:center;gap:16px;padding:14px max(18px,4vw);background:white;border-bottom:1px solid var(--line)}
.brand{font-size:27px;letter-spacing:-1.5px}.brand span{color:var(--petrol);margin:0 3px}.top button{margin-left:auto}
main{padding:22px max(16px,4vw);max-width:1800px;margin:auto}
h1{font-size:25px;margin:0 0 4px}h2{font-size:16px;margin:0 0 14px}p{margin:0 0 12px;color:#425d6c}
.card{border:1px solid var(--line);background:white;border-radius:12px;padding:16px;margin:0;min-width:0}
.login{max-width:430px;margin:5vh auto}
label{display:grid;gap:5px;margin:0 0 13px;font-size:14px}
input,textarea,button{font:inherit}input,textarea{min-width:0;width:100%;border:1px solid #afc3cb;border-radius:6px;padding:8px}
button{border:1px solid var(--petrol);background:var(--petrol);color:white;border-radius:7px;padding:8px 13px;cursor:pointer}
button:disabled{opacity:.55;cursor:default}.quiet{background:white;color:#18505a;border-color:var(--line)}.danger{background:#fff5f5;border-color:#e5b7b7;color:#8e2525}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.batch-list{display:grid;gap:8px}.batch{display:grid;grid-template-columns:minmax(12em,2fr) 1fr 1fr auto;align-items:center;gap:12px}.batch p{margin:2px 0 0}
.notice{background:#e2eff0;border-radius:8px;padding:10px 14px}.notice.error{background:#ffecec;color:#7c2020}
.workspace{display:grid;grid-template-columns:minmax(130px,1fr) minmax(300px,4fr) minmax(215px,1.5fr);gap:12px;align-items:start}
.viewer{background:#e5edf0;text-align:center;min-height:50vh}.viewer img{display:block;width:100%;height:auto;background:white}.viewer figcaption{padding:7px}
#documents button{display:block;width:100%;text-align:left;margin-bottom:5px}
#documents button[aria-current="true"]{background:#d9efef;border-color:var(--petrol)}
.field-group{margin-bottom:16px}.field-group h3{font-size:13px;margin:0 0 10px}
.decisions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:900px){.workspace{grid-template-columns:135px minmax(0,1fr)}.workspace aside:last-child{grid-column:1/-1}}
@media(max-width:550px){.workspace,.batch{grid-template-columns:1fr}.section-head{align-items:flex-start}.viewer{min-height:22vh}#documents{display:flex;gap:5px;overflow:auto}#documents button{width:auto;white-space:nowrap}.batch p{margin-bottom:0}}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.admin-grid form{margin-bottom:20px}.admin-grid ul{padding-left:18px;overflow-wrap:anywhere}
.admin-grid li{margin-bottom:7px}.admin-grid select{font:inherit;border:1px solid #afc3cb;border-radius:6px;padding:8px}
@media(max-width:720px){.admin-grid{grid-template-columns:1fr}}
.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.filters label{margin:0}.filters label:first-child{flex:1;min-width:220px}
.filters select,dialog select{font:inherit;border:1px solid #afc3cb;border-radius:6px;padding:8px}
.batch{grid-template-columns:minmax(200px,2fr) minmax(190px,1.4fr) minmax(160px,1fr) auto}
.batch small{display:block;color:#4a6573;overflow-wrap:anywhere}.batch-actions,.tools{display:flex;gap:6px;flex-wrap:wrap}
.batch-details{font-size:13px;overflow-wrap:anywhere}.batch-status{font-size:14px;font-weight:650}
.tools{margin:0 0 12px;align-items:center;padding:10px}.tools span{font-size:13px;color:#435e6c;margin-left:auto}
#documents{display:block;max-height:68vh;overflow:auto}.thumb-group{margin:0 0 10px}.thumb-group strong{display:block;font-size:12px;margin:4px 0}
#documents .thumb{display:grid;gap:4px;padding:5px;text-align:center;font-size:12px}
.viewer{overflow:hidden}.viewer img{max-height:73vh;object-fit:contain}.viewer img[data-rot="1"]{transform:rotate(90deg) scale(.75)}
.viewer img[data-rot="2"]{transform:rotate(180deg)}.viewer img[data-rot="3"]{transform:rotate(270deg) scale(.75)}
dialog{width:min(480px,90vw);border:1px solid var(--line);border-radius:12px;padding:18px;color:inherit}dialog::backdrop{background:#17304188}
.check{display:flex;align-items:center;gap:8px}.check input{width:auto}
@media(max-width:900px){.batch{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.batch{grid-template-columns:1fr}#documents{display:flex;max-height:155px}.thumb-group{min-width:85px}.tools span{margin-left:0}}
/* Reserve space for lazy loading, then use the actual page proportions. */
.thumb-frame { --page-ratio:.7071; position:relative; width:100%; aspect-ratio:var(--page-ratio); }
.thumb-frame img { position:absolute; top:50%; left:50%; width:100%; height:100%; object-fit:contain; transform:translate(-50%,-50%); }
.thumb-frame[data-rot="1"],.thumb-frame[data-rot="3"] { aspect-ratio:calc(1 / var(--page-ratio)); }
.thumb-frame[data-rot="1"] img,.thumb-frame[data-rot="3"] img { width:calc(var(--page-ratio) * 100%); height:auto; aspect-ratio:var(--page-ratio); }
.thumb-frame[data-rot="1"] img { transform:translate(-50%,-50%) rotate(90deg); }
.thumb-frame[data-rot="2"] img { transform:translate(-50%,-50%) rotate(180deg); }
.thumb-frame[data-rot="3"] img { transform:translate(-50%,-50%) rotate(270deg); }
/* Arbeitsfläche nach dem Aufbau des manuellen Indexschritts */
body:has(#editor:not([hidden])) main{max-width:none;padding:10px}
.index-workspace{display:grid;grid-template-columns:168px 205px minmax(0,1fr) minmax(280px,29%);grid-template-rows:auto minmax(0,1fr);gap:8px;height:calc(100dvh - 92px);min-height:460px;background:#f1f5f7;font-family:"Segoe UI",system-ui,sans-serif}
.index-toolbar{grid-column:1;grid-row:1/3;overflow:auto;border-right:1px solid #d5e1e6;padding:6px;background:#eef3f5}
.index-toolbar h2{font-size:11px;letter-spacing:.045em;text-transform:uppercase;margin:6px 4px;padding-top:8px;border-top:1px solid #cbd9df}
.index-tool{display:flex;align-items:center;text-align:left;gap:8px;width:100%;padding:8px 4px;background:transparent;color:#194456;border-color:transparent;border-radius:4px;font-size:13px}
.index-tool:hover:not(:disabled){background:#d9eeee;border-color:#bbd9dc}.index-tool span{font-size:22px;line-height:1;color:#007782;width:25px;text-align:center}
.index-version{font-size:12px;margin:10px 4px;padding:8px;background:#fff4d7;border-radius:4px}
.index-status{grid-column:2/5;display:flex;align-items:center;gap:14px;min-width:0;padding:5px 8px;background:#f8fbfc;border-bottom:1px solid #d5e1e6;font-size:13px}
.index-title{display:flex;gap:7px;align-items:baseline;min-width:0}.index-title strong{font-size:15px}.index-title span{color:#526c79}
#page-status{font-weight:650;color:#007782}#draft-status{margin-left:auto;color:#536873}
.index-thumbnails{grid-column:2;grid-row:2;min-height:0;display:flex;flex-direction:column;background:#e4ebef;padding:6px;border:1px solid #d4e0e5}
.index-thumbnails h2,.index-pane h2{font-size:13px;padding:7px 8px;margin:0;background:#e9f1f4;border-bottom:1px solid #d4e0e5}
.index-thumbnails #documents{flex:1;min-height:0;max-height:none;overflow:auto;padding:4px}
.thumb-group strong{padding:4px 5px;background:#fff;margin:2px 0 5px}
#documents .thumb{background:#f8fbfc;border:1px solid transparent;border-radius:3px;margin-bottom:4px}
#documents .thumb[aria-current=true]{border:2px solid #00858f;background:#d9efef;padding:4px}
.index-viewer{grid-column:3;grid-row:2;display:flex;flex-direction:column;min-height:0;min-width:0;margin:0;border:1px solid #d4e0e5;background:#e4ebef;padding:6px}
.page-surface{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}
.index-viewer img{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;background:transparent}
.index-viewer figcaption{padding:4px;font-size:13px}
.index-pane{grid-column:4;grid-row:2;min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid #d4e0e5}
.index-pane #fields{flex:1;min-height:0;overflow:auto;padding:8px}
.index-pane .field-group h3{background:#edf3f6;margin:0 0 6px;padding:6px}
.index-pane .field-group label{display:grid;grid-template-columns:minmax(85px,1fr) minmax(110px,1.3fr);gap:6px;align-items:center;margin:0 0 5px;padding:3px 0;background:#f6f9fa}
.index-pane input{border-radius:4px;padding:7px}
.index-completion{border-top:1px solid #d5e1e6;background:#f2f7f9;padding:8px;display:grid;gap:7px}
.index-completion label{margin:0;font-size:12px}.index-completion .decisions{display:grid;grid-template-columns:1fr 1fr}.index-completion #approve{background:#d5eee4;color:#125640;border-color:#9ccbb9}
.index-collapsed .index-workspace{grid-template-columns:168px 205px minmax(0,1fr)}.index-collapsed .index-status{grid-column:2/4}
@media(max-width:1050px){.index-workspace{grid-template-columns:132px 152px minmax(0,1fr) minmax(230px,29%)}.index-collapsed .index-workspace{grid-template-columns:132px 152px minmax(0,1fr)}.index-tool{font-size:12px}.index-status{flex-wrap:wrap}}
@media(max-width:760px){.index-workspace,.index-collapsed .index-workspace{height:auto;grid-template-columns:104px minmax(0,1fr);grid-template-rows:auto auto minmax(350px,62vh) auto}.index-toolbar{grid-column:1/3;grid-row:2;display:flex;gap:4px;flex-wrap:wrap}.index-toolbar h2{display:none}.index-tool{width:auto}.index-status,.index-collapsed .index-status{grid-column:1/3;grid-row:1}.index-thumbnails{grid-column:1;grid-row:3}.index-thumbnails #documents{display:block}.index-viewer{grid-column:2;grid-row:3}.index-pane{grid-column:1/3;grid-row:4}.index-pane #fields{max-height:48vh}.index-version{margin:0}}

#stamp-tools[hidden] { display:none; }
#stamp-help { overflow-wrap:anywhere; }
#page.placing-stamp { cursor:pointer; }


.workflow-upload.drag-active { outline:2px solid #00858c; background:#def2f2; }
.workflow-upload .workflow-icon { background:#183544; color:white; border-radius:8px; padding:9px; }
.index-viewer #stamp-tools { display:flex; align-items:center; flex-wrap:wrap; padding:6px; margin:0; background:#f5f8fa; }
.index-viewer #stamp-tools[hidden] { display:none; }
.index-viewer #stamp-template { width:auto; max-width:100%; }
.index-viewer #stamp-help { flex-basis:100%; }
#stamp-shortcuts { display:flex; flex-wrap:wrap; gap:.4rem; }

.index-viewer #stamp-tools { flex:0 0 auto; gap:5px; padding:4px; border-top:1px solid #c3d6df; background:#eef3f5; }
#stamp-shortcuts { gap:5px; }
.index-viewer .stamp-button { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:34px; padding:3px 8px; border:1px solid #bfd4df; border-radius:2px; background:#fff; color:#006d77; }
.index-viewer .stamp-button[hidden] { display:none; }
.index-viewer .stamp-button:hover { background:#def0f2; }
.index-viewer .stamp-button img { width:30px; height:26px; filter:brightness(0) saturate(100%) invert(29%) sepia(65%) saturate(1709%) hue-rotate(151deg) brightness(92%) contrast(101%); }
.index-viewer #stamp-template { height:34px; padding:3px 7px; }
.index-viewer #stamp-help:empty { display:none; }
.completion-actions { display:flex; gap:8px; }
.completion-actions button { flex:1 1 auto; min-width:0; padding-inline:6px; }
.workflow-cards { display:grid; max-width:570px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.workflow-upload { display:grid; align-items:center; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:45px 24px; text-align:left; justify-items:start; min-height:96px; gap:4px 8px; padding:10px 12px; border:1px solid #d1e0e7; border-radius:12px; background:white; color:#152f40; }
.workflow-upload:hover { background:#ebf7f8; }
.workflow-upload strong { grid-area:1/1/2/3; align-self:start; margin:3px 0 0 57px; white-space:pre-line; }
.workflow-upload .workflow-icon { grid-area:1/1; display:grid; place-items:center; width:45px; height:45px; padding:5px; box-sizing:border-box; font-size:24px; }
.workflow-icon img { width:100%; height:100%; object-fit:contain; }
.workflow-badge { grid-area:2/1; border-radius:8px; padding:4px 8px; width:min(144px,100%); box-sizing:border-box; background:#f1f5f7; color:#536b7b; text-align:center; font-size:11px; font-weight:650; }
.workflow-badge.has-batches { background:#dbf1ec; color:#106b58; }
.workflow-action { grid-area:2/2; font-size:11px; color:#007782; }
@media(max-width:440px) { .workflow-cards { grid-template-columns:1fr; } }

.overview-columns { display:grid; grid-template-columns:minmax(225px, 300px) minmax(0,1fr); gap:20px; align-items:start; }
.overview-columns h2 { font-size:16px; margin:0 0 8px; }
.overview-columns #upload-panel { padding-right:14px; border-right:1px solid #d4e0e5; }
.overview-columns #upload-panel p { font-size:13px; }
.overview-columns .workflow-cards { grid-template-columns:1fr; }
.overview-columns #batch-panel { min-width:0; }
.overview-columns .batch { grid-template-columns:minmax(0,1.5fr) minmax(0,1.15fr) minmax(0,1fr) auto; overflow-wrap:anywhere; }
@media(max-width:1100px) { .overview-columns .batch { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .overview-columns { grid-template-columns:1fr; }
  .overview-columns #upload-panel { border-right:0; padding-right:0; }
  .overview-columns .workflow-cards { grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
}

.account-directory{margin-top:16px}
.account-table{overflow:auto}
.account-table table{border-collapse:collapse;width:100%;text-align:left}
.account-table th,.account-table td{padding:8px;border-bottom:1px solid #d7e3e8}
.account-table small{display:block;color:#536873}
.account-table td:nth-child(2){overflow-wrap:anywhere}


.assignment-tabs,.assignment-badges{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.assignment-tabs button{background:#fff;color:#006d77;border-color:#bfd4df}
.assignment-tabs button[aria-pressed=true]{background:#007782;color:#fff}
.assignment-badges span{background:#e4f1f3;color:#185560;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:650}
#batch-information{margin:8px;font-weight:650}
#batch-information textarea{resize:vertical;font-weight:400}


.instance-logo{max-width:220px;max-height:38px;object-fit:contain}
.archive-layout{display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:16px;align-items:start}
#archive-tree ul,.archive-files{list-style:none;margin:0;padding-left:12px}
#archive-tree button{margin:2px 0;text-align:left;white-space:normal;overflow-wrap:anywhere}
#archive-tree button[aria-current=true]{background:#d9efef;border-color:#00858f}
.archive-files li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px;border-bottom:1px solid #d4e0e5;overflow-wrap:anywhere}
.archive-files strong{flex:1 1 12em}
#archive-preview,#environment-dialog{width:min(950px,95vw);max-height:90vh}
#preview-content{overflow:auto;max-height:72vh}
#preview-content img{display:block;max-width:100%;max-height:69vh;margin:auto}
#preview-content table{border-collapse:collapse;margin:8px 0}
#preview-content td{border:1px solid #d4e0e5;padding:6px;min-width:50px}
#environment-dialog form{margin-bottom:12px}
@media(max-width:720px){.archive-layout{grid-template-columns:1fr}}

.archive-location{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.archive-location label{display:flex;align-items:center;gap:8px;margin:0}
.archive-location select{min-width:180px}
#archive-path{color:#536873;overflow-wrap:anywhere}
.archive-layout{grid-template-columns:minmax(175px,235px) minmax(250px,1fr) minmax(280px,1.2fr);gap:10px}
.archive-layout .card{min-width:0}
.archive-layout summary{cursor:pointer;color:#006d77;margin:8px 0}
.archive-file-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}
.archive-file-table th:last-child{width:32%}
.archive-file-table th,.archive-file-table td{padding:5px;border-bottom:1px solid #d4e0e5;overflow-wrap:anywhere}
.archive-file-name{display:flex;align-items:center;gap:8px;text-align:left;width:100%;border-color:transparent;overflow-wrap:anywhere}
.archive-file-name[aria-pressed=true]{background:#d9efef;border-color:#00858f}
.archive-type-icon{flex:none;min-width:36px;text-align:center;border-radius:4px;padding:4px;background:#e5eff4;color:#16556b;font-size:10px;font-weight:700}
.archive-type-icon[data-type="application/pdf"]{background:#fce5e5;color:#9d2c32}
.archive-type-icon[data-type="docx"]{background:#e2eeff;color:#214e93}
.archive-type-icon[data-type="xlsx"]{background:#dff1e7;color:#196044}
.archive-preview-heading{display:flex;flex-wrap:wrap;gap:8px 12px;overflow-wrap:anywhere}
.archive-preview-heading strong{flex-basis:100%}
.archive-preview #preview-content{min-height:320px;margin-top:8px}
.archive-preview iframe{width:100%;height:65vh;min-height:360px;border:1px solid #d4e0e5}
@media(max-width:1050px){.archive-layout{grid-template-columns:minmax(150px,210px) minmax(0,1fr)}.archive-preview{grid-column:2}}
@media(max-width:640px){.archive-layout{grid-template-columns:1fr}.archive-preview{grid-column:1}}

#archive-tree .archive-drop-target{outline:2px solid #00858f;background:#d9efef}
.archive-file-name small{display:block;margin-top:3px}
.archive-unread{color:#176b36;font-weight:750}
.archive-conversation{color:#185560}
#archive-discussion{border-top:1px solid #d4e0e5;margin-top:12px;padding-top:8px}
#archive-messages{list-style:none;padding:0;max-height:250px;overflow:auto}
#archive-messages li{padding:8px;background:#f1f6f7;margin:4px 0;border-radius:5px;overflow-wrap:anywhere}
#archive-messages small{display:block;color:#536873}
#archive-messages p{white-space:pre-wrap;margin:4px 0 0}
#archive-upload-selection{overflow-wrap:anywhere}

.archive-file-cell{display:flex;align-items:center;gap:6px}
.archive-file-cell input[type=checkbox]{width:auto;flex:none}
.archive-file-name[draggable=true]{cursor:grab}
.archive-file-name[draggable=true]:active{cursor:grabbing}
#archive-selection{color:#185560;font-weight:650}


.archive-layout{grid-template-columns:minmax(160px,220px) minmax(250px,1fr) minmax(240px,32%)}
.archive-preview #preview-content{min-height:150px;max-height:48vh}
.archive-preview #preview-content img{max-height:42vh;object-fit:contain}
.archive-preview iframe{height:42vh;min-height:180px}
@media(max-width:950px){.archive-layout{grid-template-columns:minmax(145px,190px) minmax(0,1fr)}}
@media(max-width:640px){.archive-layout{grid-template-columns:1fr}}

