:root{color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f3f4f6;font-family:Inter,SF Pro Display,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(circle at top,#dbeafe 0%,#f8fafc 55%);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}.dashboard{flex-direction:column;gap:.75rem;min-height:100vh;padding:.75rem;display:flex}.dashboard__header{color:#f9fafb;background:#1f2937;border-radius:.5rem;flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.dashboard__header>div{flex:1;min-width:0}.dashboard__header h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.1rem;font-weight:600;line-height:1.2;overflow:hidden}.dashboard__header p{opacity:.85;white-space:nowrap;text-overflow:ellipsis;margin:.15rem 0 0;font-size:.7rem;line-height:1.2;overflow:hidden}.dashboard__header .button{flex-shrink:0;margin-left:.75rem;padding:.4rem .75rem;font-size:.875rem}.dashboard__nav{gap:.5rem;display:flex}.dashboard__nav-link{color:#111827;background:#e5e7eb;border-radius:999px;padding:.4rem .75rem;font-size:.875rem;font-weight:600;text-decoration:none}.dashboard__nav-link--active{color:#fff;background:#2563eb}.dashboard__content{background:#fff;border-radius:.5rem;flex:1;padding:1rem;box-shadow:0 10px 30px #0f172a14}.button{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:.75rem;padding:.65rem 1.25rem;font-weight:600;transition:transform .12s,opacity .12s}.button:disabled{opacity:.5;cursor:not-allowed}.button--ghost{color:#374151;background:0 0;border:1px solid #d1d5db}.button--ghost:hover{background:#f3f4f6;border-color:#9ca3af}.panel{border:1px solid #e5e7eb;border-radius:1rem;margin-bottom:1.5rem;padding:1.25rem}.panel__title{margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem;display:grid}label{color:#374151;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500;display:flex}input,select,textarea{border:1px solid #d1d5db;border-radius:.65rem;padding:.55rem .75rem;font-size:1rem}table{border-collapse:collapse;width:100%}table th,table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.75rem}table td .button--ghost{color:#374151;background:0 0;border:1px solid #d1d5db;padding:.5rem .75rem;font-size:.875rem}table td .button--ghost:hover{color:#111827;background:#f3f4f6;border-color:#9ca3af}table td .button--ghost:disabled{opacity:.5;cursor:not-allowed}.file-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.file-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:.75rem;flex-direction:column;gap:.35rem;padding:.9rem;display:flex}.app-loading{justify-content:center;align-items:center;width:100%;padding:4rem;font-size:1.1rem;display:flex}.breadcrumbs{flex-wrap:wrap;gap:.5rem;display:flex}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{background:#fff;border-radius:1.5rem;flex-direction:column;gap:1.25rem;width:min(420px,100%);padding:2rem;display:flex;box-shadow:0 15px 45px #0f172a26}.login-form{flex-direction:column;gap:.85rem;display:flex}.error-text{color:#dc2626;margin:0;font-weight:600}.success-text{color:#059669;margin:0;font-weight:600}.signup-success{flex-direction:column;gap:1rem;display:flex}.signup-link-container{background:#f3f4f6;border-radius:.75rem;flex-direction:column;gap:.85rem;padding:1rem;display:flex}.signup-link-container input{font-family:monospace;font-size:.85rem}.button-secondary{background:#6b7280}.button-secondary:hover{background:#4b5563}.file-explorer-dual-pane{gap:1rem;height:calc(100vh - 200px);min-height:600px;display:flex}.file-explorer-pane{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;flex-direction:column;flex:1;display:flex;overflow:hidden}.file-explorer-pane-local{border-left:3px solid #2563eb}.file-explorer-pane-remote{border-left:3px solid #059669}.pane-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.pane-title{color:#111827;margin:0;font-size:1rem;font-weight:600}.pane-info{color:#6b7280;align-items:center;font-size:.875rem;display:flex}.pane-directory-name{color:#111827;font-weight:500}.pane-warning{color:#92400e;background:#fef3c7;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem}.connection-select{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem}.pane-path{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:.5rem 1rem}.path-controls{align-items:center;gap:.5rem;display:flex}.path-up-button{white-space:nowrap;flex-shrink:0;padding:.5rem .75rem;font-size:.875rem}.path-up-button:disabled{opacity:.4;cursor:not-allowed}.path-input{border:1px solid #d1d5db;border-radius:.5rem;flex:1;padding:.5rem .75rem;font-family:monospace;font-size:.875rem}.pane-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.pane-section{overflow:auto}.pane-section-tree{background:#fafafa;border-bottom:1px solid #e5e7eb;flex:0 0 200px;min-height:200px}.pane-section-list{flex:1;min-height:300px}.directory-tree{padding:.5rem;font-size:.875rem}.tree-loading{text-align:center;color:#6b7280;padding:1rem}.tree-node{-webkit-user-select:none;user-select:none}.tree-node-item{cursor:pointer;border-radius:.25rem;align-items:center;gap:.5rem;padding:.35rem .5rem;transition:background-color .15s;display:flex}.tree-node-item:hover{background:#e5e7eb}.tree-node-selected{color:#1e40af;background:#dbeafe;font-weight:500}.tree-node-root{background:#f3f4f6;font-weight:600}.tree-node-expander{text-align:center;color:#6b7280;width:1rem;font-size:.75rem}.tree-node-icon{font-size:1rem}.tree-node-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-node-children{margin-left:.5rem}.file-list-table{height:100%;overflow:auto}.table-loading{text-align:center;color:#6b7280;padding:2rem}.file-table{border-collapse:collapse;width:100%;font-size:.875rem}.file-table thead{z-index:10;background:#f9fafb;position:sticky;top:0;box-shadow:0 2px 4px #0000000d}.file-table th{text-align:left;color:#374151;white-space:nowrap;border-bottom:2px solid #e5e7eb;padding:.75rem;font-weight:600}.file-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.file-table th.sortable:hover{background:#f3f4f6}.file-table td{color:#111827;border-bottom:1px solid #f3f4f6;padding:.75rem}.file-table tbody tr{cursor:pointer;transition:background-color .15s}.file-table tbody tr:hover{background:#f9fafb}.file-table tbody tr.table-row-directory{font-weight:500}.file-table tbody tr.table-row-parent{cursor:pointer;background:#f3f4f6;font-weight:600}.file-table tbody tr.table-row-parent:hover{background:#e5e7eb}.file-table tbody tr.table-row-file{cursor:grab}.file-table tbody tr.table-row-file:active{cursor:grabbing}.file-icon{margin-right:.5rem;font-size:1rem}.drag-drop-zone{height:100%;position:relative}.drag-drop-zone.dragging{opacity:.8}.drag-drop-zone.drag-over{background:#eff6ff;border:2px dashed #2563eb}.drag-overlay{z-index:100;pointer-events:none;background:#2563eb1a;border:2px dashed #2563eb;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.drag-overlay-content{text-align:center;color:#2563eb}.drag-overlay-icon{margin-bottom:.5rem;font-size:3rem}.drag-overlay-text{font-size:1.25rem;font-weight:600}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:.75rem;flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.modal-title{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.modal-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.5rem;transition:background-color .15s;display:flex}.modal-close:hover{color:#111827;background:#e5e7eb}.modal-body{flex:1;padding:1.25rem;overflow-y:auto}.modal-body .form-grid{margin-bottom:0}@media (max-width:1024px){.file-explorer-dual-pane{flex-direction:column;height:auto}.file-explorer-pane{min-height:400px}.pane-section-tree{flex:0 0 150px;min-height:150px}.modal-content{max-width:100%;max-height:95vh}}
