:root {
	--zen-font-sans: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
	--zen-bg: #f5f8fa;
	--zen-bg-accent: #eef3f7;
	--zen-surface: #ffffff;
	--zen-surface-soft: #f8fafc;
	--zen-surface-muted: #f1f5f9;
	--zen-border: #e4e6ef;
	--zen-border-strong: #d8dce8;
	--zen-text: #181c32;
	--zen-text-muted: #7e8299;
	--zen-text-soft: #a1a5b7;
	--zen-primary: #3699ff;
	--zen-primary-dark: #187de4;
	--zen-primary-soft: #e8f4ff;
	--zen-success: #50cd89;
	--zen-success-soft: #e8fff3;
	--zen-warning: #ffc700;
	--zen-warning-soft: #fff8dd;
	--zen-danger: #f1416c;
	--zen-danger-soft: #fff5f8;
	--zen-info: #7239ea;
	--zen-info-soft: #f8f5ff;
	--zen-shadow-xs: 0 2px 8px rgba(15, 23, 42, 0.04);
	--zen-shadow-sm: 0 10px 24px rgba(15, 23, 42, 0.06);
	--zen-shadow-md: 0 18px 40px rgba(15, 23, 42, 0.08);
	--zen-shadow-lg: 0 28px 60px rgba(15, 23, 42, 0.12);
	--zen-radius-sm: 0.65rem;
	--zen-radius-md: 0.95rem;
	--zen-radius-lg: 1.35rem;
	--zen-body-gradient:
		radial-gradient(circle at top right, rgba(54, 153, 255, 0.08), transparent 24%),
		radial-gradient(circle at left center, rgba(114, 57, 234, 0.06), transparent 22%),
		linear-gradient(180deg, #fbfcfe 0%, var(--zen-bg) 45%, #f3f6f9 100%);
	--zen-glow-primary: rgba(54, 153, 255, 0.12);
	--zen-glow-secondary: rgba(114, 57, 234, 0.08);
	--zen-topbar-bg: rgba(255, 255, 255, 0.88);
	--zen-topbar-border: rgba(228, 230, 239, 0.9);
	--zen-board-hero-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(245, 248, 250, 0.9) 100%);
	--zen-board-hero-border: rgba(228, 230, 239, 0.9);
	--zen-user-avatar-bg: linear-gradient(135deg, #f1faff 0%, #e8f4ff 100%);
	--zen-board-chip-bg: var(--zen-surface);
	--zen-board-chip-color: #5e6278;
	--zen-board-chip-border: var(--zen-border);
	--zen-modal-bg: rgba(255, 255, 255, 0.98);
	--zen-modal-border: rgba(228, 230, 239, 0.9);
	--zen-dropdown-bg: rgba(255, 255, 255, 0.98);
	--zen-input-bg: #ffffff;
	--zen-input-bg-focus: #ffffff;
	--zen-input-border: var(--zen-border-strong);
	--zen-input-text: var(--zen-text);
	--zen-input-placeholder: var(--zen-text-soft);
	--zen-form-label: #3f4254;
	--zen-progress-bg: #eff2f5;
	--zen-accent-text: #175b9b;
	--zen-warning-text: #8a6d00;
	--zen-danger-text: #b4234b;
	--zen-danger-text-strong: #a11a3f;
	color-scheme: light;
}

html[data-theme='dark'] {
	--zen-bg: #151521;
	--zen-bg-accent: #1b1d29;
	--zen-surface: #1b1d29;
	--zen-surface-soft: #1f212f;
	--zen-surface-muted: #242838;
	--zen-border: #2b2d3b;
	--zen-border-strong: #3a3d52;
	--zen-text: #ffffff;
	--zen-text-muted: #a1a5b7;
	--zen-text-soft: #6d7085;
	--zen-primary: #3e97ff;
	--zen-primary-dark: #6eb6ff;
	--zen-primary-soft: rgba(62, 151, 255, 0.14);
	--zen-success-soft: rgba(80, 205, 137, 0.14);
	--zen-warning-soft: rgba(255, 199, 0, 0.14);
	--zen-danger-soft: rgba(241, 65, 108, 0.14);
	--zen-info-soft: rgba(114, 57, 234, 0.16);
	--zen-shadow-xs: 0 2px 10px rgba(0, 0, 0, 0.2);
	--zen-shadow-sm: 0 12px 30px rgba(0, 0, 0, 0.24);
	--zen-shadow-md: 0 20px 42px rgba(0, 0, 0, 0.28);
	--zen-shadow-lg: 0 30px 70px rgba(0, 0, 0, 0.35);
	--zen-body-gradient:
		radial-gradient(circle at top right, rgba(62, 151, 255, 0.12), transparent 24%),
		radial-gradient(circle at left center, rgba(114, 57, 234, 0.1), transparent 24%),
		linear-gradient(180deg, #111217 0%, #151521 50%, #101116 100%);
	--zen-glow-primary: rgba(62, 151, 255, 0.12);
	--zen-glow-secondary: rgba(114, 57, 234, 0.1);
	--zen-topbar-bg: rgba(27, 29, 41, 0.9);
	--zen-topbar-border: rgba(43, 45, 59, 0.95);
	--zen-board-hero-bg: linear-gradient(180deg, rgba(27, 29, 41, 0.86) 0%, rgba(31, 33, 47, 0.94) 100%);
	--zen-board-hero-border: rgba(43, 45, 59, 0.95);
	--zen-user-avatar-bg: linear-gradient(135deg, rgba(62, 151, 255, 0.18) 0%, rgba(114, 57, 234, 0.18) 100%);
	--zen-board-chip-bg: #1f2433;
	--zen-board-chip-color: #c1dcff;
	--zen-board-chip-border: #2d3650;
	--zen-modal-bg: rgba(27, 29, 41, 0.98);
	--zen-modal-border: rgba(43, 45, 59, 0.95);
	--zen-dropdown-bg: rgba(27, 29, 41, 0.98);
	--zen-input-bg: #1f212f;
	--zen-input-bg-focus: #242838;
	--zen-input-border: #3a3d52;
	--zen-input-text: #ffffff;
	--zen-input-placeholder: #6d7085;
	--zen-form-label: #d8def7;
	--zen-progress-bg: #2b2d3b;
	--zen-accent-text: #8fc3ff;
	--zen-warning-text: #ffd454;
	--zen-danger-text: #ff8fab;
	--zen-danger-text-strong: #ffb3c7;
	color-scheme: dark;
}

html,
body {
	min-height: 100%;
}

body {
	margin: 0;
	font-family: var(--zen-font-sans);
	background: var(--zen-body-gradient);
	color: var(--zen-text);
}

a {
	color: var(--zen-primary-dark);
	text-decoration: none;
}

a:hover {
	color: var(--zen-primary);
}

.zen-body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	position: relative;
}

.zen-body::before,
.zen-body::after {
	content: '';
	position: fixed;
	z-index: -1;
	border-radius: 999px;
	filter: blur(10px);
	pointer-events: none;
}

.zen-body::before {
	top: -7rem;
	right: -4rem;
	width: 18rem;
	height: 18rem;
	background: var(--zen-glow-primary);
}

.zen-body::after {
	left: -5rem;
	bottom: 12rem;
	width: 14rem;
	height: 14rem;
	background: var(--zen-glow-secondary);
}

.zen-topbar {
	position: sticky;
	top: 0;
	z-index: 1040;
	background: var(--zen-topbar-bg) !important;
	border-bottom: 1px solid var(--zen-topbar-border);
	backdrop-filter: blur(18px);
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}

.zen-topbar .container-fluid {
	padding: 1rem 1.5rem;
}

.zen-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem;
	color: var(--zen-text) !important;
}

