.cup-box {
	max-width: 480px;
	margin: 30px auto;
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	padding: 25px 30px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.cup-box h2 { margin-top: 0; }
.cup-box p label { display: block; margin-bottom: 5px; font-weight: 600; }
.cup-box input[type="text"],
.cup-box input[type="email"],
.cup-box input[type="password"],
.cup-box textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	box-sizing: border-box;
	font-size: 14px;
}
.cup-btn {
	display: inline-block;
	background: #2271b1;
	color: #fff !important;
	border: none;
	padding: 10px 22px;
	border-radius: 6px;
	cursor: pointer;
	text-decoration: none;
	font-size: 14px;
}
.cup-btn:hover { background: #135e96; }
.cup-btn-secondary { background: #6c757d; }
.cup-btn-secondary:hover { background: #565e64; }

.cup-alert {
	padding: 10px 15px;
	border-radius: 6px;
	margin-bottom: 15px;
	font-size: 14px;
}
.cup-alert-error { background: #fdecea; color: #b3261e; border: 1px solid #f5c2c0; }
.cup-alert-success { background: #eaf7ea; color: #216e2f; border: 1px solid #bfe6c2; }

.cup-dashboard {
	max-width: 900px;
	margin: 30px auto;
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}
.cup-menu {
	flex: 0 0 200px;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	overflow: hidden;
	height: fit-content;
}
.cup-menu a {
	padding: 14px 18px;
	text-decoration: none;
	color: #333;
	border-bottom: 1px solid #f0f0f0;
}
.cup-menu a.active { background: #2271b1; color: #fff; }
.cup-menu a.cup-logout { color: #b3261e; }
.cup-menu a:hover:not(.active) { background: #f5f5f5; }

.cup-content {
	flex: 1;
	min-width: 280px;
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	padding: 20px 25px;
}
.cup-list { list-style: none; margin: 0; padding: 0; }
.cup-list li {
	padding: 14px 0;
	border-bottom: 1px solid #f0f0f0;
}
.cup-list li:last-child { border-bottom: none; }
.cup-list-title { font-weight: 700; font-size: 15px; margin-bottom: 4px; }
.cup-list-date { font-size: 12px; color: #888; margin-bottom: 6px; }
.cup-list-desc { font-size: 14px; color: #444; margin-bottom: 8px; }

.cup-thread-msg {
	background: #f7f7f7;
	border-radius: 8px;
	padding: 10px 14px;
	margin-bottom: 10px;
}
.cup-thread-msg p { margin: 4px 0 0; }
