301 lines
13 KiB
CSS
301 lines
13 KiB
CSS
.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-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}
|
|
}
|
|
|
|
/* 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);
|
|
}
|
|
|