.zen-brand-mark {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 1.1rem;
	letter-spacing: 0.04em;
	color: #ffffff;
	background: linear-gradient(135deg, #3f9bff 0%, #187de4 100%);
	box-shadow: 0 14px 30px rgba(54, 153, 255, 0.28);
}

.zen-brand-copy {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}

.zen-brand-title {
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.zen-brand-subtitle {
	color: var(--zen-text-muted);
	font-size: 0.75rem;
	font-weight: 600;
}

.zen-userbar {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	flex-wrap: wrap;
}

.zen-user-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	background: var(--zen-surface);
	border: 1px solid var(--zen-border);
	border-radius: 999px;
	padding: 0.4rem 0.75rem 0.4rem 0.45rem;
	color: var(--zen-text);
	box-shadow: var(--zen-shadow-xs);
}

.zen-user-chip--toggle {
	appearance: none;
	cursor: pointer;
	text-align: left;
}

.zen-user-chip--toggle:hover,
.zen-user-chip--toggle:focus-visible {
	border-color: rgba(54, 153, 255, 0.28);
	background: var(--zen-primary-soft);
	outline: none;
}

.zen-user-chip__avatar {
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--zen-user-avatar-bg);
	color: var(--zen-primary-dark);
	font-size: 0.75rem;
	font-weight: 800;
}

