.volume-identity{display:grid;gap:5px;min-width:160px}.volume-identity small{color:var(--muted);font-size:12px}.volume-identity span{font-size:14px}.volume-identity details{font-size:12px;color:var(--muted)}.volume-identity code{display:block;max-width:340px;white-space:normal;overflow-wrap:anywhere;margin-top:8px}.volume-actions{display:flex;gap:8px}.volume-actions button{padding:8px 12px;white-space:nowrap}.folder-dialog{width:min(900px,calc(100vw - 32px));max-height:85dvh;border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--surface,#fff);color:var(--ink,#153d37)}.folder-dialog::backdrop{background:#153d3780;backdrop-filter:blur(5px)}.folder-dialog header,.folder-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.folder-dialog header{border-bottom:1px solid var(--line);padding-bottom:18px}.folder-dialog header h2{font-size:22px;margin:0;overflow-wrap:anywhere}.folder-dialog header>div{display:flex;gap:8px}.folder-toolbar{margin:20px 0}.folder-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.folder-breadcrumb button{overflow-wrap:anywhere;text-align:left}.folder-list{height:clamp(220px,45dvh,500px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px;padding:0 16px}.folder-row{display:flex;gap:15px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0}.folder-row:last-child{border-bottom:0}.folder-open{display:flex;align-items:center;gap:12px;background:none;border:0;color:inherit;min-width:0;text-align:left;padding:10px 0}.folder-open svg{width:22px;height:22px;flex-shrink:0}.folder-open span{overflow-wrap:anywhere}.folder-row>div{display:flex;gap:12px;align-items:center}.folder-row small{max-width:170px;color:var(--muted);font-size:12px}.folder-row button.secondary{padding:8px 12px;white-space:nowrap}.folder-row button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.folder-dialog{padding:16px}.folder-row>div{flex-direction:column;align-items:flex-end}.folder-row small{max-width:100px}.folder-dialog header h2{font-size:19px}}

.folder-delete:not(:disabled){color:#a43b32;border-color:#dfc1bc}.folder-delete-path{overflow-wrap:anywhere}.folder-progress{padding:24px 0}.folder-progress progress{width:100%}

.folder-delete-warning{color:#a43b32}

.file-preview{width:min(1500px,calc(100vw - 40px));height:min(1000px,calc(100dvh - 40px));max-width:none;max-height:none;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface,#fff);color:var(--ink);overflow:hidden}
.file-preview[open]{display:flex;flex-direction:column}.file-preview::backdrop{background:#102622b3;backdrop-filter:blur(3px)}
.file-preview header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 22px;border-bottom:1px solid var(--line);flex-shrink:0}.file-preview header>div:first-child{min-width:0}.file-preview-label{font-size:12px;color:var(--muted)}.file-preview h2{font-size:19px;line-height:1.4;margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-actions{display:flex;gap:8px;flex-shrink:0}.file-preview-actions .secondary{padding:9px 14px;font-size:14px;text-decoration:none;white-space:nowrap}.file-preview-actions [hidden]{display:none}
.file-preview-body{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#edf0ec;overflow:hidden}.file-preview-body img{max-width:100%;max-height:100%;object-fit:contain}.file-preview-body iframe,.file-preview-body video{width:100%;height:100%;border:0}.file-preview-body video{background:#111;object-fit:contain}.file-preview-body [data-preview-status]{position:absolute;z-index:1;max-width:80%;padding:16px 22px;border-radius:10px;background:#fffffff2;text-align:center;font-size:15px;color:var(--ink)}
@media(max-width:600px){.file-preview{width:100vw;height:100dvh;border:0;border-radius:0;margin:0}.file-preview header{padding:12px;gap:10px;flex-wrap:wrap}.file-preview header>div:first-child{width:100%}.file-preview h2{font-size:17px}.file-preview-actions{margin-left:auto}.file-preview-actions .secondary{padding:8px 12px;font-size:13px}}

.file-manager{width:min(1440px,calc(100vw - 40px));height:min(850px,90dvh);max-height:94dvh;padding:0;overflow:hidden}
.file-manager>header{padding:18px 24px;margin:0;background:#f8faf7}.file-manager>header h2{display:flex;gap:12px;align-items:center;font-size:21px}.file-manager>header h2 svg{width:25px;height:25px}.file-manager>header button{padding:9px 14px;font-size:14px}
.file-manager [data-folder-content]{height:calc(100% - 81px);display:flex;flex-direction:column;min-height:0}.file-toolbar{padding:14px 20px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid var(--line)}.file-toolbar-main{display:flex;gap:7px;flex-wrap:wrap}.file-toolbar button{padding:9px 13px;font-size:14px;border-radius:8px}.file-toolbar button:disabled{opacity:.38;cursor:not-allowed}.file-search{display:flex;gap:8px;flex:1;max-width:370px;min-width:260px}.file-search input,.file-search select{height:39px;padding:7px 11px;font-size:14px;margin:0;min-width:0}.file-search input{flex:1}.file-search select{width:110px}
.file-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);flex:1;min-height:0}.file-tree{padding:14px 8px;overflow:auto;border-right:1px solid var(--line);background:#f7f9f5}.file-tree-node{display:flex;align-items:center;gap:9px;width:100%;border:0;border-radius:7px;background:transparent;text-align:left;font-size:14px;color:var(--ink);padding:10px 12px 10px calc(12px + var(--depth)*16px);min-width:0}.file-tree-node svg{width:18px;height:18px;flex-shrink:0}.file-tree-node span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-tree-node.active{background:#e0edcc;font-weight:600}.file-tree-node:hover{background:#eaf0e3}.file-main{display:flex;flex-direction:column;min-width:0;min-height:0}.file-main.drag-over{outline:3px dashed #688658;outline-offset:-6px;background:#eef4e5}.file-breadcrumb{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 18px;border-bottom:1px solid var(--line);overflow:auto;flex-shrink:0}.file-breadcrumb button{white-space:nowrap;font-size:14px;background:transparent;border:0;color:var(--ink);padding:5px}.file-table-scroll{overflow:auto;flex:1;min-height:0}.file-table{width:100%;border-collapse:collapse;table-layout:fixed}.file-table th{position:sticky;top:0;background:#f7f9f5;z-index:1;text-align:left;color:#758778;font-size:12px;font-weight:500}.file-table td,.file-table th{padding:12px 14px;border-bottom:1px solid #eef1eb}.file-table th:first-child{width:46px}.file-table th:nth-child(3){width:100px}.file-table th:nth-child(4){width:188px}.file-table td{font-size:13px;color:#758778}.file-table input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#1c5446;cursor:pointer}.file-table tr.selected{background:#eef5e7}.file-table tbody tr:hover{background:#f5f8f1}.file-name{display:flex;align-items:center;gap:10px;max-width:100%;text-align:left;background:none;border:0;padding:2px 0;color:var(--ink);font-size:14px}.file-name span{overflow-wrap:anywhere}.file-name svg{width:21px;height:21px;flex-shrink:0;color:#71905f}.file-name:disabled{opacity:.5;cursor:not-allowed}.file-reason{display:block;font-size:11px;margin-top:3px;color:#9aa694}.file-status{padding:10px 20px;display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);color:#829079;font-size:12px}.file-transfer:not([hidden]){padding:12px 20px;border-top:1px solid var(--line);display:flex;align-items:center;gap:15px}.file-transfer span{font-size:13px;overflow-wrap:anywhere;flex:1}.file-transfer progress{width:180px;height:8px;accent-color:#1c5446}.file-transfer button{padding:7px 12px}.file-loading,.file-manager .folder-progress,.file-manager [data-folder-content]>.access-error{padding:24px}.file-confirm-list{max-height:200px;overflow:auto;overflow-wrap:anywhere}.file-manager [data-retry],.file-manager [data-result]{align-self:flex-start}
@media(max-width:800px){.file-manager{width:calc(100vw - 16px);height:94dvh;border-radius:14px}.file-manager>header{padding:14px}.file-manager>header h2{font-size:18px}.file-manager>header button{font-size:12px;padding:7px 10px}.file-manager [data-folder-content]{height:calc(100% - 68px)}.file-toolbar{padding:10px;gap:10px}.file-toolbar button{font-size:12px;padding:7px 10px}.file-search{max-width:none;min-width:0;width:100%;flex-basis:100%}.file-workspace{grid-template-columns:145px minmax(0,1fr)}.file-tree{padding:8px 3px}.file-tree-node{font-size:12px;gap:5px;padding:9px 6px 9px calc(6px + var(--depth)*10px)}.file-table th:nth-child(4),.file-table td:nth-child(4){display:none}.file-table th:nth-child(3){width:78px}.file-table td,.file-table th{padding:10px 8px}.file-name{font-size:12px}.file-status{font-size:11px;padding:10px}.file-transfer:not([hidden]){flex-wrap:wrap}.file-transfer progress{width:100px}}
@media(max-width:500px){.file-workspace{grid-template-columns:minmax(0,1fr)}.file-tree{display:none}.file-breadcrumb{padding:9px;gap:5px}.file-manager>header h2 svg{display:none}.file-table th:first-child{width:36px}.file-toolbar-main{gap:5px}.file-status span:last-child{display:none}}

/* The file manager is a full page; only the tree and file list scroll. */
#workspace[data-storage-section="files"] { height:100dvh; min-height:0; overflow:hidden; }
#workspace[data-storage-section="files"] .main-shell { height:100%; display:flex; flex-direction:column; }
#workspace[data-storage-section="files"] .topbar { flex-shrink:0; }
#workspace[data-storage-section="files"] main { flex:1; min-height:0; overflow:hidden; display:flex; flex-direction:column; width:100%; max-width:none; margin:0; padding-top:20px; }
#workspace[data-storage-section="files"] main > :not(#content) { flex-shrink:0; }
#workspace[data-storage-section="files"] #content { flex:1; min-height:0; }
#workspace[data-storage-section="files"] #storage-section { height:100%; min-height:0; }
#workspace[data-storage-section="files"] .file-manager-page { display:flex; flex-direction:column; width:100%; height:100%; max-height:none; margin:0; padding:0; }
#workspace[data-storage-section="files"] .file-manager-page [data-folder-content] { flex:1; height:auto; overflow:auto; }
#workspace[data-storage-section="files"] .file-toolbar,
#workspace[data-storage-section="files"] .file-status,
#workspace[data-storage-section="files"] .file-transfer { flex-shrink:0; }
#workspace[data-storage-section="files"] .file-workspace { min-height:120px; }
#workspace[data-storage-section="files"] .file-tree,
#workspace[data-storage-section="files"] .file-table-scroll { overscroll-behavior:contain; scrollbar-width:thin; }
#workspace[data-storage-section="files"] .page-heading { margin-bottom:18px; }
#workspace[data-storage-section="files"] footer { margin-top:12px; padding:12px 0; }
@media(max-height:650px) {
  #workspace[data-storage-section="files"] main { padding-top:10px; }
  #workspace[data-storage-section="files"] #page-kicker { display:none; }
  #workspace[data-storage-section="files"] .page-heading { margin-bottom:10px; }
}
@media(max-width:500px) {
  #workspace[data-storage-section="files"] .file-workspace { grid-template-rows:minmax(60px,25%) minmax(0,1fr); min-height:200px; }
  #workspace[data-storage-section="files"] .file-tree { display:block; border-right:0; border-bottom:1px solid var(--line); }
}
