body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-display:swap;font-family:Kalli;font-style:normal;font-weight:400;src:url(/static/media/Kalli.bfcbc8d0a96f48a5bc98.otf) format("opentype")}.login-container{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;isolation:isolate;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;gap:10px;margin-bottom:1.5rem;padding:12px}.error-icon{flex-shrink:0;font-size:1.2rem}.error-text{font-size:.875rem;font-weight:500;line-height:1.4}@media (max-width:768px){.error-message{flex-direction:column;gap:8px;text-align:center}}.login-background{background:linear-gradient(135deg,#101115d9,#18191dd9),url(/static/media/server_room_bg.336c3cd425dd05405761.png) 50%/cover no-repeat;filter:brightness(2) contrast(1.5) saturate(1.5);height:100%;left:0;position:absolute;top:0;width:100%;z-index:-2}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#282a2f;border:2px solid #7474c3a8;border-radius:12px;box-shadow:0 4px 20px #00000014;margin:1rem;max-width:400px;padding:2.5rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.logo-container{margin-bottom:1.5rem}.logo{display:block;height:160px;margin:0 auto;width:auto}.logo-fallback{display:none;text-align:center}.logo-text{color:#111827;font-size:2rem;font-weight:700;letter-spacing:-.5px}.login-form{gap:1.2rem}.input-group,.login-form{display:flex;flex-direction:column}.input-group{gap:.5rem}.input-label{color:#4178cf;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.input-field{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-family:inherit;font-size:1rem;outline:none;padding:.875rem 1rem;transition:all .2s ease}.input-field::placeholder{color:#9ca3af}.input-field:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-field:hover{border-color:#9ca3af}.input-field:disabled{background:#f9fafb;cursor:not-allowed;opacity:.6}.login-button{background:#111827;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;margin-top:.5rem;padding:1rem;transition:all .2s ease}.login-button:hover:not(:disabled){background:#1f2937;transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.login-footer{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.switch-mode-button{background:none;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;font-family:inherit;font-size:.875rem;opacity:.8;padding:.5rem;text-decoration:underline;transition:all .2s ease}.switch-mode-button:hover:not(:disabled){background:#3b82f61a;opacity:1;text-decoration:none}.switch-mode-button:disabled{cursor:not-allowed;opacity:.5}.csrf-warning{align-items:center;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;color:#92400e;display:flex;gap:10px;margin-bottom:1.5rem;padding:12px}.warning-icon{flex-shrink:0;font-size:1.2rem}.warning-text{font-size:.875rem;line-height:1.4}.warning-text strong{font-weight:600}@media (max-width:768px){.login-container{padding:1rem}.login-card{margin:.5rem;padding:2rem}.logo{height:50px}.logo-text{font-size:1.75rem}.input-field{padding:.75rem}.login-button{padding:.875rem}.csrf-warning{flex-direction:column;gap:8px;text-align:center}}@media (max-width:480px){.login-card{padding:1.5rem}.logo{height:45px}.logo-text{font-size:1.5rem}}.user-dashboard-content{color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:600px;padding:20px}.loading{color:#cbd5e1;font-size:1.1rem}.dashboard-header{border-left:4px solid #3b82f6;margin-bottom:30px}.dashboard-header h1{color:#fff;font-size:2.5rem;font-weight:600}.dashboard-header p{color:#cbd5e1;font-size:1rem}.welcome-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:2rem;padding:2rem}.welcome-message h2{color:#3b82f6;font-size:1.8rem;font-weight:600;margin-bottom:1rem}.welcome-message p{color:#cbd5e1;font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.user-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:2rem;padding:2rem}.user-info h3{border-bottom:1px solid #ffffff1a;color:#3b82f6;font-size:1.4rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.user-info p{align-items:center;color:#e2e8f0;display:flex;font-size:1.1rem;margin:1rem 0}.user-info strong{color:#fff;display:inline-block;font-weight:600;min-width:180px}.user-info span{color:#cbd5e1;font-weight:400}.access-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:2rem;padding:2rem}.access-info h3{border-bottom:1px solid #ffffff1a;color:#10b981;font-size:1.4rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.access-info ul{list-style:none;margin:0;padding:0}.access-info li{border-bottom:1px solid #ffffff0d;color:#e2e8f0;font-size:1.1rem;line-height:1.6;padding:1rem 0 1rem 2.5rem;position:relative}.access-info li:last-child{border-bottom:none}.access-info li:before{align-items:center;background:#10b9811a;border-radius:50%;color:#10b981;content:"✓";display:flex;font-size:1.4rem;font-weight:700;height:2rem;justify-content:center;left:0;position:absolute;width:2rem}.notice{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffc1071a;border:1px solid #ffc1074d;border-radius:12px;padding:2rem}.notice h4{align-items:center;color:#ffc107;display:flex;font-size:1.3rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.notice h4:before{content:"⚠️";font-size:1.5rem}.notice p{color:#ffd54f;font-size:1.1rem;line-height:1.6;margin:0}.dashboard-content{margin:0 auto;max-width:1000px;padding:0 20px}.access-info,.notice,.user-info,.welcome-message{transform:translateY(0);transition:all .3s ease}.access-info:hover,.notice:hover,.user-info:hover,.welcome-message:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}@media (max-width:768px){.user-dashboard-content{padding:15px}.dashboard-header{padding-left:15px}.dashboard-header h1{font-size:2rem}.dashboard-content{padding:0 10px}.access-info,.notice,.user-info,.welcome-message{padding:1.5rem}.user-info p{align-items:flex-start;flex-direction:column;gap:.5rem}.user-info strong{min-width:auto}.access-info li{font-size:1rem;padding-left:2rem}.access-info li:before{font-size:1.1rem;height:1.5rem;width:1.5rem}}@media (max-width:480px){.dashboard-header h1{font-size:1.8rem}.access-info h3,.user-info h3,.welcome-message h2{font-size:1.2rem}.access-info li,.notice p,.user-info p,.welcome-message p{font-size:1rem}.access-info,.notice,.user-info,.welcome-message{padding:1.25rem}}.miner-row{grid-gap:12px;background:linear-gradient(180deg,#222838,#1c2232);border:1px solid var(--border);border-radius:10px;display:grid;gap:12px;grid-template-columns:1.2fr 1fr 1.2fr .8fr;padding:12px;transition:transform .2s,box-shadow .2s}.miner-row:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px)}.miner-left{align-items:center;display:flex;gap:10px}.miner-meta{display:flex;flex-direction:column}.miner-title{align-items:center;display:flex;gap:8px;margin-bottom:4px}.status-dot{border-radius:50%;height:8px;width:8px}.status-dot.ok{background:var(--ok)}.status-dot.warn{background:var(--warn)}.status-dot.offline{background:var(--danger)}.miner-name{color:var(--text);font-weight:600}.miner-id,.miner-sub{color:var(--muted);font-size:12px}.miner-center{align-items:center;display:flex;gap:18px}.hashrate-info{display:flex;flex-direction:column;gap:4px}.hashrate-value{color:var(--text);font-size:18px;font-weight:700}.status-text{font-size:12px;font-weight:600}.status-text.ok{color:var(--ok)}.status-text.warn{color:var(--warn)}.status-text.offline{color:var(--danger)}.miner-icons{gap:12px}.icon-wrapper,.miner-icons{align-items:center;display:flex;justify-content:center}.icon-wrapper{background:#ffffff0d;border-radius:6px;height:32px;position:relative;transition:all .2s;width:32px}.icon-wrapper svg{color:var(--text);height:18px;transition:color .2s;width:18px}.icon-wrapper.warning svg{color:var(--danger)}.icon-wrapper.offline svg{color:var(--muted)}.icon-wrapper.normal svg{color:var(--ok)}.icon-wrapper.caution svg{color:var(--warn)}.icon-wrapper:hover .icon-tooltip{opacity:1;visibility:visible}.icon-tooltip{background:#2a2a2a;border:1px solid #444;border-radius:6px;bottom:100%;color:#fff;font-size:12px;margin-bottom:5px;opacity:0;padding:8px 12px;transition:all .2s;visibility:hidden;white-space:nowrap;z-index:10}.icon-tooltip,.icon-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.icon-tooltip:after{border:5px solid #0000;border-top-color:#2a2a2a;content:"";top:100%}.miner-right{align-items:flex-end;display:flex;flex-direction:column;gap:8px;justify-content:center}.details-btn{align-items:center;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;gap:6px;padding:12px 24px;transition:background-color .2s}.details-btn:hover{background:#3b82f6}.quick-actions .material-symbols:hover{background:#ffffff1a;color:#e6ecff}.stat-tiles{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:16px}.stat-tile{align-items:center;background:var(--bg-3);border:1px solid var(--border);border-radius:10px;display:flex;gap:12px;padding:16px;transition:transform .2s}.stat-tile:hover{transform:translateY(-2px)}.tile-icon{background:#3b82f61a;border-radius:8px;color:var(--accent);font-size:24px;padding:12px}.tile-content{display:flex;flex-direction:column}.tile-value{color:var(--text);font-size:24px;font-weight:700}.tile-sub{color:var(--muted);font-size:12px;margin-top:2px}.miner-chart-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.miner-chart-container{background:#1a1a1a;border:1px solid #333;border-radius:12px;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:90%}.miner-chart-header{align-items:center;background:#2a2a2a;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:20px}.miner-chart-title{align-items:center;display:flex;gap:10px}.miner-chart-title h2{color:#fff;font-size:1.5rem;margin:0}.header-icon{color:#3b82f6;font-size:1.5rem}.miner-chart-tabs{background:#2a2a2a;border-bottom:1px solid #333;display:flex}.tab-button{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;flex:1 1;gap:8px;justify-content:center;padding:15px 20px;transition:all .2s}.tab-button:hover{background:#374151;color:#fff}.tab-button.active{background:#1f2937;border-bottom:2px solid #3b82f6;color:#3b82f6}.miner-chart-content{flex:1 1;overflow-y:auto;padding:20px}.miner-chart-error,.miner-chart-loading{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:40px}.loading-spinner{margin-bottom:15px}.overview-tab{padding:10px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stat-card{align-items:center;background:#2a2a2a;border:1px solid #374151;border-radius:8px;display:flex;gap:15px;padding:20px;transition:transform .2s}.stat-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.stat-icon{align-items:center;background:#3b82f61a;border-radius:8px;color:#3b82f6;display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.stat-content{flex:1 1}.stat-value{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:5px}.stat-label{color:#9ca3af;font-size:.9rem}.charts-tab{padding:10px}.time-range-select{background:#374151;border:1px solid #4b5563;border-radius:6px;color:#fff;padding:8px 12px}.charts-container{grid-gap:20px;gap:20px}.chart-placeholder{background:#2a2a2a;border:1px solid #374151;border-radius:8px;color:#9ca3af;padding:30px;text-align:center}.chart-placeholder h3{color:#fff;margin-bottom:10px}.loading-spinner.small{font-size:1rem;margin-left:10px}.charts-controls{align-items:center;display:flex;gap:10px;margin-bottom:20px}.time-range-select:disabled{cursor:not-allowed;opacity:.6}.logs-tab{padding:10px}.logs-container{grid-gap:20px;display:grid;gap:20px}.log-section{background:#2a2a2a;border:1px solid #374151;border-radius:8px;overflow:hidden}.log-section h3{background:#374151;color:#fff;font-size:1.1rem;margin:0;padding:15px 20px}.log-content{max-height:300px;overflow-y:auto;padding:10px}.log-entry{border-bottom:1px solid #374151;padding:10px}.log-entry:last-child{border-bottom:none}.log-timestamp{color:#3b82f6;font-size:.8rem;margin-bottom:5px}.log-data{color:#d1d5db;font-family:monospace;font-size:.9rem;white-space:pre-wrap;word-break:break-all}.no-charts-data,.no-logs-data{color:#9ca3af;padding:40px;text-align:center}@media (max-width:768px){.miner-chart-container{height:95vh;width:95%}.stats-grid{grid-template-columns:1fr}.miner-chart-tabs{flex-direction:column}}.charts-container{grid-gap:30px;display:grid;gap:30px}.chart-section{background:#2a2a2a;border:1px solid #374151;border-radius:8px;padding:20px}.chart-section h3{color:#fff;font-size:1.2rem;margin:0 0 15px}.chart-wrapper{height:300px;position:relative}.no-chart-data{align-items:center;color:#9ca3af;display:flex;font-style:italic;height:100%;justify-content:center}@media (max-width:768px){.chart-wrapper{height:250px}.charts-container{gap:20px}.chart-section{padding:15px}}.header-icon,.loading-spinner{margin-right:10px}.header-icon{vertical-align:middle}.filter-icon,.search-icon{color:var(--gray-11);margin-right:8px}.refresh-icon{margin-right:8px}.no-data-icon{color:var(--gray-9);font-size:3rem;margin-bottom:1rem}.info-icon{margin-right:5px;vertical-align:middle}.searchbox input{background:#0000;border:none;outline:none;padding:10px 5px}.dashboard{background:linear-gradient(180deg,#1f252f,#030916);display:flex;flex:1 1;flex-direction:column;min-height:100vh;padding:20px}.dashboard-loading{align-items:center;color:#8b93a7;color:var(--muted);display:flex;gap:10px;height:200px;justify-content:center}.dashboard-filters{background:#1b2029;background:var(--bg-2);border-bottom:1px solid #2d3445;border-bottom:1px solid var(--border);padding:14px 16px 8px}.filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.filter-select{-webkit-appearance:none;appearance:none;min-width:120px}.filter-select,.refresh-btn{background:#252b3a;background:var(--panel);border:1px solid #2d3445;border:1px solid var(--border);border-radius:8px;color:#d6d9e0;color:var(--text);padding:8px 12px}.refresh-btn{align-items:center;cursor:pointer;display:flex;gap:6px;transition:background-color .2s}.refresh-btn:hover{background:#202634;background:var(--bg-3)}.miners-list{display:flex;flex:1 1;flex-direction:column;gap:10px;padding:12px 16px}.no-data{align-items:center;color:#8b93a7;color:var(--muted);display:flex;flex-direction:column;gap:10px;height:200px;justify-content:center}.no-data .material-symbols{font-size:48px}:root{--bg:#151820;--bg-2:#1b2029;--bg-3:#202634;--panel:#252b3a;--text:#d6d9e0;--muted:#8b93a7;--accent:#59a7ff;--warn:#ffb020;--danger:#ff5d5d;--ok:#40d789;--border:#2d3445;--shadow:0 6px 20px #00000059}.material-symbols{align-items:center;display:inline-flex;font-family:Material Symbols Outlined;font-size:18px;font-style:normal;font-weight:400;justify-content:center;letter-spacing:normal;line-height:1;text-transform:none}.dashboard-header{background:var(--custom-2);border-left:4px solid var(--accent-9);border-radius:8px;margin-bottom:20px;padding-left:10px}.dashboard-header h1{color:var(--gray-12);margin:0 0 10px}.dashboard-header p{color:var(--gray-11);font-size:.9rem;margin:0}.kalli-font{color:var(--gray-12);font-family:Kalli,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:4rem;font-weight:400;margin:0 0 10px}.profile-container{color:#fff;margin:0 auto;max-width:600px;min-height:100vh;padding:20px}.profile-info{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:20px;padding:20px}.profile-info p{font-size:1.1rem;margin-bottom:10px}.profile-actions{margin-top:20px}.edit-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background .2s}.edit-btn:hover{background:#2563eb}.profile-form{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-top:20px;padding:20px}.profile-form h3{color:#3b82f6;margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{margin-bottom:5px}.form-input{background:#1f2937;font-size:1rem;padding:10px}.form-input:focus{outline:none}.form-actions{display:flex;gap:10px;margin-top:20px}.save-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background .2s}.save-btn:hover:not(:disabled){background:#059669}.save-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background .2s}.cancel-btn:hover{background:#4b5563}.message{border-radius:6px;margin:15px 0;padding:10px}.message.success{background:#10b981;color:#fff}.message.error{background:#ef4444;color:#fff}@media (max-width:768px){.profile-container{padding:15px}.form-actions{flex-direction:column}.cancel-btn,.save-btn{width:100%}}.analytics-container{color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:20px}.analytics-loading{align-items:center;display:flex;flex-direction:column;gap:15px;height:50vh;justify-content:center}.analytics-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;margin:20px 0;padding:40px;text-align:center}.retry-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:15px;padding:10px 20px}.retry-btn:hover{background:#2563eb}.analytics-header{border-left:4px solid #3b82f6;margin-bottom:30px;padding-left:10px}.analytics-title{align-items:center;color:#fff;display:flex;font-size:2.5rem;gap:10px;margin:0 0 10px}.analytics-content{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1200px}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:20px 0}.metric-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:20px;transition:transform .2s}.metric-card:hover{transform:translateY(-2px)}.metric-card h4{color:#cbd5e1;font-size:1.1rem;margin:0 0 10px}.metric-value{color:#3b82f6;font-size:2rem;font-weight:700;margin-bottom:5px}.metric-description{color:#9ca3af;font-size:.9rem}.metrics-grid .calculation-card{background:#10b9811a;border:1px solid #10b9814d}.metrics-grid .calculation-card .metric-value{color:#10b981;font-size:2rem;font-weight:700}.info-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#8b5cf61a;border:1px solid #8b5cf64d;border-radius:12px;padding:20px}.info-card h4{color:#8b5cf6;margin:0 0 15px}.info-card ul{margin:0;padding-left:20px}.info-card li{color:#d1d5db;line-height:1.4;margin-bottom:8px}.exchange-rate-low{color:#ef4444!important}.exchange-rate-high{color:#10b981!important}@media (max-width:768px){.analytics-container{padding:15px}.analytics-title{font-size:2rem}.metrics-grid{grid-template-columns:1fr}.metric-value{font-size:1.5rem}}@media (max-width:480px){.analytics-title{font-size:1.7rem}.info-card,.metric-card{padding:15px}}.balance-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:20px 0}.base-value-control{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:8px;margin-top:15px;padding:15px}.base-value-info{align-items:center;display:flex;justify-content:space-between}.edit-base-value-btn{background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:5px 10px}.edit-base-value-btn:hover{background:#d97706}.base-value-edit{align-items:center;display:flex;gap:10px;margin-top:10px}.base-value-input{background:#0000004d;border:1px solid #4b5563;border-radius:4px;color:#fff;flex:1 1;padding:8px}.save-base-value-btn{background:#10b981}.cancel-base-value-btn,.save-base-value-btn{border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 15px}.cancel-base-value-btn{background:#6b7280}.save-base-value-btn:hover{background:#059669}.cancel-base-value-btn:hover{background:#4b5563}@media (max-width:768px){.balance-row{grid-template-columns:1fr}.base-value-edit{flex-direction:column}.base-value-input{width:100%}}.file-name-container{flex:1 1;margin-right:8px;min-width:0}.file-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.4em;max-height:2.8em;overflow:hidden;text-overflow:ellipsis}.file-header{align-items:flex-start;min-height:40px}.file-icon,.folder-icon{flex-shrink:0;margin-top:2px}.file-size{align-self:flex-start;flex-shrink:0}.file-card{display:flex;flex-direction:column;min-height:120px}.file-actions{flex-wrap:wrap;margin-top:auto}.btn-action{flex-shrink:0}@media (max-width:480px){.file-header{align-items:flex-start;flex-direction:column;gap:5px}.file-name-container{margin-right:0;width:100%}.file-size{align-self:flex-start}.file-actions{justify-content:space-between;width:100%}.btn-action.view{flex:1 1}}.settings-container{background:linear-gradient(180deg,#1f252f,#030916);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:20px}.settings-loading{flex-direction:column;gap:15px;height:50vh;justify-content:center}.breadcrumb,.settings-loading{align-items:center;display:flex}.breadcrumb{flex-wrap:wrap;gap:5px;margin-bottom:15px}.btn-breadcrumb{background:none;border:none;border-radius:4px;color:#3b82f6;cursor:pointer;font-size:14px;padding:5px 8px}.btn-breadcrumb:hover{background:#3b82f61a}.breadcrumb-separator{color:#6b7280;margin:0 2px}.controls-buttons{display:flex;gap:15px}.btn-back{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 16px;transition:all .2s ease}.btn-back:hover:not(:disabled){background:#ffffff26;transform:translateY(-1px)}.btn-back:disabled{cursor:not-allowed;opacity:.5}.file-card.directory{border-left:4px solid #f59e0b}.file-card.file{border-left:4px solid #3b82f6}.folder-icon{color:#f59e0b}.large-modal .modal-content.large-editor{display:flex;flex-direction:column;height:85vh;max-width:1200px;width:80%}.form-hint{color:#9ca3af;display:block;font-size:.8rem;margin-top:5px}@media (max-width:768px){.large-modal .modal-content.large-editor{height:90vh;width:95%}}.loading-spinner{animation:spin 1s linear infinite;font-size:2rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.settings-header{border-left:4px solid #3b82f6;margin-bottom:30px;padding-left:10px}.settings-title{align-items:center;color:#fff;display:flex;font-size:2.5rem;gap:10px;margin:0 0 10px}.header-icon{font-size:2rem}.message{border-radius:8px;font-weight:500;margin-bottom:20px;padding:12px 16px}.message.success{background:#10b98133;border:1px solid #10b98180;color:#10b981}.message.error{background:#ef444433;border:1px solid #ef444480;color:#ef4444}.settings-controls{align-items:flex-start;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.breadcrumb-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;text-decoration:none;transition:all .2s ease}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-secondary{background:#ffffff1a;border:1px solid #fff3;color:#fff}.btn-secondary:hover:not(:disabled){background:#ffffff26;transform:translateY(-1px)}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.files-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:24px}.files-section h3{color:#3b82f6;font-size:1.4rem;margin:0 0 20px}.no-files{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:40px;text-align:center}.no-files-icon{color:#6b7280;font-size:3rem;margin-bottom:15px}.files-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.file-card{background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;padding:16px;transition:all .2s ease}.file-card:hover{border-color:#3b82f680;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.file-header{align-items:center;display:flex;gap:10px;margin-bottom:12px}.file-icon{color:#3b82f6;flex-shrink:0}.file-name{color:#fff;flex:1 1;font-weight:600;word-break:break-all}.file-size{background:#ffffff1a;border-radius:4px;color:#9ca3af;font-size:.8rem;padding:2px 6px}.file-actions{display:flex;gap:8px;justify-content:flex-end}.btn-action{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:12px;height:32px;justify-content:center;min-width:32px;padding:6px 12px;transition:all .2s ease}.btn-action.view{background:#3b82f633;color:#3b82f6;flex:1 1}.btn-action.view:hover{background:#3b82f64d}.btn-action.download{background:#10b98133;color:#10b981}.btn-action.download:hover{background:#10b9814d}.btn-action.delete{background:#ef444433;color:#ef4444}.btn-action.delete:hover{background:#ef44444d}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#1a1a1a;border:1px solid #333;border-radius:12px;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:90%}.modal-header{align-items:center;background:#2a2a2a;border-bottom:1px solid #333;display:flex;flex-shrink:0;justify-content:space-between;padding:20px}.modal-header h3{color:#fff;font-size:1.3rem;margin:0}.close-button{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:1.5rem;line-height:1;padding:5px}.close-button:hover{background:#374151;color:#fff}.editor-container{display:flex;flex:1 1;flex-direction:column;min-height:400px;overflow:hidden;padding:20px}.editor-wrapper{border:1px solid #374151;border-radius:6px;flex:1 1;min-height:0;overflow:hidden}.editor-wrapper .monaco-editor{height:100%!important}.file-editor{background:#2a2a2a;border:1px solid #374151;border-radius:6px;color:#fff;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;height:100%;line-height:1.5;min-height:400px;outline:none;padding:16px;resize:vertical;width:100%}.file-editor:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.upload-form{padding:20px}.form-group{margin-bottom:20px}.form-group label{color:#cbd5e1;display:block;font-weight:500;margin-bottom:8px}.form-input{background:#2a2a2a;border:1px solid #374151;border-radius:6px;color:#fff;font-size:14px;outline:none;padding:12px;width:100%}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.modal-actions{background:#2a2a2a;border-top:1px solid #333;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:20px}@media (max-width:768px){.settings-container{padding:15px}.settings-title{font-size:2rem}.files-grid{grid-template-columns:1fr}.settings-controls{flex-direction:column}.breadcrumb-controls{justify-content:space-between;width:100%}.controls-buttons{justify-content:center;width:100%}.btn-primary,.btn-secondary{flex:1 1;justify-content:center}.modal-content{width:95%}.modal-actions{flex-direction:column}}@media (max-width:480px){.settings-title{font-size:1.7rem}.files-section{padding:16px}.file-header{align-items:flex-start;flex-direction:column;gap:5px}.file-actions{justify-content:space-between;width:100%}.btn-action.view{flex:none}}.leftnav{background:linear-gradient(180deg,#1e293b,#0f172a);border-right:1px solid #334155;display:flex;flex-direction:column;height:calc(100vh - 70px);left:0;overflow-y:auto;padding:20px 0;position:fixed;top:70px;width:250px;z-index:900}.leftnav-item{align-items:center;border-radius:8px;color:#cbd5e1;cursor:pointer;display:flex;margin:4px 10px;padding:12px 20px;text-decoration:none;transition:all .2s ease}.leftnav-item:hover{background:#334155;color:#fff}.leftnav-item.active{background:#3b82f6;color:#fff}.nav-icon{height:20px;margin-right:12px;width:20px}.leftnav-label{font-weight:500}@media (max-width:768px){.leftnav{height:calc(100vh - 60px);top:60px;transform:translateX(-100%);transition:transform .3s ease;width:60px}.leftnav.open{transform:translateX(0)}.leftnav-label{display:none}}.topbar{background:#1b2029;border-bottom:3px solid #000;box-shadow:0 1px 3px #0000001a;height:70px;justify-content:space-between;left:0;padding:0 20px;position:fixed;right:0;top:0;width:100%;z-index:1000}.logo,.top-left,.topbar{align-items:center;display:flex}.logo{gap:10px}.logo-icon{height:73px;width:130px}.top-right{align-items:center;display:flex;gap:15px}.material-symbols:hover{background:#f1f5f9;color:#3b82f6}.user-menu{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:all .2s ease}.user-menu:hover{background:#2d3445}.user-name{color:#fff;font-weight:500}.logout-btn{align-items:center;background:#a90909;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:12px 24px;transition:background-color .2s}@media (max-width:768px){.topbar{height:60px;padding:0 15px}.logo-text,.user-name{display:none}.top-right{gap:10px}.logout-btn{padding:6px 12px}}.layout-container{display:flex;flex-direction:column;min-height:100vh;width:100%}.layout-main{display:flex;flex:1 1;margin-top:70px;width:100%}.content-area{background:linear-gradient(180deg,#1f252f,#030916);flex:1 1;margin-left:250px;min-height:calc(100vh - 70px);overflow-x:auto;padding:0}#root,body,html{background:#000;height:100%;margin:0;padding:0}@media (max-width:768px){.layout-main{margin-top:60px}.content-area{margin-left:0;padding:0}}*{box-sizing:border-box;margin:0;padding:0}body{background:#0a0a0a;color:#fff}.App{background:#000;min-height:100vh;text-align:center}.loading{font-size:1.2rem}.loading,.not-found,.unauthorized{align-items:center;background:#000;color:#fff;display:flex;height:100vh;justify-content:center}.not-found,.unauthorized{font-size:1.5rem}