.zen-user-chip__avatar--large {
	width: 3rem;
	height: 3rem;
	font-size: 1rem;
	flex-shrink: 0;
}

.zen-user-chip__avatar-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
	display: block;
}

.zen-user-chip__caret {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--zen-text-muted);
}

.zen-theme-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 8.75rem;
	justify-content: center;
}

.zen-theme-toggle__icon {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.zen-theme-toggle__icon--sun {
	display: inline-flex;
}

.zen-theme-toggle__icon--moon {
	display: none;
}

.zen-theme-toggle__label {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

html[data-theme='dark'] .zen-theme-toggle__icon--sun {
	display: none;
}

html[data-theme='dark'] .zen-theme-toggle__icon--moon {
	display: inline-flex;
}

.zen-user-chip__meta {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}

.zen-user-chip__name {
	font-size: 0.8rem;
	font-weight: 700;
}

.zen-user-chip__label {
	color: var(--zen-text-muted);
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.zen-account-dropdown {
	width: min(24rem, calc(100vw - 2rem));
	overflow: hidden;
}

.zen-account-dropdown__header {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 1rem 1rem 0.9rem;
	border-bottom: 1px solid var(--zen-border);
	background: var(--zen-surface-soft);
}

.zen-account-dropdown__name {
	font-size: 0.95rem;
	font-weight: 800;
	color: var(--zen-text);
}

.zen-account-dropdown__email {
	font-size: 0.8rem;
	color: var(--zen-text-muted);
	word-break: break-all;
}

.zen-account-form {
	padding: 1rem;
}

.zen-account-form .form-control[readonly] {
	opacity: 0.82;
	cursor: default;
}

.zen-account-form .form-check {
	padding-left: 0;
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.zen-account-form .form-check-input {
	margin: 0;
	flex-shrink: 0;
}

.zen-account-dropdown__footer {
	padding: 1rem;
	border-top: 1px solid var(--zen-border);
	background: var(--zen-surface-soft);
}

.zen-main {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.zen-flashes {
	padding: 1rem 1.5rem 0;
}

.zen-flashes .alert {
	margin-bottom: 0.75rem;
}

.container,
.container-fluid {
	position: relative;
}

.page-header-muted,
.text-muted {
	color: var(--zen-text-muted) !important;
}

.navbar .btn-outline-light,
.btn,
.form-control,
.form-select,
.dropdown-menu,
.card,
.modal-content,
.alert {
	border-radius: var(--zen-radius-md);
}

.alert {
	border: 1px solid transparent;
	box-shadow: var(--zen-shadow-xs);
}

.alert-success {
	background: var(--zen-success-soft);
	border-color: rgba(80, 205, 137, 0.2);
	color: var(--zen-text);
}

.alert-danger {
	background: var(--zen-danger-soft);
	border-color: rgba(241, 65, 108, 0.18);
	color: var(--zen-text);
}

.alert-info {
	background: var(--zen-primary-soft);
	border-color: rgba(54, 153, 255, 0.18);
	color: var(--zen-text);
}

.card,
.auth-card,
.worklog-card,
.empty-state-panel,
.board-card,
.worklog-header {
	background: var(--zen-surface);
	border: 1px solid var(--zen-border);
	box-shadow: var(--zen-shadow-sm);
}

.auth-card,
.empty-state-panel,
.worklog-header,
.board-card,
.worklog-card {
	border-radius: var(--zen-radius-lg);
}

.btn {
	--bs-btn-padding-x: 1.1rem;
	--bs-btn-padding-y: 0.7rem;
	--bs-btn-font-weight: 700;
	--bs-btn-border-radius: 0.85rem;
	--bs-btn-box-shadow: none;
	letter-spacing: 0.01em;
}

.btn-sm {
	--bs-btn-padding-x: 0.9rem;
	--bs-btn-padding-y: 0.55rem;
	--bs-btn-border-radius: 0.75rem;
}

.btn-primary {
	--bs-btn-bg: var(--zen-primary);
	--bs-btn-border-color: var(--zen-primary);
	--bs-btn-hover-bg: var(--zen-primary-dark);
	--bs-btn-hover-border-color: var(--zen-primary-dark);
	--bs-btn-active-bg: var(--zen-primary-dark);
	--bs-btn-active-border-color: var(--zen-primary-dark);
	color: #ffffff;
	box-shadow: 0 10px 20px rgba(54, 153, 255, 0.22);
}

.btn-primary:hover,
.btn-primary:focus-visible {
	color: #ffffff;
	transform: translateY(-1px);
}

.btn-outline-light,
.btn-outline-secondary,
.btn-surface,
.btn-secondary {
	color: var(--zen-text);
	border-color: var(--zen-border-strong);
	background: var(--zen-surface);
}

.btn-outline-light:hover,
.btn-outline-secondary:hover,
.btn-surface:hover,
.btn-secondary:hover,
.btn-outline-light:focus-visible,
.btn-outline-secondary:focus-visible,
.btn-surface:focus-visible,
.btn-secondary:focus-visible {
	color: var(--zen-primary-dark);
	border-color: rgba(54, 153, 255, 0.24);
	background: var(--zen-primary-soft);
}

html[data-theme='dark'] .btn-outline-light,
html[data-theme='dark'] .btn-outline-secondary,
html[data-theme='dark'] .btn-surface,
html[data-theme='dark'] .btn-secondary {
	color: #ffffff;
}

.btn-outline-primary {
	color: var(--zen-primary-dark);
	border-color: rgba(54, 153, 255, 0.24);
	background: var(--zen-primary-soft);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible {
	color: #ffffff;
	border-color: var(--zen-primary);
	background: var(--zen-primary);
}

.btn-danger {
	box-shadow: 0 10px 20px rgba(241, 65, 108, 0.18);
}

.form-control,
.form-select,
.form-check-input {
	border-color: var(--zen-input-border);
	background-color: var(--zen-input-bg);
	color: var(--zen-input-text);
	box-shadow: none;
}

.form-control,
.form-select {
	min-height: 3rem;
	padding: 0.75rem 0.95rem;
	font-weight: 600;
}

.form-control::placeholder,
.form-select::placeholder {
	color: var(--zen-input-placeholder);
	font-weight: 500;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
	background-color: var(--zen-input-bg-focus);
	color: var(--zen-input-text);
	border-color: rgba(54, 153, 255, 0.45);
	box-shadow: 0 0 0 0.2rem rgba(54, 153, 255, 0.12);
}

.form-check-input:checked {
	background-color: var(--zen-primary);
	border-color: var(--zen-primary);
}

.form-label {
	color: var(--zen-form-label);
	font-size: 0.9rem;
	font-weight: 700;
	margin-bottom: 0.55rem;
}

.form-text {
	color: var(--zen-text-muted) !important;
}

.form-select {
	background-image: var(--bs-form-select-bg-img), linear-gradient(180deg, transparent, transparent);
}

.modal-content {
	background: var(--zen-modal-bg);
	border: 1px solid var(--zen-modal-border);
	color: var(--zen-text);
	box-shadow: var(--zen-shadow-lg);
}

.modal-header,
.modal-footer {
	border-color: var(--zen-border);
}

.btn-close {
	filter: none;
	opacity: 0.5;
}

.dropdown-menu {
	background: var(--zen-dropdown-bg);
	border: 1px solid var(--zen-border);
	box-shadow: var(--zen-shadow-md);
	padding: 0.55rem;
}

.dropdown-item,
.dropdown-item-text {
	color: var(--zen-text);
	border-radius: 0.7rem;
}

.dropdown-item {
	padding: 0.65rem 0.8rem;
	font-weight: 600;
}

.dropdown-item:hover,
.dropdown-item:focus {
	background: var(--zen-primary-soft);
	color: var(--zen-primary-dark);
}

.badge {
	border-radius: 999px;
	padding: 0.55em 0.8em;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.badge.bg-secondary,
.badge.text-bg-secondary {
	background: var(--zen-surface-muted) !important;
	color: var(--zen-text-muted) !important;
}

.badge.text-bg-light {
	background: var(--zen-success-soft) !important;
	color: var(--zen-text) !important;
}

.badge-overrun {
	background: var(--zen-warning-soft);
	border: 1px solid rgba(255, 199, 0, 0.32);
	color: var(--zen-warning-text);
}

.badge-deadline {
	background: var(--zen-primary-soft);
	border: 1px solid rgba(54, 153, 255, 0.22);
	color: var(--zen-accent-text);
}

.badge-deadline-warning {
	background: var(--zen-warning-soft);
	border: 1px solid rgba(255, 199, 0, 0.26);
	color: var(--zen-warning-text);
}

.badge-deadline-overdue,
.badge-archived {
	background: var(--zen-danger-soft);
	border: 1px solid rgba(241, 65, 108, 0.18);
	color: var(--zen-danger-text);
}

.min-vh-100 {
	min-height: 0 !important;
}

.auth-container {
	min-height: calc(100vh - 96px);
	display: flex;
	align-items: center;
}

.auth-card {
	position: relative;
	overflow: hidden;
	padding: 2rem !important;
}

.auth-card::before {
	content: '';
	position: absolute;
	inset: 0 0 auto;
	height: 5px;
	background: linear-gradient(90deg, #3699ff 0%, #7239ea 100%);
}

.auth-card h1 {
	color: var(--zen-text);
	font-weight: 800;
}

.board-index-shell,
.worklog-shell {
	max-width: 1280px;
}

.board-index-shell h1,
.worklog-shell h1,
.section-title,
.board-title {
	color: var(--zen-text);
	font-weight: 800;
}

.board-index-shell p,
.worklog-shell p {
	color: var(--zen-text-muted);
}

.card-hover,
.board-card,
.kanban-card,
.worklog-card,
.btn,
.metric-icon {
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background-color 0.16s ease;
}

.card-hover:hover,
.board-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--zen-shadow-md);
}

.board-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: var(--zen-text);
	padding: 1.6rem;
	text-decoration: none;
	overflow: hidden;
	position: relative;
}

.board-card::after {
	content: '';
	position: absolute;
	inset: auto -10% -25% auto;
	width: 9rem;
	height: 9rem;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(54, 153, 255, 0.15) 0%, transparent 70%);
}

.board-card h2 {
	color: var(--zen-text);
	font-weight: 800;
}

.board-card p {
	color: var(--zen-text-muted);
}

.board-card__footer {
	margin-top: 1.25rem;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 700;
	color: var(--zen-primary-dark);
}

.empty-state-panel {
	padding: 2rem;
	color: var(--zen-text-muted);
}

.empty-state-panel strong {
	color: var(--zen-text);
}

.board-hero {
	position: sticky;
	top: 78px;
	z-index: 1030;
	background: var(--zen-board-hero-bg);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--zen-board-hero-border);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}

.board-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
}

.board-toolbar-left,
.board-toolbar-right {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.board-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.board-actions .btn {
	box-shadow: none;
}

.board-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	color: var(--zen-text-muted);
}

.board-chip,
.role-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border-radius: 999px;
	border: 1px solid transparent;
	min-height: 2.25rem;
	padding: 0.5rem 0.9rem;
	font-size: 0.74rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.board-chip {
	background: var(--zen-board-chip-bg);
	border: 1px solid var(--zen-board-chip-border);
	color: var(--zen-board-chip-color);
}

.board-chip-soft {
	background: var(--zen-primary-soft);
	color: var(--zen-primary-dark);
}

.role-badge.role-owner {
	background: var(--zen-warning-soft);
	color: var(--zen-text);
}

.role-badge.role-admin {
	background: var(--zen-success-soft);
	color: var(--zen-text);
}

.role-badge.role-member {
	background: var(--zen-primary-soft);
	color: var(--zen-text);
}

.board-description {
	max-width: 50rem;
	margin: 0;
	color: var(--zen-text-muted);
}

.board-members .dropdown-menu {
	min-width: 16rem;
}

.board-wrapper {
	padding: 1.5rem;
	display: flex;
	flex: 1;
}

.board-canvas {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	width: 100%;
	min-height: calc(100vh - 220px);
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 2rem;
}

.kanban-column {
	background: var(--zen-surface);
	border: 1px solid var(--zen-border);
	border-radius: 1.4rem;
	box-shadow: var(--zen-shadow-sm);
	min-width: 320px;
	max-width: 320px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.kanban-column[data-status='done'],
.kanban-column[data-status='completed'] {
	border-color: rgba(80, 205, 137, 0.28);
	background: linear-gradient(180deg, var(--zen-surface) 0%, var(--zen-success-soft) 100%);
}

.kanban-column-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem 1.1rem 0.9rem;
	border-bottom: 1px solid var(--zen-border);
	background: color-mix(in srgb, var(--zen-surface-soft) 88%, transparent);
}

.kanban-card-list {
	padding: 1rem;
	overflow-y: auto;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}

.kanban-card {
	background: var(--zen-surface-soft);
	border: 1px solid var(--zen-border);
	border-radius: 1rem;
	padding: 1rem;
	cursor: grab;
	user-select: none;
	color: var(--zen-text);
	box-shadow: var(--zen-shadow-xs);
}

.kanban-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--zen-shadow-sm);
}

