/* A shared destination dialog; navigation, permissions and submissions stay native. */
#folderPicker { box-sizing:border-box; width:min(940px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:22px; border-radius:18px; overflow:auto; }
#folderPicker[open] { display:flex; flex-direction:column; gap:16px; }
.workspace-page #folderPicker { max-height:calc(100dvh - var(--topbar-height,56px) - 32px); }
#folderPicker .folder-picker-header { justify-content:space-between; flex:none; gap:16px; }
#folderPicker .folder-picker-heading { display:flex; align-items:center; gap:14px; min-width:0; }
#folderPicker .folder-picker-heading > .ui-icon { width:32px; height:32px; }
#folderPicker .folder-picker-heading > div { min-width:0; }
#folderPicker h2 { font-size:19px; line-height:1.4; }
#folderPicker #folderPickerDescription { margin:4px 0 0; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:70vw; }
#folderPicker .folder-picker-close { width:36px; height:36px; min-width:36px; padding:0; border:0; font-size:24px; }
#folderPicker .folder-location-bar { display:flex; align-items:center; gap:12px; min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); }
#folderPicker #folderUp { width:32px; min-width:32px; height:32px; min-height:32px; padding:0; display:grid; place-items:center; }
.folder-up-icon { width:14px; height:14px; display:block; mask:url('../icons/chevron-left.svg') center/contain no-repeat; -webkit-mask:url('../icons/chevron-left.svg') center/contain no-repeat; background:currentColor; transform:rotate(90deg); }
#folderPicker #folderBreadcrumbs { flex:1; display:flex; align-items:center; flex-wrap:nowrap; gap:10px; overflow:auto; }
#folderPicker .folder-crumb { padding:4px 0; min-height:28px; min-width:0; max-width:240px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border:0; border-radius:4px; font-size:12px; font-weight:500; }
#folderPicker .folder-crumb[aria-current] { font-weight:700; }
#folderPicker .folder-crumb + .folder-crumb::before { content:none; }
.folder-path-separator { display:block; width:6px; height:6px; flex:none; border-right:1.5px solid var(--muted); border-top:1.5px solid var(--muted); transform:rotate(45deg); }
#folderPicker .folder-tools { margin:0; flex:none; }
#folderPicker .folder-search { display:block; }
#folderPicker .folder-search input { margin:0; width:100%; min-height:40px; font-size:13px; }
#folderPicker #folderNew { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:8px 12px; font-size:12px; }
#folderPicker #folderNew .ui-icon { width:18px; height:18px; }
#folderPicker #folderCreate input { width:100%; margin:0; }
#folderPicker .folder-browser { grid-template-columns:minmax(185px,26%) minmax(0,1fr); height:clamp(190px,42dvh,430px); min-height:130px; flex:1 1 auto; border-radius:12px; background:var(--surface); }
#folderPicker .folder-tree-panel { display:flex; flex-direction:column; min-height:0; min-width:0; border-right:1px solid var(--line); background:var(--surface-2); }
#folderPicker .folder-tree-panel h3 { margin:0; padding:14px 14px 8px; font-size:11px; font-weight:600; color:var(--muted); }
#folderPicker #folderTree { display:block; flex:1; overflow:auto; min-height:0; background:transparent; padding:4px 8px 10px; border:0; }
#folderPicker .folder-tree-line { align-items:center; gap:2px; min-width:0; min-height:36px; }
#folderPicker .folder-tree-line button { margin:0; padding:5px 7px; border:0; border-radius:6px; font-size:12px; min-height:32px; }
#folderPicker .folder-tree-toggle { display:grid; place-items:center; width:24px; min-width:24px; height:32px; flex:none; }
.folder-tree-chevron { display:block; width:6px; height:6px; border-right:1.5px solid currentColor; border-top:1.5px solid currentColor; transform:rotate(45deg); }
.folder-tree-toggle[aria-expanded=true] .folder-tree-chevron { transform:rotate(135deg); }
#folderPicker .folder-tree-open { flex:1; overflow:hidden; min-width:78px; }
#folderPicker .folder-tree-open > span:last-child { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#folderPicker .folder-tree-open .ui-file-symbol { --file-glyph-size:18px; }
#folderPicker .folder-tree-more { font-size:11px; border:0; padding:5px 9px; margin:4px 0; }
#folderPicker .folder-results { padding:8px 12px 12px; min-height:0; min-width:0; overflow:auto; }
#folderPicker .folder-results-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; padding:6px 6px 12px; border-bottom:1px solid var(--line); margin-bottom:4px; }
#folderPicker .folder-results-heading h3 { margin:0; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
#folderPicker .folder-results-options { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 14px; margin-left:auto; }
#folderPicker .folder-files-filter { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:500; white-space:nowrap; cursor:pointer; }
#folderPicker .folder-files-filter[hidden] { display:none; }
#folderPicker .folder-files-filter input { width:15px; height:15px; margin:0; padding:0; accent-color:var(--theme-accent,var(--blue)); }
#folderPicker #folderStatus { margin:0; font-size:11px; color:var(--muted); }
#folderPicker .folder-entry { display:flex; align-items:center; gap:12px; padding:12px 8px; min-height:48px; border:0; border-bottom:1px solid var(--line); border-radius:0; width:100%; text-align:left; }
#folderPicker .folder-entry > span:nth-child(2) { flex:1; min-width:0; }
#folderPicker .folder-entry strong { font-size:13px; font-weight:500; }
#folderPicker .folder-entry small { font-size:11px; }
#folderPicker .folder-entry strong,#folderPicker .folder-entry small { display:block; overflow-wrap:anywhere; }
#folderPicker .folder-entry small { margin-top:3px; color:var(--muted); }
#folderPicker .folder-entry-file { box-sizing:border-box; color:var(--theme-text,var(--text)); cursor:default; }
#folderPicker .folder-entry.folder-entry-file::after { content:none; }
#folderPicker .folder-entry-file:hover { background:transparent !important; }
#folderPicker .folder-file-icon { --file-glyph-size:24px; width:24px; height:24px; object-fit:contain; flex:none; }
#folderPicker .folder-entry::after { content:''; width:6px; height:6px; border-top:1.5px solid var(--muted); border-right:1.5px solid var(--muted); transform:rotate(45deg); flex:none; margin-right:4px; }
#folderPicker .folder-empty { display:grid; place-content:center; min-height:120px; margin:0; padding:14px; font-size:13px; color:var(--muted); text-align:center; }
#folderPicker #folderMore { display:block; margin:12px auto 0; font-size:12px; }
#folderPicker #folderError { margin:0; font-size:12px; }
#folderPicker .upload-location-preference { margin:0; }
#folderPicker .upload-location-preference label { font-size:12px; color:var(--muted); }
#folderPicker .folder-picker-footer { flex:none; gap:16px; margin:0; padding-top:16px; align-items:center; }
#folderPicker .folder-destination-summary { flex:1; min-width:0; margin:0; }
#folderPicker .folder-destination-summary small { font-size:11px; }
#folderPicker #folderDestination { font-size:12px; line-height:1.5; margin-top:4px; }
#folderPicker .folder-picker-actions { display:flex; gap:8px; flex:none; margin:0; }
#folderPicker .folder-picker-actions button { padding:9px 17px; min-height:40px; font-size:13px; }
html[data-theme] #folderPicker :is(.folder-tree-toggle,.folder-tree-open,.folder-tree-more,.folder-crumb,.folder-entry,.folder-picker-close) { background:transparent !important; color:var(--theme-text) !important; border-color:transparent !important; }
html[data-theme] #folderPicker .folder-entry { border-bottom-color:var(--theme-border) !important; }
html[data-theme] #folderPicker :is(.folder-tree-toggle,.folder-tree-open,.folder-tree-more,.folder-crumb,.folder-entry,.folder-picker-close):hover { background:var(--theme-hover) !important; }
html[data-theme] #folderPicker div.folder-entry-file:hover { background:transparent !important; }
html[data-theme] #folderPicker .folder-tree-open[aria-current] { background:var(--theme-selected) !important; }
#folderPicker :is(button,input):focus-visible { outline:2px solid var(--theme-focus,var(--blue)); outline-offset:2px; }
@media(max-width:600px) {
  #folderPicker { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); padding:16px; }
  #folderPicker[open] { gap:12px; }
  #folderPicker h2 { font-size:17px; }
  #folderPicker .folder-browser { grid-template-columns:1fr; grid-template-rows:100px minmax(100px,1fr); height:clamp(240px,42dvh,400px); min-height:240px; }
  #folderPicker .folder-tree-panel { border-right:0; border-bottom:1px solid var(--line); }
  #folderPicker .folder-tree-panel h3 { display:none; }
  #folderPicker #folderTree { padding:6px 8px; }
  #folderPicker .folder-picker-footer { flex-wrap:wrap; }
  #folderPicker .folder-destination-summary { flex-basis:100%; }
  #folderPicker .folder-picker-actions { width:100%; justify-content:flex-end; }
  #folderPicker .folder-results-options { gap:6px 10px; }
  #folderPicker #folderCreate { flex-wrap:wrap; }
  #folderPicker #folderCreate label { flex-basis:100%; }
  #folderPicker #folderPickerDescription { max-width:calc(100vw - 130px); }
}
@media(pointer:coarse) { #folderPicker :is(.folder-tree-line button,.folder-entry,.folder-picker-actions button,#folderUp,#folderNew) { min-height:44px; } }
