/* Compact file rows retain an accessible action target on touch screens. */
.file-row{grid-template-columns:26px minmax(0,1fr) auto;gap:10px;min-height:50px;padding:4px 0}
.file-row .file-open{min-height:40px;padding:4px 0}.file-row .file-meta{flex-direction:row;align-items:center;gap:16px;min-width:0}
.file-row .file-meta strong{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-row .file-meta span{flex:0 0 auto;font-size:12px;margin:0;white-space:nowrap;color:var(--muted);max-width:45%;overflow:hidden;text-overflow:ellipsis}
.file-row .file-actions{grid-column:auto;display:flex;align-items:center;gap:3px;flex-wrap:nowrap}
.file-row .icon-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:36px;height:36px;padding:7px;border:0;border-radius:7px;background:transparent;cursor:pointer;line-height:1;font-size:17px;color:var(--muted)}
.file-row .icon-button svg{width:18px;height:18px}.file-row .icon-button:hover{background:#e6edf8}.file-row .icon-button[aria-pressed=true]{color:#a16207;background:#fffbeb}
.file-more{position:relative}.file-more summary{list-style:none}.file-more summary::-webkit-details-marker{display:none}
.file-more-options{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:156px;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 6px 18px #0f172a24}
.file-more-options button{display:block;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:5px;background:transparent;text-align:left;font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap}.file-more-options button:hover{background:#edf3fc}.file-more-options .file-menu-danger{color:#b42318}
.cloud-folders{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 6px;padding:10px 0;border-bottom:1px solid var(--line)}
.cloud-folder-filter{display:flex;align-items:center;gap:10px;min-width:0;color:var(--muted)}.cloud-folder-filter select{width:min(310px,35vw);min-width:100px;min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;font:inherit;color:var(--ink);background:var(--surface)}
.cloud-folder-tools{display:flex;gap:6px;flex-shrink:0}.cloud-folder-tools button{min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;font:inherit;font-size:12px;background:var(--surface);color:var(--ink);cursor:pointer}
.cloud-folder-dialog h2{padding-right:12px;font-size:21px}.cloud-folder-dialog select{min-height:44px;width:100%;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font:inherit}
#cloudFolderFile{overflow-wrap:anywhere;margin:0;color:var(--muted)}#cloudFolderFile:empty{display:none}#cloudFolderStatus{min-height:22px;margin:0;font-size:13px;color:var(--muted)}
@media(max-width:760px){.file-row{grid-template-columns:24px minmax(0,1fr) auto;gap:6px;min-height:52px;padding:4px 0}.file-row .file-meta{display:block}.file-row .file-meta strong{display:block;font-size:13px}.file-row .file-meta span{display:none}.file-row .file-actions{grid-column:3;gap:0}.file-row .icon-button{width:40px;height:44px;padding:10px}.cloud-folders{align-items:stretch;flex-wrap:wrap;gap:8px}.cloud-folder-filter{flex:1}.cloud-folder-filter select{width:100%;flex:1;min-height:44px}.cloud-folder-tools{flex-wrap:wrap}.cloud-folder-tools button{min-height:44px}.cloud-folder-dialog{padding:22px}.cloud-folder-dialog .dialog-actions button{min-height:44px}}
@media(pointer:coarse){.file-row .icon-button{width:44px;height:44px}}
.cloud-folder-filter>span{white-space:nowrap;flex-shrink:0}
@media(max-width:760px){.cloud-folder-filter{flex:1 0 100%}}
/* Explorer layout: stable navigation, compact details, and explicit selection. */
.cloud-explorer-view>.welcome,.cloud-explorer-view>.welcome-section,.cloud-explorer-view>.new-section{display:none}
.cloud-explorer-section{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:visible}
.cloud-explorer-section>.document-heading{padding:18px 20px 0;margin-bottom:12px}.cloud-explorer-section #documentsKicker,.cloud-explorer-section #documentsDescription,.cloud-explorer-section #uploadCloud{display:none}.cloud-explorer-section #documentsTitle{font-size:20px}
.cloud-explorer-section .cloud-folders{display:block;margin:0;padding:0;border:0}
.explorer-commands{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--line);background:#f9fafc;border-radius:9px 9px 0 0}
.explorer-commands button,.explorer-address button,:is(.cloud-classify-settings,.cloud-ai-settings)>summary{border:0;background:transparent;color:var(--ink);padding:7px 10px;min-height:36px;border-radius:5px;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
.explorer-commands button:hover:not(:disabled),.explorer-address button:hover,:is(.cloud-classify-settings,.cloud-ai-settings)>summary:hover{background:#e8edf4}.explorer-commands button:disabled{opacity:.42;cursor:default}.command-separator{height:22px;border-left:1px solid var(--line);margin:0 4px}
.explorer-address{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--line)}.explorer-address nav{flex:1;min-width:0;display:flex;align-items:center;gap:3px;overflow:auto;border:1px solid var(--line);border-radius:5px;min-height:36px;padding:0 4px}.explorer-address nav button{overflow:hidden;text-overflow:ellipsis;max-width:220px;flex-shrink:0}
.explorer-body.is-cloud{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:450px}.explorer-tree{border-right:1px solid var(--line);padding:12px 6px;max-height:70vh;overflow:auto;background:#fcfdff}.explorer-tree-line{display:flex;align-items:center;min-width:0}.explorer-tree button{border:0;background:transparent;color:var(--ink);min-height:34px;border-radius:4px;font:inherit;font-size:13px;cursor:pointer}.tree-toggle{flex:0 0 20px;width:20px;padding:0}.tree-folder{flex:1;min-width:0;display:flex;align-items:center;gap:7px;text-align:left;padding:5px}.tree-folder span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-folder svg{width:19px;height:19px;flex-shrink:0}.tree-root{width:100%;text-align:left;padding:6px 12px}.explorer-tree button[aria-current=page]{background:#e4effd;color:#174ba0}.explorer-tree button:hover{background:#edf2f8}.explorer-main{min-width:0;outline-offset:-2px}.explorer-main .file-toolbar{padding:12px 14px;margin:0;gap:10px}.cloud-explorer-section .format-filters{display:none}.cloud-explorer-section .search-field{max-width:420px;min-width:100px}.cloud-explorer-section #fileCount{font-size:12px;white-space:nowrap}
.explorer-columns,.cloud-explorer-section .file-row{display:grid;grid-template-columns:26px 24px minmax(130px,1fr) 96px 72px 72px 112px;gap:6px;align-items:center;padding:3px 10px;min-height:44px;border:0;border-bottom:1px solid #f0f2f5;border-radius:0}
.explorer-columns{background:#f8fafc;min-height:36px;color:var(--muted);font-size:12px;border-block:1px solid var(--line)}.explorer-columns>label{grid-column:1}.explorer-columns>[data-sort=name]{grid-column:2 / 4;text-align:left}.explorer-columns button{border:0;background:transparent;text-align:left;color:var(--muted);font:inherit;cursor:pointer;padding:4px 0}.explorer-columns>span{text-align:center}
.cloud-explorer-section .file-row .file-open{min-width:0;min-height:34px;grid-column:3;padding:2px 0}.cloud-explorer-section .file-meta strong{font-size:13px;font-weight:400;user-select:none}.cloud-explorer-section .file-row .format-mark,.folder-mark{width:22px;height:26px;font-size:9px}.folder-mark svg{width:23px;height:23px}.cloud-explorer-section .file-actions{grid-column:7;justify-content:flex-end;gap:1px}.cloud-explorer-section .file-actions .icon-button{width:34px;height:34px;padding:8px}.cloud-explorer-section .file-row.is-selected{background:#e4efff;box-shadow:inset 0 0 0 1px #b8d6fb}.cloud-explorer-section .file-row:hover:not(.is-selected){background:#f4f7fa}.cloud-explorer-section .file-row:focus-visible{outline:2px solid #2864cb;outline-offset:-2px}.cloud-select-cell{display:flex;align-items:center;justify-content:center;min-height:34px;cursor:pointer}.cloud-select-cell input,.explorer-columns input{width:16px;height:16px;margin:0;accent-color:#2864cb}.explorer-date,.explorer-type,.explorer-size{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:none}.explorer-size{text-align:right;padding-right:6px}.explorer-status{border-top:1px solid var(--line);padding:9px 14px;font-size:12px;color:var(--muted);background:#fafbfd}.is-drop-target{background:#e0efff!important;outline:2px solid #2864cb!important;outline-offset:-2px}.cloud-operation-status{margin:0;padding:8px 16px;background:#eef6ff;color:#1b4f8f;font-size:13px;overflow-wrap:anywhere}.cloud-operation-status.is-error{color:#a32727;background:#fff1f1}
:is(.cloud-classify-settings,.cloud-ai-settings){position:relative;margin-left:auto}:is(.cloud-classify-settings,.cloud-ai-settings) summary{list-style:none}:is(.cloud-classify-settings,.cloud-ai-settings)>div{position:absolute;right:0;top:100%;z-index:25;width:285px;padding:16px;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 26px #15243b25;background:white}:is(.cloud-classify-settings,.cloud-ai-settings) label{display:flex;align-items:center;gap:8px;font-size:14px}:is(.cloud-classify-settings,.cloud-ai-settings) input{width:18px;height:18px}:is(.cloud-classify-settings,.cloud-ai-settings) p{font-size:12px;color:var(--muted);line-height:1.7}:is(.cloud-classify-settings,.cloud-ai-settings) button{background:#e8f0fe;color:#1d53a4;width:100%}.cloud-classify-dialog{width:min(620px,calc(100vw - 32px));max-height:85vh}.cloud-classify-dialog h2{font-size:21px}.cloud-classify-dialog>p{font-size:13px;line-height:1.7;color:var(--muted)}#cloudClassifyGroups{max-height:45vh;overflow:auto}#cloudClassifyGroups section{border:1px solid var(--line);padding:12px 16px;border-radius:6px;margin-bottom:10px}#cloudClassifyGroups h3{margin:0;font-size:16px}#cloudClassifyGroups p{font-size:12px;color:var(--muted)}#cloudClassifyGroups ul{padding-left:20px;font-size:13px;overflow-wrap:anywhere}
@media(max-width:1150px){.explorer-body.is-cloud{grid-template-columns:160px minmax(0,1fr)}.explorer-columns,.cloud-explorer-section .file-row{grid-template-columns:24px 22px minmax(100px,1fr) 82px 62px 98px;gap:4px}.explorer-type,.explorer-columns>[data-sort=format]{display:none}.cloud-explorer-section .file-actions{grid-column:6}.cloud-explorer-section .file-actions .icon-button{width:31px}}
@media(max-width:850px){.explorer-body.is-cloud{grid-template-columns:1fr}.explorer-tree{display:none!important}.explorer-columns,.cloud-explorer-section .file-row{grid-template-columns:24px 22px minmax(0,1fr) 112px;gap:4px}.explorer-date,.explorer-type,.explorer-size,.explorer-columns>[data-sort=updatedAt],.explorer-columns>[data-sort=size],.explorer-columns>[data-sort=format]{display:none}.cloud-explorer-section .file-actions{grid-column:4}.cloud-explorer-section .file-row .icon-button{width:36px;height:44px}.cloud-explorer-section .file-row{min-height:50px;padding:2px 6px}.cloud-explorer-section .file-open{min-height:44px!important}.cloud-explorer-section .file-meta strong{font-size:13px}.explorer-commands{gap:0;padding:6px}.explorer-commands button,.explorer-address button,:is(.cloud-classify-settings,.cloud-ai-settings)>summary{min-height:44px;font-size:12px;padding:6px 8px}:is(.cloud-classify-settings,.cloud-ai-settings){margin-left:0}.explorer-address{padding:6px}.explorer-main .file-toolbar{padding:8px}.cloud-select-cell{min-height:44px}:is(.cloud-classify-settings,.cloud-ai-settings)>div{left:0;right:auto;max-width:calc(100vw - 70px)}.cloud-explorer-section>.document-heading{padding:14px 12px 0}.explorer-status{font-size:11px}}
.cloud-explorer-view>.dashboard-heading,.cloud-explorer-view>.new-documents{display:none}
.cloud-explorer-section .explorer-main .file-list{margin:0;padding:0}
.cloud-explorer-view>.recent-section{margin:0 0 22px}.cloud-explorer-view .recent-visual{height:136px}.cloud-explorer-view .recent-info{padding:10px 14px}
@media(max-width:760px){.cloud-explorer-view .recent-cards{display:flex;overflow:auto;padding-bottom:5px;scroll-snap-type:x proximity}.cloud-explorer-view .recent-card{flex:0 0 72%;scroll-snap-align:start}.cloud-explorer-view .recent-visual{height:108px}.cloud-explorer-view .recent-info strong{font-size:12px}}
.recent-visual.has-page-preview{align-items:flex-start;padding:8px 12px;background:#e9eef4;position:relative}.recent-page-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center top;filter:drop-shadow(0 1px 3px #23364a26)}.recent-visual.is-preview-loading{position:relative}.recent-visual.is-preview-loading::after{content:'미리보기 준비 중…';position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:11px;color:#526782;background:#ffffffd9;padding:3px}

:is(.cloud-classify-settings,.cloud-ai-settings)>div{width:360px;max-height:70vh;overflow:auto;box-sizing:border-box}
:is(.cloud-classify-settings,.cloud-ai-settings) .classify-field{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-top:14px}
:is(.cloud-classify-settings,.cloud-ai-settings) select,:is(.cloud-classify-settings,.cloud-ai-settings) textarea{box-sizing:border-box;width:100%;min-height:44px;padding:9px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font:inherit}
:is(.cloud-classify-settings,.cloud-ai-settings) textarea{resize:vertical;line-height:1.6}
.classify-settings-actions{display:flex;gap:8px}.classify-settings-actions button{min-height:44px;white-space:normal}
#cloudClassifySettingsStatus{color:#1d53a4}#cloudClassifyStop{margin:4px 10px 10px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}
