/* Patient Survey & Review Management — Frontend Styles */
.psr-survey-wrap {
	--psr-navy-1: #081526;
	--psr-navy-2: #102844;
	--psr-accent: #0E294A;
	--psr-white: #FFFFFF;
	--psr-black: #000000;
	--psr-bg-light: #F4F8FD;
	--psr-bg-soft: #F6F6F6;
	font-family: "Open Sans", sans-serif;
	color: var(--psr-black);
	max-width: 680px;
	margin: 0 auto;
	padding: 20px;
	box-sizing: border-box;
}
.psr-survey-wrap * { box-sizing: border-box; }

.psr-survey-card {
	background: var(--psr-white);
	border-radius: 14px;
	padding: 36px 32px;
	box-shadow: 0 10px 40px rgba(8, 21, 38, 0.12);
	border: 1px solid var(--psr-bg-soft);
}

.psr-logo { text-align: center; margin-bottom: 16px; }
.psr-logo img { max-height: 70px; width: auto; }

.psr-title {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 26px;
	color: var(--psr-accent);
	text-align: center;
	margin: 0 0 8px;
}

.psr-description {
	text-align: center;
	color: #444;
	margin: 0 0 28px;
	font-size: 15px;
	line-height: 1.5;
}

.psr-field { margin-bottom: 22px; }

.psr-label {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 14px;
	color: var(--psr-navy-2);
	margin-bottom: 8px;
}
.psr-req { color: #c0392b; }

.psr-input,
textarea.psr-input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
	background: var(--psr-bg-light);
	font-family: "Open Sans", sans-serif;
	font-size: 15px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.psr-input:focus, textarea.psr-input:focus {
	outline: none;
	border-color: var(--psr-navy-2);
	box-shadow: 0 0 0 3px rgba(16, 40, 68, 0.12);
}

.psr-stars { display: flex; gap: 6px; font-size: 34px; line-height: 1; }
.psr-star {
	cursor: pointer;
	color: #d9e2ec;
	transition: transform .1s ease, color .15s ease;
	user-select: none;
}
.psr-star:hover { transform: scale(1.12); }
.psr-star.psr-selected,
.psr-star.psr-hover { color: #0E294A; }

.psr-choices { display: flex; flex-direction: column; gap: 8px; }
.psr-choice {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--psr-bg-light);
	border: 1px solid #dbe3ee;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 14px;
	cursor: pointer;
}
.psr-choice input { accent-color: var(--psr-navy-2); }

.psr-submit-btn {
	width: 100%;
	padding: 14px 20px;
	border: none;
	border-radius: 8px;
	background-image: linear-gradient(90deg, #081526 0%, #102844 100%);
	color: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: .2px;
	cursor: pointer;
	transition: opacity .15s ease, transform .1s ease;
}
.psr-submit-btn:hover { opacity: .92; }
.psr-submit-btn:active { transform: translateY(1px); }
.psr-submit-btn:disabled { opacity: .6; cursor: not-allowed; }

.psr-loading { text-align: center; margin-top: 12px; font-size: 14px; color: #666; }

.psr-errors {
	background: #fdecea;
	border: 1px solid #f5c6c0;
	color: #a12b1f;
	padding: 12px 14px;
	border-radius: 8px;
	margin-bottom: 18px;
	font-size: 14px;
}

.psr-result { text-align: center; }
.psr-result-icon { font-size: 46px; margin-bottom: 10px; color: var(--psr-navy-2); }
.psr-result-message {
	font-size: 16px;
	color: #222;
	line-height: 1.6;
	margin-bottom: 22px;
}

.psr-platform-list { display: flex; flex-direction: column; gap: 12px; }
.psr-platform-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 20px;
	border-radius: 8px;
	background-image: linear-gradient(90deg, #081526 0%, #102844 100%);
	color: #FFFFFF !important;
	text-decoration: none;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 15px;
	transition: opacity .15s ease;
}
.psr-platform-btn:hover { opacity: .9; color: #FFFFFF; }
.psr-platform-icon { width: 22px; height: 22px; object-fit: contain; }

@media (max-width: 480px) {
	.psr-survey-card { padding: 26px 18px; }
	.psr-title { font-size: 21px; }
	.psr-stars { font-size: 28px; }
}
