/* TibsconHost Dashboard — premium blue/black/white theme */
:root{
	--tc-primary:#2563EB;
	--tc-primary-dark:#1E3A8A;
	--tc-dark:#0B1130;
	--tc-light:#F5F7FB;
	--tc-accent:#10B981;
	--tc-font:'Inter', sans-serif;
	--tc-radius:14px;
	--tc-border:#E7EAF3;
	--tc-shadow-sm:0 1px 2px rgba(15,23,42,.06);
	--tc-shadow-md:0 8px 24px rgba(15,23,42,.08);
	--tc-shadow-lg:0 20px 40px -12px rgba(37,99,235,.25);
}

.tc-app *{ box-sizing:border-box; }
.tc-app{
	font-family:var(--tc-font);
	color:#0F172A;
	background:var(--tc-light);
	display:flex;
	min-height:100vh;
	border-radius:18px;
	box-shadow:var(--tc-shadow-md);
	position:relative;
}

/* Sidebar */
.tc-sidebar{
	width:260px;
	flex-shrink:0;
	background:linear-gradient(180deg,var(--tc-dark) 0%,#131a3d 100%);
	color:#fff;
	padding:22px 16px;
	display:flex;
	flex-direction:column;
	gap:6px;
	position:sticky;
	top:0;
	height:100vh;
	z-index:40;
	border-radius:18px 0 0 18px;
}
.tc-nav{ flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:3px; }
.tc-logo{ display:flex; align-items:center; gap:10px; padding:6px 10px 22px; }
.tc-logo-badge{
	width:34px; height:34px; border-radius:10px;
	background:linear-gradient(135deg,var(--tc-primary),var(--tc-primary-dark));
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 4px 12px rgba(37,99,235,.45);
}
.tc-logo-text{ font-weight:800; font-size:18px; letter-spacing:.2px; }

.tc-nav-item{
	display:flex; align-items:center; gap:12px;
	background:transparent; border:none; cursor:pointer;
	color:#B9C0DE; font-family:var(--tc-font); font-size:14.5px; font-weight:500;
	padding:11px 14px; border-radius:10px; text-align:left; width:100%;
	transition:background .15s ease, color .15s ease, transform .1s ease;
}
.tc-nav-item svg{ width:19px; height:19px; flex-shrink:0; stroke:currentColor; fill:none; }
.tc-nav-item:hover{ background:rgba(255,255,255,.06); color:#fff; }
.tc-nav-item.is-active{
	background:linear-gradient(135deg,var(--tc-primary),var(--tc-primary-dark));
	color:#fff;
	box-shadow:0 6px 16px rgba(37,99,235,.35);
}
.tc-nav-item.is-active svg{ fill:none; stroke:#fff; }
.tc-nav-item:active{ transform:scale(.98); }

.tc-sidebar-footer{ padding-top:10px; border-top:1px solid rgba(255,255,255,.08); margin-top:6px; }
.tc-logout-btn{
	display:flex; align-items:center; gap:12px; padding:11px 14px; border-radius:10px;
	color:#F87171; font-size:14.5px; font-weight:600; text-decoration:none; transition:background .15s ease;
}
.tc-logout-btn svg{ width:19px; height:19px; stroke:currentColor; fill:none; flex-shrink:0; }
.tc-logout-btn:hover{ background:rgba(248,113,113,.12); color:#FCA5A5; }

.tc-overlay{ display:none; }

/* Profile avatar dropdown */
.tc-profile{ position:relative; }
.tc-avatar-btn{ background:none; border:none; cursor:pointer; padding:0; border-radius:50%; line-height:0; }
.tc-avatar-btn img{ width:36px; height:36px; border-radius:50%; border:2px solid var(--tc-border); display:block; }
.tc-avatar-btn:hover img{ border-color:var(--tc-primary); }
.tc-profile-menu{
	display:none; position:absolute; right:0; top:calc(100% + 10px); width:220px;
	background:#fff; border:1px solid var(--tc-border); border-radius:12px; box-shadow:var(--tc-shadow-md);
	padding:8px; z-index:60;
}
.tc-profile-menu.is-open{ display:block; }
.tc-profile-info{ padding:8px 10px 10px; border-bottom:1px solid #F1F3F8; margin-bottom:6px; }
.tc-profile-info strong{ display:block; font-size:13.5px; color:var(--tc-dark); }
.tc-profile-info span{ font-size:11.5px; color:#9AA2B8; }
.tc-profile-menu-item{
	display:flex; align-items:center; gap:10px; width:100%; padding:9px 10px; border-radius:8px;
	background:none; border:none; cursor:pointer; font-size:13px; font-weight:600; color:#374151;
	text-decoration:none; font-family:var(--tc-font);
}
.tc-profile-menu-item svg{ width:16px; height:16px; stroke:currentColor; fill:none; }
.tc-profile-menu-item:hover{ background:var(--tc-light); }

/* Main */
.tc-main{ flex:1; min-width:0; background:var(--tc-light); }
.tc-topbar{
	display:flex; align-items:center; gap:16px;
	padding:20px 28px; background:#fff; border-bottom:1px solid var(--tc-border);
	position:sticky; top:0; z-index:20;
}
.tc-burger{ display:none; background:none; border:none; cursor:pointer; padding:6px; }
.tc-welcome{ flex:1; min-width:0; }
.tc-welcome h1{ margin:0; font-size:21px; font-weight:800; color:var(--tc-dark); }
.tc-welcome p{ margin:2px 0 0; font-size:13.5px; color:#7C859E; }
.tc-topbar-right{ display:flex; align-items:center; gap:14px; }
.tc-search{ position:relative; display:none; }
.tc-search input{
	width:260px; padding:10px 38px 10px 14px; border-radius:10px; border:1px solid var(--tc-border);
	background:var(--tc-light); font-family:var(--tc-font); font-size:13.5px; outline:none;
}
.tc-search input:focus{ border-color:var(--tc-primary); background:#fff; }
.tc-search svg{ position:absolute; right:12px; top:50%; transform:translateY(-50%); }


@media (min-width:900px){ .tc-search{ display:block; } }

.tc-content{ padding:24px 28px 60px; max-width:1280px; margin:0 auto; }
.tc-tab{ display:none; animation:tc-fade .25s ease; }
.tc-tab.is-active{ display:block; }
@keyframes tc-fade{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }

/* Stat cards */
.tc-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:22px; }
.tc-stat-card{
	background:#fff; border:1px solid var(--tc-border); border-radius:var(--tc-radius);
	padding:18px; display:flex; gap:14px; align-items:flex-start;
	box-shadow:var(--tc-shadow-sm); transition:box-shadow .2s ease, transform .2s ease;
}
.tc-stat-card:hover{ box-shadow:var(--tc-shadow-md); transform:translateY(-2px); }
.tc-stat-icon{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tc-stat-icon svg{ width:20px; height:20px; }
.tc-icon-blue{ background:#EAF0FE; color:var(--tc-primary); }
.tc-icon-purple{ background:#F1EBFE; color:#7C3AED; }
.tc-icon-orange{ background:#FDF1E4; color:#EA8C2A; }
.tc-icon-red{ background:#FDECEC; color:#EF4444; }
.tc-stat-label{ font-size:12.5px; color:#7C859E; font-weight:600; }
.tc-stat-value{ font-size:24px; font-weight:800; color:var(--tc-dark); margin:2px 0; white-space:nowrap; }
.tc-stat-sub{ font-size:11.5px; color:#9AA2B8; }

/* Cards */
.tc-card{
	background:#fff; border:1px solid var(--tc-border); border-radius:var(--tc-radius);
	padding:22px; box-shadow:var(--tc-shadow-sm); margin-bottom:20px;
}
.tc-card-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; gap:12px; flex-wrap:wrap; }
.tc-card-head h2{ margin:0; font-size:16.5px; font-weight:800; color:var(--tc-dark); }
.tc-card-head p{ margin:2px 0 0; font-size:12.5px; color:#8A93AB; }
.tc-link-btn{ background:none; border:none; color:var(--tc-primary); font-weight:700; font-size:13px; cursor:pointer; }

/* Feature grid */
.tc-feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.tc-feature-tile{
	border:1px solid var(--tc-border); border-radius:12px; padding:16px;
	display:flex; flex-direction:column; gap:8px; cursor:pointer;
	background:linear-gradient(180deg,#fff, #FBFCFF);
	transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.tc-feature-tile:not(.is-disabled):hover{ transform:translateY(-3px); box-shadow:var(--tc-shadow-lg); border-color:var(--tc-primary); }
.tc-feature-tile.is-disabled{ opacity:.55; cursor:not-allowed; }
.tc-feature-top{ display:flex; align-items:center; justify-content:space-between; }
.tc-feature-icon{ width:34px; height:34px; border-radius:9px; background:var(--tc-light); display:flex; align-items:center; justify-content:center; color:var(--tc-primary); }
.tc-feature-icon svg{ width:18px; height:18px; }
.tc-feature-tile strong{ font-size:14.5px; color:var(--tc-dark); font-weight:700; }
.tc-feature-desc{ font-size:12px; color:#8A93AB; }

.tc-badge{ font-size:11px; font-weight:700; padding:4px 9px; border-radius:20px; }
.tc-badge-completed{ background:#E7F8F0; color:#16A34A; }
.tc-badge-pending{ background:#FFF6E3; color:#D97706; }
.tc-badge-processing{ background:#EAF0FE; color:#2563EB; }
.tc-badge-expired{ background:#FDECEC; color:#EF4444; }
.tc-badge-active{ background:#E7F8F0; color:#16A34A; }
.tc-badge-failed{ background:#FDECEC; color:#EF4444; }
.tc-badge-off{ background:#F1F3F8; color:#94A3B8; }

/* Plans */
.tc-plans-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }

/* Category tabs (categorized pricing display) */
.tc-cat-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.tc-cat-tab{
	border:1px solid var(--tc-border); background:#fff; color:#374151; padding:9px 18px; border-radius:30px;
	font-weight:700; font-size:13px; cursor:pointer; font-family:var(--tc-font); transition:all .15s ease;
}
.tc-cat-tab:hover{ border-color:var(--tc-primary); color:var(--tc-primary); }
.tc-cat-tab.is-active{
	background:linear-gradient(135deg,var(--tc-primary),var(--tc-primary-dark)); color:#fff; border-color:transparent;
	box-shadow:0 6px 16px rgba(37,99,235,.3);
}
.tc-cat-panel{ display:none; }
.tc-cat-panel.is-active{ display:block; animation:tc-fade .25s ease; }
.tc-plan-card{
	border:1px solid var(--tc-border); border-radius:14px; padding:20px;
	display:flex; flex-direction:column; background:linear-gradient(180deg,#fff,#FBFCFF);
	transition:transform .15s ease, box-shadow .15s ease;
}
.tc-plan-card:hover{ transform:translateY(-3px); box-shadow:var(--tc-shadow-lg); }
.tc-plan-top h3{
	margin:0 0 4px; font-size:16px; color:var(--tc-dark); font-weight:800;
	flex:1 1 auto; min-width:80px; max-width:100%;
	white-space:normal; overflow-wrap:break-word; word-break:normal;
}
.tc-plan-price{ font-size:22px; font-weight:800; color:var(--tc-primary); margin-bottom:2px; white-space:nowrap; }
.tc-plan-price span{ font-size:12px; color:#9AA2B8; font-weight:600; }
.tc-plan-price-note{ font-size:11px; color:#9AA2B8; font-weight:600; margin-left:4px; }
.tc-plan-price-per{ font-size:12px; color:#9AA2B8; font-weight:700; margin-left:2px; white-space:nowrap; }
.tc-plan-billed-note{ display:none; font-size:10.5px; color:#9AA2B8; font-weight:600; }
.tc-plan-price-box{ text-align:right; flex:0 1 auto; min-width:0; max-width:100%; }
.tc-plan-price-sub{ font-size:10.5px; color:#9AA2B8; font-weight:600; white-space:nowrap; }
.tc-plan-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.tc-plan-desc{ font-size:12.5px; color:#8A93AB; margin:0 0 12px; }
.tc-plan-duration{
	width:100%; margin-bottom:12px; padding:9px 10px; border-radius:8px; border:1px solid var(--tc-border);
	font-family:var(--tc-font); font-size:12.5px; background:#fff; color:#374151;
}
.tc-plan-domain-choice{ display:flex; flex-direction:column; gap:4px; margin-bottom:8px; }
.tc-plan-domain-choice label{ font-size:12px; color:#374151; display:flex; align-items:center; gap:6px; }
.tc-plan-domain-input{
	width:100%; padding:9px 10px; border-radius:8px; border:1px solid var(--tc-border);
	font-family:var(--tc-font); font-size:12.5px; margin-bottom:6px;
}
.tc-plan-domain-input.tc-input-error{ border-color:#EF4444; background:#FDECEC; }
.tc-plan-domain-help{ font-size:11px; color:#9AA2B8; margin:0 0 12px; }
.tc-plan-domain-note{ font-size:12px; font-weight:700; margin-bottom:8px; }
.tc-plan-domain-free{ color:#16A34A; }

.tc-plan-features{ list-style:none; margin:0 0 16px; padding:0; display:flex; flex-direction:column; gap:6px; flex:1; }
.tc-plan-features li{ font-size:12.5px; font-weight:600; }
.tc-plan-features li.is-included{ color:#16A34A; }
.tc-plan-features li.is-excluded{ color:#C7CCDA; text-decoration:line-through; }
.tc-plan-buy{
	background:linear-gradient(135deg,var(--tc-primary),var(--tc-primary-dark)); color:#fff; border:none;
	padding:11px; border-radius:10px; font-weight:700; cursor:pointer; box-shadow:0 6px 16px rgba(37,99,235,.35);
}
.tc-plan-buy:hover{ filter:brightness(1.05); }
.tc-plan-buy:disabled{ opacity:.6; cursor:not-allowed; box-shadow:none; }

.tc-plan-clear-link{
	display:block; width:100%; text-align:center; background:none; border:none; margin-top:8px;
	color:#9AA2B8; font-size:11.5px; font-weight:700; cursor:pointer; font-family:var(--tc-font); text-decoration:underline;
}
.tc-plan-clear-link:hover{ color:#EF4444; }

@keyframes tc-shake{
	10%, 90% { transform:translateX(-1px); }
	20%, 80% { transform:translateX(2px); }
	30%, 50%, 70% { transform:translateX(-4px); }
	40%, 60% { transform:translateX(4px); }
}
.tc-shake-error{
	animation:tc-shake .5s cubic-bezier(.36,.07,.19,.97) both;
	border-color:#EF4444 !important; box-shadow:0 0 0 3px rgba(239,68,68,.15) !important;
}
select.tc-shake-error{ background-color:#FDECEC; }
button.tc-plan-domain-btn.tc-shake-error{ background:#FDECEC; border-color:#EF4444; color:#EF4444; }

.tc-plan-domain-btn{
	width:100%; margin-bottom:10px; padding:10px; border-radius:8px; border:1px dashed var(--tc-primary);
	background:#EAF0FE; color:var(--tc-primary); font-weight:700; font-size:12.5px; cursor:pointer;
	font-family:var(--tc-font); transition:background .2s ease, opacity .2s ease, max-height .2s ease;
	max-height:60px; opacity:1; overflow:hidden;
}
.tc-plan-domain-btn.tc-hidden{ max-height:0; opacity:0; padding-top:0; padding-bottom:0; margin-bottom:0; border-width:0; pointer-events:none; }
.tc-hidden{ display:none !important; }
.tc-plan-domain-btn:hover{ background:#DCE7FD; }
.tc-plan-domain-btn.is-set{ border-style:solid; border-color:#16A34A; background:#E7F8F0; color:#16A34A; }
.tc-plan-domain-summary{ font-size:11.5px; color:#374151; margin:-4px 0 10px; }
.tc-plan-domain-summary strong{ color:var(--tc-dark); }
.tc-plan-domain-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:4px; }
.tc-plan-domain-chip{
	display:inline-flex; align-items:center; gap:4px; background:var(--tc-light); border:1px solid var(--tc-border);
	border-radius:20px; padding:5px 10px; font-size:11px; color:#374151;
}
.tc-plan-domain-chip em{ color:#9AA2B8; font-style:normal; }
.tc-plan-domain-remove{
	background:none; border:none; color:#EF4444; font-weight:800; cursor:pointer; font-size:13px;
	padding:0 0 0 4px; line-height:1; font-family:var(--tc-font);
}
.tc-plan-savings{
	display:none; font-size:11px; color:#16A34A; font-weight:700; margin-top:2px;
}
.tc-plan-total{
	border-top:1px dashed var(--tc-border); border-bottom:1px dashed var(--tc-border);
	padding:8px 0; margin:2px 0 12px; display:flex; flex-direction:column; gap:3px;
}
.tc-plan-total-row{ display:flex; justify-content:space-between; font-size:12px; color:#7C859E; }
.tc-plan-total-row.tc-plan-total-final{ font-weight:800; color:var(--tc-dark); font-size:13.5px; padding-top:3px; }

/* Domain modal */
.tc-domain-modal{ max-width:460px; }
.tc-domain-modal-choice{ display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.tc-domain-modal-choice label{
	font-size:13px; color:#374151; display:flex; align-items:center; gap:10px;
	padding:10px 12px; border:1px solid var(--tc-border); border-radius:10px; cursor:pointer;
	transition:border-color .15s ease, background .15s ease;
}
.tc-domain-modal-choice label:hover{ border-color:var(--tc-primary); background:#FAFBFF; }
.tc-domain-modal-choice input[type="radio"]{ accent-color:var(--tc-primary); width:16px; height:16px; flex-shrink:0; }
.tc-domain-modal-choice input[type="radio"]:checked + span{ font-weight:700; color:var(--tc-dark); }
.tc-domain-modal .tc-domain-search-box{ margin-bottom:10px; }
.tc-domain-modal .tc-domain-results{ max-height:240px; overflow-y:auto; }
@media (max-width:480px){
	.tc-domain-modal .tc-domain-search-box{ flex-direction:column; }
	.tc-domain-modal .tc-domain-search-box button{ padding:12px 24px; margin-top:6px; margin-bottom:6px; }
}

.tc-order-note{ display:block; font-size:11.5px; color:#2563EB; margin-top:4px; font-weight:600; }
.tc-order-note-success{ color:#16A34A; }
.tc-order-note-failed{ color:#EF4444; }

/* ---------------- My Orders table ---------------- */

.tc-orders-table-wrap{
	border:1px solid var(--tc-border); border-radius:14px; overflow:hidden; background:#fff;
}
.tc-orders-table{ width:100%; border-collapse:collapse; font-family:var(--tc-font); }
.tc-orders-table thead th{
	text-align:left; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em;
	color:#9AA2B8; background:var(--tc-light); padding:13px 16px; border-bottom:1px solid var(--tc-border);
}
.tc-orders-table thead th:last-child{ text-align:right; }
.tc-orders-table tbody tr{ border-bottom:1px solid #F1F3F8; transition:background .15s ease; }
.tc-orders-table tbody tr:last-child{ border-bottom:none; }
.tc-orders-table tbody tr:hover{ background:#FAFBFF; }
.tc-orders-table td{ padding:14px 16px; vertical-align:middle; font-size:13.5px; color:#374151; }
.tc-orders-table td:last-child{ text-align:right; }

.tc-orders-table .tc-service-main{ display:flex; flex-direction:column; gap:2px; }
.tc-orders-table .tc-service-main strong{ font-size:13.5px; color:var(--tc-dark); font-weight:700; line-height:1.35; }

.tc-orders-amount{ font-weight:800; color:var(--tc-dark); font-size:13.5px; }
.tc-orders-date{ display:block; font-weight:600; color:#374151; }
.tc-orders-time{ display:block; font-size:11px; color:#9AA2B8; margin-top:1px; }
.tc-orders-noaction{ color:#C7CCDA; }

/* Mobile: table rows become stacked cards, no horizontal scrolling and
   no tiny unreadable columns. Each cell shows its own label via the
   data-label attribute set in the markup. */
@media (max-width:700px){
	.tc-orders-table-wrap{ border:none; border-radius:0; background:transparent; }
	.tc-orders-table thead{ display:none; }
	.tc-orders-table, .tc-orders-table tbody, .tc-orders-table tr, .tc-orders-table td{ display:block; width:100%; }
	.tc-orders-table tr{
		background:#fff; border:1px solid var(--tc-border); border-radius:14px; margin-bottom:12px;
		padding:6px 4px; box-shadow:0 1px 3px rgba(15,23,42,.04);
	}
	.tc-orders-table td{
		display:flex; align-items:center; justify-content:space-between; gap:12px;
		padding:10px 14px; border-bottom:1px solid #F4F5F9; text-align:right !important;
	}
	.tc-orders-table td:last-child{ border-bottom:none; }
	.tc-orders-table td::before{
		content:attr(data-label); font-size:10.5px; font-weight:800; text-transform:uppercase;
		letter-spacing:.03em; color:#9AA2B8; text-align:left; flex-shrink:0;
	}
	.tc-orders-table td[data-label="Order"]{ align-items:flex-start; }
	.tc-orders-table td[data-label="Order"]::before{ display:none; }
	.tc-orders-table td[data-label="Order"] .tc-service-main{ width:100%; text-align:left; }
	.tc-orders-table td[data-label="Order"] .tc-order-note{ white-space:normal; }
}

.tc-stat-status{ font-size:14px !important; font-weight:700; }
.tc-stat-status.is-on{ color:#16A34A; }
.tc-stat-status.is-off{ color:#EF4444; }

/* Empty state CTA */
.tc-empty-cta{ text-align:center; padding:36px 20px; display:flex; flex-direction:column; align-items:center; gap:8px; }
.tc-empty-icon{ width:52px; height:52px; border-radius:14px; background:var(--tc-light); color:var(--tc-primary); display:flex; align-items:center; justify-content:center; margin-bottom:6px; }
.tc-empty-icon svg{ width:24px; height:24px; }
.tc-empty-cta h3{ margin:0; font-size:16px; color:var(--tc-dark); }
.tc-empty-cta p{ margin:0 0 8px; font-size:13px; color:#8A93AB; max-width:320px; }

@media (max-width:900px){ .tc-plans-grid{ grid-template-columns:1fr; } }

.tc-view-all{
	margin-top:18px; width:100%; background:var(--tc-light); border:1px solid var(--tc-border);
	color:var(--tc-primary); font-weight:700; font-size:13.5px; padding:11px; border-radius:10px;
	cursor:pointer; display:flex; align-items:center; justify-content:center; gap:6px;
	transition:background .15s ease;
}
.tc-view-all:hover{ background:#EAF0FE; }

/* Two column */
.tc-two-col{ display:grid; grid-template-columns:1.4fr 1fr; gap:20px; }
.tc-activity-list{ display:flex; flex-direction:column; gap:4px; }
.tc-activity-row{ display:flex; align-items:center; gap:12px; padding:12px 6px; border-bottom:1px solid #F1F3F8; }
.tc-activity-row:last-child{ border-bottom:none; }
.tc-activity-icon{ width:30px; height:30px; border-radius:50%; background:#EAF0FE; color:var(--tc-primary); display:flex; align-items:center; justify-content:center; }
.tc-activity-icon svg{ width:12px; height:12px; }
.tc-activity-body{ flex:1; min-width:0; }
.tc-activity-msg{ font-size:13.5px; font-weight:600; color:var(--tc-dark); }
.tc-activity-time{ font-size:11.5px; color:#9AA2B8; }

.tc-quick-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.tc-quick-actions-card .tc-quick-grid{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .tc-quick-actions-card .tc-quick-grid{ grid-template-columns:1fr 1fr; } }
.tc-quick-btn{
	display:flex; flex-direction:column; align-items:center; gap:8px;
	border:1px solid var(--tc-border); background:#fff; border-radius:12px; padding:16px 8px;
	cursor:pointer; color:var(--tc-primary); font-size:12.5px; font-weight:700;
	transition:box-shadow .15s ease, transform .15s ease;
}
.tc-quick-btn svg{ width:20px; height:20px; }
.tc-quick-btn:hover{ box-shadow:var(--tc-shadow-lg); transform:translateY(-2px); }
.tc-quick-btn span{ color:#374151; }

/* Service rows */
.tc-service-table{ display:flex; flex-direction:column; gap:2px; }
.tc-service-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 8px; border-bottom:1px solid #F1F3F8; flex-wrap:wrap; }
.tc-service-row:last-child{ border-bottom:none; }
.tc-service-main{ display:flex; flex-direction:column; }
.tc-service-main strong{ color:var(--tc-dark); font-size:14px; }
.tc-service-type{ font-size:11.5px; color:#9AA2B8; }
.tc-service-dates{ display:flex; flex-direction:column; font-size:11.5px; color:#7C859E; gap:2px; }
.tc-mini-btn{
	background:var(--tc-primary); color:#fff; border:none; padding:8px 14px; border-radius:8px;
	font-size:12.5px; font-weight:700; cursor:pointer; box-shadow:0 4px 10px rgba(37,99,235,.3);
}
.tc-mini-btn:hover{ background:var(--tc-primary-dark); }

.tc-empty{ color:#9AA2B8; font-size:13.5px; text-align:center; padding:24px 0; }

/* Domain search */
.tc-domain-search-box{ display:flex; gap:10px; }
.tc-domain-search-box input{
	flex:1; padding:13px 16px; border-radius:10px; border:1px solid var(--tc-border);
	font-family:var(--tc-font); font-size:14px; outline:none;
}
.tc-domain-search-box input:focus{ border-color:var(--tc-primary); }
.tc-domain-search-box button{
	background:linear-gradient(135deg,var(--tc-primary),var(--tc-primary-dark)); color:#fff;
	border:none; padding:0 24px; border-radius:10px; font-weight:700; cursor:pointer;
	box-shadow:0 6px 16px rgba(37,99,235,.35); margin-top:4px; margin-bottom:4px;
}
.tc-domain-search-box button.tc-domain-search-clear{
	background:var(--tc-light); color:#374151; box-shadow:none; border:1px solid var(--tc-border);
}
.tc-domain-search-box button.tc-domain-search-clear:hover{ border-color:#EF4444; color:#EF4444; }
.tc-domain-results{ margin-top:18px; display:flex; flex-direction:column; gap:10px; }
.tc-domain-result-row{ display:flex; align-items:center; justify-content:space-between; padding:14px; border:1px solid var(--tc-border); border-radius:10px; }
.tc-domain-result-row.taken{ opacity:.6; }
.tc-domain-avail{ color:#16A34A; font-weight:700; font-size:12.5px; }
.tc-domain-taken{ color:#EF4444; font-weight:700; font-size:12.5px; }

/* Multi-domain cart */
.tc-domain-cart{ margin-top:26px; padding-top:20px; border-top:1px dashed var(--tc-border); }
.tc-domain-cart-list{ margin-bottom:12px; }
#tc-domain-cart-buy{ max-width:260px; }

/* Modal */
.tc-modal-backdrop, .tc-cred-modal-backdrop{ position:fixed; inset:0; background:rgba(11,17,48,.6); backdrop-filter:blur(2px); display:none; align-items:center; justify-content:center; z-index:100; padding:20px; animation:tc-fade-backdrop .18s ease; }
.tc-cred-modal-backdrop.is-open{ display:flex; }
.tc-modal-backdrop.is-open{ display:flex; }
@keyframes tc-fade-backdrop{ from{ opacity:0; } to{ opacity:1; } }
.tc-modal{
	background:#fff; border-radius:18px; padding:28px 26px 24px; width:100%; max-width:380px;
	box-shadow:0 30px 70px rgba(11,17,48,.4); position:relative; animation:tc-modal-pop .2s cubic-bezier(.2,.8,.3,1.1);
	font-family:var(--tc-font, 'Inter', sans-serif); color:#0F172A;
}
@keyframes tc-modal-pop{ from{ opacity:0; transform:translateY(10px) scale(.97); } to{ opacity:1; transform:translateY(0) scale(1); } }
.tc-modal h3{ margin:0 0 16px; color:var(--tc-dark); font-size:17px; font-weight:800; }
.tc-modal-row{ display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #F1F3F8; font-size:13.5px; }
.tc-modal-close{ margin-top:16px; width:100%; padding:11px; border-radius:9px; border:1px solid var(--tc-border); background:var(--tc-light); font-weight:700; cursor:pointer; color:#374151; transition:background .15s ease; }
.tc-modal-close:hover{ background:#EDEFF5; }
.tc-modal-x{
	position:absolute; top:16px; right:18px; width:auto; height:auto; border-radius:6px;
	background:none; border:none; color:#0F172A; cursor:pointer; padding:4px 6px;
	font-family:var(--tc-font, 'Inter', sans-serif); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
	transition:color .15s ease;
}
.tc-modal-x:hover{ color:#EF4444; }
/* Mobile */
@media (max-width:900px){
	.tc-app{ border-radius:0; }
	.tc-sidebar{
		position:fixed; left:0; top:0; height:100vh; transform:translateX(-100%);
		transition:transform .25s ease; box-shadow:0 0 40px rgba(0,0,0,.3); width:78vw; max-width:280px;
		border-radius:0;
	}
	.tc-sidebar.is-open{ transform:translateX(0); }
	.tc-overlay{ position:fixed; inset:0; background:rgba(11,17,48,.5); z-index:30; display:none; }
	.tc-overlay.is-open{ display:block; }
	.tc-burger{ display:flex; align-items:center; justify-content:center; }
	.tc-topbar{ padding:14px 16px; }
	.tc-welcome h1{ font-size:17px; }
	.tc-welcome p{ font-size:12px; }
	.tc-content{ padding:16px 14px 40px; }
	.tc-stats{ grid-template-columns:1fr 1fr; gap:12px; }
	.tc-stat-card{ padding:14px; }
	.tc-stat-value{ font-size:20px; }
	.tc-feature-grid{ grid-template-columns:1fr 1fr; }
	.tc-two-col{ grid-template-columns:1fr; }
	.tc-quick-grid{ grid-template-columns:1fr 1fr; }
	.tc-domain-search-box{ flex-direction:column; }
	.tc-domain-search-box button{ padding:12px 24px; margin-top:6px; margin-bottom:6px; }
	.tc-service-row{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:480px){
	.tc-stats{ grid-template-columns:1fr; }
	.tc-feature-grid{ grid-template-columns:1fr; }
}

/* ---------------- Standalone shortcodes ---------------- */
/* [tibsconhost_domain_search], [tibsconhost_pricing], [tibsconhost_login]
   render outside the full dashboard app shell, so they get their own
   lightweight, self-contained premium card styling. */

.tc-standalone-wrap{
	font-family:var(--tc-font); color:#0F172A; max-width:960px; margin:0 auto;
}
.tc-standalone-card{
	background:#fff; border:1px solid var(--tc-border, #E7EAF3); border-radius:16px;
	padding:26px; box-shadow:0 10px 30px rgba(15,23,42,.08);
}
.tc-login-shortcode-wrap{ max-width:none; display:inline-block; }
.tc-loggedin-chip{
	display:inline-flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--tc-border, #E7EAF3);
	border-radius:30px; padding:6px 14px 6px 6px; box-shadow:0 4px 14px rgba(15,23,42,.08); font-size:13.5px; font-weight:600;
}
.tc-loggedin-chip img{ border-radius:50%; display:block; }
.tc-logout-link{ color:#EF4444; font-weight:700; text-decoration:none; font-size:12.5px; margin-left:4px; }
.tc-logout-link:hover{ text-decoration:underline; }

/* ---------------- Auth modal (login / create account) ---------------- */

.tc-auth-modal{ max-width:400px; }
.tc-auth-tabs{ display:flex; gap:8px; margin-bottom:16px; background:var(--tc-light); border-radius:10px; padding:4px; }
.tc-auth-tab{
	flex:1; border:none; background:transparent; padding:9px; border-radius:8px; font-weight:700; font-size:13px;
	cursor:pointer; color:#7C859E; font-family:var(--tc-font); transition:background .15s ease, color .15s ease;
}
.tc-auth-tab.is-active{ background:#fff; color:var(--tc-primary); box-shadow:0 2px 6px rgba(15,23,42,.08); }
.tc-auth-note{ font-size:12.5px; color:#EF4444; min-height:16px; margin:0 0 8px; font-weight:600; }
.tc-auth-form{ display:flex; flex-direction:column; gap:4px; }
.tc-auth-form label{ font-size:12px; font-weight:700; color:#374151; margin-top:8px; }
.tc-auth-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tc-auth-form-row label{ margin-top:8px; }

/* Profile / Settings tab */
.tc-profile-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 24px; margin-bottom:6px; }
.tc-profile-field{ display:flex; flex-direction:column; gap:3px; padding:12px 14px; background:var(--tc-light); border-radius:10px; }
.tc-profile-label{ font-size:11px; font-weight:700; color:#9AA2B8; text-transform:uppercase; letter-spacing:.03em; }
.tc-profile-value{ font-size:14px; font-weight:700; color:var(--tc-dark); display:flex; align-items:center; gap:8px; }
.tc-profile-locked{ font-size:10px; font-weight:700; color:#9AA2B8; background:#fff; border:1px solid var(--tc-border); border-radius:20px; padding:2px 8px; }
.tc-profile-note{ font-size:11.5px; color:#9AA2B8; margin:14px 2px 0; }
.tc-password-form{ max-width:360px; }
.tc-password-form .tc-auth-note{ color:#EF4444; }

.tc-referral-box{ display:flex; gap:8px; max-width:520px; }
.tc-referral-box input{
	flex:1; padding:11px 12px; border-radius:9px; border:1px solid var(--tc-border);
	font-family:var(--tc-font); font-size:13px; background:var(--tc-light); color:#374151;
}
.tc-field-optional{ font-weight:500; color:#9AA2B8; text-transform:none; letter-spacing:0; }

@media (max-width:600px){ .tc-profile-grid{ grid-template-columns:1fr; } }
.tc-auth-form input{
	padding:11px 12px; border-radius:9px; border:1px solid var(--tc-border, #E7EAF3);
	font-family:var(--tc-font); font-size:13.5px; outline:none; transition:border-color .15s ease;
}
.tc-auth-form input:focus{ border-color:var(--tc-primary); }
.tc-auth-form .tc-plan-buy{ margin-top:16px; }

@media (max-width:600px){
	.tc-standalone-card{ padding:18px; border-radius:12px; }
}

/* ---------------- Account setup / renewal "3D" provisioning indicator ---------------- */

.tc-provisioning-card{
	display:flex; align-items:center; gap:26px; background:linear-gradient(135deg,#EAF0FE,#F5F7FB);
	border:1px solid var(--tc-border); flex-wrap:wrap;
}
.tc-provisioning-scene{ perspective:600px; width:64px; height:64px; flex-shrink:0; }
.tc-provisioning-cube{
	width:100%; height:100%; position:relative; transform-style:preserve-3d;
	animation:tc-cube-spin 4s linear infinite;
}
.tc-cube-face{
	position:absolute; width:64px; height:64px; background:linear-gradient(135deg,var(--tc-primary),var(--tc-primary-dark));
	border:1px solid rgba(255,255,255,.35); opacity:.9;
}
.tc-cube-front{ transform:translateZ(32px); }
.tc-cube-back{ transform:rotateY(180deg) translateZ(32px); }
.tc-cube-right{ transform:rotateY(90deg) translateZ(32px); }
.tc-cube-left{ transform:rotateY(-90deg) translateZ(32px); }
.tc-cube-top{ transform:rotateX(90deg) translateZ(32px); background:linear-gradient(135deg,#60A5FA,var(--tc-primary)); }
.tc-cube-bottom{ transform:rotateX(-90deg) translateZ(32px); background:linear-gradient(135deg,var(--tc-primary-dark),#0B1130); }
@keyframes tc-cube-spin{
	from{ transform:rotateX(-20deg) rotateY(0deg); }
	to{ transform:rotateX(-20deg) rotateY(360deg); }
}
.tc-provisioning-text{ flex:1; min-width:220px; }
.tc-provisioning-text h3{ margin:0 0 4px; font-size:16px; font-weight:800; color:var(--tc-dark); }
.tc-provisioning-text p{ margin:0; font-size:13px; color:#5B6478; line-height:1.5; }

.tc-service-row-provisioning{ opacity:.9; }
.tc-provisioning-spinner{
	width:20px; height:20px; border-radius:50%; border:3px solid var(--tc-border);
	border-top-color:var(--tc-primary); display:inline-block; animation:tc-spin .8s linear infinite;
}
@keyframes tc-spin{ to{ transform:rotate(360deg); } }

@media (max-width:600px){
	.tc-provisioning-card{ text-align:center; justify-content:center; }
	.tc-provisioning-scene{ margin:0 auto; }
}

/* ---------------- Domain Pricing table (premium, interactive) ---------------- */

.tc-domain-prices-card{ padding-bottom:8px; }

.tc-domain-prices-toolbar{
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	margin-bottom:16px; flex-wrap:wrap;
}
.tc-domain-prices-search{
	position:relative; flex:1; min-width:220px; max-width:320px;
}
.tc-domain-prices-search svg{ position:absolute; left:13px; top:50%; transform:translateY(-50%); pointer-events:none; }
.tc-domain-prices-search input{
	width:100%; padding:10px 14px 10px 36px; border-radius:10px; border:1px solid var(--tc-border);
	font-family:var(--tc-font); font-size:13.5px; outline:none; background:var(--tc-light); transition:border-color .15s ease, background .15s ease;
}
.tc-domain-prices-search input:focus{ border-color:var(--tc-primary); background:#fff; }
.tc-domain-prices-count{ font-size:12px; font-weight:700; color:#9AA2B8; white-space:nowrap; }

/* Horizontal scroll wrapper — keeps the table as REAL columns/rows on
   mobile (never collapses into stacked cards), just scrolls sideways
   when the viewport is too narrow, with the first column pinned so the
   extension name stays visible while scrolling through prices. */
.tc-domain-prices-scroll{
	overflow-x:auto; border-radius:16px; border:1px solid var(--tc-border);
	box-shadow:0 10px 30px rgba(15,23,42,.06); -webkit-overflow-scrolling:touch;
}
.tc-domain-prices-table{
	width:100%; min-width:520px; border-collapse:separate; border-spacing:0; font-family:var(--tc-font);
}
.tc-domain-prices-table thead th{
	position:sticky; top:0; z-index:2;
	background:linear-gradient(135deg,var(--tc-primary),var(--tc-primary-dark)); color:#fff;
	text-align:left; font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.04em;
	padding:14px 18px; cursor:pointer; user-select:none; white-space:nowrap; transition:background .15s ease;
}
.tc-domain-prices-table thead th:hover{ background:linear-gradient(135deg,var(--tc-primary-dark),var(--tc-primary-dark)); }
.tc-sort-arrow{ display:inline-block; width:8px; margin-left:4px; opacity:.6; }
.tc-domain-prices-table thead th.is-sorted-asc .tc-sort-arrow::after{ content:'\25B2'; }
.tc-domain-prices-table thead th.is-sorted-desc .tc-sort-arrow::after{ content:'\25BC'; }

.tc-domain-prices-table tbody tr{ transition:background .15s ease, transform .15s ease; }
.tc-domain-prices-table tbody tr:nth-child(even){ background:#FAFBFF; }
.tc-domain-prices-table tbody tr:hover{ background:#EEF3FF; }
.tc-domain-prices-table td{
	padding:14px 18px; font-size:13.5px; color:#374151; font-weight:600; white-space:nowrap;
	border-bottom:1px solid #F1F3F8;
}
.tc-domain-prices-table tbody tr:last-child td{ border-bottom:none; }

.tc-domain-prices-table td.tc-domain-prices-ext{
	position:sticky; left:0; z-index:1; background:inherit;
	display:flex; align-items:center; gap:10px; font-weight:800; color:var(--tc-dark);
}
.tc-domain-prices-table td.tc-domain-prices-ext::after{
	content:''; position:absolute; top:0; right:0; bottom:0; width:1px; background:var(--tc-border);
}
.tc-domain-prices-badge{
	width:32px; height:32px; border-radius:9px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg,#EAF0FE,#DCE7FD); color:var(--tc-primary); font-size:9.5px; font-weight:800;
}
.tc-domain-prices-best{
	font-size:9.5px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:#16A34A;
	background:#E7F8F0; padding:3px 8px; border-radius:20px; white-space:nowrap;
}
.tc-domain-prices-empty{ margin-top:16px; }

@media (max-width:600px){
	.tc-domain-prices-toolbar{ flex-direction:column; align-items:stretch; }
	.tc-domain-prices-search{ max-width:none; }
	.tc-domain-prices-table{ min-width:480px; }
	.tc-domain-prices-table thead th, .tc-domain-prices-table td{ padding:12px 14px; font-size:12.5px; }
}

/* ---------------- Order actions + receipt ---------------- */

.tc-orders-actions{ display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; }
.tc-orders-receipt-btn{
	background:var(--tc-light); color:#374151; border:1px solid var(--tc-border); padding:8px 14px;
	border-radius:8px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:var(--tc-font);
	transition:border-color .15s ease, color .15s ease;
}
.tc-orders-receipt-btn:hover{ border-color:var(--tc-primary); color:var(--tc-primary); }
@media (max-width:700px){ .tc-orders-actions{ justify-content:flex-end; } }

.tc-receipt-modal{ max-width:400px; }
.tc-receipt-brand{ font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--tc-primary); margin-bottom:4px; }
.tc-receipt-rows{ margin:16px 0; }
.tc-receipt-rows .tc-modal-row strong{ text-align:right; max-width:60%; }

@media print{
	body *{ visibility:hidden; }
	.tc-receipt-modal, .tc-receipt-modal *{ visibility:visible; }
	.tc-receipt-modal{ position:fixed; inset:0; margin:auto; box-shadow:none; max-width:100%; }
	.tc-modal-x, #tc-receipt-print-btn{ display:none; }
}

/* ---------------- Support Tickets ---------------- */
.tc-stat-clickable{ cursor:pointer; transition:transform .15s ease; }
.tc-stat-clickable:hover{ transform:translateY(-2px); }
.tc-nav-badge{
	display:inline-block; min-width:18px; padding:1px 6px; margin-left:auto;
	background:#EF4444; color:#fff; font-size:11px; font-weight:700; border-radius:10px; text-align:center;
}
.tc-new-ticket-form{
	background:var(--tc-light); border:1px solid var(--tc-border); border-radius:10px; padding:16px; margin:14px 0;
}
.tc-form-row{ margin-bottom:12px; }
.tc-form-row label{ display:block; font-size:12.5px; font-weight:700; color:#374151; margin-bottom:4px; }
.tc-form-row input, .tc-form-row select, .tc-form-row textarea{
	width:100%; padding:9px 12px; border:1px solid var(--tc-border); border-radius:8px; font-family:var(--tc-font); font-size:13.5px;
}
.tc-form-actions{ display:flex; gap:10px; }
.tc-btn-primary{
	background:var(--tc-primary); color:#fff; border:none; padding:9px 18px; border-radius:8px;
	font-weight:700; font-size:13px; cursor:pointer; font-family:var(--tc-font);
}
.tc-btn-primary:hover{ background:var(--tc-primary-dark); }
.tc-btn-secondary{
	background:#fff; color:#374151; border:1px solid var(--tc-border); padding:9px 18px; border-radius:8px;
	font-weight:700; font-size:13px; cursor:pointer; font-family:var(--tc-font);
}
.tc-ticket-row:hover{ background:var(--tc-light); }
.tc-ticket-status{
	padding:3px 12px; border-radius:12px; font-size:11.5px; font-weight:700; text-transform:capitalize;
}
.tc-ticket-status-open{ background:#fef3c7; color:#92400e; }
.tc-ticket-status-closed{ background:#dcfce7; color:#166534; }
.tc-ticket-thread-messages{
	max-height:420px; overflow-y:auto; padding:6px 2px; display:flex; flex-direction:column; gap:12px;
}
.tc-ticket-bubble{ max-width:78%; padding:10px 14px; border-radius:12px; }
.tc-ticket-bubble-user{ align-self:flex-start; background:var(--tc-light); color:#1f2937; }
.tc-ticket-bubble-admin{ align-self:flex-end; background:var(--tc-primary); color:#fff; }
.tc-ticket-bubble-meta{ font-size:11px; opacity:.75; font-weight:700; margin-bottom:4px; }
.tc-ticket-bubble-text{ font-size:13.5px; line-height:1.5; white-space:pre-wrap; }
.tc-ticket-reply-form{ display:flex; gap:10px; margin-top:14px; align-items:flex-end; }
.tc-ticket-reply-form textarea{
	flex:1; padding:10px 12px; border:1px solid var(--tc-border); border-radius:8px; font-family:var(--tc-font); font-size:13.5px; resize:vertical;
}

.tc-receipt-items-heading{ font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:#9AA2B8; margin:14px 0 6px; }
.tc-receipt-item-row{ padding-left:4px; }
.tc-receipt-item-row span{ font-size:12.5px; }

/* ---------------- Show/hide password ---------------- */
.tc-password-field{ position:relative; display:flex; }
.tc-password-field input{ flex:1; padding-right:56px; }
.tc-password-toggle{
	position:absolute; right:6px; top:50%; transform:translateY(-50%);
	background:none; border:none; color:var(--tc-primary); font-size:12px; font-weight:700;
	cursor:pointer; padding:4px 8px; font-family:var(--tc-font);
}
.tc-password-toggle:hover{ text-decoration:underline; }

/* ---------------- Renewal modal ---------------- */
.tc-renew-modal-label{ font-size:14px; font-weight:700; color:#1f2937; margin:4px 0 10px; }
.tc-renew-modal-error{ color:#EF4444; font-size:12.5px; font-weight:600; margin:8px 0; }

/* ---------------- DNS modal ---------------- */
.tc-dns-modal input[type="text"]:disabled{ background:#F5F7FB; color:#9AA2B8; cursor:not-allowed; }
