
/* FoxNode Billing - Frontend UI */
.fnb-wrap{max-width:1100px;margin:0 auto;padding:0 16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;}
.fnb-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#0b1b33,#12264a);color:#fff;border-radius:22px;padding:22px 22px;box-shadow:0 16px 40px rgba(0,0,0,.12);}
.fnb-eyebrow{font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.fnb-title{margin:6px 0 0 0;font-size:28px;line-height:1.2;font-weight:900}
.fnb-sub{margin:8px 0 0 0;opacity:.9;max-width:65ch}
.fnb-grid{display:grid;gap:16px;margin-top:16px}
.fnb-grid--2{grid-template-columns:1.35fr 1fr}
@media(max-width:980px){.fnb-grid--2{grid-template-columns:1fr}.fnb-title{font-size:24px}}
.fnb-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:16px;box-shadow:0 12px 30px rgba(0,0,0,.06)}
.fnb-card--soft{background:#f9fafb}
.fnb-h3{margin:0 0 10px 0;font-size:16px;font-weight:900;color:#111827}
.fnb-muted{color:#6b7280;font-size:13px;margin:0}
.fnb-sep{height:1px;background:#eef0f3;margin:14px 0}
.fnb-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:720px){.fnb-formgrid{grid-template-columns:1fr}}
.fnb-label{display:block;font-size:13px;font-weight:700;color:#111827}
.fnb-input{width:100%;margin-top:6px;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;font-size:14px}
.fnb-input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.35)}
.fnb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;padding:10px 12px;font-weight:800;color:#111827;text-decoration:none;cursor:pointer}
.fnb-btn--primary{background:#0b1b33;color:#fff;border-color:#0b1b33}
.fnb-radio label{display:flex;gap:8px;align-items:center;margin:8px 0;font-size:14px}
.fnb-price{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fnb-price div{border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;background:#fff}
.fnb-price span{display:block;color:#6b7280;font-size:12px}
.fnb-price strong{display:block;font-size:18px;margin-top:2px}
.fnb-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.fnb-tabs a{padding:10px 12px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;text-decoration:none;color:#111827;font-weight:900}
.fnb-tabs a.is-active{background:#0b1b33;border-color:#0b1b33;color:#fff}
.fnb-portalhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.fnb-portalhead__actions{display:flex;gap:10px}
.fnb-alert{border-radius:16px;padding:12px 14px;margin:14px 0;border:1px solid}
.fnb-alert--success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.fnb-alert--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.fnb-alert--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.fnb-item{border:1px solid #eef0f3;border-radius:16px;padding:12px 12px;margin-top:12px;background:#fff}
.fnb-item__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.fnb-item__title{font-weight:900;color:#111827}
.fnb-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;border:1px solid #e5e7eb;background:#f9fafb;color:#111827}
.fnb-paybox{display:flex;gap:12px;margin-top:12px;align-items:stretch}
.fnb-paybox__left{flex:1;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb;padding:10px 12px}
.fnb-paybox__right img{width:120px;height:120px;object-fit:cover;border-radius:14px;border:1px solid #e5e7eb;background:#fff}
@media(max-width:720px){.fnb-paybox{flex-direction:column}.fnb-paybox__right img{width:100%;height:auto;max-width:220px}}
.fnb-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;word-break:break-all}
.fnb-proof{margin-top:12px;display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.fnb-proof .fnb-label{flex:1;min-width:240px}

.fnb-textarea{width:100%;margin-top:6px;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;font-size:14px;min-height:120px}

.fnb-cred{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
@media(max-width:720px){.fnb-cred{grid-template-columns:1fr}}
.fnb-cred div{border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;background:#f9fafb}
.fnb-cred span{display:block;color:#6b7280;font-size:12px}
.fnb-cred strong{display:block;color:#111827;font-weight:900;margin-top:2px}

.fnb-badge--success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.fnb-badge--warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.fnb-badge--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.fnb-badge--muted{background:#f3f4f6;border-color:#e5e7eb;color:#374151}

.fnb-chat{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.fnb-bubble{max-width:75%;padding:10px 12px;border-radius:16px;border:1px solid #e5e7eb;background:#fff}
.fnb-bubble.is-admin{align-self:flex-start;background:#eff6ff;border-color:#bfdbfe}
.fnb-bubble.is-me{align-self:flex-end;background:#ecfdf5;border-color:#a7f3d0}
.fnb-bubble__meta{margin-top:6px;color:#6b7280;font-size:11px}

.fnb-change{margin-top:10px}

.fnb-link{color:#0b1b33;font-weight:800;text-decoration:none}
.fnb-link:hover{text-decoration:underline}

.fnb-item__actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fnb-invdetail{padding:10px 12px;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb}

.fnb-table{width:100%;border-collapse:collapse}
.fnb-table th,.fnb-table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:14px}
.fnb-table th{font-weight:900}
.fnb-paybox{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
.fnb-paybox__left{flex:1;min-width:260px}
.fnb-paybox__right img{max-width:220px;border:1px solid #e5e7eb;border-radius:12px;padding:6px;background:#fff}
.fnb-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono','Courier New', monospace;font-size:13px;white-space:pre-wrap;word-break:break-word;border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#fff}
.fnb-cred{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fnb-cred div{border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#fff}
.fnb-cred span{display:block;color:#6b7280;font-size:12px}
.fnb-cred strong{display:block;font-size:14px}
@media(max-width:720px){.fnb-cred{grid-template-columns:1fr}}

.fnb-showpass{display:inline-block;margin-top:6px;font-weight:900}
.fnb-showpass.is-revealed{color:#111827}

.fnb-empty{border:1px dashed #e5e7eb;border-radius:16px;padding:14px;background:#fff}
.fnb-empty__title{font-weight:950;color:#111827}
.fnb-empty__sub{margin-top:6px;color:#6b7280;font-size:13px;line-height:1.4}

.fnb-alert--info{border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;border-radius:14px;padding:10px 12px}

/* Product page hero title contrast */
.fnb-hero .fnb-h1{color:#ffffff;}
.fnb-hero__desc{color:rgba(255,255,255,.88);}

/* Checkout primary button spacing */
.fnb-btn--spaced{margin-top:12px !important;display:inline-flex;}

/* Force hero title visible */
.fnb-hero .fnb-h1{color:#fff !important;}

/* Force product hero title high contrast (theme/cache proof) */
.fnb-hero h1,
.fnb-hero .fnb-h1,
.fnb-hero .fnb-hero__title,
.fnb-hero .fnb-title{color:#ffffff !important; text-shadow:0 2px 12px rgba(0,0,0,.45);} 
.fnb-hero{color:#ffffff !important;}


/* Portal spacing hard-override (theme proof) */
.fnb-portal .fnb-tabs{margin-bottom:18px !important;}
.fnb-portal .fnb-tabs + .fnb-card{margin-top:18px !important;}
.fnb-portal .fnb-tabs + .fnb-empty{margin-top:18px !important;}
/* If tabs are inside header wrapper */
.fnb-portalhead + .fnb-tabs{margin-top:12px !important;margin-bottom:18px !important;}
/* Guard for possible wrapper divs */
.fnb-tabs{margin-bottom:18px !important;}
.fnb-tabs + .fnb-card{margin-top:18px !important;}



/* Product page checkout embedded layout */
.fnb-checkout-wrap--embedded .fnb-checkout-grid{grid-template-columns:1fr !important;}
.fnb-checkout-wrap--embedded .fnb-checkout-summary{display:none !important;}
.fnb-checkout-wrap--embedded .fnb-checkout-form{max-width:100%;width:100%;}
.fnb-checkout-wrap--embedded .fnb-cycle-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width:640px){.fnb-checkout-wrap--embedded .fnb-cycle-options{grid-template-columns:1fr;}}