.kanban-card:active,
.kanban-card.is-dragging {
	cursor: grabbing;
}

.kanban-card.is-dragging {
	opacity: 0.65;
	transform: scale(0.985);
}

.kanban-card.is-completed {
	background: var(--zen-success-soft);
	border-color: rgba(80, 205, 137, 0.28);
}

.kanban-card.is-archived {
	opacity: 0.7;
	background: var(--zen-surface-muted);
}

.kanban-card.is-archived .kanban-card-title {
	text-decoration: line-through;
	color: var(--zen-text-muted);
}

.kanban-card.time-overrun {
	background: var(--zen-warning-soft);
	border-color: rgba(255, 199, 0, 0.3);
}

.kanban-card.deadline-warning {
	background: var(--zen-warning-soft);
	border-color: rgba(255, 199, 0, 0.3);
}

.kanban-card.deadline-overdue {
	background: var(--zen-danger-soft);
	border-color: rgba(241, 65, 108, 0.22);
}

.kanban-column.is-drop-target {
	border-color: rgba(54, 153, 255, 0.35);
	box-shadow: 0 0 0 3px rgba(54, 153, 255, 0.12);
}

.kanban-card-list.is-drop-target {
	background: rgba(54, 153, 255, 0.04);
}

.kanban-card-title {
	font-size: 1rem;
	margin-bottom: 0.6rem;
	font-weight: 800;
	color: var(--zen-text);
}

