/* ArkHost Hetzner VPS Module Styles */ .arkhost-vps-container { font-family: 'Arial', sans-serif; margin: 15px 0; } .arkhost-vps-container .title-block { color: #575d6f; margin-top: 20px; font-size: 16px; font-weight: 600; } .arkhost-vps-container .dashboard-value { font-size: 18px; color: #3c7fb4; } .arkhost-vps-container .usage-details { font-size: 14px; color: #888; margin-top: 5px; } .arkhost-vps-container .progress { height: 20px; margin-bottom: 20px; } .arkhost-vps-container .nav-tabs { border-bottom: 1px solid #dee2e6; } .arkhost-vps-container .nav-tabs .nav-link { border: none; color: #6c757d; font-weight: 500; border-radius: 12px 12px 0 0; padding: 12px 20px; transition: all 0.2s ease; margin-right: 4px; } .arkhost-vps-container .nav-tabs .nav-link:hover { background-color: #f8f9fa; color: #495057; } .arkhost-vps-container .nav-tabs .nav-link.active { background-color: #e9ecef; color: #495057; border-radius: 12px 12px 0 0; } .arkhost-vps-container .overview-label { color: #575d6f; font-weight: 600; margin-bottom: 5px; font-size: 14px; } .arkhost-vps-container .submit-btn { background: linear-gradient(135deg, #3c7fb4 0%, #2d5a87 100%); color: white; border: none; padding: 10px 20px; border-radius: 12px; font-weight: 600; transition: all 0.3s ease; } .arkhost-vps-container .danger-btn { background: linear-gradient(135deg, #dc3545 0%, #c82333 100%); color: white; border: none; padding: 10px 20px; border-radius: 12px; font-weight: 600; transition: all 0.3s ease; } .arkhost-vps-container .btn-danger { background: linear-gradient(135deg, #dc3545 0%, #c82333 100%) !important; color: white !important; border: none !important; padding: 10px 20px; border-radius: 12px; font-weight: 600; transition: all 0.3s ease; box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3); } .arkhost-vps-container .btn-danger:hover { background: linear-gradient(135deg, #c82333 0%, #bd2130 100%) !important; box-shadow: 0 4px 12px rgba(220, 53, 69, 0.5) !important; transform: translateY(-1px); } .arkhost-vps-container .head { border-bottom: 2px solid #3c7fb4; margin-bottom: 20px; padding-bottom: 15px; margin-top: 10px; } .arkhost-vps-container .head img { width: 32px; height: 32px; margin-right: 10px; margin-top: -8px; vertical-align: middle; } .arkhost-vps-container .v-tabs-container .nav-link { padding: 10px 16px; margin: 3px 0; border-radius: 12px; transition: all 0.2s ease; color: #6c757d; font-weight: 500; text-decoration: none; display: block; } .arkhost-vps-container .v-tabs-container .nav-link:hover { background-color: #f8f9fa; color: #495057; text-decoration: none; } .arkhost-vps-container .v-tabs-container .nav-link.active { background-color: #e9ecef; color: #495057; } .arkhost-vps-container .os_badge { margin: 8px; border-radius: 16px; transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); min-height: 140px; width: 100%; max-width: 400px !important; background: #ffffff; border: none; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); position: relative; z-index: 1; } .arkhost-vps-container .os_badge:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(60, 127, 180, 0.15); z-index: 10; } .arkhost-vps-container .os_badge .dropdown-toggle { background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); border: 2px solid #e9ecef; border-radius: 16px; padding: 24px 20px; transition: all 0.3s ease; position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: center; height: 100%; min-height: 140px; } .arkhost-vps-container .os_badge .dropdown-toggle:hover { border-color: #3c7fb4; background: linear-gradient(135deg, #ffffff 0%, #f0f4f8 100%); } .arkhost-vps-container .os_badge .media-body { min-width: 0; flex: 1; z-index: 2; position: relative; margin-top: 6px; text-align: center; } .arkhost-vps-container .os_badge .distro_name { font-size: 1.1rem; line-height: 1.3; margin-bottom: 4px; word-wrap: break-word; overflow-wrap: break-word; font-weight: 600; color: #2c3e50; } .arkhost-vps-container .os_badge .version { font-size: 0.85rem; line-height: 1.2; color: #6c757d; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; } .arkhost-vps-container .distro_img { width: 48px; height: 48px; margin-right: 0; margin-top: 8px; margin-bottom: 6px; border-radius: 50%; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; z-index: 2; position: relative; } .arkhost-vps-container .os_badge:hover .distro_img { transform: scale(1.1) rotate(5deg); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); } /* Dropdown Menu Enhancements */ .arkhost-vps-container .os_badge .dropdown-menu { border-radius: 12px; border: none; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15); padding: 8px 0; margin-top: 8px; z-index: 1050; min-width: 100%; } .arkhost-vps-container .os_badge .dropdown-item { padding: 12px 20px; transition: all 0.2s ease; color: #495057; font-weight: 500; } .arkhost-vps-container .os_badge .dropdown-item:hover { background: linear-gradient(135deg, #3c7fb4 0%, #2d5a87 100%); color: white; transform: translateX(4px); } #loading { text-align: center; padding: 2rem; } /* Rounded borders for containers */ .arkhost-vps-container .border { border-radius: 12px !important; border: 1px solid #e3e6f0 !important; } /* VPS Control Button Styles */ .arkhost-vps-container .vps-control-btn { display: inline-flex; align-items: center; justify-content: center; padding: 8px 16px; border-radius: 20px; margin: 8px 4px; transition: all 0.2s ease; text-decoration: none; color: white; font-size: 0.9rem; font-weight: 500; min-height: 36px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); border: none; position: relative; overflow: hidden; } .arkhost-vps-container .vps-control-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); text-decoration: none; color: white; } .arkhost-vps-container .vps-control-btn:active { transform: translateY(0); box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .arkhost-vps-container .vps-control-btn.start-btn { background: linear-gradient(45deg, #28a745, #34ce57); color: white; } .arkhost-vps-container .vps-control-btn.start-btn:hover { background: linear-gradient(45deg, #218838, #28a745); color: white; } .arkhost-vps-container .vps-control-btn.stop-btn { background: linear-gradient(45deg, #dc3545, #ff4757); color: white; } .arkhost-vps-container .vps-control-btn.stop-btn:hover { background: linear-gradient(45deg, #c82333, #dc3545); color: white; } .arkhost-vps-container .vps-control-btn.restart-btn { background: linear-gradient(45deg, #fd7e14, #ff9f43); color: white; } .arkhost-vps-container .vps-control-btn.restart-btn:hover { background: linear-gradient(45deg, #e65100, #fd7e14); color: white; } .arkhost-vps-container .vps-control-btn.vnc-btn { background: linear-gradient(45deg, #6f42c1, #8854d0); color: white; } .arkhost-vps-container .vps-control-btn.vnc-btn:hover { background: linear-gradient(45deg, #5a32a3, #6f42c1); color: white; } .arkhost-vps-container .vps-control-btn.vnc-btn img { width: 18px; height: 18px; margin-right: 6px; } .arkhost-vps-container .vps-control-btn i { margin-right: 6px; font-size: 1rem; } /* Mobile Responsive - Stack VPS Control Buttons Vertically */ @media (max-width: 767px) { .arkhost-vps-container .vps-control-btn { display: block; width: 100%; margin: 8px 0; text-align: center; } } /* Graph Time Selection Buttons */ .arkhost-vps-container .graph-time-btn { background: #f8f9fa; color: #6c757d; border: 1px solid #dee2e6; padding: 8px 14px; border-radius: 12px; margin: 0 3px; font-weight: 500; transition: all 0.2s ease; text-decoration: none; display: inline-block; cursor: pointer; font-size: 0.9rem; } .arkhost-vps-container .graph-time-btn:hover { background: #e9ecef; text-decoration: none; } .arkhost-vps-container .graph-time-btn.active { background: #e9ecef; color: #495057; border-color: #ced4da; } .arkhost-vps-container .graph-time-btn.active:hover { background: #dee2e6; } /* OS Selection Enhancements */ .arkhost-vps-container .os_badge { margin-bottom: 20px; } .arkhost-vps-container .os_badge .dropdown-toggle::after { display: inline-block; margin-left: .255em; vertical-align: .255em; content: ""; border-top: .3em solid; border-right: .3em solid transparent; border-bottom: 0; border-left: .3em solid transparent; margin-bottom: 10px; } .arkhost-vps-container .os_badge .dropdown-toggle:hover::after { border-top-color: #495057; } .arkhost-vps-container .os_badge .dropdown-toggle.btn-success { border: 2px solid #28a745 !important; background: linear-gradient(135deg, #f8fff9 0%, #e8f5e8 100%); box-shadow: 0 6px 25px rgba(40, 167, 69, 0.3); color: #155724 !important; position: relative; } .arkhost-vps-container .os_badge .dropdown-toggle.btn-success::before { content: '✓'; position: absolute; top: 8px; right: 12px; font-size: 18px; color: #28a745; font-weight: bold; } .arkhost-vps-container .os_badge .dropdown-toggle.btn-success .distro_name { color: #155724 !important; font-weight: 600; } .arkhost-vps-container .os_badge .dropdown-toggle.btn-success .version { color: #155724 !important; } .arkhost-vps-container .os_badge .dropdown-item.active { background-color: #007bff !important; color: white !important; font-weight: bold; position: relative; } .arkhost-vps-container .os_badge .dropdown-item.active::after { content: "✓"; position: absolute; right: 15px; font-weight: bold; color: white; } .arkhost-vps-container .os_badge .dropdown-item:hover { background-color: #007bff; color: white !important; } .arkhost-vps-container .os_badge .dropdown-item.active:hover { background-color: #0056b3 !important; color: white !important; } /* Fix dropdown menu positioning and styling */ .arkhost-vps-container .os_badge .dropdown-menu { z-index: 1050; border: 1px solid #dee2e6; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); padding: 8px 0; margin-top: 4px; max-height: 300px; overflow-y: auto; overflow-x: hidden; } .arkhost-vps-container .os_badge .dropdown-item { padding: 8px 16px; font-size: 0.9rem; transition: all 0.2s ease; border: none; background: none; } .arkhost-vps-container .os_badge .version .fa-check { color: #28a745 !important; margin-left: 5px; animation: checkmark-appear 0.3s ease-in; } @keyframes checkmark-appear { 0% { opacity: 0; transform: scale(0.5); } 100% { opacity: 1; transform: scale(1); } } /* Custom Notification System */ .arkhost-notification { position: fixed; top: 20px; right: 20px; min-width: 300px; max-width: 400px; z-index: 9999; padding: 16px 20px; border-radius: 8px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); color: white; font-weight: 500; transform: translateX(450px); transition: all 0.3s ease; display: flex; align-items: center; gap: 12px; font-family: 'Arial', sans-serif; } .arkhost-notification.show { transform: translateX(0); } .arkhost-notification.success { background: linear-gradient(135deg, #28a745 0%, #20c997 100%); } .arkhost-notification.error { background: linear-gradient(135deg, #dc3545 0%, #fd7e14 100%); } .arkhost-notification.warning { background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%); color: #212529; } .arkhost-notification.info { background: linear-gradient(135deg, #17a2b8 0%, #6f42c1 100%); } .arkhost-notification i { font-size: 20px; flex-shrink: 0; } .arkhost-notification .close-btn { margin-left: auto; background: none; border: none; color: inherit; font-size: 18px; cursor: pointer; padding: 0; opacity: 0.8; transition: opacity 0.2s ease; } .arkhost-notification .close-btn:hover { opacity: 1; } /* Custom Confirm Dialog */ .arkhost-confirm-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 10000; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: all 0.3s ease; } .arkhost-confirm-overlay.show { opacity: 1; visibility: visible; } .arkhost-confirm-dialog { background: white; border-radius: 12px; padding: 24px; max-width: 400px; width: 90%; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); transform: scale(0.8); transition: transform 0.3s ease; font-family: 'Arial', sans-serif; } .arkhost-confirm-overlay.show .arkhost-confirm-dialog { transform: scale(1); } .arkhost-confirm-title { font-size: 18px; font-weight: 600; color: #2c3e50; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; } .arkhost-confirm-message { color: #6c757d; margin-bottom: 20px; line-height: 1.5; } .arkhost-confirm-buttons { display: flex; gap: 12px; justify-content: flex-end; } .arkhost-confirm-btn { padding: 8px 16px; border: none; border-radius: 6px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; font-family: inherit; } .arkhost-confirm-btn.cancel { background: #6c757d; color: white; } .arkhost-confirm-btn.cancel:hover { background: #5a6268; } .arkhost-confirm-btn.confirm { background: #dc3545; color: white; } .arkhost-confirm-btn.confirm:hover { background: #c82333; }