:root {
	--bg-main: #020617;
	--bg-start: #0b122f;
	--bg-end: #02040a;
	--panel: #0f172a;
	--panel-border: #1e293b;
	--text-main: #f1f5f9;
	--text-subtle: #94a3b8;
	--brand: #22d3ee;
	--brand-deep: #0e7490;
	--nav-hover: rgba(30, 41, 59, 0.8);
	--nav-border-hover: #334155;
	--nav-active-bg: rgba(6, 182, 212, 0.12);
	--nav-active-border: rgba(6, 182, 212, 0.45);
	--nav-active-text: #cffafe;
	--table-input-bg: #020617;
	--table-input-border: #334155;
	--dropzone-border: #334155;
	--dropzone-bg: rgba(6, 182, 212, 0.08);
	--dropzone-text: #94a3b8;
	--body-text: #f1f5f9;
	--chart-cyan-rgb: 34, 211, 238;
	--chart-amber-rgb: 251, 191, 36;
	--chart-neutral-rgb: 148, 163, 184;
	--chart-axis-rgb: 148, 163, 184;
	--chart-grid-rgb: 71, 85, 105;
	--chart-legend-rgb: 226, 232, 240;
	--chart-surface-rgb: 15, 23, 42;
}

html[data-theme='light'] {
	--bg-main: #f4f8ff;
	--bg-start: #f8fbff;
	--bg-end: #eef4ff;
	--panel: #ffffff;
	--panel-border: #d8e2f0;
	--text-main: #0f172a;
	--text-subtle: #475569;
	--brand: #0891b2;
	--brand-deep: #0369a1;
	--nav-hover: rgba(226, 232, 240, 0.8);
	--nav-border-hover: #cbd5e1;
	--nav-active-bg: rgba(8, 145, 178, 0.12);
	--nav-active-border: rgba(8, 145, 178, 0.38);
	--nav-active-text: #0f172a;
	--table-input-bg: #ffffff;
	--table-input-border: #cbd5e1;
	--dropzone-border: #cbd5e1;
	--dropzone-bg: rgba(8, 145, 178, 0.08);
	--dropzone-text: #334155;
	--body-text: #0f172a;
	--chart-cyan-rgb: 8, 145, 178;
	--chart-amber-rgb: 180, 83, 9;
	--chart-neutral-rgb: 71, 85, 105;
	--chart-axis-rgb: 51, 65, 85;
	--chart-grid-rgb: 148, 163, 184;
	--chart-legend-rgb: 15, 23, 42;
	--chart-surface-rgb: 255, 255, 255;
}

html,
body {
	background: radial-gradient(circle at 10% 10%, var(--bg-start) 0%, var(--bg-main) 50%, var(--bg-end) 100%);
	color: var(--body-text);
}

.theme-toggle {
	position: fixed;
	top: 1rem;
	right: 1rem;
	z-index: 90;
	height: 2.5rem;
	width: 2.5rem;
	display: grid;
	place-items: center;
	border-radius: 0.75rem;
	border: 1px solid var(--panel-border);
	background: var(--panel);
	color: var(--text-main);
	box-shadow: 0 10px 25px rgba(2, 6, 23, 0.22);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.theme-toggle:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 30px rgba(2, 6, 23, 0.22);
}

.sidebar-panel {
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.95), rgba(2, 6, 23, 0.95));
	border-right: 1px solid var(--panel-border);
	backdrop-filter: blur(8px);
}

html[data-theme='light'] .sidebar-panel {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(242, 247, 255, 0.98));
}

.panel {
	border: 1px solid var(--panel-border);
	background: rgba(15, 23, 42, 0.72);
	border-radius: 1rem;
	padding: 1rem;
	box-shadow: 0 20px 40px rgba(2, 6, 23, 0.35);
}

html[data-theme='light'] .panel {
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 16px 34px rgba(30, 41, 59, 0.08);
}

.panel-title {
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
}

.nav-btn {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0.7rem;
	border: 1px solid transparent;
	border-radius: 0.8rem;
	padding: 0.65rem 0.8rem;
	color: var(--text-subtle);
	transition: all 0.2s ease;
}

.nav-btn:hover {
	background: var(--nav-hover);
	border-color: var(--nav-border-hover);
}