.kanban-card-labels,
.kanban-card-meta,
.kanban-card-assignees {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.kanban-card-labels {
	margin-bottom: 0.6rem;
}

.kanban-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.35rem 0.7rem;
	background: var(--zen-primary-soft);
	color: var(--zen-primary-dark);
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 700;
}

.kanban-card-meta {
	font-size: 0.76rem;
}

.kanban-card-assignees {
	margin-top: 0.8rem;
}

.kanban-assignee {
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: var(--zen-user-avatar-bg);
	color: var(--zen-accent-text);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.72rem;
	font-weight: 800;
	box-shadow: var(--zen-shadow-xs);
}

.assignee-selector,
.card-pane {
	background: var(--zen-surface-soft);
	border: 1px solid var(--zen-border);
	border-radius: 1rem;
}

.assignee-selector {
	padding: 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.assignee-selector .assignee-option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.55rem 0.7rem;
	border-radius: 0.8rem;
	cursor: pointer;
}

.assignee-selector .assignee-option:hover {
	background: var(--zen-primary-soft);
}

.assignee-option-main {
	display: flex;
	align-items: center;
	gap: 0.55rem;
}

.assignee-option-name {
	color: var(--zen-text);
	font-weight: 700;
}

.assignee-option-input {
	width: 1.1rem;
	height: 1.1rem;
	margin: 0;
	accent-color: var(--zen-primary);
	cursor: pointer;
}

