.nexabill-wrap { max-width: 1000px; margin: 0 auto; font-family: -apple-system, Segoe UI, Roboto, sans-serif; }
.nexabill-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; margin-top: 20px; }
.nexabill-card { border: 1px solid #e2e2e2; border-radius: 10px; padding: 20px; text-align: center; box-shadow: 0 2px 6px rgba(0,0,0,.04); }
.nexabill-card h3 { margin-top: 0; }
.nexabill-price { font-size: 28px; font-weight: 700; margin: 12px 0; color: #2b2f77; }
.nexabill-price span { font-size: 14px; font-weight: 400; color: #777; }
.nexabill-btn { background: #4a4bff; color: #fff; border: none; padding: 10px 18px; border-radius: 6px; cursor: pointer; font-size: 14px; }
.nexabill-btn:hover { background: #3a3be0; }
.nexabill-tabs { display: flex; gap: 6px; border-bottom: 2px solid #eee; margin-bottom: 20px; flex-wrap: wrap; }
.nexabill-tabs a { padding: 10px 16px; text-decoration: none; color: #555; border-bottom: 2px solid transparent; }
.nexabill-tabs a.active { color: #4a4bff; border-color: #4a4bff; font-weight: 600; }
.nexabill-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.nexabill-table th, .nexabill-table td { text-align: left; padding: 10px; border-bottom: 1px solid #eee; }
.nexabill-badge { padding: 3px 10px; border-radius: 12px; font-size: 12px; color: #fff; background: #999; }
.nexabill-badge-active, .nexabill-badge-paid { background: #2ecc71; }
.nexabill-badge-pending, .nexabill-badge-unpaid { background: #f39c12; }
.nexabill-badge-overdue, .nexabill-badge-suspended { background: #e74c3c; }
.nexabill-badge-open { background: #3498db; }
.nexabill-badge-answered { background: #9b59b6; }
.nexabill-summary-boxes { display: flex; gap: 16px; margin-top: 16px; }
.nexabill-summary-boxes .box { flex: 1; border: 1px solid #eee; border-radius: 8px; padding: 20px; text-align: center; }
.nexabill-summary-boxes .box strong { display: block; font-size: 26px; color: #4a4bff; }
.nexabill-summary-boxes .box-warning strong { color: #e74c3c; }
.nexabill-auth-cols { display: flex; gap: 30px; flex-wrap: wrap; }
.nexabill-auth-cols > div { flex: 1; min-width: 260px; border: 1px solid #eee; padding: 20px; border-radius: 8px; }
.nexabill-auth-cols input, .nexabill-cart select, #nexabill-coupon, .nexabill-tab-content textarea, .nexabill-tab-content select, .nexabill-tab-content input[type=text] {
    display: block; width: 100%; padding: 9px; margin: 8px 0; border: 1px solid #ccc; border-radius: 6px; box-sizing: border-box;
}
.nexabill-msg { margin-top: 10px; font-size: 14px; }
.nexabill-ticket-thread { margin: 16px 0; }
.nexabill-reply { padding: 12px; border-radius: 8px; margin-bottom: 10px; background: #f7f7fb; }
.nexabill-reply-admin { background: #eef3ff; }
.nexabill-reply-date { color: #999; font-size: 12px; margin-left: 8px; }
