[v-cloak]{display:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:#f5f5f5;min-height:100vh;padding:2px;color:#222;font-size:16px}.banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:none;background:#c0392b;color:#fff;text-align:center;padding:8px 10px;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.2);font-size:14px}.has-banner{padding-top:44px}.has-banner .nav{margin-top:0}.has-banner .banner{display:block}*,::after,::before{border-radius:0!important}.#app{margin:0 auto;width:100%;max-width:1100px;padding:0 8px}.container{background:#fff;border-radius:0;padding:4px;box-shadow:0 8px 20px rgba(0,0,0,.12);margin-top:4px}h1{color:#667eea;margin-bottom:6px;font-size:22px}.subtitle{color:#666;margin-bottom:10px;font-size:13px}.nav{display:flex;justify-content:space-between;gap:4px;margin:0;align-items:center;position:static;background:0 0;padding:2px 4px;box-shadow:none;height:auto}.nav-left,.nav-right{display:flex;gap:4px;align-items:center}.nav-right{margin-left:8px}.logo{font-size:24px;margin-right:10px;font-weight:700;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;display:flex;align-items:center;gap:6px}.logo::before{content:'₿';font-size:34px;color:#f7931a;-webkit-text-fill-color:#f7931a;font-weight:700;animation:blink 2s ease-in-out infinite}@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}.nav a{padding:6px 10px;background:#fff;color:#333;text-decoration:none;border-radius:0;font-weight:600;font-size:14px;transition:all .2s;box-shadow:0 1px 6px rgba(0,0,0,.06);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.nav a:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.nav a.active{background:#667eea;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.2)}.nav-user{display:inline-flex;align-items:center;gap:8px;background:#eef2ff;color:#2b2b2b;padding:6px 10px;border-radius:999px;font-weight:700;font-size:13px;margin-right:6px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.nav-user::after{content:''}.nav-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%!important;overflow:hidden;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;font-weight:700;font-size:12px;text-transform:uppercase;flex:0 0 34px}#auth-menu{display:inline-flex;align-items:center}#auth-menu,#auth-menu a,#auth-menu a:active,#auth-menu a:link,#auth-menu a:visited{padding:0!important;margin:0!important;background:0 0!important;box-shadow:none!important;border:none!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:0!important}#auth-menu .nav-avatar{margin:0!important;box-shadow:none!important;background-clip:padding-box;display:inline-flex}.nav-icon{display:none;margin-right:6px;font-size:18px;line-height:1;color:#666;opacity:.85;transition:color .15s ease,transform .12s ease,opacity .12s ease}.nav-icon svg{width:18px;height:18px;vertical-align:middle;fill:currentColor}.nav-text{display:inline}button{border:none;border-radius:0;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:#667eea;color:#fff;padding:6px 12px;font-weight:600}.btn-secondary{background:#e0e0e0;color:#333;padding:6px 10px}.btn-success{background:#28a745;color:#fff;padding:6px 10px}.btn-danger{background:#dc3545;color:#fff;padding:6px 10px}.btn-small{padding:5px 10px;font-size:12px}.btn-add{padding:5px 10px;background:#28a745;color:#fff;border:none;border-radius:0;font-size:13px;cursor:pointer;margin-top:8px;display:inline-block}.btn-primary-red{background:#dc3545;color:#fff;padding:6px 12px;font-weight:600}.btn-add-blue{padding:5px 10px;background:#667eea;color:#fff;border:none;border-radius:0;font-size:13px;cursor:pointer;margin-top:8px;display:inline-block}.btn-add-blue:hover{background:#5568d6}.full-width{width:100%!important;display:block!important}.action-buttons{display:flex;gap:12px;flex-wrap:wrap;min-height:40px}.action-buttons>button{flex:1 1 auto;padding:8px 12px;min-width:80px}.btn-start{background:#28a745;color:#fff}.btn-start:hover:not(:disabled){background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px rgba(40,167,69,.4)}.btn-stop{background:#dc3545;color:#fff}.btn-stop:hover:not(:disabled){background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px rgba(220,53,69,.4)}.btn-restart{background:#ffc107;color:#333}.btn-restart:hover:not(:disabled){background:#e0a800;transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,193,7,.4)}.alert{padding:8px 12px;border-radius:6px;margin-bottom:12px;font-size:14px}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.loading{text-align:center;padding:40px;color:#667eea}.form-group{margin-bottom:4px;display:flex;align-items:center;gap:6px}label{color:#333;font-weight:700;font-size:14px;min-width:190px;white-space:nowrap;line-height:1.15;text-align:right;padding-right:8px}input,select,textarea{flex:1;padding:3px 5px;border:1px solid #e0e0e0;border-radius:0;font-size:13px;transition:border-color .2s}.form-group input[type=checkbox],.form-group input[type=radio]{align-self:center;flex:0 0 auto;width:18px;height:18px;margin:0;padding:0}.label-unit{display:block;color:#888;font-size:12px;font-weight:500;margin-top:2px;white-space:normal}.section{margin-bottom:6px;padding-bottom:4px}.section:last-of-type{border-bottom:none}.section h3{color:#667eea;margin-bottom:6px;font-size:18px}.section-sep{border:none;height:1px;background:#e6e6e6;margin:8px 0}.status-panel{background:#f8f9fa;padding:4px;margin-bottom:6px}.status-panel.system-status{background:#fff;border:1px solid #e6e6e6;padding:4px}.status-panel{border-bottom:none}.status-panel.panel-running{background:#eef9ef;border-color:#cfeed0}.status-panel.panel-stopped{background:#fff5f5;border-color:#f5d6d6}.status-panel.panel-starting{background:#fff8e6;border-color:#ffe8c2}.status-panel.panel-stopping{background:#fff8e6;border-color:#ffe8c2}.status-starting{background:#fff3cd;color:#856404}.status-stopping{background:#fff3cd;color:#856404}.status-icon.starting{background:#ff9800;box-shadow:0 0 8px #ff9800}.status-icon.stopping{background:#ff9800;box-shadow:0 0 8px #ff9800}.status-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #eaeaea}.status-item:last-child{border-bottom:none}.status-panel .status-item{border-bottom:none}.status-panel .form-group:last-child{margin-bottom:0}.status-panel>div:last-child{margin-bottom:0;padding-bottom:0}.status-label{font-weight:600;color:#333}.status-badge{display:inline-block;padding:3px 8px;font-size:12px;font-weight:600;margin-right:6px}.status-running{background:#d4edda;color:#155724}.status-stopped{background:#f8d7da;color:#721c24}.log-viewer{background:#1e1e1e;color:#d4d4d4;padding:12px;border-radius:6px;font-family:'Courier New',Consolas,monospace;font-size:12px;line-height:1.4;max-height:600px;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word;border:2px solid #667eea}.log-viewer.raw{background:0 0;color:#111;padding:4px 6px;border:none;box-shadow:none;max-height:calc(100vh - 120px);white-space:pre;overflow:auto;font-size:11px;line-height:1.15;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,'Roboto Mono','Courier New',monospace}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:15px}.status-card{background:linear-gradient(135deg,#f5f7fa 0,#c3cfe2 100%);border-radius:8px;padding:8px;box-shadow:0 4px 10px rgba(0,0,0,.08)}.status-card h2{font-size:16px;color:#333;margin-bottom:10px;display:flex;align-items:center;gap:8px}.status-icon{width:12px;height:12px;border-radius:50%}.status-icon.running{background:#28a745;box-shadow:0 0 8px #28a745}.status-icon.stopped{background:#dc3545}.info-row{display:flex;justify-content:space-between;font-size:13px}.info-label{color:#666;font-weight:500}.info-value{color:#333;font-weight:600}.tier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.tier-header h4{margin:0;flex:1}.btn-remove{padding:5px 10px;background:#dc3545;color:#fff;border:none;border-radius:0;font-size:13px;cursor:pointer}.btn-remove:hover{background:#c82333}.rate-tier{background:#f5f5f5;padding:2px;margin-bottom:2px}@media (max-width:800px){#app{width:100%;margin:8px auto;padding:0 6px}body{padding:4px}.container{padding:6px;box-shadow:none;margin-top:6px}.nav{gap:4px;overflow-x:auto;padding:2px 4px;height:auto}.nav a{flex:0 0 auto;padding:4px 8px;font-size:15px;line-height:1}.logo::before{font-size:24px}.logo{font-size:18px}.nav-icon{display:none}.nav-text{display:inline-block;font-weight:600;color:#444}.nav{justify-content:flex-start}.nav a{background:0 0;box-shadow:none;border-radius:0;padding:3px 5px}.nav-sep{display:inline-block;pointer-events:none;color:#bbb;margin:0 4px;font-size:15px;line-height:1}.nav a.active .nav-icon{color:#111;opacity:1;transform:scale(1.12)}.nav a:hover{transform:none}.form-group{flex-direction:row;align-items:center;gap:4px;flex-wrap:nowrap}label{min-width:70px;width:33%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:700;text-align:right;padding-right:6px}input,select,textarea{flex:1;min-width:0;width:67%;padding:5px 6px;font-size:13px}.button-group{flex-direction:column}.btn-add,.button-group button{width:100%;flex:none}.rate-tier{padding:6px;margin-bottom:6px}.status-panel{padding:8px}.status-item{flex-direction:row;align-items:center;gap:8px;padding:8px 0}.status-item>div{display:flex;align-items:center;gap:8px}.status-badge{padding:4px 10px}.log-viewer{max-height:45vh;font-size:12px}body{font-size:13px}h1{font-size:18px}.section h3{font-size:15px}input,select,textarea{font-size:13px}button{font-size:13px}.alert{font-size:12px}.subtitle{font-size:11px}.status-grid{grid-template-columns:1fr}.status-card{padding:8px}.status-card h2{font-size:14px}.info-row{font-size:12px}@media (max-width:420px){label{min-width:55px;width:32%;font-size:11px;padding-right:6px}input,select,textarea{width:68%;font-size:12px;padding:5px 6px}.nav a{padding:4px 6px;font-size:14px}.logo::before{font-size:18px}.nav-sep{margin:0 3px}.nav-right a{padding:4px 6px}}}.login-container .form-group{display:flex;align-items:center;gap:10px;justify-content:center}.login-container label{min-width:120px;text-align:right;padding-right:8px}.login-container input,.login-container select,.login-container textarea{width:220px;max-width:80%;box-sizing:border-box}