.add-card-button {
	color: var(--zen-primary-dark);
	padding: 0.95rem 1.1rem 1rem;
	border-top: 1px dashed var(--zen-border-strong);
	font-weight: 700;
}

.add-card-button:hover {
	background: var(--zen-primary-soft);
	color: var(--zen-primary-dark);
}

.column-title-input {
	border: none;
	background: transparent;
	padding: 0.2rem 0.4rem;
	font-weight: 800;
	width: 180px;
	color: var(--zen-text);
}

.column-title-input:focus {
	outline: none;
	box-shadow: none;
	border-bottom: 2px solid rgba(54, 153, 255, 0.45);
}

#cardModal .modal-header {
	padding: 1.5rem;
	background: var(--zen-surface-soft);
}

#cardModal .modal-title {
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--zen-text);
}

#cardModal .modal-subtitle {
	color: var(--zen-text-muted);
}

#cardModal .modal-body {
	max-height: 70vh;
	overflow-y: auto;
	padding: 1.5rem;
}

#cardModal .assignee-selector {
	background: transparent;
	border: none;
	padding: 0;
}

.card-modal-scroll {
	max-height: 32vh;
	overflow-y: auto;
	margin-top: 0.5rem;
	padding-right: 0.25rem;
}

.section-header {
	margin-bottom: 0.5rem;
}

