/* ============================================================
   CronMaster Pro v3 — Terminal / Cyberpunk Theme
   ============================================================ */

:root {
	--bg-0: #05070a;
	--bg-1: #0a0f16;
	--bg-2: #0e131b;
	--bg-3: #151b24;
	--bg-4: #1c232d;
	--border: #1f2937;
	--border-bright: #374151;
	--text: #e6edf3;
	--text-dim: #8b949e;
	--text-faint: #4d5560;
	--green: #00ff88;
	--cyan: #00d4ff;
	--blue: #58a6ff;
	--pink: #ff3366;
	--amber: #ffaa00;
	--purple: #a855f7;

	/* Bootstrap 5.3 mapping */
	--bs-primary-rgb: 0, 212, 255;
	--bs-success-rgb: 0, 255, 136;
	--bs-danger-rgb: 255, 51, 102;
	--bs-warning-rgb: 255, 170, 0;
	--bs-info-rgb: 88, 166, 255;
	--bs-secondary-rgb: 139, 148, 158;
	--bs-primary: #00d4ff;
	--bs-success: #00ff88;
	--bs-danger: #ff3366;
	--bs-warning: #ffaa00;
	--bs-info: #58a6ff;
	--bs-secondary: #8b949e;
	--bs-body-bg: var(--bg-1);
	--bs-body-color: var(--text);
	--bs-border-color: var(--border);
	--bs-border-radius: 2px;

	/* NOVAS — modal (dark) */
	--modal-bg: #1f2937;
	--modal-header-bg: #2b3844;
	--modal-border: #4a5568;
}

[data-bs-theme="light"] {
	--bg-0: #cfd5dd;
	--bg-1: #e5eaf0;
	--bg-2: #ffffff;
	--bg-3: #f1f4f8;
	--bg-4: #dde3ea;
	--border: #b4bdc9;
	--border-bright: #737d8c;
	--text: #0a0e14;
	--text-dim: #475569;
	--text-faint: #7a8492;
	--green: #008f4c;
	--cyan: #0066aa;
	--blue: #1d4ed8;
	--pink: #c7243d;
	--amber: #c2710d;
	--purple: #6d28d9;

	/* NOVAS — modal (light) */
	--modal-bg: #ffffff;
	--modal-header-bg: #eef2f7;
	--modal-border: #737d8c;

	/* Bootstrap mapping */
	--bs-primary-rgb: 0, 102, 170;
	--bs-success-rgb: 0, 143, 76;
	--bs-danger-rgb: 199, 36, 61;
	--bs-warning-rgb: 194, 113, 13;
	--bs-info-rgb: 29, 78, 216;
	--bs-secondary-rgb: 71, 85, 105;
	--bs-primary: #0066aa;
	--bs-success: #008f4c;
	--bs-danger: #c7243d;
	--bs-warning: #c2710d;
	--bs-info: #1d4ed8;
	--bs-secondary: #475569;
	--bs-body-bg: var(--bg-1);
	--bs-body-color: var(--text);
	--bs-border-color: var(--border);
}

/* ---------- Reset / base ---------- */
* {
	box-sizing: border-box;
}

html,
body {
	min-height: 100%;
}

body {
	background-color: var(--bg-1);
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 32px 32px;
	color: var(--text);
	font-family: "Inter", system-ui, sans-serif;
	font-size: 14px;
	line-height: 1.55;
	min-height: 100vh;
	overflow-x: hidden;
	transition:
		background-color 0.3s,
		color 0.3s;
}

[data-bs-theme="light"] body {
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px);
}

/* Ambient glow */
body::before {
	content: "";
	position: fixed;
	top: -15%;
	left: 25%;
	width: 50vw;
	height: 50vw;
	max-width: 800px;
	max-height: 800px;
	background: radial-gradient(circle, rgba(0, 212, 255, 0.1), transparent 65%);
	pointer-events: none;
	filter: blur(80px);
	z-index: 0;
	animation: ambientFloat 20s ease-in-out infinite;
}
body::after {
	content: "";
	position: fixed;
	bottom: -20%;
	right: 10%;
	width: 45vw;
	height: 45vw;
	max-width: 700px;
	max-height: 700px;
	background: radial-gradient(circle, rgba(255, 51, 102, 0.07), transparent 65%);
	pointer-events: none;
	filter: blur(80px);
	z-index: 0;
	animation: ambientFloat 26s ease-in-out infinite reverse;
}
@keyframes ambientFloat {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(40px, -30px);
	}
}