.nav-btn.active {
	background: var(--nav-active-bg);
	border-color: var(--nav-active-border);
	color: var(--nav-active-text);
}

.stat-card {
	background: linear-gradient(145deg, rgba(15, 23, 42, 0.9), rgba(2, 6, 23, 0.9));
	border: 1px solid var(--panel-border);
	border-radius: 1rem;
	padding: 1rem;
}

html[data-theme='light'] .stat-card {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(240, 247, 255, 0.96));
}

.stat-card p {
	color: var(--text-subtle);
	font-size: 0.85rem;
}

.stat-card h3 {
	font-size: 1.8rem;
	font-weight: 800;
	margin-top: 0.3rem;
}

.progress-track {
	height: 0.55rem;
	width: 100%;
	background: #0b1223;
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid #172033;
}

.progress-fill {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--brand-deep), var(--brand));
	border-radius: 999px;
	transition: width 0.35s ease;
}

.status-chip {
	border: 1px solid;
	border-radius: 999px;
	padding: 0.2rem 0.55rem;
	font-size: 0.7rem;
	font-weight: 700;
	white-space: nowrap;
}

.chip-green {
	color: #6ee7b7;
	border-color: rgba(16, 185, 129, 0.4);
	background: rgba(16, 185, 129, 0.14);
}

.chip-cyan {
	color: #67e8f9;
	border-color: rgba(6, 182, 212, 0.45);
	background: rgba(6, 182, 212, 0.14);
}

.chip-amber {
	color: #fcd34d;
	border-color: rgba(245, 158, 11, 0.4);
	background: rgba(245, 158, 11, 0.12);
}

.card-raise {
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.card-raise:hover {
	transform: translateY(-2px);
	border-color: #334155;
}

.photo-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
}

.table-input {
	background: var(--table-input-bg);
	border: 1px solid var(--table-input-border);
	border-radius: 0.55rem;
	padding: 0.35rem 0.55rem;
}

.table-input:focus {
	outline: none;
	border-color: rgba(34, 211, 238, 0.75);
}

.drop-zone {
	display: block;
	width: 100%;
	border: 1.5px dashed var(--dropzone-border);
	border-radius: 0.8rem;
	padding: 1.2rem;
	text-align: center;
	color: var(--dropzone-text);
	cursor: pointer;
	transition: all 0.2s ease;
}

.drop-zone:hover,
.drop-zone.drag-active {
	border-color: rgba(34, 211, 238, 0.75);
	background: var(--dropzone-bg);
	color: #cffafe;
}

.mobile-quick-nav {
	overflow-x: auto;
	padding-bottom: 0.25rem;
}

.mobile-quick-nav-track {
	display: flex;
	gap: 0.55rem;
	min-width: max-content;
}

.mobile-nav-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.48rem 0.8rem;
	font-size: 0.78rem;
	border-radius: 999px;
	border: 1px solid var(--panel-border);
	background: var(--panel);
	color: var(--text-subtle);
	white-space: nowrap;
	transition: all 0.2s ease;
}

.mobile-nav-btn.active {
	background: var(--nav-active-bg);
	border-color: var(--nav-active-border);
	color: var(--nav-active-text);
}

html[data-theme='light'] .drop-zone:hover,
html[data-theme='light'] .drop-zone.drag-active {
	color: #0f172a;
}

html[data-theme='light'] .text-slate-100,
html[data-theme='light'] .text-slate-200,
html[data-theme='light'] .text-slate-300 {
	color: #0f172a !important;
}

html[data-theme='light'] .text-slate-400,
html[data-theme='light'] .text-slate-500 {
	color: #475569 !important;
}

html[data-theme='light'] .text-cyan-200,
html[data-theme='light'] .text-cyan-300,
html[data-theme='light'] .text-cyan-400 {
	color: #075985 !important;
}

html[data-theme='light'] .border-slate-700,
html[data-theme='light'] .border-slate-800 {
	border-color: #cbd5e1 !important;
}

html[data-theme='light'] .bg-slate-950,
html[data-theme='light'] .bg-slate-900,
html[data-theme='light'] .bg-slate-900\/50,
html[data-theme='light'] .bg-slate-900\/60,
html[data-theme='light'] .bg-slate-900\/80 {
	background-color: rgba(255, 255, 255, 0.92) !important;
}
