.repository-layout { display: block; }
.repository-layout > *, .file-card, .file-card > *, .file-upload-row { min-width: 0; }
.file-system-badge { display: inline-block; background: #fff4f2; color: #9e3024; border: 1px solid #9e3024; border-radius: 4px; padding: .15rem .35rem; font-size: .8rem; font-weight: 700; }
.file-context-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; padding: 1rem; background: #edf3f9; border: 1px solid #64758a; border-radius: 8px; }
.file-context-actions .button { min-height: 48px; }
.file-bip-badge { display: inline-flex; align-items: center; justify-content: center; flex: none; min-width: 1.6rem; min-height: 1.6rem; padding: .1rem .35rem; border-radius: 4px; background: #9e3024; color: #fff; font-size: .8rem; font-weight: 800; vertical-align: middle; }
.button.file-danger { color: #86291f !important; background: #fff4f2 !important; border-color: #9e3024; }
.button.file-danger:hover { background: #ffe6e0 !important; }
.file-dialog .file-danger:disabled { color: #526780 !important; background: #e5ebf1 !important; border-color: #64758a; cursor: not-allowed; }
#file-delete-usage li { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.file-navigation { display: flex; flex-wrap: wrap; gap: .5rem; }
.file-navigation .button { min-height: 44px; }
.file-breadcrumbs { margin: 1rem 0; padding: .4rem .6rem; border: 1px solid #64758a; border-radius: 6px; background: #f4f7fb; color: #172d46; }
.file-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .2rem; list-style: none; padding: 0; margin: 0; }
.file-breadcrumbs li { display: flex; align-items: center; gap: .25rem; min-width: 0; max-width: 100%; }
.file-breadcrumbs button, .file-breadcrumbs [aria-current] { min-width: 0; padding: .6rem .4rem; overflow-wrap: anywhere; }
.file-breadcrumbs button { min-height: 44px; border: 1px solid #64758a; border-radius: 4px; background: #fff; color: #17466e; text-decoration: underline; cursor: pointer; text-align: left; }
.file-breadcrumbs button:hover { background: #e5eef8; }
.file-breadcrumbs [aria-current] { font-weight: 700; }
.file-explorer h2 { margin: 1rem 0 .4rem; overflow-wrap: anywhere; }
.file-explorer .small { color: #526780; }
.file-folder-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); list-style: none; padding: 0; gap: .75rem; margin: 1rem 0; }
.file-folder-grid > li { min-width: 0; }
.file-folder-tile { display: flex; align-items: center; gap: .8rem; width: 100%; height: 100%; min-height: 104px; padding: 1rem; border: 1px solid #64758a; border-radius: 8px; background: #fff; color: #172d46; text-align: left; cursor: pointer; }
.file-folder-tile:hover { background: #e5eef8; border-color: #17466e; }
.file-folder-icon { width: 44px; height: 40px; flex: none; fill: #edf3f9; color: #17466e; stroke-width: 2; stroke-linejoin: round; }
.file-folder-text { display: flex; align-items: start; flex-direction: column; gap: .35rem; min-width: 0; overflow-wrap: anywhere; }
.file-folder-text strong { font-size: 1rem; }
.file-folder-meta { font-size: .85rem; color: #526780; }
.file-folder-tile-system { border: 2px solid #9e3024; background: #fff4f2; }
.file-folder-tile-system:hover { background: #ffe6e0; border-color: #9e3024; }
.file-folder-tile-system .file-folder-icon { fill: #fff4f2; color: #9e3024; }
.file-navigation button:focus-visible, .file-breadcrumbs button:focus-visible, .file-folder-tile:focus-visible, #files-location:focus { outline: 3px solid #17466e; outline-offset: 3px; }
.file-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin-bottom: 1rem; }
.file-toolbar .field { flex: 1 1 12rem; margin: 0; }
.file-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0 1rem; }
.file-tabs button[aria-pressed="true"] { background: #17466e; color: #fff; border-color: #17466e; text-decoration: underline; text-underline-offset: .2em; }
.file-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); list-style: none; gap: 1rem; margin: 1rem 0; padding: 0; }
.file-card { border: 1px solid #64758a; border-radius: 8px; padding: 1rem; background: #fff; color: #172d46; overflow-wrap: anywhere; }
.file-card h3 { font-size: 1.05rem; margin: .7rem 0 .4rem; }
.file-card p { margin: .4rem 0; }
.file-card .actions { gap: .4rem; }
.file-thumbnail { display: grid; place-items: center; height: 140px; background: #edf3f9; color: #17466e; border-radius: 4px; font-weight: 700; }
.file-thumbnail img { width: 100%; height: 140px; object-fit: contain; }
.file-dialog { width: min(780px, calc(100% - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; padding: 1.5rem; border: 2px solid #64758a; border-radius: 12px; background: #fff; color: #172d46; }
.file-dialog::backdrop { background: #172d46b3; }
.file-dialog h2 { font-size: 1.4rem; margin-top: 0; }
.file-dialog .field { margin: .8rem 0; }
.file-dialog .actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.file-dialog .button { min-height: 44px; }
.file-dialog .hint, .file-card .small, .file-selection .small { color: #526780; }
.file-dialog .alert-error { color: #86291f; background: #fff4f2; border: 1px solid #9e3024; padding: .8rem; border-radius: 4px; }
.file-upload-row { margin: .8rem 0; padding: 1rem; border: 1px solid #64758a; border-radius: 6px; overflow-wrap: anywhere; }
.file-selection { list-style: none; padding: 0; margin: 1rem 0; }
.file-selection > li { border-bottom: 1px solid #64758a; padding: .8rem 0; overflow-wrap: anywhere; }
.file-picker-label { display: flex; align-items: start; gap: .7rem; min-height: 44px; cursor: pointer; }
.file-picker-label input { width: 24px; height: 24px; flex: none; margin-top: .1rem; }
.file-picker-label span { min-width: 0; overflow-wrap: anywhere; }
.file-picker-selected { padding: 0; list-style: none; }
.file-picker-selected li { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .5rem 0; padding: .6rem; background: #edf3f9; color: #172d46; border: 1px solid #64758a; border-radius: 6px; }
.file-picker-selected li > span { flex: 1 1 12rem; overflow-wrap: anywhere; }
#file-picker-location:focus, #file-picker-selected-count:focus { outline: 3px solid #17466e; outline-offset: 3px; }
.article-media { margin: 2rem 0; }
.article-media-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1rem; }
.article-media figure { margin: 0; padding: 1rem; border: 1px solid #64758a; border-radius: 8px; overflow-wrap: anywhere; }
.article-media img { width: 100%; max-height: 540px; object-fit: contain; display: block; margin-bottom: .75rem; }
.article-attachments { list-style: none; padding: 0; }
.article-attachments li { padding: 1rem 0; border-bottom: 1px solid #64758a; }
.article-attachments a { display: inline-block; min-height: 44px; padding: .6rem 0; overflow-wrap: anywhere; }
.article-media .file-format { white-space: nowrap; }
@media(max-width:480px) {
  .file-dialog { padding: 1rem; }
  .file-card .actions .button { flex: 1 1 auto; }
  .file-context-actions .button { flex: 1 1 100%; text-align: center; }
}