/* Scrollbar */
::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}
::-webkit-scrollbar-track {
	background: transparent;
}
::-webkit-scrollbar-thumb {
	background: var(--border-bright);
	border-radius: 0;
}
::-webkit-scrollbar-thumb:hover {
	background: var(--cyan);
}

/* ---------- Tipografia ---------- */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Space Grotesk", "Inter", sans-serif;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--text);
}

code,
pre,
.font-monospace {
	font-family: "JetBrains Mono", monospace !important;
}

.text-secondary {
	color: var(--text-dim) !important;
}

/* ---------- Navbar terminal ---------- */
.term-nav {
	background: var(--bg-0);
	border-bottom: 1px solid var(--border);
	padding: 12px 0;
	position: sticky;
	top: 0;
	z-index: 1030;
	backdrop-filter: blur(10px);
}
[data-bs-theme="light"] .term-nav {
	background: rgba(255, 255, 255, 0.9);
}

.term-brand {
	font-family: "JetBrains Mono", monospace;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--text);
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	transition: color 0.2s;
}
.term-brand:hover {
	color: var(--cyan);
}

.term-brand .glyph {
	color: var(--green);
	font-size: 1.1rem;
	animation: glyphPulse 3s ease-in-out infinite;
}
@keyframes glyphPulse {
	0%,
	100% {
		opacity: 1;
		text-shadow: 0 0 8px var(--green);
	}
	50% {
		opacity: 0.7;
		text-shadow: 0 0 4px var(--green);
	}
}

.term-brand .pro-tag {
	font-size: 0.6rem;
	background: var(--green);
	color: var(--bg-0);
	padding: 2px 6px;
	letter-spacing: 0.15em;
	font-weight: 800;
	border-radius: 0;
}

.term-prompt {
	font-family: "JetBrains Mono", monospace;
	font-size: 0.78rem;
	color: var(--text-dim);
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 6px 12px;
	border: 1px solid var(--border);
	background: var(--bg-2);
	border-radius: 2px;
}
.term-prompt .user {
	color: var(--green);
}
.term-prompt .host {
	color: var(--cyan);
}
.term-prompt .path {
	color: var(--amber);
}
.term-prompt .sep {
	color: var(--text-faint);
}

.cursor::after {
	content: "▊";
	color: var(--green);
	margin-left: 2px;
	animation: blink 1.1s step-end infinite;
	text-shadow: 0 0 6px var(--green);
}
@keyframes blink {
	50% {
		opacity: 0;
	}
}

.server-clock {
	font-family: "JetBrains Mono", monospace;
	font-size: 0.78rem;
	color: var(--green);
	padding: 6px 12px;
	border: 1px solid var(--border);
	background: var(--bg-2);
	border-radius: 2px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.server-clock .led {
	background: var(--green);
	box-shadow: 0 0 8px var(--green);
	animation: pulse 2s infinite;
}

/* ---------- LED indicator ---------- */
.led {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--text-dim);
	flex-shrink: 0;
}
.led--green {
	background: var(--green);
	box-shadow: 0 0 8px var(--green);
	animation: pulse 2s infinite;
}
.led--cyan {
	background: var(--cyan);
	box-shadow: 0 0 8px var(--cyan);
}
.led--amber {
	background: var(--amber);
	box-shadow: 0 0 8px var(--amber);
}
.led--red {
	background: var(--pink);
	box-shadow: 0 0 8px var(--pink);
}
@keyframes pulse {
	0% {
		box-shadow: 0 0 0 0 currentColor;
		opacity: 1;
	}
	70% {
		box-shadow: 0 0 0 6px transparent;
		opacity: 0.8;
	}
	100% {
		box-shadow: 0 0 0 0 transparent;
		opacity: 1;
	}
}

