.file-upload-zone{display:flex;flex-direction:column;gap:.5rem}.folder-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:.75rem;gap:.75rem}.folder-toolbar-select{display:flex;flex-direction:column;gap:.25rem;min-width:0}.folder-create-btn{width:auto;min-height:2.95rem;padding:0 .9rem;display:inline-flex;align-items:center;gap:.3rem;border:1px solid rgba(37,99,235,.25);border-radius:var(--radius-sm);background:rgba(37,99,235,.08);color:var(--blue-700,#1d4ed8);cursor:pointer;transition:all .2s;font-family:var(--font-heading);font-size:.75rem;font-weight:500}.folder-create-btn:hover{background:var(--blue-600,#2563eb);color:#ffffff;border-color:var(--blue-600,#2563eb)}.folder-basic-modal .btn-primary{width:auto;min-width:7.5rem}@media (max-width:640px){.folder-toolbar{grid-template-columns:minmax(0,1fr)}.folder-basic-modal .btn-primary{width:100%;min-width:0}.folder-create-btn{justify-self:start}}.file-drop-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;border:2px dashed var(--gray-300);border-radius:var(--radius-sm);background:var(--gray-50);cursor:pointer;transition:border-color .2s,background .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.file-input-hidden{display:none}.file-drop-area--active,.file-drop-area:hover{border-color:var(--purple-400);background:var(--purple-50)}.file-drop-area--disabled{opacity:.5;pointer-events:none}.file-drop-icon{color:var(--gray-400)}.file-drop-text{font-family:var(--font-heading);font-size:.82rem;color:var(--gray-500)}.file-drop-hint{font-family:var(--font-body);font-size:.72rem;color:var(--gray-400);margin:0;text-align:center}.file-list{gap:0;margin-top:0}.file-list,.repository-section{display:flex;flex-direction:column}.repository-section{gap:.9rem}.repository-list{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--bg-card);overflow:hidden;.file-progress{width:100%;height:.25rem;border:0;border-radius:.125rem;overflow:hidden}.file-progress::-webkit-progress-bar{background:var(--gray-200);border-radius:.125rem}.file-progress::-webkit-progress-value{background:var(--purple-500);border-radius:.125rem;-webkit-transition:width .2s ease;transition:width .2s ease}.file-progress::-moz-progress-bar{background:var(--purple-500);border-radius:.125rem}.file-progress--failed::-moz-progress-bar,.file-progress--failed::-webkit-progress-value{background:var(--error-text)}box-shadow:var(--shadow-sm);padding:.15rem 0}.repository-list--drop-target{border-color:var(--purple-300);box-shadow:0 0 0 3px rgba(139,92,246,.1),var(--shadow-sm)}.repository-add-row{width:100%;display:flex;align-items:center;gap:.45rem;padding:.75rem 1rem;border:none;border-top:1px solid var(--gray-50);background:var(--bg-card);cursor:pointer;text-align:left;color:var(--purple-400);font-family:var(--font-heading);font-size:.78rem;font-weight:600;transition:background .12s ease,color .12s ease}.repository-add-row:hover{background:var(--gray-50);color:var(--purple-700)}.folder-row-toggle{flex:1 1;min-width:0;display:flex;align-items:center;gap:.45rem;border:none;background:transparent;padding:0;cursor:pointer;text-align:left}.folder-row-toggle:focus-visible{outline:2px solid var(--purple-400);outline-offset:2px;border-radius:var(--radius-sm)}.repository-add-icon{color:var(--purple-400);flex-shrink:0;transition:color .12s ease}.repository-add-row:hover .repository-add-icon{color:var(--purple-600)}.repository-add-label{min-width:0;transition:color .12s ease}.file-row{padding:.75rem 1rem;border-bottom:1px solid var(--gray-200);background:var(--bg-card);cursor:-webkit-grab;cursor:grab}.file-row:hover{background:var(--gray-50)}.file-row:active{cursor:-webkit-grabbing;cursor:grabbing}.file-row--dragging{opacity:.55;background:var(--purple-50)}.file-row:last-child{border-bottom:none}.file-row--nested{margin-left:1.5rem;padding-left:.75rem;border-left:2px solid var(--gray-100)}.deleted-files-section,.folder-section,.folder-stack{display:flex;flex-direction:column;gap:.5rem}.folder-section-title{font-family:var(--font-heading);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);padding:.8rem .9rem .55rem}.folder-row{background:var(--bg-card);border-bottom:1px solid var(--gray-200)}.folder-row--drop-target{background:rgba(139,92,246,.08)}.folder-row:last-child{border-bottom:none}.folder-row--deleted{opacity:.9;background:var(--gray-50)}.folder-row-header{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;cursor:pointer}.folder-row-header--drop-target{background:rgba(139,92,246,.08)}.folder-row-header:hover{background:var(--gray-50)}.folder-row-header-actions,.folder-row-header-left{display:flex;align-items:center;gap:.45rem;min-width:0}.folder-row-header-left{flex:1 1}.folder-card-chevron{display:inline-flex;align-items:center;justify-content:center;width:1rem;color:var(--gray-400);flex-shrink:0}.folder-row-title-group{display:flex;align-items:baseline;gap:.4rem;min-width:0;flex:1 1}.folder-card-title{font-family:var(--font-heading);font-size:.84rem;font-weight:600;color:var(--gray-800)}.folder-card-badge,.folder-card-count{font-family:var(--font-heading);font-size:.68rem;font-weight:600;color:var(--gray-500);background:var(--gray-100);border-radius:99px;padding:.15rem .45rem}.folder-card-badge{color:var(--purple-700);background:var(--purple-50)}.folder-row-body{border-top:1px solid var(--gray-200);background:var(--gray-50);padding:0;display:flex;flex-direction:column;gap:0}.folder-row-body--scrollable{max-height:min(20rem,40vh);overflow-y:auto}.folder-row-children{display:flex;flex-direction:column}.folder-empty{margin:0;padding:.75rem 1rem;font-family:var(--font-body);font-size:.78rem;color:var(--gray-400);font-style:italic}.file-restore-btn{gap:.25rem;border:none;background:transparent;color:var(--gray-400);transition:color .2s,background .2s;padding:0 .4rem;font-size:.72rem;font-weight:600}.file-restore-btn:hover{color:var(--purple-700);background:var(--purple-50)}.file-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-bottom:1px solid var(--gray-100)}.file-item:last-child{border-bottom:none}.file-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);background:var(--purple-50);color:var(--purple-700)}.file-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.file-name-row{display:flex;align-items:baseline;gap:.4rem}.file-name{font-family:var(--font-heading);font-size:.8rem;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1;min-width:0;background:transparent;text-align:left;padding:0;margin:0;border:none}.file-name--link{color:var(--purple-700);text-decoration:none}.file-name--link:hover{text-decoration:underline}.file-size{font-family:var(--font-body);font-size:.7rem;color:var(--gray-400);flex-shrink:0}.file-progress-bar-track{width:100%;height:.25rem;background:var(--gray-200);border-radius:.125rem;overflow:hidden}.file-progress-bar-fill{height:100%;border-radius:.125rem;background:var(--purple-500);transition:width .2s ease}.file-progress-bar-fill--failed{background:var(--error-text)}.file-progress-bar-fill--processing{width:100%;background:linear-gradient(90deg,var(--purple-400),var(--purple-200),var(--purple-400));background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.history-modal-icon{color:var(--purple-600)}.form-hint--spaced{margin-top:1rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.file-actions,.file-actions-inline,.folder-row-header-actions-inline{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.file-actions-menu{display:none}.file-actions-menu-panel{min-width:10rem;padding:.35rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-md)}.file-actions-menu-panel--portal{position:fixed;right:auto;z-index:1100}.file-actions-menu-item{display:flex;align-items:center;width:100%;padding:.45rem .55rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--gray-900);font:inherit;font-size:.85rem;cursor:pointer;text-align:left}.file-actions-menu-item:hover:not(:disabled){background:var(--gray-100)}.file-actions-menu-item:disabled{opacity:.5;cursor:not-allowed}.file-actions-menu-item--danger{color:#b91c1c}@media (max-width:768px){.file-actions-inline,.folder-row-header-actions-inline{display:none}.file-actions-menu{display:block}}.file-status-done{color:var(--success-accent);display:flex;align-items:center}.file-status-failed{color:var(--error-text)}.file-status-failed,.file-status-uploading{font-family:var(--font-heading);font-size:.72rem}.file-status-uploading{color:var(--purple-600);min-width:1.875rem;text-align:right}.file-status-processing{display:flex;align-items:center;color:var(--purple-500);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.file-comment-btn,.file-delete-btn,.file-download-btn,.file-history-btn,.file-rename-btn,.file-retry-btn,.folder-upload-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--gray-400);transition:color .2s,background .2s;padding:0}.file-rename-btn,.folder-upload-btn{color:var(--gray-400)}.file-download-btn:hover{color:#16a34a;background:#f0fdf4}.file-comment-btn:hover{background:rgba(139,92,246,.12);color:var(--purple-700)}.file-history-btn:hover{background:rgba(255,199,114,.308);color:#ff571f}.file-rename-btn:hover{color:#2563eb;background:#eff6ff}.folder-upload-btn:hover{color:#d97706;background:#fff7ed}.file-retry-btn:hover{color:var(--purple-700);background:var(--purple-50)}.file-delete-btn:hover{color:var(--error-text);background:var(--error-bg)}.history-file-name{font-family:var(--font-heading);font-size:.85rem;font-weight:600;color:var(--gray-700);margin:0 0 .75rem}.history-loading{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--gray-500);padding:1rem 0}.history-empty{font-size:.82rem;color:var(--gray-400);text-align:center;padding:1.5rem 0;margin:0}.history-list{display:flex;flex-direction:column;gap:0}.history-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .25rem;border-bottom:1px solid var(--gray-100)}.history-item:last-child{border-bottom:none}.history-item-info{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1}.history-item-label{font-family:var(--font-heading);font-size:.78rem;font-weight:600;color:var(--gray-700)}.history-item:first-child .history-item-label{color:var(--purple-700)}.history-item-date{color:var(--gray-400)}.history-item-date,.history-item-message{font-family:var(--font-body);font-size:.72rem}.history-item-message{color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.archive-section{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem;padding-top:.65rem;border-top:1px solid var(--gray-200)}.deleted-files-row{display:flex;flex-direction:column;background:var(--bg-card);border-bottom:1px solid var(--gray-200);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.deleted-files-section{margin-top:0}.deleted-files-loading{display:flex;align-items:center;gap:.5rem;color:var(--gray-500)}.deleted-files-empty,.deleted-files-loading{padding:.75rem;font-family:var(--font-body);font-size:.85rem}.deleted-files-empty{color:var(--gray-400);font-style:italic}.file-list--deleted{background:transparent;border:none;overflow:hidden}.file-item--deleted{opacity:.75}.file-icon--deleted{color:var(--gray-400)}.file-name--deleted{text-decoration:line-through;color:var(--gray-500)}.deleted-file-date{font-family:var(--font-body);font-size:.72rem;color:var(--gray-400)}.file-restore-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border:1px solid var(--success-border);border-radius:var(--radius-sm);background:var(--success-bg);color:var(--success-text);font-family:var(--font-heading);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.file-restore-btn:hover:not(:disabled){background:var(--success-accent);color:white;border-color:var(--success-accent)}.file-restore-btn:disabled{opacity:.6;cursor:not-allowed}