.list-group-flush > .list-group-item {
	border-left: 0;
	border-right: 0;
	border-radius: 0;
	padding-left: 0;
	padding-right: 0;
}

.list-group-flush > .list-group-item:first-child {
	border-top: 0;
}

.list-group-flush li {
	font-size: 0.92rem;
}

.list-group-item {
	background: transparent;
	border-color: var(--zen-border);
	color: var(--zen-text);
}

.list-group-item .text-muted {
	color: var(--zen-text-muted) !important;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
	background: var(--zen-primary-soft);
	color: var(--zen-primary-dark);
}

.worklog-header {
	padding: 1.5rem;
}

.worklog-card .card-header {
	background: var(--zen-surface-soft);
	border-bottom: 1px solid var(--zen-border);
	color: var(--zen-text);
	font-weight: 800;
}

.worklog-card.table-card {
	overflow: hidden;
}

.worklog-card .card-body,
.worklog-card .list-group-item,
.worklog-table {
	color: var(--zen-text);
}

.worklog-card .list-group-item.is-overrun,
.worklog-table tbody tr.is-overrun {
	background: var(--zen-warning-soft);
}

.worklog-card .list-group-item.deadline-warning,
.worklog-table tbody tr.deadline-warning {
	background: var(--zen-warning-soft);
}