/* ---------- Panel (substitui glass-card) ---------- */
.panel {
	background: var(--bg-2);
	border: 1px solid var(--border);
	border-radius: 2px;
	position: relative;
	overflow: hidden;
	transition: border-color 0.2s;
}
.panel:hover {
	border-color: var(--border-bright);
}

.panel__head {
	background: var(--bg-3);
	border-bottom: 1px solid var(--border);
	padding: 10px 16px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: "JetBrains Mono", monospace;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--text-dim);
	font-weight: 600;
}
.panel__head .title {
	color: var(--text);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.panel__head .title i {
	color: var(--cyan);
}

.panel__head .dots {
	display: flex;
	gap: 6px;
	margin-right: 4px;
}
.panel__head .dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--border-bright);
}
.panel__head .dot--red {
	background: #ff5f57;
}
.panel__head .dot--amber {
	background: #febc2e;
}
.panel__head .dot--green {
	background: #28c840;
}

.panel__body {
	padding: 20px;
}

/* ---------- Stat card ---------- */
.stat {
	background: var(--bg-2);
	border: 1px solid var(--border);
	padding: 18px 20px;
	border-radius: 2px;
	position: relative;
	overflow: hidden;
	transition: all 0.2s;
}
.stat::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cyan), transparent);
	opacity: 0.5;
	transition: opacity 0.2s;
}
.stat:hover::before {
	opacity: 1;
}
.stat:hover {
	border-color: var(--border-bright);
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
}
.stat--success::before {
	background: linear-gradient(90deg, transparent, var(--green), transparent);
}
.stat--info::before {
	background: linear-gradient(90deg, transparent, var(--blue), transparent);
}

.stat__label {
	font-family: "JetBrains Mono", monospace;
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--text-dim);
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}
.stat__value {
	font-family: "JetBrains Mono", monospace;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1;
	color: var(--text);
	letter-spacing: -0.03em;
}
.stat--success .stat__value {
	color: var(--green);
	text-shadow: 0 0 20px rgba(0, 255, 136, 0.3);
}
.stat--info .stat__value {
	color: var(--blue);
	text-shadow: 0 0 20px rgba(88, 166, 255, 0.3);
}
.stat--primary .stat__value {
	color: var(--cyan);
	text-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
}

.stat__meta {
	font-family: "JetBrains Mono", monospace;
	font-size: 0.7rem;
	color: var(--text-faint);
	margin-top: 8px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ---------- Formulários ---------- */
.form-label {
	font-family: "JetBrains Mono", monospace;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--text-dim);
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
}
.form-label::before {
	content: "$";
	color: var(--green);
	font-weight: 700;
	font-size: 0.85rem;
}

.form-control,
.form-select {
	background: var(--bg-1) !important;
	border: 1px solid var(--border) !important;
	border-radius: 2px !important;
	color: var(--text) !important;
	font-family: "JetBrains Mono", monospace;
	font-size: 0.85rem;
	padding: 10px 14px;
	transition:
		border-color 0.15s,
		box-shadow 0.15s,
		background 0.15s;
}
.form-control::placeholder {
	color: var(--text-faint);
}
.form-control:focus,
.form-select:focus {
	background: var(--bg-2) !important;
	border-color: var(--cyan) !important;
	box-shadow:
		0 0 0 1px var(--cyan),
		0 0 24px rgba(0, 212, 255, 0.15) !important;
	color: var(--text) !important;
}
.form-control.font-monospace,
textarea.form-control {
	font-family: "JetBrains Mono", monospace;
}

.input-group-text {
	background: var(--bg-3) !important;
	border: 1px solid var(--border) !important;
	color: var(--text-dim) !important;
	border-radius: 2px 0 0 2px !important;
	font-family: "JetBrains Mono", monospace;
}
.input-group .form-control {
	border-radius: 0 2px 2px 0 !important;
}

/* ---------- Botões ---------- */
.btn {
	border-radius: 2px;
	font-family: "JetBrains Mono", monospace;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 9px 16px;
	transition: all 0.15s;
	border-width: 1px;
}
.btn:focus {
	box-shadow: none !important;
}

