body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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}.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}.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}@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}}@media (max-width:480px){.login-card{padding:1.5rem}.logo{height:45px}.logo-text{font-size:1.5rem}}#/frontend/src/components/UserDashboard.css
.user-dashboard{background:#fafafa;color:#111827;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.loading{color:#6b7280;font-size:1.1rem;height:100vh;justify-content:center}.dashboard-header,.loading{align-items:center;display:flex}.dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;justify-content:space-between;padding:1.5rem 2rem}.dashboard-header h1{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.logout-btn{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.logout-btn:hover{background:#dc2626;transform:translateY(-1px)}.dashboard-content{margin:0 auto;max-width:800px;padding:2rem}.welcome-message{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:2rem;padding:2rem}.welcome-message h2{color:#111827;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.welcome-message p{color:#6b7280;font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.user-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.user-info h3{color:#374151;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.user-info p{color:#4b5563;font-size:.95rem;margin:.75rem 0}.user-info strong{color:#111827;font-weight:600}.access-info{margin-bottom:2rem}.access-info h3{color:#059669;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.access-info ul{list-style:none;margin:0;padding:0}.access-info li{color:#4b5563;font-size:1rem;line-height:1.5;padding:.75rem 0 .75rem 2rem;position:relative}.access-info li:before{color:#059669;content:"✓";font-size:1.1rem;font-weight:700;left:0;position:absolute}.notice{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:1.5rem}.notice h4{color:#d97706;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.notice p{color:#92400e;font-size:.95rem;line-height:1.5;margin:0}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:1rem;padding:1rem;text-align:center}.dashboard-content{padding:1rem}.welcome-message{padding:1.5rem}.access-info,.notice,.user-info{padding:1.25rem}.access-info li{font-size:.95rem;padding-left:1.5rem}}:root{--bg-primary:#fafafa;--bg-secondary:#fff;--border:#e5e7eb;--text-primary:#111827;--text-secondary:#6b7280;--accent:#3b82f6;--success:#059669;--warning:#d97706;--error:#ef4444;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827}@media (prefers-color-scheme:dark){.user-dashboard{background:#111827;color:#f9fafb}.dashboard-header{background:#1f2937;border-bottom-color:#374151}.dashboard-header h1{color:#f9fafb}.welcome-message{background:#1f2937;border-color:#374151}.welcome-message h2{color:#f9fafb}.welcome-message p{color:#d1d5db}.user-info{background:#1f2937;border-color:#374151}.user-info h3{color:#e5e7eb}.user-info p{color:#d1d5db}.user-info strong{color:#f9fafb}.access-info li{color:#d1d5db}.notice{background:#451a03;border-color:#92400e}.notice h4{color:#fdba74}.notice p{color:#fed7aa}}.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 .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-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:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 12px;transition:background-color .2s}.details-btn:hover{background:#3b82f6}.quick-actions{color:#aab3c9;display:flex;gap:8px}.quick-actions .material-symbols{border-radius:4px;cursor:pointer;font-size:16px;padding:4px;transition:all .2s}.quick-actions .material-symbols:hover{background:#ffffff1a;color:#e6ecff}.stat-tiles{grid-gap:12px;background:var(--bg-2);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}.dashboard{background:#1b2029;background:var(--bg-2);display:flex;flex:1 1;flex-direction:column;min-height:calc(100vh - 54px)}.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;color:#d6d9e0;color:var(--text);min-width:120px;padding:8px 12px}.filter-select,.searchbox{background:#252b3a;background:var(--panel);border:1px solid #2d3445;border:1px solid var(--border);border-radius:8px}.searchbox{align-items:center;display:flex;gap:8px;margin-left:auto;padding:6px 10px}.searchbox input{background:#0000;border:none;min-width:220px;outline:none}.refresh-btn,.searchbox input{color:#d6d9e0;color:var(--text)}.refresh-btn{align-items:center;background:#252b3a;background:var(--panel);border:1px solid #2d3445;border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;gap:6px;padding:8px 12px;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}*{box-sizing:border-box;margin:0;padding:0}body{background:#0a0a0a;color:#fff}.App{text-align:center}
/*# sourceMappingURL=main.8a0044fe.css.map*/