/* Wygge DMS: CommandR file-manager and document-workspace geometry, Wygge tokens. */
/* The page shell and head are the kit's WyPage (UI-STYLE-CONTRACT.md C1/C2); this file styles the workspace
   (the explicit C1 exception: spaces | document card | inspector) and the DMS-specific pieces inside it. */
.dms-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dms-layout{display:grid;grid-template-columns:minmax(190px,220px) minmax(0,1fr) minmax(270px,310px);gap:14px;align-items:start}
.dms-left,.dms-main,.dms-inspector{min-width:0;display:flex;flex-direction:column;gap:12px}
.dms-space{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--ad-text);font:600 12px var(--ad-font-body);text-align:left;cursor:pointer}
.dms-space>span:nth-child(2){flex:1 1 95px;overflow-wrap:anywhere}
.dms-space:hover{background:var(--ad-surface-inset)}
.dms-space.active{background:var(--ad-accent-bg);color:var(--ad-accent-fg);font-weight:800}
/* The card head's meta line: breadcrumbs, the honest counter and the write-access badge in one wrapping row. */
.dms-toolbar{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 10px;vertical-align:middle}
.dms-breadcrumbs{display:inline-flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.dms-breadcrumbs button{border:0;background:transparent;padding:0;color:var(--ad-text);font:700 12px var(--ad-font-body);cursor:pointer;white-space:nowrap}
.dms-breadcrumbs button:disabled{cursor:default}
.dms-breadcrumbs span,.dms-count{color:var(--ad-text-subtle);font-size:11.5px;white-space:nowrap}
/* The document list is the kit's WyTable; the whole row selects (delegated click), a double click opens a folder. */
.dms-main [data-wy-row]{cursor:pointer}
.dms-main [data-wy-row]:hover{background:var(--ad-surface-inset)}
.dms-main [data-wy-row]:has(.dms-sel){background:var(--ad-accent-bg)}
.dms-name-btn{display:block;width:100%;min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--ad-link,var(--ad-info-fg));font:700 12.5px var(--ad-font-body)}
.dms-file-name{display:flex;align-items:center;gap:9px;min-width:0}
.dms-file-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dms-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto;font-size:11px;color:var(--ad-text-muted)}
.dms-inspector-body{padding:17px}
.dms-detail-title{display:flex;gap:9px;align-items:flex-start;overflow-wrap:anywhere;font-size:15px}
.dms-detail-title svg{flex:none}
.dms-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.dms-meta{display:grid;grid-template-columns:100px minmax(0,1fr);gap:9px 6px;font-size:11px;padding:18px 0;margin:0}
.dms-meta dt{color:var(--ad-text-subtle)}.dms-meta dd{margin:0;overflow-wrap:anywhere}
.dms-section{border-top:1px solid var(--ad-border);padding:16px 0}
.dms-section h3{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ad-text-muted);margin:0 0 10px}
.dms-version{display:flex;justify-content:space-between;align-items:center;gap:5px;border:1px solid var(--ad-border);border-radius:8px;padding:8px;margin-top:7px;font-size:11px}
.dms-version small{display:block;color:var(--ad-text-subtle);margin-top:3px}
.dms-version button{border:0;background:transparent;color:var(--ad-text-muted);cursor:pointer}
.dms-preview-unavailable{padding:28px 16px;text-align:center;color:var(--ad-text-muted);font-size:13px}
.dms-preview-help{padding:8px 12px;border-top:1px solid var(--ad-border);color:var(--ad-text-muted);font-size:12px}
/* The page column of the shared PDF renderer (pdf_preview.jsx): one placeholder per page at its real size, the canvas inside it. A page wider
   than the column (zoom) overflows to the RIGHT only (auto margins in a flex column), so all of it can be scrolled to. The 8 px padding is
   _PDF_PAD in pdf_preview.jsx. */