.btn-neon {
	background: var(--green);
	border: 1px solid var(--green);
	color: var(--bg-0);
	font-weight: 800;
	box-shadow: 0 0 0 transparent;
	position: relative;
}
.btn-neon:hover {
	background: transparent;
	color: var(--green);
	box-shadow:
		0 0 24px rgba(0, 255, 136, 0.5),
		inset 0 0 20px rgba(0, 255, 136, 0.1);
	transform: translateY(-1px);
}
.btn-neon:active {
	transform: translateY(0);
}

.btn-terminal {
	background: transparent;
	border: 1px solid var(--cyan);
	color: var(--cyan);
}
.btn-terminal:hover {
	background: var(--cyan);
	color: var(--bg-0);
	box-shadow: 0 0 20px rgba(0, 212, 255, 0.5);
}

/* Override Bootstrap color buttons */
.btn-primary,
.btn-outline-primary {
	border-color: var(--cyan) !important;
	color: var(--cyan) !important;
	background: transparent !important;
}
.btn-primary:hover,
.btn-outline-primary:hover {
	background: var(--cyan) !important;
	color: var(--bg-0) !important;
	box-shadow: 0 0 20px rgba(0, 212, 255, 0.5);
}

.btn-success,
.btn-outline-success {
	border-color: var(--green) !important;
	color: var(--green) !important;
	background: transparent !important;
}
.btn-success:hover,
.btn-outline-success:hover {
	background: var(--green) !important;
	color: var(--bg-0) !important;
	box-shadow: 0 0 20px rgba(0, 255, 136, 0.5);
}

.btn-danger,
.btn-outline-danger {
	border-color: var(--pink) !important;
	color: var(--pink) !important;
	background: transparent !important;
}
.btn-danger:hover,
.btn-outline-danger:hover {
	background: var(--pink) !important;
	color: var(--bg-0) !important;
	box-shadow: 0 0 20px rgba(255, 51, 102, 0.5);
}

.btn-warning,
.btn-outline-warning {
	border-color: var(--amber) !important;
	color: var(--amber) !important;
	background: transparent !important;
}
.btn-warning:hover,
.btn-outline-warning:hover {
	background: var(--amber) !important;
	color: var(--bg-0) !important;
	box-shadow: 0 0 20px rgba(255, 170, 0, 0.5);
}

.btn-info,
.btn-outline-info {
	border-color: var(--blue) !important;
	color: var(--blue) !important;
	background: transparent !important;
}
.btn-info:hover,
.btn-outline-info:hover {
	background: var(--blue) !important;
	color: var(--bg-0) !important;
	box-shadow: 0 0 20px rgba(88, 166, 255, 0.5);
}

.btn-outline-secondary {
	border-color: var(--border-bright) !important;
	color: var(--text-dim) !important;
	background: transparent !important;
}
.btn-outline-secondary:hover {
	border-color: var(--text) !important;
	color: var(--text) !important;
	background: var(--bg-3) !important;
}

/* Icon buttons in table */
.btn-icon {
	width: 32px;
	height: 32px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-width: 1px;
	font-size: 0.85rem;
}
.btn-icon i {
	font-size: 0.9rem;
}

/* ---------- Tabelas ---------- */
.table {
	--bs-table-bg: transparent;
	--bs-table-color: var(--text);
	--bs-table-border-color: var(--border);
	margin-bottom: 0;
	font-family: "JetBrains Mono", monospace;
	font-size: 0.82rem;
}
.table > :not(caption) > * > * {
	border-bottom-color: var(--border);
	padding: 12px 10px;
	background: transparent;
}
.table thead th {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--text-dim);
	font-weight: 700;
	border-bottom: 1px solid var(--border-bright) !important;
	padding: 10px;
	background: var(--bg-3) !important;
}
.table-hover > tbody > tr {
	transition: background-color 0.15s;
}
.table-hover > tbody > tr:hover {
	background-color: rgba(0, 212, 255, 0.05);
}
.table-hover > tbody > tr:hover td:first-child {
	box-shadow: inset 3px 0 0 var(--cyan);
}

/* ---------- Badges ---------- */
.badge {
	font-family: "JetBrains Mono", monospace;
	font-weight: 600;
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	border-radius: 2px !important;
	padding: 4px 8px;
	text-transform: uppercase;
}

