.tsb-table-wrap{--tsb-radius:10px;--tsb-border-color:#e5e5e5;--tsb-border-width:1px;--tsb-alt-row:#f9f9fb;--tsb-row-pad:12px;--tsb-col-pad:14px;--tsb-font:inherit;--tsb-grad-1:#014A82;--tsb-grad-2:#0269B8;
	font-family:var(--tsb-font);border-radius:var(--tsb-radius);overflow:hidden;border:var(--tsb-border-width) solid var(--tsb-border-color);background:#fff;position:relative;box-sizing:border-box;}
.tsb-table-wrap *{box-sizing:border-box;}
.tsb-table-wrap.tsb-has-shadow{box-shadow:0 10px 30px rgba(0,0,0,.08);}
.tsb-table-wrap.tsb-glass{background:rgba(255,255,255,.55);backdrop-filter:blur(10px);}
.tsb-table-wrap.tsb-theme-dark{background:#0F1A24;border-color:#1C2F3F;color:#EAF2FA;}
.tsb-table-wrap.tsb-theme-dark .tsb-td,.tsb-table-wrap.tsb-theme-dark .tsb-th{border-color:#1C2F3F;}

.tsb-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;flex-wrap:wrap;}
.tsb-search-input{padding:8px 12px;border:1px solid var(--tsb-border-color);border-radius:8px;min-width:220px;font-size:14px;}
.tsb-price-toggle{display:inline-flex;border:1px solid var(--tsb-border-color);border-radius:999px;padding:3px;}
.tsb-toggle-btn{border:0;background:transparent;padding:6px 16px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;color:inherit;}
.tsb-toggle-btn.is-active{background:linear-gradient(90deg,var(--tsb-grad-1),var(--tsb-grad-2));color:#fff;}

.tsb-scroll-region{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tsb-table{width:100%;border-collapse:collapse;min-width:600px;}
.tsb-table thead th{background:linear-gradient(90deg,var(--tsb-grad-1),var(--tsb-grad-2));color:#fff;padding:var(--tsb-col-pad) var(--tsb-row-pad);font-size:14px;font-weight:700;white-space:nowrap;position:relative;}
.tsb-sticky-header thead th{position:sticky;top:0;z-index:3;}
.tsb-table td.tsb-td,.tsb-table th.tsb-section-header{padding:var(--tsb-row-pad) var(--tsb-col-pad);border-bottom:1px solid var(--tsb-border-color);font-size:14px;}
.tsb-row:nth-child(even) .tsb-td{background:var(--tsb-alt-row);}
.tsb-theme-dark .tsb-row:nth-child(even) .tsb-td{background:#13202C;}
.tsb-row-section .tsb-section-header{background:linear-gradient(90deg,#013A5E,#0269B8);color:#fff;font-weight:700;text-align:left;letter-spacing:.02em;}
.tsb-row:hover .tsb-td{filter:brightness(0.98);}
.tsb-sticky-firstcol .tsb-sticky-col{position:sticky;left:0;z-index:2;background:#fff;}
.tsb-theme-dark.tsb-sticky-firstcol .tsb-sticky-col{background:#0F1A24;}
.tsb-featured-col{background:rgba(124,31,87,.06)!important;position:relative;}
.tsb-ribbon{position:absolute;top:-6px;left:50%;transform:translateX(-50%);background:#ffb400;color:#3b1d00;font-size:10px;font-weight:800;padding:2px 10px;border-radius:999px;white-space:nowrap;}

.tsb-price-header-row .tsb-price-header-cell{background:#fff;padding:14px 10px;vertical-align:top;}
.tsb-theme-dark .tsb-price-header-row .tsb-price-header-cell{background:#0F1A24;}
.tsb-price-box{display:inline-flex;flex-direction:column;align-items:center;gap:2px;background:linear-gradient(160deg,var(--tsb-grad-1),var(--tsb-grad-2));color:#fff;border-radius:8px;padding:10px 14px;min-width:110px;}
.tsb-price-box-label{font-size:10px;opacity:.85;font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
.tsb-price-box-amount{font-size:15px;font-weight:800;white-space:nowrap;}
.tsb-price-box-period{font-size:11px;font-weight:500;opacity:.85;}
.tsb-header-note{display:block;font-size:12px;line-height:1.5;opacity:.75;text-align:left;font-weight:400;}

.tsb-icon{font-size:16px;line-height:1;}
.tsb-icon-check{color:#1e9e5a;}
.tsb-icon-cross{color:#d43f3f;}
.tsb-icon-warning{color:#e0a100;}
.tsb-badge{display:inline-block;padding:3px 10px;border-radius:999px;color:#fff;font-size:12px;font-weight:700;}
.tsb-label{display:inline-block;padding:2px 8px;border-radius:5px;background:#eee;font-size:12px;}
.tsb-btn{display:inline-block;padding:8px 18px;border-radius:8px;background:linear-gradient(90deg,var(--tsb-grad-1),var(--tsb-grad-2));color:#fff!important;text-decoration:none;font-weight:700;font-size:13px;}
.tsb-btn:hover{opacity:.9;}
.tsb-price-block{display:flex;flex-direction:column;align-items:center;line-height:1.2;}
.tsb-price-old{text-decoration:line-through;opacity:.5;font-size:12px;}
.tsb-price-now{font-size:20px;font-weight:800;}
.tsb-price-period{font-size:11px;opacity:.7;}
.tsb-rating .tsb-star{color:#ddd;}
.tsb-rating .tsb-star-full{color:#ffb400;}
[data-tsb-tooltip]{position:relative;cursor:help;border-bottom:1px dotted currentColor;}
[data-tsb-tooltip]:hover::after{content:attr(data-tsb-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#222;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:10;}

.tsb-pagination{display:flex;gap:6px;justify-content:center;padding:14px;flex-wrap:wrap;}
.tsb-pagination button{border:1px solid var(--tsb-border-color);background:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;}
.tsb-pagination button.is-active{background:var(--tsb-grad-2);color:#fff;border-color:var(--tsb-grad-2);}
mark.tsb-highlight{background:#fff3a3;padding:0 2px;border-radius:3px;}

/* ============ CARD LAYOUT (independent plan cards, not a shared table) ============ */
.tsb-cards-wrap{
	--tsb-radius:10px;--tsb-border-color:#e5e5e5;--tsb-grad-1:#014A82;--tsb-grad-2:#0269B8;--tsb-font:inherit;
	--tsb-btn-bg:#0269B8;--tsb-btn-text:#ffffff;--tsb-check-color:#1e9e5a;--tsb-card-bg:#ffffff;
	--tsb-card-footer-bg:#013A5E;--tsb-card-pad:16px;--tsb-btn-spacing:16px;
	font-family:var(--tsb-font);
}
.tsb-cards-wrap *{box-sizing:border-box;}
.tsb-cards-tabbar{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:0;}
.tsb-cards-tab{border:0;padding:14px 22px;background:#0B2A42;color:#BFD9EC;font-size:13px;font-weight:600;cursor:pointer;border-radius:10px 10px 0 0;}
.tsb-cards-tab.is-active{background:linear-gradient(90deg,var(--tsb-grad-1),var(--tsb-grad-2));color:#fff;}
.tsb-cards-panel{background:var(--tsb-card-bg);padding:28px 24px;border-radius:0 12px 12px 12px;}
.tsb-cards-wrap.tsb-theme-dark .tsb-cards-panel{background:#0A121C;}
.tsb-cards-title{text-align:center;font-size:24px;font-weight:800;margin:0 0 22px;position:relative;padding-bottom:12px;}
.tsb-cards-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--tsb-grad-1),var(--tsb-grad-2));}
.tsb-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;align-items:start;}
.tsb-plan-card{border:1px solid var(--tsb-border-color);border-radius:var(--tsb-radius);overflow:hidden;background:var(--tsb-card-bg);box-shadow:0 6px 20px rgba(2,20,35,.08);position:relative;display:flex;flex-direction:column;}
.tsb-cards-wrap.tsb-theme-dark .tsb-plan-card{background:#0F1A24;border-color:#1C2F3F;color:#EAF2FA;}
.tsb-plan-card-featured{box-shadow:0 12px 32px rgba(2,105,184,.25);transform:translateY(-6px);border-color:var(--tsb-grad-2);}
.tsb-plan-card-header{background:linear-gradient(160deg,var(--tsb-grad-1),var(--tsb-grad-2));color:#fff;padding:20px 18px;text-align:center;}
.tsb-plan-card-title{margin:0 0 6px;font-size:18px;font-weight:800;}
.tsb-plan-card-desc{margin:0;font-size:12.5px;line-height:1.5;opacity:.9;}
.tsb-plan-card-list{list-style:none;margin:0;padding:6px 0;flex:1;}
.tsb-plan-card-list li{display:flex;align-items:flex-start;gap:10px;padding:11px 18px;border-bottom:1px solid var(--tsb-border-color);font-size:13.5px;}
.tsb-cards-wrap.tsb-theme-dark .tsb-plan-card-list li{border-color:#1C2F3F;}
.tsb-plan-card-list li:last-child{border-bottom:0;}
.tsb-plan-card-list .tsb-icon-check{color:var(--tsb-check-color);margin-top:2px;flex-shrink:0;}
.tsb-plan-card-footer-note{background:var(--tsb-card-footer-bg);color:#fff;text-align:center;font-size:13px;font-weight:600;padding:12px var(--tsb-card-pad);}
.tsb-plan-card-price{margin:var(--tsb-btn-spacing) auto 0;}
.tsb-plan-card-cta{display:block;background:var(--tsb-btn-bg)!important;color:var(--tsb-btn-text)!important;margin:var(--tsb-btn-spacing) var(--tsb-card-pad) var(--tsb-card-pad);text-align:center;}
@media (max-width:640px){.tsb-cards-grid{grid-template-columns:1fr;}.tsb-plan-card-featured{transform:none;}.tsb-cards-tab{padding:10px 14px;font-size:12px;}}

/* ============ MOBILE / TABLET (<=782px): keep the EXACT same table as
   desktop, just make it horizontally scrollable. We only disable the
   vertical "sticky header" (position:sticky; top:0) below this width,
   because on an unbounded-height scroll region that's what caused the
   header row to overlap/clip content underneath while the page scrolled.
   Horizontal scroll + sticky first column stay exactly as on desktop. ============ */
@media (max-width:782px){
	.tsb-sticky-header thead th{
		position:static !important;
		top:auto !important;
	}
	.tsb-sticky-col{
		position:static !important;
		left:auto !important;
	}
	.tsb-table-wrap{overflow-x:hidden;} /* wrapper itself never scrolls, only .tsb-scroll-region does */
	.tsb-scroll-region{
		overflow-x:auto;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:thin;
	}
	.tsb-table{min-width:640px;} /* forces horizontal scroll instead of squishing columns illegibly */
	.tsb-toolbar{flex-direction:column;align-items:stretch;}
	.tsb-search-input{width:100%;min-width:0;}
}


