:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--accent-secondary);text-decoration:inherit}a:hover{color:var(--accent-primary)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid var(--border-secondary);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-button);color:var(--text-primary);cursor:pointer;transition:border-color .25s,background-color .25s,box-shadow .25s}button:hover{border-color:var(--border-accent);background-color:var(--bg-button-hover);box-shadow:var(--shadow-sm)}button:focus,button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes gearRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--bg-primary: #000000;--bg-secondary: #000000;--bg-tertiary: #161b22;--bg-card: rgba(255, 255, 255, .02);--bg-card-hover: rgba(255, 255, 255, .03);--bg-input: rgba(255, 255, 255, .05);--bg-input-focus: rgba(255, 255, 255, .08);--bg-button: rgba(255, 255, 255, .1);--bg-button-hover: rgba(255, 255, 255, .15);--bg-overlay: rgba(0, 0, 0, .8);--border-primary: #30363d;--border-secondary: #21262d;--text-primary: #e6edf3;--text-secondary: #7d8590;--text-tertiary: #484f58;--accent-primary: #0d7377;--accent-secondary: #14a085;--accent-tertiary: #ffc107;--success: #28a745;--warning: #ffc107;--error: #dc3545;--info: #17a2b8;--shadow-primary: rgba(0, 0, 0, .3);--shadow-secondary: rgba(0, 0, 0, .15);--gradient-primary: linear-gradient(135deg, #000000 0%, #161b22 100%);--gradient-secondary: linear-gradient(135deg, #161b22 0%, #21262d 100%);--border-accent: rgba(13, 115, 119, .3);--border-accent-hover: rgba(20, 160, 133, .5);--text-muted: #a1a1aa;--text-dim: #7d8590;--text-accent: #0d7377;--text-accent-secondary: #8b5cf6;--text-success: #0d7377;--text-warning: #ff9f43;--text-error: #ef4444;--text-danger: #dc3545;--accent-tertiary: #0d7377;--accent-success: #0d7377;--accent-warning: #ff9f43;--accent-error: #ef4444;--accent-danger: #dc3545;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-accent: 0 0 12px rgba(13, 115, 119, .3);--shadow-accent-hover: 0 0 16px rgba(20, 160, 133, .4);--gradient-danger: linear-gradient(135deg, rgba(220, 53, 69, .1) 0%, rgba(220, 53, 69, .05) 100%);--gradient-success: linear-gradient(135deg, rgba(16, 185, 129, .1) 0%, rgba(16, 185, 129, .05) 100%);--backdrop-blur-sm: blur(10px);--backdrop-blur-md: blur(20px);--backdrop-blur-lg: blur(30px)}[data-theme=light]{--bg-primary: #e3d5c7;--bg-secondary: #d6c4b0;--bg-tertiary: #c9b299;--bg-card: rgba(122, 108, 94, .15);--bg-card-hover: rgba(122, 108, 94, .25);--bg-input: rgba(122, 108, 94, .18);--bg-input-focus: rgba(122, 108, 94, .3);--bg-button: rgba(122, 108, 94, .22);--bg-button-hover: rgba(122, 108, 94, .35);--bg-overlay: rgba(227, 213, 199, .96);--border-primary: rgba(122, 108, 94, .3);--border-secondary: rgba(122, 108, 94, .2);--border-accent: #0d2818;--border-accent-hover: #1a3524;--text-primary: #2d2520;--text-secondary: #4a3f36;--text-tertiary: #66594c;--text-muted: #7a6c5e;--text-dim: #8d7f71;--text-accent: #0d7377;--text-accent-secondary: #1a3524;--text-success: #0d2818;--text-warning: #4a3f36;--text-error: #dc2626;--text-danger: #dc2626;--accent-primary: #0d7377;--accent-secondary: #1a3524;--accent-tertiary: #263930;--accent-success: #0d2818;--accent-warning: #4a3f36;--accent-error: #dc2626;--accent-danger: #dc2626;--success: #0d2818;--warning: #4a3f36;--error: #dc2626;--info: #1a3524;--shadow-primary: 0 2px 4px rgba(122, 108, 94, .2);--shadow-secondary: 0 4px 8px rgba(122, 108, 94, .25);--shadow-sm: 0 1px 2px rgba(122, 108, 94, .1);--shadow-md: 0 4px 6px rgba(122, 108, 94, .15);--shadow-lg: 0 8px 16px rgba(122, 108, 94, .25);--shadow-accent: 0 4px 8px rgba(13, 40, 24, .3);--shadow-accent-hover: 0 6px 12px rgba(13, 40, 24, .4);--gradient-primary: linear-gradient(135deg, #e3d5c7 0%, #d6c4b0 100%);--gradient-secondary: linear-gradient(135deg, #d6c4b0 0%, #c9b299 100%);--gradient-danger: linear-gradient(135deg, #f4e6d4 0%, #e9d1b8 100%);--gradient-success: linear-gradient(135deg, #d4e6d1 0%, #b8d1b4 100%)}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #1a1a1a;--bg-tertiary: #2d3748;--bg-overlay: rgba(0, 0, 0, .8);--border-primary: #30363d;--border-secondary: #21262d;--text-primary: #e6edf3;--text-secondary: #7d8590;--text-tertiary: #484f58;--accent-primary: #0d7377;--accent-secondary: #14a085;--accent-tertiary: #ffc107;--success: #28a745;--warning: #ffc107;--error: #dc3545;--info: #17a2b8;--shadow-primary: rgba(0, 0, 0, .3);--shadow-secondary: rgba(0, 0, 0, .15);--gradient-primary: linear-gradient(135deg, #1a1a1a 0%, #2d3748 100%);--gradient-secondary: linear-gradient(135deg, #2d3748 0%, #4a5568 100%)}*{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.theme-transition-disabled *{transition:none!important}.qbit-scrollable{scrollbar-width:thin;scrollbar-color:rgba(136,136,136,.2) transparent}.qbit-scrollable::-webkit-scrollbar{width:4px;height:4px}.qbit-scrollable::-webkit-scrollbar-track{background:transparent}.qbit-scrollable::-webkit-scrollbar-thumb{background-color:#8883;border-radius:2px;border:none}.qbit-scrollable::-webkit-scrollbar-thumb:hover{background-color:#8886}.qbit-scrollable::-webkit-scrollbar-thumb:active{background-color:#8889}.qbit-scrollable::-webkit-scrollbar-corner{background:transparent}.invisible-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.invisible-scrollbar::-webkit-scrollbar{display:none}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;overflow:hidden;background:var(--bg-primary)}#root{width:100vw;height:100vh;max-width:100vw;max-height:100vh;margin:0;padding:0;overflow:hidden}.terminal{font-family:Consolas,"Segoe UI Emoji","Noto Color Emoji",monospace!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;min-width:100vw!important;min-height:100vh!important;margin:0!important;padding:0!important;border:none!important;outline:none!important;background:var(--bg-primary)!important;overflow:hidden!important;position:fixed!important;inset:0!important;z-index:1000!important;box-sizing:border-box!important;line-height:1!important;letter-spacing:0!important;font-variant-ligatures:none!important;text-rendering:optimizeSpeed!important;transform:scale(1)!important;transform-origin:top left!important}.terminal .xterm-rows span{font-variant-emoji:emoji!important;text-rendering:auto!important}.terminal .xterm .xterm-char-measure-element{font-family:Consolas,"Segoe UI Emoji","Noto Color Emoji",monospace!important}.terminal .xterm-rows span[style*=color]{position:relative!important;overflow:visible!important}.terminal .xterm-rows span:after{content:none!important}.terminal .xterm-rows{font-feature-settings:"liga" 0,"clig" 0,"calt" 0!important;text-rendering:geometricPrecision!important}.terminal .xterm,.terminal .xterm .xterm-viewport,.terminal .xterm .xterm-screen{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important}.terminal .xterm .xterm-rows{width:100vw!important;max-width:none!important}.terminal .xterm,.terminal .xterm-viewport,.terminal .xterm-screen{padding:0!important;margin:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;min-width:100vw!important;min-height:100vh!important;position:absolute!important;inset:0!important;overflow:hidden!important;transform-origin:top left!important}.terminal canvas{padding:0!important;margin:0!important;display:block!important;will-change:transform;transform:translateZ(0)!important;transform-origin:top left!important;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.terminal .xterm-helper-textarea{position:absolute!important;left:-9999px!important;top:-9999px!important;width:0!important;height:0!important;z-index:-1000!important;opacity:0!important}.terminal .xterm-rows{padding:0!important;margin:0!important;line-height:1!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important}.terminal .xterm-row{padding:0!important;margin:0!important;line-height:1!important;display:block!important}.terminal .xterm-cursor{position:absolute!important;z-index:1!important}.terminal .xterm-viewport::-webkit-scrollbar{width:0px;background:transparent}.terminal .xterm-selection{position:absolute!important;top:0!important;left:0!important;z-index:1!important;pointer-events:none!important}.terminal .xterm-char-measure-element{position:absolute!important;top:-9999px!important;left:-9999px!important;visibility:hidden!important}.terminal *{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.terminal .xterm-rows{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.login-container{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;background:var(--gradient-primary);padding:1rem;box-sizing:border-box}.login-card{background-color:var(--bg-primary);padding:2rem;border-radius:8px;box-shadow:var(--shadow-lg);width:100%;max-width:400px;border:1px solid var(--border-primary)}.login-title{text-align:center;margin-bottom:1.5rem;color:var(--text-primary);font-size:1.5rem;font-weight:700}.form-group{margin-bottom:1rem}.form-group:last-of-type{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:700;font-size:.9rem}.form-input{width:100%;padding:.75rem;border:1px solid var(--border-primary);border-radius:4px;font-size:1rem;background-color:var(--bg-input);color:var(--text-primary);box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--border-accent);background-color:var(--bg-input-focus);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb, 32, 201, 151),.2)}.form-input:disabled{background-color:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.error-message{background-color:var(--bg-card);color:var(--text-error);padding:.75rem;border-radius:4px;margin-bottom:1rem;border:1px solid var(--accent-error);font-size:.9rem}.login-button{width:100%;padding:.75rem;background-color:var(--accent-primary);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.login-button:hover:not(:disabled){background-color:var(--accent-secondary);box-shadow:var(--shadow-accent-hover)}.login-button:active:not(:disabled){transform:translateY(1px)}.login-button.loading{background-color:var(--text-muted);cursor:not-allowed}.login-button:disabled{cursor:not-allowed}@media (max-width: 480px){.login-container{padding:.5rem}.login-card{padding:1.5rem}.login-title{font-size:1.25rem}}.dashboard-overlay *,.dashboard-overlay *:before,.dashboard-overlay *:after{box-sizing:border-box}.dashboard-overlay{position:fixed;inset:0;background:var(--bg-primary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .5s ease-out}.dashboard-container{background:var(--bg-secondary);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid var(--border-primary);border-radius:16px;box-shadow:var(--shadow-lg),0 0 40px #64ffda1a,inset 0 1px #ffffff1a;width:calc(100% - 40px);max-width:1200px;max-height:95vh;overflow-y:auto;overflow-x:hidden;animation:slideUp .6s cubic-bezier(.34,1.56,.64,1);position:relative;box-sizing:border-box}.dashboard-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(100,255,218,.8) 20%,rgba(139,92,246,.8) 50%,rgba(100,255,218,.8) 80%,transparent);animation:shimmer 4s ease-in-out infinite;border-radius:16px 16px 0 0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border-secondary);background:var(--bg-secondary);position:relative;overflow:hidden;box-sizing:border-box;width:100%}.dashboard-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.03),transparent);animation:sweep 8s ease-in-out infinite}.header-content{display:flex;align-items:center;gap:20px;flex:1;min-width:0}.dashboard-header h2{color:var(--text-primary);font-size:1.6rem;font-weight:700;margin:0;text-shadow:0 4px 20px rgba(100,255,218,.3);background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:glow 3s ease-in-out infinite alternate}.user-info{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;max-width:calc(100% - 70px);overflow:hidden;width:100%}.user-avatar-container{position:relative;flex-shrink:0}.user-avatar{width:40px;height:40px;border-radius:8px;border:2px solid rgba(100,255,218,.3);box-shadow:0 0 12px #64ffda33,0 2px 8px #0000004d;transition:all .3s ease;object-fit:cover;background:linear-gradient(135deg,#64ffda1a,#8b5cf61a)}.user-avatar:hover{transform:scale(1.05);border-color:#64ffda80;box-shadow:0 0 16px #64ffda66,0 4px 12px #0006}.user-avatar-placeholder{width:40px;height:40px;border-radius:8px;border:2px solid rgba(100,255,218,.3);background:linear-gradient(135deg,#64ffda33,#8b5cf633);display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px #64ffda33,0 2px 8px #0000004d;transition:all .3s ease}.user-avatar-placeholder:hover{transform:scale(1.05);border-color:#64ffda80;box-shadow:0 0 16px #64ffda66,0 4px 12px #0006}.avatar-initial{font-size:18px;font-weight:700;color:var(--accent-primary);text-shadow:0 0 10px rgba(100,255,218,.5)}.user-details{display:flex;flex-direction:row;align-items:center;gap:15px;flex:1;min-width:0;white-space:nowrap}.loading-text,.error-text{font-family:Courier New,monospace;font-size:1.1rem;font-weight:600;color:var(--accent-primary);text-shadow:0 0 10px rgba(100,255,218,.5);letter-spacing:1px}.username{color:var(--text-primary);font-size:1.1rem;font-weight:600;text-shadow:0 2px 10px rgba(255,255,255,.2)}.user-group{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seeding-size{color:var(--accent-primary);font-size:.8rem;font-weight:600;text-shadow:0 0 8px rgba(100,255,218,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.close-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-primary);width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative;overflow:hidden;flex-shrink:0}.close-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:all .3s ease}.close-button:hover{background:#ff3b3033;border-color:#ff3b3066;transform:scale(1.05)}.close-button:hover:before{left:100%}.dashboard-content{padding:12px 20px;background:var(--bg-primary);border-radius:0 0 16px 16px;min-height:0;box-sizing:border-box}.compact-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-bottom:12px}.upload-permission{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding:4px 8px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:6px;position:relative;overflow:hidden}.upload-permission:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(100,255,218,.05),transparent);animation:sweep 6s ease-in-out infinite}.upload-label{color:var(--text-primary);font-size:.9rem;font-weight:500;font-family:Courier New,monospace;letter-spacing:.5px}.upload-status{font-family:Courier New,monospace;font-size:.9rem;font-weight:600;letter-spacing:.5px;position:relative;padding:2px 6px;border-radius:4px}.upload-status:before{content:"";position:absolute;inset:0;border-radius:4px;opacity:.1;z-index:-1}.upload-status.permitted{color:#10b981;text-shadow:0 0 8px rgba(16,185,129,.4)}.upload-status.permitted:before{background:#10b981}.upload-status.denied{color:#ef4444;text-shadow:0 0 8px rgba(239,68,68,.4)}.upload-status.denied:before{background:#ef4444}.compact-section{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:8px;padding:10px;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.compact-section:hover{background:var(--bg-card-hover);border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.compact-title{color:var(--accent-primary);font-size:.7rem;font-weight:700;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase;text-shadow:0 0 8px rgba(100,255,218,.3)}.compact-stats{display:flex;flex-direction:column;gap:3px}.compact-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:.8rem;transition:all .2s ease}.compact-row:hover{color:var(--accent-primary)}.compact-row span:first-child{color:var(--text-tertiary);font-weight:400;flex:1}.compact-row span:last-child{color:var(--text-primary);font-weight:600;font-family:Courier New,monospace;text-align:right;min-width:60px}.compact-additional{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:8px}.compact-mini-section{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:6px;padding:8px;transition:all .3s ease;box-shadow:var(--shadow-sm)}.compact-mini-section:hover{background:var(--bg-card-hover);border-color:var(--border-accent);box-shadow:var(--shadow-md)}.compact-mini-title{color:var(--accent-secondary);font-size:.65rem;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.compact-mini-stats{display:flex;flex-wrap:wrap;gap:6px;font-size:.75rem}.compact-mini-stats span{color:var(--text-tertiary);font-weight:500;white-space:nowrap}.compact-mini-list{display:flex;flex-direction:column;gap:2px}.compact-mini-item{display:flex;align-items:center;gap:6px;font-size:.75rem;padding:1px 0}.mini-rank{color:var(--accent-primary);font-weight:600;font-family:Courier New,monospace;font-size:.75rem;min-width:20px}.mini-name{color:var(--text-primary);font-weight:400;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-value{color:var(--text-tertiary);font-weight:500;font-family:Courier New,monospace;font-size:.75rem;text-align:right;min-width:40px}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--accent-primary)}.spinner{width:40px;height:40px;border:3px solid rgba(100,255,218,.1);border-top:3px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-spinner p{color:var(--text-tertiary);font-size:.9rem;text-align:center}.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#ef4444;background:#ef44440d;border:1px solid rgba(239,68,68,.1);border-radius:12px;margin:20px}.error-message p{margin-bottom:20px;font-size:.9rem}.retry-button{background:#64ffda1a;border:1px solid rgba(100,255,218,.2);color:var(--accent-primary);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .3s ease}.retry-button:hover{background:#64ffda33;border-color:#64ffda66;transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}@keyframes sweep{0%{left:-100%}to{left:100%}}@keyframes glow{0%{text-shadow:0 4px 20px rgba(100,255,218,.3)}to{text-shadow:0 4px 25px rgba(100,255,218,.5)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes expand{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.dashboard-overlay{padding:10px}.dashboard-container{max-width:100%;border-radius:12px}.dashboard-header{padding:15px 20px;flex-direction:column;gap:10px}.user-info{flex-direction:column;align-items:center;text-align:center;gap:10px}.user-avatar,.user-avatar-placeholder{width:40px;height:40px}.avatar-initial{font-size:16px}.user-details{flex-direction:column;gap:5px;align-items:center}.seeding-size{font-size:.8rem}.dashboard-header h2{font-size:1.5rem}.dashboard-content{padding:15px 20px}.compact-stats-grid{grid-template-columns:1fr;gap:10px}.compact-section{padding:12px}.compact-row{font-size:.8rem}.upload-permission{padding:6px 10px;font-size:.85rem}.close-button{width:35px;height:35px;font-size:18px}.compact-additional{grid-template-columns:1fr;gap:10px}.compact-mini-section{padding:10px}.compact-mini-item{font-size:.75rem}}.dashboard-container::-webkit-scrollbar{width:6px}.dashboard-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.dashboard-container::-webkit-scrollbar-thumb{background:#64ffda4d;border-radius:3px;transition:all .3s ease}.dashboard-container::-webkit-scrollbar-thumb:hover{background:#64ffda80}.sftp-page{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.sftp-header{padding:16px 20px;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.header-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.back-button{background:var(--bg-button);border:1px solid var(--border-primary);color:var(--text-primary);padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s ease}.back-button:hover{background:var(--bg-button-hover);border-color:var(--border-accent)}.connection-info{display:flex;align-items:center;gap:8px}.connection-status{font-family:Monaco,Consolas,monospace;font-size:14px;padding:4px 8px;border-radius:4px;background:var(--bg-card);border:1px solid var(--border-secondary)}.connection-status.connected{color:var(--text-success);border-color:var(--success)}.connection-status.disconnected{color:var(--text-error);border-color:var(--danger)}.error-message{background:var(--bg-card);border:1px solid var(--danger);color:var(--text-error);padding:12px 16px;margin:16px 20px;border-radius:6px;display:flex;justify-content:space-between;align-items:center}.error-message button{background:transparent;border:none;color:var(--text-error);cursor:pointer;font-size:18px;font-weight:700;padding:0 4px}.setup-message{padding:40px 20px;text-align:center;max-width:600px;margin:0 auto}.setup-message h3{color:var(--text-accent);margin-bottom:16px}.setup-message ul{text-align:left;margin:16px 0;color:var(--text-secondary)}.sftp-controls{padding:8px 20px;border-bottom:1px solid var(--border-secondary);background:var(--bg-primary);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.path-navigation{display:flex;align-items:center;gap:12px}.nav-button,.refresh-button{background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary);padding:4px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:12px;font-weight:400}.nav-button:hover,.refresh-button:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-primary)}.nav-button:disabled,.refresh-button:disabled{opacity:.4;cursor:not-allowed}.current-path{font-family:Monaco,Consolas,monospace;background:var(--bg-card);padding:4px 8px;border-radius:6px;border:1px solid var(--border-secondary);color:var(--text-secondary);font-size:12px}.selection-controls{display:flex;align-items:center;gap:12px}.directory-info{color:var(--text-secondary);font-size:12px;font-weight:400}.selection-count{color:var(--text-secondary);font-size:12px}.transfer-button{background:var(--accent-primary);border:1px solid var(--border-accent);color:#fff;padding:8px 16px;border-radius:4px;cursor:pointer;transition:all .2s ease;font-weight:500}.transfer-button:hover{background:var(--accent-secondary);transform:translateY(-1px);box-shadow:var(--shadow-accent)}.clear-button{background:var(--bg-button);border:1px solid var(--border-primary);color:var(--text-primary);padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .2s ease}.clear-button:hover{background:var(--bg-button-hover);border-color:var(--border-accent)}.file-list{flex:1;overflow:auto;padding:0 20px}.loading,.empty-directory{text-align:center;padding:40px 20px;color:var(--text-secondary)}.files-table{width:100%;border-collapse:collapse;margin:20px 0}.files-table th{background:var(--bg-secondary);color:var(--text-primary);padding:6px 8px;text-align:left;border-bottom:2px solid var(--border-primary);font-weight:600;font-size:12px}.files-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;position:relative}.files-table th.sortable:hover{background:var(--bg-button-hover);color:var(--text-accent)}.files-table th.sortable.active{background:var(--bg-accent);color:var(--text-primary)}.files-table td{padding:5px 8px;border-bottom:1px solid var(--border-secondary);color:var(--text-primary);font-size:13px}.file-row:hover{background:var(--bg-card-hover)}.file-row.directory td{color:var(--text-accent)}.file-row.hidden{opacity:.6;font-style:italic}.file-row.hidden td{color:var(--text-secondary)}.directory-link{background:transparent;border:none;color:var(--text-accent);cursor:pointer;text-decoration:underline;text-align:left;padding:0;font-size:13px}.directory-link:hover{color:var(--accent-primary)}.directory-link:disabled{opacity:.5;cursor:not-allowed}.file-name{display:inline-flex;align-items:center;gap:8px;font-size:13px}.upload-button{background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary);padding:2px 6px;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:10px;font-weight:400;white-space:nowrap}.upload-button:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-primary)}.upload-button:disabled{opacity:.5;cursor:not-allowed}.transfer-progress{border-top:1px solid var(--border-primary);background:var(--bg-secondary);padding:20px;margin-top:auto}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.progress-header h3{color:var(--text-primary);margin:0}.cancel-button{background:var(--danger);border:1px solid var(--danger);color:#fff;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background:var(--text-error);transform:translateY(-1px)}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-fill{height:100%;background:var(--accent-primary);transition:width .3s ease;border-radius:4px}.progress-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;color:var(--text-secondary);font-size:14px}.folder-progress{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-secondary);display:flex;gap:20px;color:var(--text-secondary);font-size:14px}@media (max-width: 768px){.header-controls,.sftp-controls{flex-direction:column;align-items:stretch}.path-navigation,.selection-controls{justify-content:center}.progress-details{grid-template-columns:1fr}.folder-progress{flex-direction:column;gap:8px}.files-table{font-size:12px}.files-table th,.files-table td{padding:4px 3px}.upload-button{font-size:9px;padding:1px 4px}.nav-button,.refresh-button{font-size:11px;padding:3px 6px}}