.worklog-card .list-group-item.deadline-overdue,
.worklog-table tbody tr.deadline-overdue {
	background: var(--zen-danger-soft);
}

.metric-icon {
	box-shadow: var(--zen-shadow-xs);
}

.metric-icon.bg-primary {
	background: linear-gradient(135deg, #3699ff 0%, #187de4 100%) !important;
}

.metric-icon.bg-success {
	background: linear-gradient(135deg, #50cd89 0%, #0bb783 100%) !important;
}

.metric-icon.bg-info {
	background: linear-gradient(135deg, #7239ea 0%, #8950fc 100%) !important;
}

.progress {
	background: var(--zen-progress-bg);
	border-radius: 999px;
}

.progress-bar {
	border-radius: 999px;
}

.worklog-card .progress-bar.overrun {
	background: linear-gradient(135deg, #ffc700 0%, #f1bc00 100%);
}

.worklog-table-head,
.worklog-table-head th {
	background: var(--zen-surface-soft) !important;
	color: var(--zen-text);
	border-color: var(--zen-border) !important;
	font-weight: 800;
}

.worklog-table tbody tr {
	background: transparent;
	border-color: var(--zen-border);
}

.worklog-table tbody tr:hover {
	background: var(--zen-surface-soft);
}

.worklog-table tbody td,
.worklog-table tbody th,
.worklog-table td,
.worklog-table th {
	border-color: var(--zen-border);
}

.worklog-table tbody td .text-muted,
.worklog-table tbody th .text-muted,
.worklog-shell .text-muted.small,
.worklog-shell .text-muted .small {
	color: var(--zen-text-muted) !important;
}

.worklog-table tbody td.time-overrun-cell {
	color: var(--zen-warning-text);
}

.worklog-card.table-card .table-responsive {
	background: var(--zen-surface);
}

.worklog-shell .table-responsive .table {
	margin-bottom: 0;
}

.deadline-input-overdue,
.form-control.deadline-input-overdue {
	background: var(--zen-danger-soft);
	border-color: rgba(241, 65, 108, 0.22);
	color: var(--zen-danger-text-strong);
}

.form-control.deadline-input-overdue:focus {
	background: var(--zen-danger-soft);
	border-color: rgba(241, 65, 108, 0.32);
	box-shadow: 0 0 0 0.2rem rgba(241, 65, 108, 0.12);
	color: var(--zen-danger-text-strong);
}

.deadline-label-overdue {
	color: var(--zen-danger-text) !important;
}

.board-wrapper::-webkit-scrollbar,
.kanban-card-list::-webkit-scrollbar,
.card-modal-scroll::-webkit-scrollbar {
	height: 8px;
	width: 8px;
}

.board-wrapper::-webkit-scrollbar-thumb,
.kanban-card-list::-webkit-scrollbar-thumb,
.card-modal-scroll::-webkit-scrollbar-thumb {
	background-color: rgba(126, 130, 153, 0.35);
	border-radius: 999px;
}

@media (max-width: 991.98px) {
	.zen-topbar .container-fluid,
	.board-hero .container-fluid,
	.zen-flashes,
	.board-wrapper {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.board-hero {
		top: 74px;
	}

	.board-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.board-actions .btn {
		flex: 1 1 auto;
	}
}

@media (max-width: 767.98px) {
	.zen-brand-subtitle,
	.zen-user-chip__label,
	.zen-theme-toggle__label {
		display: none;
	}

	.auth-card {
		padding: 1.5rem !important;
	}

	.board-wrapper {
		padding-top: 1rem;
	}

	.kanban-column {
		min-width: 290px;
		max-width: 290px;
	}
}