/* ---------- Code pill ---------- */
.code-pill {
	font-family: "JetBrains Mono", monospace;
	font-size: 0.78rem;
	padding: 3px 8px;
	background: var(--bg-3);
	color: var(--cyan);
	border: 1px solid var(--border);
	border-left: 2px solid var(--cyan);
	border-radius: 0;
	display: inline-block;
	white-space: nowrap;
}

/* ---------- Preset badges (atalhos cron) ---------- */
.preset-badge {
	cursor: pointer;
	transition: all 0.15s;
	user-select: none;
	font-family: "JetBrains Mono", monospace;
	font-size: 0.68rem;
	padding: 4px 8px;
	border: 1px solid var(--border-bright);
	background: transparent;
	color: var(--text-dim);
}
.preset-badge:hover {
	background: var(--cyan);
	border-color: var(--cyan);
	color: var(--bg-0);
	box-shadow: 0 0 12px rgba(0, 212, 255, 0.5);
}

/* ---------- Alerts ---------- */
.alert {
	background: var(--bg-2) !important;
	border: 1px solid var(--border) !important;
	border-left-width: 3px !important;
	border-radius: 2px !important;
	color: var(--text) !important;
	font-family: "JetBrains Mono", monospace;
	font-size: 0.85rem;
	padding: 12px 16px;
	animation: alertIn 0.3s ease;
}
.alert-success {
	border-left-color: var(--green) !important;
}
.alert-danger {
	border-left-color: var(--pink) !important;
}
.alert-warning {
	border-left-color: var(--amber) !important;
}
.alert-info {
	border-left-color: var(--blue) !important;
}
.alert-primary {
	border-left-color: var(--cyan) !important;
}
.alert i {
	color: inherit;
}
@keyframes alertIn {
	from {
		opacity: 0;
		transform: translateX(-8px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.btn-close {
	filter: invert(1) opacity(0.6);
}
[data-bs-theme="light"] .btn-close {
	filter: opacity(0.6);
}

/* ---------- Login ---------- */
.auth-shell {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	position: relative;
	z-index: 1;
}
.auth-panel {
	width: 100%;
	max-width: 420px;
	background: var(--bg-2);
	border: 1px solid var(--border);
	border-radius: 2px;
	position: relative;
	box-shadow:
		0 0 0 1px rgba(0, 212, 255, 0.05),
		0 20px 80px rgba(0, 0, 0, 0.6),
		0 0 120px rgba(0, 212, 255, 0.08);
	animation: authEnter 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes authEnter {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.auth-panel .panel__body {
	padding: 32px 28px 28px;
}

.auth-title {
	font-family: "JetBrains Mono", monospace;
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--text);
	margin: 0;
}
.auth-title .glyph {
	color: var(--green);
	margin-right: 8px;
}

.auth-subtitle {
	font-family: "JetBrains Mono", monospace;
	font-size: 0.78rem;
	color: var(--text-dim);
	margin-top: 6px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	gap: 2px;
}

.auth-step {
	font-family: "JetBrains Mono", monospace;
	font-size: 0.72rem;
	color: var(--green);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-top: 16px;
	margin-bottom: 16px;
	padding-top: 16px;
	border-top: 1px dashed var(--border);
}
.auth-step::before {
	content: "▸ ";
}

/* ===== Modals — destaque forte + z-index seguro ===== */
.modal {
	z-index: 1055 !important;
}
.modal-backdrop {
	z-index: 1050 !important;
}

.modal-backdrop.show {
	background: #000 !important;
	opacity: 0.88 !important;
}
[data-bs-theme="light"] .modal-backdrop.show {
	background: #0f172a !important;
	opacity: 0.72 !important;
}

.modal-dialog {
	padding: 12px;
}

.modal-content {
	background: var(--modal-bg) !important;
	border: 1px solid var(--modal-border) !important;
	border-radius: 2px !important;
	box-shadow:
		0 0 0 1px rgba(0, 212, 255, 0.12),
		0 30px 100px rgba(0, 0, 0, 0.75),
		0 0 80px rgba(0, 212, 255, 0.12);
	position: relative;
	overflow: hidden;
	transform: none !important;
	color: var(--text);
}

/* Barra neon no topo */
.modal-content::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--cyan), var(--green), var(--cyan));
	z-index: 3;
	pointer-events: none;
}

.modal-header {
	background: var(--modal-header-bg) !important;
	border-bottom: 1px solid var(--modal-border) !important;
	padding: 14px 20px;
	position: relative;
	z-index: 2;
}

.modal-title {
	font-family: "JetBrains Mono", monospace;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--text);
}

