:root {
	--cci-primary: #6d3b23;
	--cci-primary-dark: #4a2718;
	--cci-sidebar-w: 250px;
}

body {
	background: #f4f5f7;
}

.app-shell {
	display: flex;
	min-height: 100vh;
}

.app-sidebar {
	width: var(--cci-sidebar-w);
	background: var(--cci-primary-dark);
	color: #fff;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	overflow-y: auto;
	z-index: 1030;
	transition: transform .2s ease-in-out;
}

.app-sidebar-brand {
	padding: 1rem;
	font-weight: 700;
	font-size: 1.05rem;
	border-bottom: 1px solid rgba(255,255,255,.1);
}

.app-nav .nav-link {
	color: rgba(255,255,255,.85);
	padding: .55rem 1rem;
	font-size: .92rem;
}

.app-nav .nav-link:hover, .app-nav .nav-link.active {
	background: rgba(255,255,255,.08);
	color: #fff;
}

.app-nav .nav-heading {
	text-transform: uppercase;
	font-size: .7rem;
	letter-spacing: .06em;
	color: rgba(255,255,255,.5);
	padding: .9rem 1rem .25rem;
}

.app-main {
	margin-left: var(--cci-sidebar-w);
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.app-topbar {
	background: #fff;
	border-bottom: 1px solid #e5e7eb;
	padding: .6rem 1.25rem;
	display: flex;
	align-items: center;
	position: sticky;
	top: 0;
	z-index: 1020;
}

.app-content {
	padding: 1.25rem;
	flex: 1;
}

.stat-card {
	border: none;
	border-radius: .6rem;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
}

.status-dot {
	display: inline-block;
	width: .6rem;
	height: .6rem;
	border-radius: 50%;
}
.status-dot.green { background: #198754; }
.status-dot.yellow { background: #ffc107; }
.status-dot.red { background: #dc3545; }

@media (max-width: 991.98px) {
	.app-sidebar {
		transform: translateX(-100%);
	}
	.app-sidebar.show {
		transform: translateX(0);
	}
	.app-main {
		margin-left: 0;
	}
}

.login-wrap {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--cci-primary-dark), var(--cci-primary));
}

.login-card {
	width: 100%;
	max-width: 400px;
	border: none;
	border-radius: .75rem;
}

.signature-pad-wrap canvas {
	border: 1px dashed #adb5bd;
	border-radius: .35rem;
	width: 100%;
	height: 160px;
	touch-action: none;
}