.dms-pdf-pages{max-height:430px;overflow:auto;scrollbar-gutter:stable;padding:8px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--ad-surface-2)}
.dms-pdf-page{flex:none;margin:0 auto;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);border-radius:2px;overflow:hidden}
.dms-pdf-pages canvas{display:block;background:#fff}
.dms-pdf-more{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}
.dms-preview-status{display:flex;align-items:center;gap:8px;padding:28px 16px;justify-content:center;color:var(--ad-text-muted);font-size:13px}
.dms-text{max-height:180px;overflow:auto;white-space:pre-wrap;color:var(--ad-text-muted);font-size:11px;line-height:1.5}
.dms-dialog-text{font-size:13px;line-height:1.5;color:var(--ad-text-muted);margin:0 0 18px}
.dms-form{display:grid;gap:14px;padding-bottom:18px}.dms-form label{display:grid;gap:6px;font-size:12px;font-weight:700}
.dms-form input:not([type=checkbox]),.dms-form textarea{border:1px solid var(--ad-border-strong);border-radius:8px;padding:9px 10px;background:var(--ad-surface);color:var(--ad-text);font:500 13px var(--ad-font-body);width:100%;box-sizing:border-box}
.dms-form .dms-check{display:flex;align-items:center;gap:8px}
.dms-form-hint{color:var(--ad-text-muted);font-size:11px;font-weight:500;line-height:1.4}
/* Tags: colours come from the tenant catalog (bg/fg per tag); a chip without a catalog entry uses the neutral tokens. */
.dms-tag-chip{display:inline-flex;align-items:center;gap:3px;max-width:100%;min-width:0;padding:2px 7px;border-radius:5px;background:var(--ad-neutral-bg);color:var(--ad-neutral-fg);font:700 10.5px/1.5 var(--ad-font-body);letter-spacing:.02em;white-space:nowrap;box-sizing:border-box;box-shadow:inset 0 0 0 1px rgba(3,36,37,.08)}
.dms-tag-chip-label{overflow:hidden;text-overflow:ellipsis;min-width:0}
.dms-tag-chip button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:15px;height:15px;margin-right:-4px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;cursor:pointer;opacity:.75}
.dms-tag-chip button:hover:not(:disabled),.dms-tag-chip button:focus-visible{opacity:1;background:rgba(0,0,0,.16);outline:0}
.dms-tag-chip button:disabled{cursor:default;opacity:.35}
/* The name keeps its full width up to 60% of the cell; the chips take the rest and shorten first. */
.dms-file-name>span:nth-child(2):not(:last-child){flex:0 0 auto;max-width:60%}
.dms-file-name{container-type:inline-size}
/* FND-1063: a container-wrapped node says "XML · 6,1 KB" next to its name while the Typ / Größe columns are hidden (narrow list) */
.dms-file-name>span.dms-wrapped-tag{flex:none;overflow:visible}
.dms-file-name:has(.dms-wrapped-tag)>span:nth-child(2):not(:last-child){flex:1 1 auto;max-width:none;min-width:0}   /* the tag keeps its room, the name gives way (ellipsis) - the tag never overlaps the next column */
.dms-file-name>span.dms-row-tags{display:inline-flex;align-items:center;gap:5px;flex:1 1 0;min-width:0;overflow:hidden}
.dms-row-tags-strip{display:inline-flex;align-items:center;gap:4px;flex:0 1 auto;min-width:0;overflow:hidden}
.dms-row-tags .dms-tag-chip{flex:0 1 auto;max-width:120px;min-width:34px}
.dms-tag-more{flex:none;color:var(--ad-text-subtle);font-size:10.5px;font-weight:700}
.dms-tag-more-narrow{display:none}
@container (max-width:330px){.dms-row-tags-strip .dms-tag-chip:nth-child(n+2),.dms-tag-more-wide{display:none}.dms-tag-more-narrow{display:inline}}
.dms-tag-list{display:flex;flex-wrap:wrap;gap:5px}
.dms-tag-editor{display:grid;gap:9px}
.dms-tag-field{position:relative}
.dms-tag-input{width:100%;box-sizing:border-box;border:1px solid var(--ad-border-strong);border-radius:8px;padding:7px 9px;background:var(--ad-surface);color:var(--ad-text);font:500 12px var(--ad-font-body)}
.dms-tag-input:focus{outline:0;border-color:var(--ad-process);box-shadow:var(--ad-shadow-sm)}
.dms-tag-input:disabled{background:var(--ad-surface-inset);color:var(--ad-text-faint);cursor:not-allowed}
.dms-tag-hint{margin:0;color:var(--ad-text-muted);font-size:11px;line-height:1.4}
.dms-tag-error{color:var(--ad-danger-text)}
.dms-tag-suggest{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:4px;max-height:240px;overflow:auto;padding:4px;border:1px solid var(--ad-border);border-radius:8px;background:var(--ad-surface);box-shadow:var(--ad-shadow-md)}
.dms-tag-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 7px;border:0;border-radius:6px;background:transparent;color:var(--ad-text);font:500 12px var(--ad-font-body);text-align:left;cursor:pointer}
.dms-tag-option>.dms-tag-chip{min-width:0}
.dms-tag-option small{margin-left:auto;color:var(--ad-text-subtle);font-size:10.5px;white-space:nowrap}
.dms-tag-option.active,.dms-tag-option:hover:not(:disabled){background:var(--ad-surface-inset)}
.dms-tag-option:disabled{opacity:.45;cursor:not-allowed}
.dms-tag-new span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dms-filter{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}
.dms-filter-picker{position:relative}
.dms-filter-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:var(--ad-bw-btn,1.5px) solid var(--ad-btn-outline-bd,var(--ad-border-strong));border-radius:var(--ad-radius-btn,8px);background:var(--ad-surface);color:var(--ad-text);font:700 12px var(--ad-btn-font,var(--ad-font-body));cursor:pointer;white-space:nowrap}
.dms-filter-btn:hover,.dms-filter-btn[aria-expanded=true]{background:var(--ad-surface-inset)}
.dms-filter-btn.on{border-color:var(--ad-process);color:var(--ad-accent-deep)}
.dms-filter-menu{position:absolute;left:0;top:100%;z-index:30;display:grid;gap:6px;width:280px;margin-top:4px;padding:8px;border:1px solid var(--ad-border);border-radius:8px;background:var(--ad-surface);box-shadow:var(--ad-shadow-md)}
.dms-filter-options{max-height:260px;overflow:auto}
.dms-filter-check{display:inline-flex;justify-content:center;flex:none;width:14px;color:var(--ad-accent-deep)}
.dms-tag-option.on{font-weight:700}
.dms-filter-note{color:var(--ad-text-subtle);font-size:11px}
.dms-filter-clear{border:0;background:transparent;color:var(--ad-accent-deep);font:700 11px var(--ad-font-body);cursor:pointer;padding:3px 4px}
.dms-breadcrumbs .dms-scope-hint{color:var(--ad-text-muted);font-size:11px;font-weight:600}
@media(max-width:1150px){.dms-layout{grid-template-columns:190px minmax(0,1fr)}.dms-inspector{grid-column:2}}
@media(max-width:760px){.dms-layout{display:block}.dms-left,.dms-main,.dms-inspector{margin-bottom:14px}.dms-space{display:inline-flex;width:auto;max-width:100%}}
/* FND-1097: the viewer. While a document is open the left column steps aside and the viewer takes the main area; the inspector stays beside it
   unless „Details“ folds it away. The body is as high as the window allows (topbar, page head and card head subtracted); the pages, the XML
   or the image scroll INSIDE it, so the card head with the tools never scrolls away. */
