/**
 * UCP Adapter Frontend Styles
 *
 * @package UCP_Adapter
 */

/* Reset and base styles */
.ucp-adapter-container {
	max-width: 100%;
	margin: 0 auto;
	padding: 20px;
	box-sizing: border-box;
}

/* Session status indicators */
.ucp-session-status {
	display: inline-block;
	padding: 5px 10px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
}

.ucp-session-status.active {
	background-color: #46b450;
	color: #fff;
}

.ucp-session-status.pending {
	background-color: #ffb900;
	color: #fff;
}

.ucp-session-status.completed {
	background-color: #00a0d2;
	color: #fff;
}

.ucp-session-status.expired {
	background-color: #dc3232;
	color: #fff;
}

/* Loading states */
.ucp-loading {
	position: relative;
	opacity: 0.6;
	pointer-events: none;
}

.ucp-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 2px solid #ccc;
	border-top-color: #000;
	border-radius: 50%;
	animation: ucp-spin 0.6s linear infinite;
}

@keyframes ucp-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Error messages */
.ucp-error {
	padding: 10px 15px;
	background-color: #f8d7da;
	border: 1px solid #f5c6cb;
	border-radius: 4px;
	color: #721c24;
	margin: 10px 0;
}

/* Success messages */
.ucp-success {
	padding: 10px 15px;
	background-color: #d4edda;
	border: 1px solid #c3e6cb;
	border-radius: 4px;
	color: #155724;
	margin: 10px 0;
}

/* Session info display */
.ucp-session-info {
	background: #f9f9f9;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 15px;
	margin: 15px 0;
}

.ucp-session-info dt {
	font-weight: 600;
	margin-top: 10px;
}

.ucp-session-info dt:first-child {
	margin-top: 0;
}

.ucp-session-info dd {
	margin: 5px 0 0 20px;
	font-family: monospace;
	font-size: 13px;
}

/* Responsive design */
@media screen and (max-width: 782px) {
	.ucp-adapter-container {
		padding: 15px;
	}
	
	.ucp-session-info {
		padding: 10px;
	}
}
