/* Files inherit the GRT workspace's native controls, blue actions and light surfaces. */
.files-library{min-width:0;max-width:100%}
.files-library svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
.files-library button,.files-library input,.files-library select{font-family:inherit}
.files-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.files-search{display:flex;align-items:center;gap:10px;flex:1;min-width:0;border:1px solid var(--line,#dce3ed);border-radius:8px;background:var(--surface,#fff);padding-left:14px;color:var(--muted,#536279)}
.files-search input{width:100%;min-width:0;min-height:46px;border:0;background:transparent;padding:11px 12px 11px 0;font-size:14px;color:var(--ink,#18243a)}
.files-search:focus-within{outline:3px solid #92b3ff;outline-offset:3px}
.files-search input:focus-visible{outline:none}
.files-library .files-refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none}
.files-filter-row{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(150px,1fr);gap:14px;margin-bottom:24px}
.files-filter{display:grid;gap:7px;min-width:0;font-size:12px;font-weight:600;color:var(--muted,#536279)}
.files-filter select{width:100%;min-width:0;font-size:14px;font-weight:400;color:var(--ink,#18243a)}
.files-results-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.files-results-bar>p{font-size:13px;color:var(--muted,#536279);margin:0;font-variant-numeric:tabular-nums}
.files-view-toggle{flex:none;width:auto;gap:2px}
.files-view-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 13px;min-height:40px}
.files-view-toggle svg{width:16px;height:16px}
.files-feedback{font-size:13px;line-height:1.6;color:var(--ink,#18243a);margin:0 0 18px;overflow-wrap:anywhere}
.files-feedback:empty{display:none}
.files-feedback a{color:var(--blue,#2456ca);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.files-grid,.files-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:20px}
.files-card{min-width:0;border:1px solid var(--line,#dce3ed);border-radius:12px;background:var(--surface,#fff);overflow:hidden;display:flex;flex-direction:column}
.files-thumbnail{height:160px;position:relative;display:grid;place-items:center;background:#eef2f8;overflow:hidden}
.files-file-symbol{display:grid;justify-items:center;gap:8px;color:#536985}
.files-file-symbol svg{width:36px;height:36px;stroke-width:1.35}
.files-file-symbol>span{font-size:12px;font-weight:600}
.files-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}
.files-thumbnail-ready img{opacity:1}
.files-thumbnail-ready .files-file-symbol{visibility:hidden}
.files-card-body{display:flex;flex-direction:column;flex:1;padding:19px 18px 18px;min-width:0}
.files-library .files-name{font-size:15px;font-weight:650;line-height:1.5;letter-spacing:0;margin:0 0 7px;overflow-wrap:anywhere}
.files-card-metadata{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 17px;color:var(--muted,#536279);font-size:12px;font-variant-numeric:tabular-nums}
.files-source{display:grid;gap:3px;min-width:0;line-height:1.5}
.files-source-kind{font-size:11px;color:var(--muted,#536279)}
.files-source-link,.files-source-title{font-size:13px;overflow-wrap:anywhere}
.files-source-link{color:var(--blue,#2456ca);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.files-source-link:hover{color:#173d91;text-decoration-thickness:2px}
.files-ministries{font-size:12px;line-height:1.6;color:var(--muted,#536279);margin:9px 0 0;overflow-wrap:anywhere}
.files-card-added{display:grid;gap:3px;color:var(--muted,#536279);font-size:11px;line-height:1.5;margin:16px 0 18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.files-card .files-item-actions{margin-top:auto}
.files-item-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.files-library .files-item-actions .quiet{font-size:12px;min-height:44px;padding:9px 11px;line-height:1.4}
.files-item-actions .files-download{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.files-item-actions .files-download svg{width:16px;height:16px}
.files-table-scroll{max-width:100%;overflow:auto;background:#fff;border:1px solid var(--line,#dce3ed);border-radius:12px;overscroll-behavior-inline:contain}
.files-table-scroll:focus-visible{outline:3px solid #92b3ff;outline-offset:3px}
.files-table{width:100%;min-width:990px;border-collapse:collapse;table-layout:fixed;font-size:13px;text-align:left}
.files-table thead th{padding:14px 16px;background:#f0f3f8;font-size:12px;color:var(--muted,#536279);font-weight:600;border-bottom:1px solid var(--line,#dce3ed)}
.files-table th:nth-child(1){width:25%}.files-table th:nth-child(2){width:20%}.files-table th:nth-child(3){width:13%}.files-table th:nth-child(4){width:14%}.files-table th:nth-child(5){width:9%}.files-table th:nth-child(6){width:19%}
.files-table td,.files-table tbody th{padding:18px 16px;border-bottom:1px solid var(--line,#dce3ed);vertical-align:top;overflow-wrap:anywhere;font-weight:400}
.files-table tbody tr:last-child>*{border-bottom:0}
.files-table tbody tr:hover{background:#f8faff}
.files-table-name{display:flex;align-items:flex-start;gap:11px;min-width:0}
.files-table-name>div{display:grid;gap:5px;min-width:0}
.files-table-name strong{font-size:13px;line-height:1.6;font-weight:600}
.files-small-icon{display:grid;place-items:center;width:32px;height:36px;background:#eef2f8;border-radius:6px;color:#536985;flex:none}
.files-small-icon svg{width:19px;height:19px}
.files-file-type{font-size:11px;color:var(--muted,#536279)}
.files-added{display:grid;gap:5px;font-variant-numeric:tabular-nums}
.files-added>span:last-child:not(:first-child){font-size:11px;color:var(--muted,#536279)}
.files-size{font-variant-numeric:tabular-nums;color:var(--muted,#536279)}
.files-table .files-item-actions{display:grid;grid-template-columns:1fr;gap:8px;justify-items:start}
.files-table .files-item-actions .quiet{padding:7px 9px;white-space:nowrap;min-height:38px}
.files-scroll-help{font-size:12px;color:var(--muted,#536279);margin:0 0 10px}
.files-empty{display:grid;justify-items:center;text-align:center;padding:64px 24px;background:#fff;border:1px solid var(--line,#dce3ed);border-radius:12px;min-height:280px;align-content:center}
.files-empty>svg{width:34px;height:34px;color:var(--muted,#536279);margin-bottom:18px}
.files-library .files-empty h2{font-size:21px;letter-spacing:-.02em;margin:0 0 12px}
.files-empty p{font-size:14px;line-height:1.7;color:var(--muted,#536279);max-width:58ch;margin:0 0 10px}
.files-empty .quiet,.files-empty .primary{margin-top:12px}
.files-skeleton{border:1px solid var(--line,#dce3ed);border-radius:12px;background:#fff;overflow:hidden;min-height:300px;padding-bottom:24px}
.files-skeleton>div{height:160px;background:#e9eef5;margin-bottom:24px}
.files-skeleton>span{display:block;height:12px;background:#e9eef5;border-radius:3px;margin:13px 18px;width:68%}
.files-skeleton>span:last-child{width:46%}
.files-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}
.files-pagination:empty{display:none}
.files-pagination p{font-size:12px;color:var(--muted,#536279);font-variant-numeric:tabular-nums}
.files-preview-dialog{width:min(1020px,calc(100% - 40px));max-width:1020px;max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line,#dce3ed);border-radius:16px;background:#fff;overflow:auto}
.files-preview-dialog::backdrop{background:#1323458c}
.files-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line,#dce3ed)}
.files-library .files-preview-heading h2{font-size:17px;line-height:1.5;letter-spacing:0;margin:0;overflow-wrap:anywhere}
.files-preview-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px!important}
.files-preview-content{display:grid;place-items:center;min-height:220px;padding:20px;background:#f0f3f8}
.files-preview-content img{display:block;max-width:100%;max-height:calc(100dvh - 240px);object-fit:contain}
.files-preview-loading{font-size:14px;line-height:1.7;color:var(--muted,#536279);text-align:center;max-width:55ch;padding:32px 12px}
.files-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px}
.files-preview-footer p{margin:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.files-preview-footer button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none}
.files-library [aria-busy=true]:disabled{cursor:wait}
@media(min-width:1500px){.files-table{min-width:1100px}.files-table .files-item-actions{display:flex;flex-wrap:nowrap}.files-grid,.files-loading{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
@media(max-width:1100px){.files-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.files-toolbar{gap:10px;align-items:stretch}.files-search input{font-size:16px;padding-right:8px}.files-search{padding-left:11px;gap:7px}.files-library .files-refresh{width:46px;padding:10px}.files-refresh>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.files-filter-row{gap:14px 12px;margin-bottom:22px}.files-filter select{font-size:16px}.files-results-bar{gap:10px}.files-results-bar>p{font-size:12px}.files-view-toggle button{gap:6px;padding:8px 10px;font-size:12px}.files-grid,.files-loading{gap:16px;grid-template-columns:minmax(0,1fr)}.files-thumbnail{height:190px}.files-card-body{padding:20px}.files-card .files-item-actions .quiet{padding:10px 14px;font-size:13px}.files-table .files-item-actions .quiet{min-height:44px}.files-name{font-size:16px}.files-card-added{font-size:12px}.files-empty{padding:46px 20px}.files-pagination{flex-direction:column;gap:6px}.files-preview-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.files-preview-heading{padding:14px 16px;gap:12px}.files-preview-content{padding:10px}.files-preview-content img{max-height:calc(100dvh - 245px)}.files-preview-footer{padding:14px 16px;gap:12px}.files-preview-footer p{font-size:12px}}
