/* SecuBox Service Exposure - KISS theme */

:root {
	--exp-bg-primary: #0d1117;
	--exp-bg-secondary: #161b22;
	--exp-bg-tertiary: #1a1a2e;
	--exp-border: #30363d;
	--exp-text-primary: #e6edf3;
	--exp-text-secondary: #8892b0;
	--exp-text-muted: #6e7681;
	--exp-accent: #64ffda;
	--exp-tor: #9b59b6;
	--exp-ssl: #27ae60;
	--exp-danger: #ef4444;
}

.exposure-dashboard {
	padding: 0;
	max-width: 1200px;
	margin: 0 auto;
}

/* Header */
.exp-page-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--exp-border);
}

/* Table */
.exp-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--exp-bg-secondary);
	border: 1px solid var(--exp-border);
	border-radius: 8px;
	overflow: hidden;
}

.exp-table th,
.exp-table td {
	padding: 10px 14px;
	text-align: left;
	border-bottom: 1px solid var(--exp-border);
}

.exp-table th {
	color: var(--exp-text-muted);
	font-weight: 500;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	background: rgba(255, 255, 255, 0.02);
}

.exp-table td {
	color: var(--exp-text-primary);
	font-size: 13px;
}

.exp-table tr:hover td {
	background: rgba(100, 255, 218, 0.03);
}

.exp-row-internal td {
	opacity: 0.45;
}

/* Helpers */
.exp-mono { font-family: 'SF Mono', Monaco, monospace; }
.exp-text-muted { color: var(--exp-text-muted); }
.exp-small { font-size: 12px; }

/* Badges */
.exp-badge {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 12px;
	font-size: 11px;
	font-weight: 600;
	margin-right: 4px;
}

.exp-badge-tor {
	background: rgba(155, 89, 182, 0.2);
	color: var(--exp-tor);
}

.exp-badge-ssl {
	background: rgba(39, 174, 96, 0.2);
	color: var(--exp-ssl);
}

.exp-badge-mesh {
	background: rgba(59, 130, 246, 0.2);
	color: #3b82f6;
}

/* Buttons */
.exp-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border-radius: 6px;
	font-size: 13px;
	cursor: pointer;
	border: 1px solid transparent;
	transition: all 0.15s;
	text-decoration: none;
}

.exp-btn-secondary {
	background: transparent;
	color: var(--exp-text-secondary);
	border-color: var(--exp-border);
}

.exp-btn-secondary:hover {
	background: rgba(255, 255, 255, 0.05);
	border-color: var(--exp-text-secondary);
}

/* Toggle switches */
.toggle-switch {
	position: relative;
	display: inline-block;
	width: 44px;
	height: 24px;
}

.toggle-switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.toggle-slider {
	position: absolute;
	cursor: pointer;
	top: 0; left: 0; right: 0; bottom: 0;
	background-color: #333;
	transition: 0.2s;
	border-radius: 24px;
}

.toggle-slider:before {
	position: absolute;
	content: "";
	height: 18px;
	width: 18px;
	left: 3px;
	bottom: 3px;
	background-color: #666;
	transition: 0.2s;
	border-radius: 50%;
}

input:checked + .toggle-slider:before {
	transform: translateX(20px);
}

input:checked + .tor-slider {
	background-color: rgba(155, 89, 182, 0.3);
	border: 1px solid #9b59b6;
}

input:checked + .tor-slider:before {
	background-color: #9b59b6;
}

input:checked + .ssl-slider {
	background-color: rgba(39, 174, 96, 0.3);
	border: 1px solid #27ae60;
}

input:checked + .ssl-slider:before {
	background-color: #27ae60;
}

input:checked + .mesh-slider {
	background-color: rgba(59, 130, 246, 0.3);
	border: 1px solid #3b82f6;
}

input:checked + .mesh-slider:before {
	background-color: #3b82f6;
}

/* Action button */
.exp-btn-action {
	background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
	color: white;
	border-color: transparent;
}

.exp-btn-action:hover {
	background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
	box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