.modal-title i {
	color: var(--cyan) !important;
}

.modal-body {
	padding: 22px 20px;
	color: var(--text);
	position: relative;
	z-index: 2;
}

.modal-footer {
	border-top: 1px solid var(--modal-border) !important;
	padding: 14px 20px;
	position: relative;
	z-index: 2;
}

.btn-close {
	filter: invert(1) opacity(0.7);
	transition: opacity 0.15s;
}
.btn-close:hover {
	opacity: 1;
}
[data-bs-theme="light"] .btn-close {
	filter: opacity(0.6);
}
[data-bs-theme="light"] .btn-close:hover {
	filter: opacity(1);
}

/* ---------- Log console (htop style) ---------- */
.log-console {
	max-height: 380px;
	overflow-y: auto;
	border: 1px solid var(--border);
	background: var(--bg-0);
	position: relative;
	font-family: "JetBrains Mono", monospace;
}
[data-bs-theme="light"] .log-console {
	background: #0a0e14;
	color: #e6edf3;
}
.log-console::before {
	content: "";
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 0, 0, 0.15) 2px, rgba(0, 0, 0, 0.15) 4px);
	pointer-events: none;
	opacity: 0.3;
	z-index: 1;
}
.log-console table {
	position: relative;
	z-index: 2;
	color: #e6edf3 !important;
}
.log-console thead th {
	background: rgba(255, 255, 255, 0.03) !important;
	color: #8b949e !important;
	position: sticky;
	top: 0;
	border-bottom: 1px solid #1f2937 !important;
}
.log-console tbody tr:hover {
	background: rgba(0, 212, 255, 0.06) !important;
}
.log-console td {
	color: #c9d1d9 !important;
	border-bottom: 1px solid #161b22 !important;
	padding: 6px 10px !important;
	font-size: 0.78rem !important;
}

/* ---------- Select2 ---------- */
.select2-container .select2-selection--single {
	height: 42px !important;
	background-color: var(--bg-1) !important;
	border: 1px solid var(--border) !important;
	border-radius: 2px !important;
	display: flex;
	align-items: center;
}
.select2-container--focus .select2-selection--single,
.select2-container--open .select2-selection--single {
	border-color: var(--cyan) !important;
	box-shadow:
		0 0 0 1px var(--cyan),
		0 0 24px rgba(0, 212, 255, 0.15);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--text) !important;
	font-family: "JetBrains Mono", monospace;
	font-size: 0.85rem;
	padding-left: 14px;
	line-height: 40px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 40px !important;
	right: 8px !important;
}
.select2-dropdown {
	background-color: var(--bg-2) !important;
	border: 1px solid var(--border-bright) !important;
	border-radius: 2px !important;
	box-shadow: 0 15px 60px rgba(0, 0, 0, 0.7) !important;
	overflow: hidden;
	z-index: 9999;
	animation: dropdownIn 0.15s ease;
	font-family: "JetBrains Mono", monospace;
}
@keyframes dropdownIn {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.select2-search--dropdown .select2-search__field {
	background-color: var(--bg-3) !important;
	color: var(--text) !important;
	border: 1px solid var(--border) !important;
	border-radius: 2px !important;
	padding: 6px 10px !important;
	font-family: "JetBrains Mono", monospace;
}
.select2-results__option {
	color: var(--text) !important;
	font-size: 0.82rem;
	padding: 8px 12px !important;
	transition: all 0.1s;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
	background: var(--cyan) !important;
	color: var(--bg-0) !important;
}
.select2-container--default .select2-results__group {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--cyan) !important;
	padding: 10px 12px 4px !important;
	font-weight: 700;
}