.dms-layout.dms-viewing{grid-template-columns:minmax(0,1fr) minmax(260px,280px)}
.dms-layout.dms-viewing.dms-no-inspector{grid-template-columns:minmax(0,1fr)}
.dms-viewer{min-width:0}
.dms-viewer-body{display:flex;flex-direction:column;height:max(420px,calc(100vh - 250px));min-height:0;overflow:hidden;border-top:1px solid var(--ad-border);background:var(--ad-surface-2);border-radius:0 0 var(--ad-radius-card,12px) var(--ad-radius-card,12px)}
.dms-viewer-body:focus{outline:none}
.dms-viewer-body>.dms-preview-status{flex:1 1 auto}
.dms-viewer-body .dms-pdf{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.dms-viewer-body .dms-pdf-pages{flex:1 1 auto;min-height:0;max-height:none}
.dms-viewer-body .dms-pdf-pages:focus-visible,.dms-xml-text:focus-visible{outline:2px solid var(--ad-accent-fg);outline-offset:-2px}
.dms-viewer-image{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box}
.dms-viewer-image img{display:block;max-width:100%;max-height:100%;object-fit:contain;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.dms-xml{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.dms-xml-note{padding:10px 16px 0}
.dms-xml-text{flex:1 1 auto;min-height:0;margin:0;padding:14px 16px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;font:12.5px/1.6 var(--ad-font-mono);color:var(--ad-text);background:var(--ad-surface)}
.dms-viewer-nav{display:inline-flex;gap:2px;flex:none}
.dms-viewer-zoom{display:inline-flex}
@media(max-width:1150px){.dms-layout.dms-viewing{grid-template-columns:minmax(0,1fr)}.dms-layout.dms-viewing .dms-inspector{grid-column:1}}
/* FND-413 access model (Core #81 + Dms #5): lock badge on restricted / protected nodes, the „Dokumentbereiche“ card and the folder-ACL drawer. */
.dms-lock{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--ad-text-subtle)}
.dms-lock-protected{color:var(--ad-purple-fg)}
.dms-areas{display:grid;gap:6px;margin:4px 0 8px}
.dms-area{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:6px 4px;border-bottom:1px solid var(--ad-border)}
.dms-area-tags{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:5px;flex:0 0 auto;margin-left:auto}
.dms-area-item:last-child .dms-area{border-bottom:0}
.dms-area-btn{width:100%;border-top:0;border-left:0;border-right:0;border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}
.dms-area-btn:hover{background:var(--ad-surface-inset)}
.dms-area-btn:focus-visible{outline:2px solid var(--ad-accent-fg);outline-offset:-2px}
.dms-area-chevron{display:inline-flex;flex:0 0 auto;color:var(--ad-text-subtle)}
.dms-area-detail{display:grid;gap:4px;padding:6px 8px 10px 25px;border-bottom:1px solid var(--ad-border)}
.dms-area-item:last-child .dms-area-detail{border-bottom:0}
.dms-area-name{flex:1 1 auto;min-width:0;font:600 12px var(--ad-font-body);color:var(--ad-text)}
/* FND-1096: an area the caller may read opens as a view; the opened area / view is marked like the active space („Ablagen“). */
.dms-area-btn.active{background:var(--ad-accent-bg)}
.dms-area-btn.active .dms-area-name{color:var(--ad-accent-fg);font-weight:800}
.dms-area-views{display:grid;gap:2px;margin:0 0 4px -6px}
.dms-area-view{display:flex;align-items:center;gap:7px;width:100%;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--ad-text);font:600 12px var(--ad-font-body);text-align:left;cursor:pointer}
.dms-area-view svg{flex:none;color:var(--ad-text-subtle)}
.dms-area-view:hover{background:var(--ad-surface-inset)}
.dms-area-view:focus-visible{outline:2px solid var(--ad-accent-fg);outline-offset:-2px}
.dms-area-view.active{background:var(--ad-accent-bg);color:var(--ad-accent-fg);font-weight:800}
.dms-area-view.active svg{color:var(--ad-accent-fg)}
/* The „Ordner“ column of an area listing: where the document lies, a link into the folder tree. */
.dms-folder-link{display:flex;align-items:flex-start;gap:6px;width:100%;min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--ad-text-muted);font:500 12px/1.35 var(--ad-font-body)}
.dms-folder-link svg{flex:none;margin-top:1px;color:var(--ad-text-subtle)}
/* The whole DF1 path (root › entity › year › number) on at most two lines - the number at the end must stay readable. */
.dms-folder-link span{min-width:0;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.dms-folder-link:hover:not(:disabled) span{color:var(--ad-link,var(--ad-info-fg));text-decoration:underline}
.dms-folder-link:disabled{cursor:progress}
.dms-acl{display:flex;flex-direction:column;gap:18px}
.dms-acl-intro{margin:0;font-size:13px;line-height:1.5;color:var(--ad-text-subtle)}
.dms-acl-block h3{margin:0 0 8px;font-size:13px}
.dms-acl-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--ad-border)}
.dms-acl-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}
.dms-acl-row-ro{grid-template-columns:minmax(0,1fr) auto}
.dms-acl-inherited small{display:block;margin:6px 0 2px;color:var(--ad-text-subtle)}
.dms-acl-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dms-acl-add h3{flex-basis:100%}
.dms-acl-who{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 12px;margin:0;font-size:12px;line-height:1.5}
.dms-acl-who dt{font-weight:700;color:var(--ad-text)}
.dms-acl-who dd{margin:0;color:var(--ad-text-muted)}
@media(max-width:760px){.dms-acl-who{grid-template-columns:minmax(0,1fr)}}
