/* Farbpalette aus der bereitgestellten AXXUM-Referenz. */
:root{--navy:#005848;--ink:#253b35;--teal:#005848;--muted:#61736c;--line:#d5e1dc;--paper:#f2f4f4;--axxum-green:#005848;--axxum-yellow:#fbb900}
body{background:var(--paper);color:var(--ink)}
.top{background:var(--axxum-green);border-bottom:4px solid var(--axxum-yellow)}
.brand{color:white}.brandmark{background:var(--axxum-yellow);color:var(--axxum-green)}
.brand small,.local,.local .username{color:#fff}.local>span{background:var(--axxum-yellow)}
.local .username{background:none}.top .ghost{color:#fff}.top .ghost:hover{color:var(--axxum-yellow)}
.rolebadge{background:var(--axxum-yellow);color:#003f33}
.primary{background:var(--axxum-green);color:#fff}.primary:hover{background:#003f33}
.secondary{border-color:#7fa99b;background:#fff;color:var(--axxum-green)}.secondary:hover{background:#edf5ef;color:#003f33}
.ghost{color:var(--axxum-green)}.ghost:hover{color:#003f33;text-decoration:underline}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,label.filelabel:focus-within{outline:3px solid var(--axxum-green);outline-offset:3px;box-shadow:0 0 0 5px #fbb90055}
.top button:focus-visible,.top a:focus-visible{outline-color:var(--axxum-yellow);box-shadow:none}
.authbadge,.eyebrow{color:var(--axxum-green)}.authcard{border-top:5px solid var(--axxum-yellow)}
dialog{border-top:5px solid var(--axxum-yellow)}dialog::backdrop,#savedSearchDialog::backdrop{background:#003f3380}
.dropzone{background:linear-gradient(135deg,#fff,#edf5f1);border-color:#9bbcaf}.dropzone.drag{background:#fff8de;border-color:var(--axxum-green)}
.fileicon{color:var(--axxum-green)}.fileicon span{background:#e3eee6;color:var(--axxum-green)}
.tabs button[aria-selected=true]{color:var(--axxum-green);border-bottom-color:var(--axxum-yellow)}
th{background:var(--axxum-green);color:#fff}.usertable th{background:var(--axxum-green)}
th input{background:#fff;color:var(--ink)}th input::placeholder{color:#6c8076}
td{color:#425b50}td:first-child,td:nth-child(2){color:var(--ink)}
tbody tr:nth-child(even) td{background:#eef4f0}tbody tr:hover td{background:#fff6d6}
mark{background:var(--axxum-yellow);color:#003f33}
.rowedit{border-color:#86ab9b;color:var(--axxum-green);background:#f3f8f4}.rowedit:hover{background:#fff6d6}
.appshare{background:#eef4f0;border-color:#c9dbd0}.appshare a,.appshare #shareStatus{color:var(--axxum-green)}
.passwordeye{color:var(--axxum-green)}.passwordeye:hover,.passwordeye[aria-pressed=true]{background:#fff2bf}
.listsearchresult{background:#eef4f0;color:var(--axxum-green);border-color:#c9dbd0}.listsearchresult span{color:#52695c}.listsearchresult:hover{background:#fff6d6;border-color:#9b810b}
.photobox{background:#fff6d6;border-color:#a6b488;color:var(--axxum-green)}
body.tablet-view.table-open #captureMaterial:not([hidden]){background:var(--axxum-yellow);color:#003f33}
body.tablet-view.table-open #captureMaterial:hover{background:#e6aa00}
.photo-suggestion{background:#fff9e6;border-color:#d5b65a}.photo-suggestion:hover{background:#fff0b8}
#photoCropCanvas{border-color:#93b2a2}
progress{accent-color:var(--axxum-green)}progress::-webkit-progress-value{background:var(--axxum-green)}
/* Fehler- und Ampelfarben behalten ihre fachliche Bedeutung. */
.user-pending-delete td{background:#fff0ed!important}.userdelete{color:#a43428;background:#fff6f4;border-color:#d7a7a0}

body.read-view #download,body.read-view #saveList,body.read-view #saveCloseList,body.read-view #closeList,body.read-view #captureMaterial,body.read-view .rowedit{display:none!important}

/* Alle Treffer durchgehend erreichbar, ohne Seitenwechsel. */
.scroll{overflow-anchor:none}.tablefoot{min-height:40px}.tablefoot #pagination{line-height:1.6}

/* Fester Tabellenrahmen: Nur der Tabelleninhalt ist eine Scrollfläche. */
html.table-open{height:100%;overflow:hidden;overscroll-behavior:none}
body.table-open{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body.table-open #result{box-sizing:border-box;inset:0;width:100%;max-width:100%;height:100%;min-height:0;overscroll-behavior:none;overflow:hidden}
body.tablet-view.table-open #result{padding-top:max(6px,env(safe-area-inset-top));padding-bottom:max(6px,env(safe-area-inset-bottom));padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}
body.table-open .workspace{min-width:0;max-width:100%;min-height:0;overscroll-behavior:none;isolation:isolate}
body.table-open .tablebar,body.table-open .tableinfo,body.table-open .tablefoot{position:relative;z-index:6;flex-shrink:0;background:#fff;overscroll-behavior:none}
body.table-open .scroll{width:100%;min-width:0;max-width:100%;min-height:0;overscroll-behavior:none;scrollbar-gutter:stable;overflow:auto}
body.table-open .scroll table{overflow-anchor:none}
body.table-open .scroll thead{position:sticky;top:0}

#head.admin-column-settings th { line-height: 1rem; }
#head.admin-column-settings th label { margin-bottom: 0; }
#head.admin-column-settings th.photo-column { padding-top: 15px; }
#head.admin-column-settings th.photo-column .column-toggle { margin-inline: auto; }
#head.admin-column-settings input[id^="search"] { margin-top: .25rem; }
#columnStatus:empty { display: none; }

/* Keep the legend and the admin checkboxes on the same line in the header. */
th .column-toggle-hint, th .column-toggle-spacer, th .column-toggle {
 display: block;
 height: 1.25rem;
 margin: .25rem 0 0;
}
th .column-toggle-hint {
 color: #ffca35;
 font-size: .75rem;
 line-height: 1.25rem;
 white-space: nowrap;
}
th input.column-toggle {
 appearance: auto;
 width: 1.25rem;
 padding: 0;
 accent-color: #ffba00;
 cursor: pointer;
}

.device-status { font-size: .85em; }
#deviceDialog { max-width: min(540px, 94vw); }
#deviceCode { font-size: 1.25rem; font-weight: 700; letter-spacing: .05em; user-select: all; }

#invitationText { display: block; width: 100%; margin-top: 8px; padding: 12px; font: inherit; color: var(--ink); resize: vertical; }

.role-preview {
 display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px;
}
.role-preview .primary { min-height:36px; padding:8px 12px; white-space:nowrap; }
.role-preview [aria-pressed="true"] { background:var(--axxum-yellow); color:var(--axxum-green); border-color:var(--axxum-yellow); }
#rolePreviewStatus { color:var(--muted); font-size:11px; }
#rolePreviewStatus:empty { display:none; }
body[data-role="admin"].tablet-view.table-open #result .resultheading { display:flex!important; }
body[data-role="admin"].tablet-view.table-open .resultheading > :not(.role-preview) { display:none; }
body[data-role="admin"].tablet-view.table-open .role-preview { justify-content:flex-start; padding:6px; }

#positionTable.column-layout {
 table-layout:fixed;
 width:var(--position-table-width);
}
#positionTable.column-layout th,
#positionTable.column-layout td {
 min-width:0; width:auto; overflow:hidden; text-overflow:ellipsis;
}
#positionTable.column-layout th,
#positionTable.column-layout td { padding-inline:var(--position-cell-padding,15px); }
#positionTable.column-layout .photo-column {
 min-width:0!important; width:auto!important;
 padding-inline:var(--position-cell-padding,10px);
}
#positionTable.column-layout th:nth-child(2),
#positionTable.column-layout td:nth-child(2) { left:var(--first-position-column-width); }
#positionTable.column-layout td.wrap-column { white-space:normal; overflow-wrap:anywhere; }
#positionTable.column-layout .column-toggle-hint { white-space:normal; height:auto; min-height:1.25rem; }
#columnLayoutDialog { width:min(790px,94vw); max-height:85vh; overflow:auto; }
.column-layout-row,.column-layout-labels {
 display:grid; grid-template-columns:minmax(0,1fr) minmax(60px,90px) minmax(70px,105px) minmax(78px,120px);
 gap:10px; align-items:center; padding:6px 0; border-bottom:1px solid var(--line);
}
.column-layout-labels { font-size:12px; }
#columnLayoutFields input, #columnLayoutFields select { margin:0; min-width:0; }
#columnLayoutFields input[type=checkbox] { width:20px; height:20px; justify-self:center; accent-color:var(--axxum-green); }

#positionTable td.align-left { text-align:left; }
#positionTable td.align-center { text-align:center; }
#positionTable td.align-right { text-align:right; }
.column-layout-row > span, .column-layout-labels > strong { overflow-wrap:anywhere; }
@media(max-width:520px){
 .column-layout-row,.column-layout-labels { gap:5px; }
 #columnLayoutFields input, #columnLayoutFields select { padding-inline:5px; }
}

#listOperationError { flex:none; margin:0; max-height:90px; overflow:auto; }
#renewSessionDialog { width:min(460px,94vw); }