/* ---------- Animações de entrada ---------- */
.fade-in-up {
	animation: fadeInUp 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.stagger > * {
	animation: fadeInUp 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.stagger > *:nth-child(1) {
	animation-delay: 0.04s;
}
.stagger > *:nth-child(2) {
	animation-delay: 0.1s;
}
.stagger > *:nth-child(3) {
	animation-delay: 0.16s;
}

/* ---------- Utilitários ---------- */
.text-mono {
	font-family: "JetBrains Mono", monospace;
}
.divider {
	height: 1px;
	background: var(--border);
	margin: 16px 0;
}

/* Empty state */
.empty-state {
	text-align: center;
	padding: 48px 20px;
	color: var(--text-faint);
	font-family: "JetBrains Mono", monospace;
	font-size: 0.85rem;
}
.empty-state i {
	font-size: 2.5rem;
	display: block;
	margin-bottom: 12px;
	opacity: 0.5;
	animation: glyphPulse 3s ease-in-out infinite;
}

/* Hostinger command bar */
.cmd-bar {
	background: var(--bg-0);
	border: 1px solid var(--border);
	padding: 8px 12px;
	font-family: "JetBrains Mono", monospace;
	font-size: 0.78rem;
	color: var(--green);
	display: flex;
	align-items: center;
	gap: 8px;
	overflow-x: auto;
	white-space: nowrap;
}
.cmd-bar::before {
	content: "❯";
	color: var(--cyan);
	margin-right: 2px;
	flex-shrink: 0;
}
[data-bs-theme="light"] .cmd-bar {
	background: #0a0e14;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
	.stat__value {
		font-size: 2rem;
	}
	.panel__body {
		padding: 16px;
	}
	.auth-panel .panel__body {
		padding: 24px 20px;
	}
	.table {
		font-size: 0.75rem;
	}
	.table > :not(caption) > * > * {
		padding: 8px 6px;
	}
}

[data-bs-theme="light"] .panel {
	box-shadow:
		0 1px 2px rgba(15, 23, 42, 0.05),
		0 1px 3px rgba(15, 23, 42, 0.06);
}
[data-bs-theme="light"] .panel:hover {
	box-shadow:
		0 4px 16px rgba(15, 23, 42, 0.08),
		0 1px 3px rgba(15, 23, 42, 0.06);
}

[data-bs-theme="light"] .panel__head {
	background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
	border-bottom: 1px solid var(--border);
}

[data-bs-theme="light"] .stat {
	box-shadow:
		0 1px 2px rgba(15, 23, 42, 0.05),
		0 1px 3px rgba(15, 23, 42, 0.06);
}
[data-bs-theme="light"] .stat:hover {
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
}

[data-bs-theme="light"] .term-nav {
	background: #ffffff;
	border-bottom: 1px solid var(--border);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

[data-bs-theme="light"] .server-clock,
[data-bs-theme="light"] .term-prompt {
	background: #f8fafc;
	border-color: var(--border);
}

[data-bs-theme="light"] .form-control,
[data-bs-theme="light"] .form-select {
	background: #ffffff !important;
	border-color: var(--border) !important;
}
[data-bs-theme="light"] .form-control:focus,
[data-bs-theme="light"] .form-select:focus {
	background: #ffffff !important;
	border-color: var(--cyan) !important;
}

[data-bs-theme="light"] .code-pill {
	background: #f1f4f8;
	border-left-width: 3px;
}

[data-bs-theme="light"] .table thead th {
	background: #f1f4f8 !important;
	color: #475569;
}

/* ===== Sticky Header for Tasks Table ===== */
.table-sticky-header thead th {
	position: sticky;
	top: 0;
	z-index: 5;
	/* Usa a cor de fundo do tema para não ficar transparente ao rolar */
	background: var(--bg-3) !important;
	/* Cria uma sombra sutil na borda inferior do header */
	box-shadow: 0 1px 0 var(--border-bright);
}

/* Garante que o hover da linha não sobreponha o header */
.table-sticky-header tbody tr {
	position: relative;
	z-index: 1;
}
