.gsw-top{display:flex;align-items:center;gap:12px;padding:12px 24px;background:#fff;border-bottom:1px solid rgba(0,0,0,0.05);} .gsw-top img{height:40px;width:auto;display:block} .gsw-top .gsw-site-name{font-weight:700;font-size:1.1rem;color:#333} @media(max-width:480px){.gsw-top{padding:10px}.gsw-top img{height:32px}.gsw-top .gsw-site-name{font-size:1rem}} /* Header: two-row layout with left/right divs on top row */ .gsw-header{display:flex;flex-direction:column;align-items:stretch;padding:0;background:transparent;margin-bottom:18px;} /* Top row: contains left (logo/title) and right (login) divs as separate blocks */ #gsw-site .gsw-header-top{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:12px 20px;background:#0b3b6f !important;backdrop-filter:blur(6px);box-shadow:0 2px 6px rgba(0,0,0,0.18);width:100%;} /* Left div: logo + title, takes up available space */ #gsw-site .gsw-header-left{flex:1 1 auto;display:flex;align-items:center;font-weight:700;font-size:1.4rem;color:#fff;padding-left:8px;} /* Right div: login/logout button area, shrinks to content */ #gsw-site .gsw-header-right{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-right:8px;} .gsw-logo{height:48px;width:auto;margin-right:12px;display:block} .gsw-logo-link{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none} .gsw-header-left a{color:#fff;text-decoration:none;} /* Bottom row: centered navigation menu */ #gsw-site .gsw-header-bottom{display:flex;justify-content:center;padding:10px 20px;background:#0b3b6f !important;width:100%;} .gsw-header-nav{display:flex;gap:22px;align-items:center;} .gsw-nav-link{color:#fff;text-decoration:none;font-size:0.98rem;transition:opacity 0.2s;padding:6px 8px;border-radius:6px;} .gsw-nav-link:hover{opacity:0.9;text-decoration:underline;background:rgba(255,255,255,0.03);} /* My Account link styling - larger font in middle of menu */ .gsw-nav-link-myaccount{font-size:1.15rem;font-weight:600;padding:6px 12px;} .gsw-user-info{color:#fff;font-size:0.95rem;margin-right:8px;} /* Login/Logout button with gradient */ #gsw-site .gsw-header-btn, #gsw-site a.gsw-header-btn{padding:10px 18px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%) !important;color:#fff !important;border-radius:8px;text-decoration:none;font-weight:700;transition:transform 0.2s;border:none;display:inline-block;cursor:pointer;} #gsw-site .gsw-header-btn:hover, #gsw-site a.gsw-header-btn:hover{transform:translateY(-2px);text-decoration:none;color:#fff !important;} @media(max-width:768px){ .gsw-header{flex-direction:column;gap:12px;} .gsw-header-nav{flex-wrap:wrap;justify-content:center;} } /* Banner styling (index only) */ .gsw-banner{width:100%;text-align:center;margin-bottom:18px} .gsw-banner img{max-width:100%;height:auto;display:inline-block} /* Footer styles: ultra-specific to override any theme CSS */ html body #gsw-site footer.gsw-footer{background:#0b3b6f !important;color:#fff;padding:18px 12px;text-align:center;margin-top:28px;} #gsw-site footer.gsw-footer a{color:#cfe6ff;text-decoration:none;} #gsw-site footer.gsw-footer a:hover{text-decoration:underline;} /* Page color scheme: prefer dark text on light backgrounds by default */ /* Dark site theme: dark background with light text */ body { color: #fff; background: #0b1020; } /* Make links readable on dark background */ a { color: #7fb3ff; } /* But override for styled buttons/links inside our site wrapper */ #gsw-site a.gsw-btn, #gsw-site a.gsw-btn-secondary, #gsw-site a.gsw-header-btn, #gsw-site .gsw-nav-link{color:#fff !important;} /* Form inputs: light text on darker inputs by default */ input, textarea, select, button { color: #fff; background: #11141f; border: 1px solid rgba(255,255,255,0.06); } .cart-badge{display:inline-block;background:#ff3b30;color:#fff;font-size:0.8rem;padding:2px 6px;border-radius:12px;margin-left:6px;vertical-align:middle} .site-panel{width:100%; max-width:1000px; margin:auto; padding:1rem; background:rgba(0,0,0,0.25); border-radius:0.75rem;} .site-panel-title{font-size:1.5rem; font-weight:bold; color:#fff; margin-bottom:1.5rem; text-align:center} .cart-table{border-collapse:separate; border-spacing:0; width:100%; color:#fff} .cart-table thead{background:rgba(255,255,255,0.03)} .cart-table th, .cart-table td{padding:1rem 1.5rem; text-align:left; border-bottom:1px solid rgba(255,255,255,0.03)} .cart-total-row{background:transparent; font-weight:bold} .cart-total-label{padding:1rem 1.5rem; text-align:right; border-top:2px solid rgba(255,255,255,0.06); font-weight:600; color:#fff} .cart-total-value{padding:1rem 1.5rem; text-align:left; border-top:2px solid rgba(255,255,255,0.06); font-weight:600; color:#fff; font-size:1.1rem} /* Utility classes */ .container-wide{width:100%; max-width:1000px; margin:28px auto;} .panel{background:rgba(0,0,0,0.25); padding:16px; border-radius:8px} .muted{color:rgba(255,255,255,0.6)} .center{text-align:center} .pad-40{padding:40px} .btn-danger{background:#ef4444;color:#fff;border:none;padding:6px 10px;border-radius:6px} .btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:8px 14px;border-radius:8px;font-weight:700} /* Primary gradient button for links and buttons */ #gsw-site .gsw-btn, #gsw-site a.gsw-btn, #gsw-site button.gsw-btn{display:inline-block;padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%) !important;color:#fff !important;text-decoration:none;border-radius:8px;font-weight:600;transition:transform 0.2s;border:none;cursor:pointer;} #gsw-site .gsw-btn:hover, #gsw-site a.gsw-btn:hover, #gsw-site button.gsw-btn:hover{transform:translateY(-2px);color:#fff !important;text-decoration:none;} /* Renew button: slightly smaller but matching gradient, used on My Account cards */ #gsw-site .renew-btn, #gsw-site a.renew-btn, #gsw-site button.renew-btn{ display:inline-block; padding:8px 14px; background:linear-gradient(135deg,#f59e0b 0%,#ef4444 100%) !important; color:#fff !important; text-decoration:none; border-radius:8px; font-weight:700; transition:transform 0.12s; border:none; cursor:pointer; } #gsw-site .renew-btn:hover, #gsw-site a.renew-btn:hover, #gsw-site button.renew-btn:hover{transform:translateY(-2px);} #gsw-site .gsw-btn-secondary, #gsw-site a.gsw-btn-secondary{display:inline-block;padding:10px 16px;background:rgba(255,255,255,0.06);color:#fff !important;text-decoration:none;border-radius:8px;border:1px solid rgba(255,255,255,0.06);cursor:pointer;} #gsw-site .gsw-btn-secondary:hover, #gsw-site a.gsw-btn-secondary:hover{color:#fff !important;text-decoration:none;} .float-left{float:left} .clearfix::after{content:"";display:table;clear:both} .table-compact th,.table-compact td{padding:0.5rem} /* Small spacing utilities used by a few pages */ .mb-18{margin-bottom:18px} .mt-6{margin-top:6px} .mt-12{margin-top:12px} /* Padding helper used where a wider card/panel is desired */ .p-30-20{padding:30px 20px} /* Decorative container used in a few places */ .decorative-bottom{border:4px solid transparent;border-bottom:25px solid transparent} /* Inline form helper (used for small inline forms inside table cells) */ .inline-form{margin:0;display:inline} /* Small square button (used for delete icons) */ .btn-square{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;font-weight:bold;border-radius:0.25rem;border:none} .text-right{text-align:right} .text-danger{color:#ef4444} .text-center{text-align:center} /* small helpers for admin server list inputs */ .min-w-260{min-width:260px} .min-w-240{min-width:240px} .w-90{width:90px} .img-preview{max-height:48px; max-width:120px; border:1px solid #eee; display:block} .loc-label{border:1px solid #eee;border-radius:6px;padding:6px 8px; display:inline-flex; align-items:center} .small-muted{color:#777;font-size:12px;margin-top:2px} /* PayPal status */ .pp-status{margin-top:12px;font:14px system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif} /* AI UI helpers */ .ai-container{max-width:760px; margin:20px auto; font-family:Arial, sans-serif} .ai-panel{margin:10px 0; padding:8px; border-radius:6px} .ai-alert{margin:10px 0; padding:8px; border-radius:6px; border:1px solid #c00} .ai-textarea{width:100%; padding:6px} .ai-message{margin-top:16px; padding:10px; border:1px solid #ccc; border-radius:8px} .ai-msg-title{font-weight:bold} .ai-msg-meta{margin-top:6px; font-size:12px} .flex-gap-wrap{display:flex;flex-wrap:wrap;gap:10px} .table-center{text-align:center;width:100%;border-collapse:collapse} .tb-row-bottom{border-bottom:1px solid #f0f0f0;padding:8px 6px;text-align:left} .locs-box{display:flex;flex-wrap:wrap;gap:8px} .mb-12{margin-bottom:12px} .mt-10{margin-top:10px} .mt-14{margin-top:14px} .mt-20{margin-top:20px} .mt-8{margin-top:8px} .btn-small{padding:3px 8px;font-size:12px} .mr-6{margin-right:6px} .ml-8{margin-left:8px} .flex-row-gap{display:flex;gap:8px;align-items:center} /* Account page styles */ .account-container{max-width:1000px;margin:20px auto;padding:20px} .account-section{background:rgba(0,0,0,0.25);padding:20px;border-radius:8px;margin-bottom:20px} .account-section h2{margin:0 0 15px 0;font-size:1.3rem;color:#fff;border-bottom:2px solid rgba(255,255,255,0.1);padding-bottom:10px} .account-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px} .account-info-item{padding:10px;background:rgba(255,255,255,0.03);border-radius:6px} .account-info-label{font-weight:600;color:rgba(255,255,255,0.7);font-size:0.9rem;margin-bottom:5px} .account-info-value{color:#fff;font-size:1rem} .account-edit-summary{cursor:pointer;color:#667eea;font-weight:600;margin-top:10px} /* Form styles */ .form-group{margin-bottom:15px} .form-group label{display:block;margin-bottom:5px;color:#fff;font-weight:500} .form-group input{width:100%;padding:10px;border:1px solid rgba(255,255,255,0.1);border-radius:6px;background:rgba(0,0,0,0.3);color:#fff} /* Alert messages */ .alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:0.95rem} .alert-error{background-color:rgba(255,0,0,0.2);border:1px solid rgba(255,0,0,0.3);color:#ffcccc} .alert-success{background-color:rgba(0,255,0,0.2);border:1px solid rgba(0,255,0,0.3);color:#ccffcc} /* Server item cards */ .server-item{background:rgba(255,255,255,0.03);padding:15px;border-radius:6px;margin-bottom:10px;border-left:3px solid #667eea} .server-name{font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:8px} .server-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:10px} .server-detail{font-size:0.9rem} .server-detail-label{color:rgba(255,255,255,0.6)} .server-detail-value{color:#fff;font-weight:500} /* Invoice items */ .invoice-item{background:rgba(255,255,255,0.03);padding:12px 15px;border-radius:6px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center} .invoice-id{font-weight:600;color:#fff} .invoice-amount{color:#10b981;font-weight:600} .invoice-status{padding:4px 10px;border-radius:4px;font-size:0.85rem;font-weight:600} .invoice-status-paid{background:rgba(16,185,129,0.2);color:#10b981} .invoice-status-pending{background:rgba(245,158,11,0.2);color:#f59e0b} .invoice-status-expired{background:rgba(239,68,68,0.2);color:#ef4444} .invoice-date{color:rgba(255,255,255,0.6);font-size:0.9rem} /* Login placeholder for non-logged-in users */ .login-placeholder{padding:12px;background:rgba(255,255,255,0.03);border-radius:8px;color:#fff} .login-placeholder a{color:#cfe6ff;text-decoration:underline} /* No data state */ .no-data{text-align:center;padding:30px;color:rgba(255,255,255,0.6)} /* Service description text */ .service-desc{color:gray;width:230px} .service-desc-wide{color:gray;width:280px} .service-textarea{resize:none;width:230px;height:132px} /* Admin helpers */ .admin-note{font-size:11px;color:#666;margin-top:4px} .admin-flex-wrap{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px} @media (max-width:768px){ .account-info-grid{grid-template-columns:1fr} } /* Responsive improvements for mobile devices */ @media (max-width: 600px) { /* Stack header top and make logo smaller */ #gsw-site .gsw-header-top{flex-direction:column;align-items:flex-start;padding:10px 12px} #gsw-site .gsw-header-left{width:100%;justify-content:flex-start;padding-left:4px} .gsw-logo{height:40px} .gsw-site-name{font-size:1rem} /* Make header right area flow beneath the logo */ #gsw-site .gsw-header-right{width:100%;margin-top:8px;justify-content:flex-start;padding-right:4px;gap:8px} /* Navigation: wrap and stack for easier tapping */ #gsw-site .gsw-header-bottom{padding:8px 12px} .gsw-header-nav{flex-direction:column;align-items:stretch;gap:10px;width:100%} .gsw-nav-link{display:block;padding:12px 10px;border-radius:8px} .gsw-nav-link-myaccount{font-size:1rem} /* Make main panel use full width with reduced padding */ .site-panel{padding:0.75rem;margin:8px;border-radius:0.5rem} /* Tables and cart spacing adjustments */ .cart-table th, .cart-table td{padding:0.6rem 0.8rem} /* Buttons become full-width for easier tapping on small screens */ #gsw-site .gsw-btn, #gsw-site a.gsw-btn, #gsw-site button.gsw-btn, #gsw-site .gsw-header-btn{ width:100%;display:block;text-align:center;padding:12px;border-radius:10px } /* Server cards: stack details and move actions below */ .server-details{grid-template-columns:1fr} .server-actions{margin-top:12px;display:block} .server-item{padding:12px} /* Forms: make inputs and action buttons full width */ .form-group input, .form-group textarea, .form-group select{width:100%;box-sizing:border-box} /* Invoice items: stack label and amount for readability */ .invoice-item{flex-direction:column;align-items:flex-start;gap:8px} .invoice-amount{font-size:1rem} } @media (max-width:420px){ /* Extra small devices: tighten spacing, smaller fonts */ .gsw-logo{height:34px} .gsw-site-name{font-size:0.95rem} .site-panel-title{font-size:1.25rem} .server-name{font-size:1rem} .account-section h2{font-size:1.1rem} /* Reduce large paddings that consume screen real estate */ .panel{padding:10px} .form-group{margin-bottom:12px} .btn-primary, .btn-small{padding:10px} } /* Server status and utility classes */ #gsw-site .text-success { color: #10b981 !important; font-weight: 600 !important; } #gsw-site .text-danger { color: #ef4444 !important; font-weight: 600 !important; } #gsw-site .text-muted { color: rgba(255,255,255,0.7) !important; } #gsw-site .text-center { text-align: center !important; } #gsw-site .mb-20 { margin-bottom: 20px !important; } #gsw-site .server-notes { padding-left: 40px !important; font-size: 0.9rem !important; color: rgba(255,255,255,0.7) !important; } /* Status badges */ #gsw-site .status-badge { display: inline-block; padding: 4px 12px; border-radius: 12px; font-size: 0.85rem; font-weight: 600; text-transform: uppercase; } #gsw-site .status-online { background-color: rgba(16, 185, 129, 0.2); color: #10b981; } #gsw-site .status-offline { background-color: rgba(239, 68, 68, 0.2); color: #ef4444; } #gsw-site .status-maintenance { background-color: rgba(251, 191, 36, 0.2); color: #fbbf24; } #gsw-site .status-unknown { background-color: rgba(156, 163, 175, 0.2); color: #9ca3af; } /* Form radio labels in renewal page */ #gsw-site .form-group label { display: block; margin-bottom: 10px; cursor: pointer; padding: 12px; border: 2px solid #e1e8ed; border-radius: 8px; background: rgba(255,255,255,0.05); transition: background 0.2s ease; } #gsw-site .form-group label:hover { background: rgba(255,255,255,0.1); } /* Ensure header-right sits flush to the far right */ #gsw-site .gsw-header-top .gsw-header-right{margin-left:auto} /* User dropdown menu (small, CSS-only). Uses :focus-within and :hover for accessibility */ .gsw-user-menu{position:relative;display:inline-block} .gsw-user-link{color:#fff;text-decoration:none;font-weight:600;padding:8px 12px;display:inline-block} .gsw-user-caret{margin-left:6px;font-size:0.85rem;opacity:0.85} .gsw-user-dropdown{display:none;position:absolute;right:0;top:calc(100% + 8px);background:rgba(255,255,255,0.06);backdrop-filter:blur(6px);border-radius:8px;padding:8px;min-width:160px;box-shadow:0 8px 24px rgba(0,0,0,0.35);z-index:60} .gsw-user-dropdown-item{display:block;color:#fff;text-decoration:none;padding:8px 10px;border-radius:6px;margin:2px 0} .gsw-user-dropdown-item:hover{background:rgba(255,255,255,0.03)} .gsw-user-menu:hover .gsw-user-dropdown, .gsw-user-menu:focus-within .gsw-user-dropdown{display:block} /* Mobile: make dropdown inline under header and full-width */ @media (max-width:600px){ .gsw-user-dropdown{position:static;top:auto;right:auto;margin-top:8px;background:rgba(255,255,255,0.03);width:100%;box-shadow:none;padding:6px} .gsw-user-menu{width:100%} .gsw-user-link{width:100%;display:flex;justify-content:space-between;padding:12px} } /* Prevent serverlist images from overflowing on small screens */ #gsw-site .server-item img, #gsw-site .game-thumb, #gsw-site .server-card img, .server-list img{max-width:100%;height:auto;display:block;object-fit:cover}