You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1276 lines
24 KiB
1276 lines
24 KiB
:root{ |
|
--bg:#0b0f14; |
|
--card:#121825; |
|
--card-soft:rgba(18,24,37,.78); |
|
--text:#e8eefc; |
|
--muted:#aab6d6; |
|
--line:#24304a; |
|
--accent:#7aa2ff; |
|
--accent2:#62e6b7; |
|
--success:#4ade80; |
|
--warn:#fbbf24; |
|
--danger:#f87171; |
|
--radius:16px; |
|
--shadow:0 16px 40px rgba(0,0,0,.35); |
|
} |
|
|
|
*{box-sizing:border-box} |
|
html,body{height:100%} |
|
|
|
body{ |
|
margin:0; |
|
font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji","Segoe UI Emoji"; |
|
background: |
|
radial-gradient(1200px 600px at 20% 0%, rgba(122,162,255,.22), transparent 60%), |
|
radial-gradient(900px 500px at 90% 20%, rgba(98,230,183,.15), transparent 60%), |
|
linear-gradient(180deg, #081225 0%, #09172d 100%); |
|
color:var(--text); |
|
line-height:1.45; |
|
} |
|
|
|
a{color:inherit} |
|
|
|
/* ===== Shared container ===== */ |
|
.container{ |
|
max-width:1100px; |
|
margin:0 auto; |
|
padding:20px 18px; |
|
} |
|
|
|
/* ===== Header / branded nav ===== */ |
|
.header{width:100%} |
|
|
|
.nav{ |
|
display:flex; |
|
align-items:center; |
|
justify-content:space-between; |
|
gap:18px; |
|
padding:12px 0 22px 0; |
|
} |
|
|
|
.brand{ |
|
display:flex; |
|
align-items:center; |
|
gap:14px; |
|
text-decoration:none; |
|
} |
|
|
|
.brand img{ |
|
height:60px; |
|
width:auto; |
|
display:block; |
|
object-fit:contain; |
|
background: rgba(255,255,255,0.92); |
|
padding: 6px 12px; |
|
border-radius: 999px; |
|
box-shadow: 0 8px 24px rgba(0,0,0,0.35); |
|
} |
|
|
|
.title{ |
|
display:flex; |
|
flex-direction:column; |
|
line-height:1.1; |
|
} |
|
|
|
.title strong{letter-spacing:.2px} |
|
.title span{ |
|
color:var(--muted); |
|
font-size:13px; |
|
margin-top:2px; |
|
} |
|
|
|
.navlinks{ |
|
display:flex; |
|
gap:12px; |
|
flex-wrap:wrap; |
|
justify-content:flex-end; |
|
} |
|
|
|
.navlinks a{ |
|
text-decoration:none; |
|
padding:8px 10px; |
|
border-radius:12px; |
|
color:var(--muted); |
|
border:1px solid transparent; |
|
} |
|
|
|
.navlinks a:hover{ |
|
color:var(--text); |
|
border-color:rgba(255,255,255,.08); |
|
background:rgba(255,255,255,.03); |
|
} |
|
|
|
.navlinks a.active{ |
|
color:var(--text); |
|
border-color:rgba(255,255,255,.10); |
|
background:rgba(255,255,255,.04); |
|
} |
|
|
|
/* ===== Generic portal shell ===== */ |
|
.portal-shell{ |
|
max-width:1100px; |
|
margin:16px auto 28px auto; |
|
padding:0 18px 20px 18px; |
|
} |
|
|
|
.portal-card, |
|
.detail-card, |
|
.summary-card, |
|
.pay-card{ |
|
background: var(--card-soft); |
|
border: 1px solid rgba(255,255,255,.07); |
|
border-radius: var(--radius); |
|
box-shadow: var(--shadow); |
|
} |
|
|
|
.portal-card{ |
|
max-width:760px; |
|
margin:24px auto 12px auto; |
|
padding:22px; |
|
} |
|
|
|
.portal-page-header{ |
|
display:flex; |
|
align-items:flex-start; |
|
justify-content:space-between; |
|
gap:16px; |
|
flex-wrap:wrap; |
|
margin:6px 0 18px 0; |
|
} |
|
|
|
.portal-page-title{ |
|
margin:0; |
|
font-size:24px; |
|
line-height:1.1; |
|
} |
|
|
|
.portal-page-subtitle{ |
|
margin:8px 0 0 0; |
|
color:var(--muted); |
|
} |
|
|
|
.portal-client-name{ |
|
margin:8px 0 0 0; |
|
color:var(--text); |
|
font-size:15px; |
|
} |
|
|
|
.portal-toolbar{ |
|
display:flex; |
|
gap:10px; |
|
flex-wrap:wrap; |
|
align-items:center; |
|
} |
|
|
|
.portal-btn, |
|
.btn, |
|
.pay-btn, |
|
.quote-pick-btn{ |
|
display:inline-flex; |
|
align-items:center; |
|
justify-content:center; |
|
gap:8px; |
|
min-height:42px; |
|
padding:10px 14px; |
|
border-radius:12px; |
|
text-decoration:none; |
|
border:1px solid rgba(255,255,255,.10); |
|
background: rgba(255,255,255,.05); |
|
color:var(--text); |
|
font-weight:600; |
|
cursor:pointer; |
|
} |
|
|
|
.portal-btn:hover, |
|
.btn:hover, |
|
.pay-btn:hover, |
|
.quote-pick-btn:hover{ |
|
border-color:rgba(122,162,255,.45); |
|
box-shadow:0 0 0 4px rgba(122,162,255,.12); |
|
text-decoration:none; |
|
} |
|
|
|
.portal-btn.primary, |
|
.btn.primary{ |
|
background: linear-gradient(135deg, rgba(122,162,255,.95), rgba(98,230,183,.85)); |
|
border-color: transparent; |
|
color:#071017; |
|
font-weight:700; |
|
} |
|
|
|
.portal-btn.primary:hover, |
|
.btn.primary:hover{ |
|
box-shadow:0 0 0 4px rgba(98,230,183,.18); |
|
} |
|
|
|
/* ===== Login / forms ===== */ |
|
.portal-sub{ |
|
color:var(--muted); |
|
margin:0 0 16px 0; |
|
} |
|
|
|
.portal-form{ |
|
display:grid; |
|
gap:14px; |
|
} |
|
|
|
.portal-form label{ |
|
display:block; |
|
font-weight:600; |
|
margin-bottom:6px; |
|
} |
|
|
|
.portal-form input, |
|
.portal-form select, |
|
.pay-selector{ |
|
width:100%; |
|
padding:12px 14px; |
|
border-radius:12px; |
|
border:1px solid rgba(255,255,255,.14); |
|
background: rgba(255,255,255,.06); |
|
color:var(--text); |
|
box-sizing:border-box; |
|
outline:none; |
|
} |
|
|
|
.portal-form input:focus, |
|
.portal-form select:focus, |
|
.pay-selector:focus{ |
|
border-color:rgba(122,162,255,.65); |
|
box-shadow:0 0 0 4px rgba(122,162,255,.12); |
|
} |
|
|
|
.portal-actions{ |
|
display:flex; |
|
gap:10px; |
|
flex-wrap:wrap; |
|
margin-top:4px; |
|
} |
|
|
|
.portal-note{ |
|
margin-top:16px; |
|
color:var(--muted); |
|
font-size:14px; |
|
line-height:1.5; |
|
} |
|
|
|
.portal-msg, |
|
.error-box, |
|
.success-box{ |
|
margin-bottom:16px; |
|
padding:12px 14px; |
|
border-radius:12px; |
|
border:1px solid rgba(255,255,255,.16); |
|
background: rgba(255,255,255,.04); |
|
} |
|
|
|
.error-box{ |
|
border-color: rgba(239, 68, 68, 0.55); |
|
background: rgba(127, 29, 29, 0.22); |
|
color: #fecaca; |
|
} |
|
|
|
.success-box{ |
|
border-color: rgba(34, 197, 94, 0.55); |
|
background: rgba(22, 101, 52, 0.18); |
|
color: #dcfce7; |
|
} |
|
|
|
/* ===== Dashboard ===== */ |
|
.portal-wrap{ |
|
max-width:1100px; |
|
margin:0 auto; |
|
padding:0; |
|
} |
|
|
|
.summary-grid, |
|
.detail-grid{ |
|
display:grid; |
|
grid-template-columns: repeat(3, minmax(0, 1fr)); |
|
gap:14px; |
|
margin: 0 0 18px 0; |
|
} |
|
|
|
.summary-card, |
|
.detail-card{ |
|
padding:18px; |
|
} |
|
|
|
.summary-card h3, |
|
.detail-card h3{ |
|
margin:0 0 8px 0; |
|
font-size:14px; |
|
color:var(--muted); |
|
} |
|
|
|
.summary-card .summary-value, |
|
.detail-card .detail-value{ |
|
font-size:28px; |
|
font-weight:800; |
|
line-height:1.1; |
|
color:var(--text); |
|
} |
|
|
|
.summary-card .summary-sub{ |
|
margin-top:6px; |
|
font-size:12px; |
|
color:var(--muted); |
|
} |
|
|
|
.section-title{ |
|
margin:18px 0 10px 0; |
|
font-size:22px; |
|
} |
|
|
|
.table-card{ |
|
background: var(--card-soft); |
|
border: 1px solid rgba(255,255,255,.07); |
|
border-radius: var(--radius); |
|
box-shadow: var(--shadow); |
|
overflow:hidden; |
|
} |
|
|
|
/* ===== Tables ===== */ |
|
table, |
|
.portal-table, |
|
.quote-table{ |
|
width:100%; |
|
border-collapse: collapse; |
|
} |
|
|
|
table.portal-table th, |
|
table.portal-table td, |
|
.quote-table th, |
|
.quote-table td{ |
|
padding: 0.9rem 0.85rem; |
|
border-bottom: 1px solid rgba(255,255,255,0.10); |
|
text-align: left; |
|
vertical-align: middle; |
|
} |
|
|
|
table.portal-table th, |
|
.quote-table th{ |
|
background: rgba(255,255,255,.06); |
|
color: var(--text); |
|
font-size:13px; |
|
letter-spacing:.02em; |
|
} |
|
|
|
table.portal-table tr:hover td, |
|
.quote-table tr:hover td{ |
|
background: rgba(255,255,255,.02); |
|
} |
|
|
|
.invoice-link{ |
|
color: var(--text); |
|
text-decoration: none; |
|
font-weight: 700; |
|
} |
|
|
|
.invoice-link:hover{ |
|
color: var(--accent); |
|
text-decoration: underline; |
|
} |
|
|
|
/* ===== Badges ===== */ |
|
.status-badge, |
|
.quote-badge{ |
|
display: inline-block; |
|
padding: 0.22rem 0.62rem; |
|
border-radius: 999px; |
|
font-size: 0.82rem; |
|
font-weight: 700; |
|
} |
|
|
|
.status-paid{ background: rgba(34, 197, 94, 0.18); color: var(--success); } |
|
.status-pending{ background: rgba(245, 158, 11, 0.20); color: var(--warn); } |
|
.status-overdue{ background: rgba(239, 68, 68, 0.18); color: var(--danger); } |
|
.status-other{ background: rgba(148, 163, 184, 0.20); color: #cbd5e1; } |
|
|
|
.quote-live{ background: rgba(34, 197, 94, 0.18); color: var(--success); } |
|
.quote-stale{ background: rgba(239, 68, 68, 0.18); color: var(--danger); } |
|
|
|
/* ===== Payments / invoice detail ===== */ |
|
.pay-card{ |
|
padding:18px; |
|
margin-top: 1.25rem; |
|
} |
|
|
|
.pay-selector-row{ |
|
display:flex; |
|
gap:0.75rem; |
|
align-items:center; |
|
flex-wrap:wrap; |
|
margin-top:0.75rem; |
|
} |
|
|
|
.pay-panel{ |
|
margin-top: 1rem; |
|
padding: 1rem; |
|
border: 1px solid rgba(255,255,255,0.12); |
|
border-radius: 12px; |
|
background: rgba(255,255,255,0.02); |
|
} |
|
|
|
.pay-panel.hidden{ display:none; } |
|
|
|
.pay-btn-square { background:#16a34a; border-color:transparent; color:#fff; } |
|
.pay-btn-wallet { background:#2563eb; border-color:transparent; color:#fff; } |
|
.pay-btn-mobile { background:#7c3aed; border-color:transparent; color:#fff; } |
|
.pay-btn-copy { background:#374151; border-color:transparent; color:#fff; } |
|
|
|
.snapshot-wrap{ |
|
position: relative; |
|
margin-top: 1rem; |
|
border: 1px solid rgba(255,255,255,0.14); |
|
border-radius: 14px; |
|
padding: 1rem; |
|
background: rgba(255,255,255,0.02); |
|
} |
|
|
|
.snapshot-header{ |
|
display:flex; |
|
justify-content:space-between; |
|
gap:1rem; |
|
align-items:flex-start; |
|
} |
|
|
|
.snapshot-meta{ |
|
flex: 1 1 auto; |
|
min-width: 0; |
|
line-height: 1.65; |
|
} |
|
|
|
.snapshot-timer-box{ |
|
width: 220px; |
|
min-height: 132px; |
|
border: 1px solid rgba(255,255,255,0.16); |
|
border-radius: 14px; |
|
background: rgba(0,0,0,0.18); |
|
display:flex; |
|
flex-direction:column; |
|
justify-content:center; |
|
align-items:center; |
|
text-align:center; |
|
padding: 0.9rem; |
|
} |
|
|
|
.snapshot-timer-value{ |
|
font-size: 2rem; |
|
font-weight: 800; |
|
line-height: 1.1; |
|
} |
|
|
|
.snapshot-timer-label{ |
|
margin-top: 0.55rem; |
|
font-size: 0.95rem; |
|
opacity: 0.95; |
|
} |
|
|
|
.snapshot-timer-expired{ color: var(--danger); } |
|
|
|
.lock-box{ |
|
margin-top: 1rem; |
|
border: 1px solid rgba(34, 197, 94, 0.28); |
|
background: rgba(22, 101, 52, 0.16); |
|
border-radius: 12px; |
|
padding: 1rem; |
|
} |
|
|
|
.lock-box.expired{ |
|
border-color: rgba(239, 68, 68, 0.55); |
|
background: rgba(127, 29, 29, 0.22); |
|
} |
|
|
|
.lock-grid{ |
|
display:grid; |
|
grid-template-columns: 1fr 220px; |
|
gap:1rem; |
|
align-items:start; |
|
} |
|
|
|
.lock-code{ |
|
display:block; |
|
margin-top:0.35rem; |
|
padding:0.65rem 0.8rem; |
|
background: rgba(0,0,0,0.22); |
|
border-radius: 8px; |
|
overflow-wrap:anywhere; |
|
} |
|
|
|
.wallet-actions{ |
|
display:flex; |
|
gap:0.75rem; |
|
flex-wrap:wrap; |
|
margin-top:0.9rem; |
|
align-items:center; |
|
} |
|
|
|
.wallet-help{ |
|
margin-top: 0.85rem; |
|
padding: 0.9rem 1rem; |
|
border-radius: 10px; |
|
background: rgba(255,255,255,0.04); |
|
border: 1px solid rgba(255,255,255,0.10); |
|
} |
|
|
|
.wallet-help h4{ |
|
margin: 0 0 0.55rem 0; |
|
font-size: 1rem; |
|
} |
|
|
|
.wallet-help p{ margin: 0.35rem 0; } |
|
.wallet-note{ opacity:0.9; margin-top:0.65rem; } |
|
.mono{ font-family: monospace; } |
|
|
|
.copy-row{ |
|
display:flex; |
|
gap:0.5rem; |
|
flex-wrap:wrap; |
|
align-items:center; |
|
margin-top:0.65rem; |
|
} |
|
|
|
.copy-target{ |
|
flex: 1 1 420px; |
|
min-width: 220px; |
|
} |
|
|
|
.copy-status{ |
|
display:inline-block; |
|
margin-left: 0.5rem; |
|
opacity: 0.9; |
|
} |
|
|
|
/* ===== Footer ===== */ |
|
footer{ |
|
margin:28px auto 20px auto; |
|
max-width:1100px; |
|
padding:0 18px; |
|
color:var(--muted); |
|
font-size:13px; |
|
} |
|
|
|
/* ===== Responsive ===== */ |
|
@media (max-width: 900px){ |
|
.summary-grid, |
|
.detail-grid{ |
|
grid-template-columns:1fr; |
|
} |
|
|
|
.nav{ |
|
align-items:flex-start; |
|
flex-direction:column; |
|
} |
|
|
|
.navlinks{ |
|
justify-content:flex-start; |
|
} |
|
|
|
.brand img{ |
|
height:54px; |
|
} |
|
} |
|
|
|
@media (max-width: 820px){ |
|
.snapshot-header, |
|
.lock-grid{ |
|
grid-template-columns: 1fr; |
|
display:block; |
|
} |
|
|
|
.snapshot-timer-box{ |
|
width: 100%; |
|
margin-top: 1rem; |
|
min-height: 110px; |
|
} |
|
} |
|
|
|
|
|
/* ===== Fixed CAD / Oracle status bar ===== */ |
|
body{ |
|
padding-bottom: 56px; |
|
} |
|
|
|
.otb-statusbar{ |
|
position: fixed; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
z-index: 9999; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
min-height: 42px; |
|
padding: 8px 14px; |
|
background: rgba(8, 16, 32, 0.94); |
|
border-top: 1px solid rgba(255,255,255,.10); |
|
backdrop-filter: blur(8px); |
|
box-shadow: 0 -8px 24px rgba(0,0,0,.28); |
|
} |
|
|
|
.otb-statusbar-inner{ |
|
width: 100%; |
|
max-width: 1100px; |
|
display: flex; |
|
gap: 10px; |
|
align-items: center; |
|
justify-content: center; |
|
flex-wrap: wrap; |
|
text-align: center; |
|
color: var(--muted); |
|
font-size: 12px; |
|
line-height: 1.35; |
|
} |
|
|
|
.otb-statusbar strong{ |
|
color: var(--text); |
|
font-weight: 700; |
|
} |
|
|
|
.otb-statusbar a{ |
|
color: var(--accent2); |
|
text-decoration: none; |
|
font-weight: 600; |
|
} |
|
|
|
.otb-statusbar a:hover{ |
|
text-decoration: underline; |
|
} |
|
|
|
.otb-dot{ |
|
width: 6px; |
|
height: 6px; |
|
border-radius: 999px; |
|
display: inline-block; |
|
background: rgba(255,255,255,.25); |
|
flex: 0 0 auto; |
|
} |
|
|
|
/* ===== Payment method chips ===== */ |
|
.payment-method{ |
|
display: inline-flex; |
|
align-items: center; |
|
gap: 7px; |
|
margin-top: 7px; |
|
padding: 4px 9px; |
|
border-radius: 999px; |
|
background: rgba(255,255,255,.05); |
|
border: 1px solid rgba(255,255,255,.08); |
|
color: var(--muted); |
|
font-size: 11px; |
|
font-weight: 700; |
|
letter-spacing: .01em; |
|
} |
|
|
|
.payment-method::before{ |
|
content: ""; |
|
width: 8px; |
|
height: 8px; |
|
border-radius: 999px; |
|
display: inline-block; |
|
background: #7aa2ff; |
|
box-shadow: 0 0 0 3px rgba(255,255,255,.04); |
|
} |
|
|
|
.payment-square::before{ background: #7dd3fc; } |
|
.payment-etransfer::before{ background: #86efac; } |
|
.payment-etho::before{ background: #b084ff; } |
|
.payment-etica::before{ background: #4fd1c5; } |
|
.payment-alt::before{ background: #fbbf24; } |
|
.payment-cad::before{ background: #cbd5e1; } |
|
|
|
/* ===== Slightly stronger row hover ===== */ |
|
table.portal-table tbody tr:hover td, |
|
.quote-table tbody tr:hover td{ |
|
background: rgba(255,255,255,.035); |
|
transition: background .14s ease; |
|
} |
|
|
|
@media (max-width: 700px){ |
|
body{ |
|
padding-bottom: 72px; |
|
} |
|
|
|
.otb-statusbar-inner{ |
|
font-size: 11px; |
|
line-height: 1.25; |
|
} |
|
} |
|
|
|
|
|
@media (max-width: 900px){ |
|
.dropdown{ |
|
width:100%; |
|
} |
|
|
|
.dropdown-toggle{ |
|
width:100%; |
|
} |
|
|
|
.dropdown-menu{ |
|
position:static; |
|
right:auto; |
|
top:auto; |
|
min-width:100%; |
|
margin-top:6px; |
|
} |
|
} |
|
|
|
|
|
/* ===== Shared services dropdown ===== */ |
|
.navlinks{ |
|
display:flex; |
|
gap:12px; |
|
flex-wrap:wrap; |
|
justify-content:flex-end; |
|
align-items:center; |
|
} |
|
|
|
.dropdown{ |
|
position:relative; |
|
display:inline-block; |
|
} |
|
|
|
.dropdown-toggle{ |
|
display:inline-block; |
|
cursor:pointer; |
|
} |
|
|
|
.dropdown-menu{ |
|
position:absolute; |
|
top:calc(100% + 8px); |
|
right:0; |
|
min-width:220px; |
|
display:none; |
|
padding:10px; |
|
border-radius:14px; |
|
background:rgba(18,24,37,.98); |
|
border:1px solid rgba(255,255,255,.08); |
|
box-shadow:0 16px 40px rgba(0,0,0,.35); |
|
z-index:9999; |
|
} |
|
|
|
.dropdown:hover .dropdown-menu, |
|
.dropdown:focus-within .dropdown-menu{ |
|
display:block; |
|
} |
|
|
|
.dropdown-menu a{ |
|
display:block; |
|
padding:9px 10px; |
|
border-radius:10px; |
|
color:var(--muted); |
|
text-decoration:none; |
|
white-space:nowrap; |
|
margin:0; |
|
} |
|
|
|
.dropdown-menu a + a{ |
|
margin-top:4px; |
|
} |
|
|
|
.dropdown-menu a:hover{ |
|
color:var(--text); |
|
background:rgba(255,255,255,.04); |
|
} |
|
|
|
@media (max-width: 900px){ |
|
.dropdown{ |
|
width:100%; |
|
} |
|
|
|
.dropdown-toggle{ |
|
width:100%; |
|
} |
|
|
|
.dropdown-menu{ |
|
position:static; |
|
right:auto; |
|
top:auto; |
|
min-width:100%; |
|
margin-top:6px; |
|
} |
|
} |
|
|
|
|
|
/* ===== OTB shared branding ===== */ |
|
html[data-theme="dark"]{ |
|
--otb-bg:#081225; |
|
--otb-bg2:#09172d; |
|
--otb-text:#e8eefc; |
|
--otb-muted:#aab6d6; |
|
--otb-panel:rgba(18,24,37,.98); |
|
--otb-panel-soft:rgba(18,24,37,.78); |
|
--otb-line:rgba(255,255,255,.08); |
|
} |
|
|
|
html[data-theme="light"]{ |
|
--otb-bg:#f4f7fb; |
|
--otb-bg2:#eef3f9; |
|
--otb-text:#0f172a; |
|
--otb-muted:#475569; |
|
--otb-panel:rgba(255,255,255,.98); |
|
--otb-panel-soft:rgba(255,255,255,.88); |
|
--otb-line:rgba(15,23,42,.10); |
|
} |
|
|
|
body{ |
|
padding-bottom:56px; |
|
} |
|
|
|
.site-container{ |
|
max-width:1100px; |
|
margin:0 auto; |
|
padding:20px 18px 0 18px; |
|
} |
|
|
|
.site-header{ |
|
width:100%; |
|
} |
|
|
|
.site-nav{ |
|
display:flex; |
|
align-items:center; |
|
justify-content:space-between; |
|
gap:18px; |
|
padding:12px 0 22px 0; |
|
} |
|
|
|
.site-brand{ |
|
display:flex; |
|
align-items:center; |
|
gap:14px; |
|
text-decoration:none; |
|
color:inherit; |
|
} |
|
|
|
.site-brand img{ |
|
height:60px; |
|
width:auto; |
|
display:block; |
|
object-fit:contain; |
|
background:rgba(255,255,255,0.92); |
|
padding:6px 12px; |
|
border-radius:999px; |
|
box-shadow:0 8px 24px rgba(0,0,0,0.35); |
|
} |
|
|
|
.site-title{ |
|
display:flex; |
|
flex-direction:column; |
|
line-height:1.1; |
|
} |
|
|
|
.site-title strong{ |
|
letter-spacing:.2px; |
|
color:var(--otb-text); |
|
} |
|
|
|
.site-title span{ |
|
color:var(--otb-muted); |
|
font-size:13px; |
|
margin-top:2px; |
|
} |
|
|
|
.site-nav-right{ |
|
display:flex; |
|
align-items:center; |
|
gap:14px; |
|
flex-wrap:wrap; |
|
justify-content:flex-end; |
|
} |
|
|
|
.site-navlinks{ |
|
display:flex; |
|
gap:12px; |
|
flex-wrap:wrap; |
|
justify-content:flex-end; |
|
align-items:center; |
|
} |
|
|
|
.site-navlinks > a, |
|
.dropdown-toggle{ |
|
text-decoration:none; |
|
padding:8px 10px; |
|
border-radius:12px; |
|
color:var(--otb-muted); |
|
border:1px solid transparent; |
|
} |
|
|
|
.site-navlinks > a:hover, |
|
.dropdown-toggle:hover{ |
|
color:var(--otb-text); |
|
border-color:var(--otb-line); |
|
background:rgba(255,255,255,.03); |
|
} |
|
|
|
.dropdown{ |
|
position:relative; |
|
display:inline-block; |
|
} |
|
|
|
.dropdown-toggle{ |
|
display:inline-block; |
|
cursor:pointer; |
|
} |
|
|
|
.dropdown-menu{ |
|
position:absolute; |
|
top:calc(100% + 8px); |
|
right:0; |
|
min-width:220px; |
|
display:none; |
|
padding:10px; |
|
border-radius:14px; |
|
background:var(--otb-panel); |
|
border:1px solid var(--otb-line); |
|
box-shadow:0 16px 40px rgba(0,0,0,.35); |
|
z-index:9999; |
|
} |
|
|
|
.dropdown:hover .dropdown-menu, |
|
.dropdown:focus-within .dropdown-menu{ |
|
display:block; |
|
} |
|
|
|
.dropdown-menu a{ |
|
display:block; |
|
padding:9px 10px; |
|
border-radius:10px; |
|
color:var(--otb-muted); |
|
text-decoration:none; |
|
white-space:nowrap; |
|
margin:0; |
|
} |
|
|
|
.dropdown-menu a + a{ |
|
margin-top:4px; |
|
} |
|
|
|
.dropdown-menu a:hover{ |
|
color:var(--otb-text); |
|
background:rgba(255,255,255,.04); |
|
} |
|
|
|
.otb-theme-switch{ |
|
position:relative; |
|
display:inline-block; |
|
width:54px; |
|
height:30px; |
|
flex:0 0 auto; |
|
} |
|
|
|
.otb-theme-switch input{ |
|
opacity:0; |
|
width:0; |
|
height:0; |
|
} |
|
|
|
.otb-theme-slider{ |
|
position:absolute; |
|
inset:0; |
|
cursor:pointer; |
|
background:rgba(255,255,255,.10); |
|
border:1px solid var(--otb-line); |
|
transition:.2s; |
|
border-radius:999px; |
|
} |
|
|
|
.otb-theme-slider:before{ |
|
content:""; |
|
position:absolute; |
|
height:22px; |
|
width:22px; |
|
left:3px; |
|
top:3px; |
|
background:var(--otb-text); |
|
transition:.2s; |
|
border-radius:50%; |
|
} |
|
|
|
.otb-theme-switch input:checked + .otb-theme-slider:before{ |
|
transform:translateX(24px); |
|
} |
|
|
|
.otb-statusbar{ |
|
position:fixed; |
|
left:0; |
|
right:0; |
|
bottom:0; |
|
z-index:9999; |
|
display:flex; |
|
align-items:center; |
|
justify-content:center; |
|
min-height:42px; |
|
padding:8px 14px; |
|
background:var(--otb-panel); |
|
border-top:1px solid var(--otb-line); |
|
backdrop-filter:blur(8px); |
|
box-shadow:0 -8px 24px rgba(0,0,0,.28); |
|
} |
|
|
|
.otb-statusbar-inner{ |
|
width:100%; |
|
max-width:1100px; |
|
display:flex; |
|
gap:10px; |
|
align-items:center; |
|
justify-content:center; |
|
flex-wrap:wrap; |
|
text-align:center; |
|
color:var(--otb-muted); |
|
font-size:12px; |
|
line-height:1.35; |
|
} |
|
|
|
.otb-statusbar strong{ |
|
color:var(--otb-text); |
|
font-weight:700; |
|
} |
|
|
|
.otb-statusbar a{ |
|
color:#62e6b7; |
|
text-decoration:none; |
|
font-weight:600; |
|
} |
|
|
|
.otb-statusbar a:hover{ |
|
text-decoration:underline; |
|
} |
|
|
|
.otb-dot{ |
|
width:6px; |
|
height:6px; |
|
border-radius:999px; |
|
display:inline-block; |
|
background:rgba(255,255,255,.25); |
|
flex:0 0 auto; |
|
} |
|
|
|
@media (max-width: 900px){ |
|
.site-nav{ |
|
align-items:flex-start; |
|
flex-direction:column; |
|
} |
|
|
|
.site-nav-right{ |
|
width:100%; |
|
justify-content:space-between; |
|
} |
|
|
|
.site-navlinks{ |
|
justify-content:flex-start; |
|
} |
|
|
|
.dropdown{ |
|
width:100%; |
|
} |
|
|
|
.dropdown-toggle{ |
|
width:100%; |
|
} |
|
|
|
.dropdown-menu{ |
|
position:static; |
|
right:auto; |
|
top:auto; |
|
min-width:100%; |
|
margin-top:6px; |
|
} |
|
|
|
.site-brand img{ |
|
height:54px; |
|
} |
|
} |
|
|
|
@media (max-width: 700px){ |
|
body{ |
|
padding-bottom:72px; |
|
} |
|
|
|
.otb-statusbar-inner{ |
|
font-size:11px; |
|
line-height:1.25; |
|
} |
|
}.pay-selector { |
|
background: #0f172a !important; |
|
color: #e8eefc !important; |
|
border: 1px solid rgba(255,255,255,0.2) !important; |
|
} |
|
|
|
.pay-selector option { |
|
background: #0f172a; |
|
color: #e8eefc; |
|
} |
|
|
|
.pay-selector option:checked { |
|
background: #2563eb; |
|
color: #ffffff; |
|
} |
|
|
|
/* ===== final portal light-theme button normalization ===== */ |
|
|
|
body.light-theme .portal-btn, |
|
body.light-theme a.portal-btn, |
|
body.light-theme button.portal-btn, |
|
body.light-theme .btn, |
|
body.light-theme a.btn, |
|
body.light-theme button.btn { |
|
background: rgba(255,255,255,0.88); |
|
color: #10233f; |
|
border: 1px solid rgba(40,70,120,0.14); |
|
box-shadow: none; |
|
opacity: 1 !important; |
|
} |
|
|
|
body.light-theme .portal-btn:hover, |
|
body.light-theme a.portal-btn:hover, |
|
body.light-theme button.portal-btn:hover, |
|
body.light-theme .btn:hover, |
|
body.light-theme a.btn:hover, |
|
body.light-theme button.btn:hover { |
|
border-color: rgba(122,162,255,.45); |
|
box-shadow: 0 0 0 4px rgba(122,162,255,.10); |
|
text-decoration: none; |
|
} |
|
|
|
body.light-theme .portal-btn.primary, |
|
body.light-theme .btn.primary { |
|
background: linear-gradient(135deg, rgba(122,162,255,.95), rgba(98,230,183,.85)); |
|
border-color: transparent; |
|
color: #071017; |
|
} |
|
|
|
body.light-theme .portal-btn[disabled], |
|
body.light-theme button.portal-btn[disabled], |
|
body.light-theme .portal-btn.disabled, |
|
body.light-theme .btn[disabled], |
|
body.light-theme button.btn[disabled], |
|
body.light-theme .btn.disabled { |
|
opacity: 0.5 !important; |
|
} |
|
|
|
/* ===== portal button fix for actual OTB light theme selectors ===== */ |
|
|
|
html[data-theme="light"] .portal-btn, |
|
html[data-theme="light"] a.portal-btn, |
|
html[data-theme="light"] button.portal-btn, |
|
body.otb-light .portal-btn, |
|
body.otb-light a.portal-btn, |
|
body.otb-light button.portal-btn, |
|
html[data-theme="light"] .btn, |
|
html[data-theme="light"] a.btn, |
|
html[data-theme="light"] button.btn, |
|
body.otb-light .btn, |
|
body.otb-light a.btn, |
|
body.otb-light button.btn { |
|
background: rgba(255,255,255,0.88) !important; |
|
color: #10233f !important; |
|
border: 1px solid rgba(40,70,120,0.14) !important; |
|
box-shadow: none !important; |
|
opacity: 1 !important; |
|
} |
|
|
|
html[data-theme="light"] .portal-btn:hover, |
|
html[data-theme="light"] a.portal-btn:hover, |
|
html[data-theme="light"] button.portal-btn:hover, |
|
body.otb-light .portal-btn:hover, |
|
body.otb-light a.portal-btn:hover, |
|
body.otb-light button.portal-btn:hover, |
|
html[data-theme="light"] .btn:hover, |
|
html[data-theme="light"] a.btn:hover, |
|
html[data-theme="light"] button.btn:hover, |
|
body.otb-light .btn:hover, |
|
body.otb-light a.btn:hover, |
|
body.otb-light button.btn:hover { |
|
border-color: rgba(122,162,255,.45) !important; |
|
box-shadow: 0 0 0 4px rgba(122,162,255,.10) !important; |
|
text-decoration: none !important; |
|
} |
|
|
|
html[data-theme="light"] .portal-btn.primary, |
|
html[data-theme="light"] .btn.primary, |
|
body.otb-light .portal-btn.primary, |
|
body.otb-light .btn.primary { |
|
background: linear-gradient(135deg, rgba(122,162,255,.95), rgba(98,230,183,.85)) !important; |
|
border-color: transparent !important; |
|
color: #071017 !important; |
|
} |
|
|
|
html[data-theme="light"] .portal-btn[disabled], |
|
html[data-theme="light"] button.portal-btn[disabled], |
|
html[data-theme="light"] .portal-btn.disabled, |
|
html[data-theme="light"] .btn[disabled], |
|
html[data-theme="light"] button.btn[disabled], |
|
html[data-theme="light"] .btn.disabled, |
|
body.otb-light .portal-btn[disabled], |
|
body.otb-light button.portal-btn[disabled], |
|
body.otb-light .portal-btn.disabled, |
|
body.otb-light .btn[disabled], |
|
body.otb-light button.btn[disabled], |
|
body.otb-light .btn.disabled { |
|
opacity: 0.5 !important; |
|
} |
|
|
|
/* ===== portal button fix for actual OTB light theme selectors ===== */ |
|
|
|
html[data-theme="light"] .portal-btn, |
|
html[data-theme="light"] a.portal-btn, |
|
html[data-theme="light"] button.portal-btn, |
|
body.otb-light .portal-btn, |
|
body.otb-light a.portal-btn, |
|
body.otb-light button.portal-btn, |
|
html[data-theme="light"] .btn, |
|
html[data-theme="light"] a.btn, |
|
html[data-theme="light"] button.btn, |
|
body.otb-light .btn, |
|
body.otb-light a.btn, |
|
body.otb-light button.btn { |
|
background: rgba(255,255,255,0.88) !important; |
|
color: #10233f !important; |
|
border: 1px solid rgba(40,70,120,0.14) !important; |
|
box-shadow: none !important; |
|
opacity: 1 !important; |
|
} |
|
|
|
html[data-theme="light"] .portal-btn:hover, |
|
html[data-theme="light"] a.portal-btn:hover, |
|
html[data-theme="light"] button.portal-btn:hover, |
|
body.otb-light .portal-btn:hover, |
|
body.otb-light a.portal-btn:hover, |
|
body.otb-light button.portal-btn:hover, |
|
html[data-theme="light"] .btn:hover, |
|
html[data-theme="light"] a.btn:hover, |
|
html[data-theme="light"] button.btn:hover, |
|
body.otb-light .btn:hover, |
|
body.otb-light a.btn:hover, |
|
body.otb-light button.btn:hover { |
|
border-color: rgba(122,162,255,.45) !important; |
|
box-shadow: 0 0 0 4px rgba(122,162,255,.10) !important; |
|
text-decoration: none !important; |
|
} |
|
|
|
html[data-theme="light"] .portal-btn.primary, |
|
html[data-theme="light"] .btn.primary, |
|
body.otb-light .portal-btn.primary, |
|
body.otb-light .btn.primary { |
|
background: linear-gradient(135deg, rgba(122,162,255,.95), rgba(98,230,183,.85)) !important; |
|
border-color: transparent !important; |
|
color: #071017 !important; |
|
} |
|
|
|
html[data-theme="light"] .portal-btn[disabled], |
|
html[data-theme="light"] button.portal-btn[disabled], |
|
html[data-theme="light"] .portal-btn.disabled, |
|
html[data-theme="light"] .btn[disabled], |
|
html[data-theme="light"] button.btn[disabled], |
|
html[data-theme="light"] .btn.disabled, |
|
body.otb-light .portal-btn[disabled], |
|
body.otb-light button.portal-btn[disabled], |
|
body.otb-light .portal-btn.disabled, |
|
body.otb-light .btn[disabled], |
|
body.otb-light button.btn[disabled], |
|
body.otb-light .btn.disabled { |
|
opacity: 0.5 !important; |
|
}
|
|
|