py-match / src /app /question-answer /question-answer.component.css
Swetha
fix
d1ee381
:root {
--primary-color: #3AB8A9;
--secondary-color: #D4A755;
--accent-color: #2DA89A;
--light-color: #f8fafc;
--success-color: #00cc6a;
--warning-color: #e74c3c;
--text-color: #2c3e50;
--border-color: #e9ecef;
--border-radius: 12px;
--box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
--transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.professional-page {
/* min-height: 100vh; */
background: radial-gradient(circle at 20% 30%, rgba(58, 184, 169, .08), transparent 60%), radial-gradient(circle at 75% 55%, rgba(212, 167, 85, .05), transparent 55%), linear-gradient(135deg, #f8fafc 0%, #eef2f6 100%);
font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
color: var(--text-color);
line-height: 1.5;
/* padding: 10px; */
display: flex;
justify-content: center;
align-items: flex-start;
position: relative;
overflow-x: hidden;
padding-bottom:2vw;
}
.container {
/* max-width: 1200px; */
width: 80%;
background: transparent;
border-radius: 16px;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
animation: _ngcontent-ng-c2296586572_fadeInUp 0.8s ease;
border: 1px solid rgba(58, 184, 169, 0.1);
display: flex;
flex-direction: column;
height: 85vh;
/* min-height: 600px; */
/* box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; */
box-shadow: rgb(50 50 93 / 94%) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(40px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Compact Header */
.header {
background: linear-gradient(135deg, #3AB8A9 0%, #5EC8BA 100%);
color: #0D1B2A;
padding: 15px 20px;
text-align: center;
position: relative;
z-index: 100;
width: 100%;
overflow: hidden;
flex-shrink: 0;
}
.header h1 {
font-size: 1.5rem;
margin-bottom: 6px;
text-transform: uppercase;
color: #0D1B2A;
font-weight: 800;
text-shadow: 1px 1px 4px rgba(0,0,0,0.1);
position: relative;
letter-spacing: 1px;
margin-top: 0 !important;
line-height: 1.2;
}
.header p {
opacity: 0.9;
margin: 0;
color: #0D1B2A;
font-weight: 600;
font-size: 0.9rem;
position: relative;
letter-spacing: 0.3px;
line-height: 1.3;
}
/* Progress Bar in Header - More Compact */
.progress-section {
padding: 12px 15px;
background: rgba(255, 255, 255, 0.3);
backdrop-filter: blur(8px);
border-radius: 10px;
margin: 8px 0 0 0;
flex-shrink: 0;
}
.progress-bar {
display: flex;
justify-content: space-between;
position: relative;
margin: 0;
padding: 0 10px;
}
.progress-bar::before {
content: '';
position: absolute;
top: 50%;
left: 35px;
right: 35px;
transform: translateY(-50%);
height: 4px;
background: rgba(255, 255, 255, 0.5);
z-index: 1;
border-radius: 2px;
}
.progress-bar-line {
position: absolute;
top: 50%;
left: 35px;
right: 35px;
transform: translateY(-50%);
height: 4px;
width: calc(100% - 70px);
background: linear-gradient(90deg, #3AB8A9 0%, #D4A755 100%);
z-index: 2;
transition: var(--transition);
border-radius: 2px;
transform-origin: left;
}
.step {
width: 40px;
height: 40px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.8);
display: flex;
justify-content: center;
align-items: center;
position: relative;
z-index: 3;
transition: all 0.3s ease;
font-weight: 800;
cursor: pointer;
border: 3px solid #fff;
box-shadow: 0 4px 12px rgba(58, 184, 169, 0.2);
flex-shrink: 0;
}
.step:hover {
transform: scale(1.1);
}
.step.active {
background: linear-gradient(135deg, #3AB8A9 0%, #5EC8BA 100%);
color: #0D1B2A;
transform: scale(1.1);
box-shadow: 0 6px 20px rgba(58, 184, 169, 0.3);
border-color: #ffffff;
}
.step.completed {
background: linear-gradient(135deg, #00ff88 0%, #00cc6a 100%);
color: #111;
border: 3px solid #fff;
box-shadow: 0 6px 20px rgba(0, 255, 136, 0.3);
}
.step.completed.active {
background: linear-gradient(135deg, #3AB8A9 0%, #5EC8BA 100%);
color: #0D1B2A;
border: 3px solid white;
box-shadow: 0 6px 20px rgba(58, 184, 169, 0.3);
}
.step-label {
position: absolute;
top: 44px;
font-size: 0.65rem;
text-align: center;
width: 65px;
left: -12px;
color: #000000;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
white-space: nowrap;
font-weight: bold;
}
.step-icon {
font-size: 0.9rem;
color: #2c3e50;
transition: all 0.3s ease;
}
.step.active .step-icon,
.step.completed .step-icon {
color: #0D1B2A;
}
.content-area {
display: flex;
flex-direction: column;
flex: 1;
overflow: hidden;
min-height: 0;
}
/* Compact Category Header */
.category-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0;
padding: 12px 20px;
background: linear-gradient(135deg, #f0f9f8 0%, #e8f6f5 100%);
border-bottom: 1px solid rgba(58, 184, 169, 0.2);
flex-shrink: 0;
min-height: 65px;
}
.category-info {
display: flex;
align-items: center;
gap: 10px;
flex: 1;
min-width: 0;
}
.category-header-icon {
font-size: 1.4rem;
color: #3AB8A9;
flex-shrink: 0;
}
.category-details {
flex: 1;
min-width: 0;
}
.category-details h3 {
color: #2c3e50;
margin-bottom: 3px;
font-size: 1.1rem;
font-weight: 800;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.category-details p {
color: #5a6c7d;
margin: 0;
font-weight: 600;
font-size: 0.8rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.category-progress-indicator {
text-align: right;
flex-shrink: 0;
margin-left: 10px;
display: flex;
flex-direction: column;
align-items: flex-end;
}
.progress-bar-mini {
width: 80px;
height: 4px;
background: rgba(58, 184, 169, 0.2);
border-radius: 2px;
overflow: hidden;
margin-bottom: 4px;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, #3AB8A9 0%, #D4A755 100%);
border-radius: 2px;
transition: width 0.5s ease;
}
.progress-text {
font-size: 0.7rem;
font-weight: 600;
color: #2c3e50;
white-space: nowrap;
}
.completion-status {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 10px;
border-radius: 6px;
background: linear-gradient(135deg, #e8f6f5 0%, #d4f0ed 100%);
border: 1px solid #3AB8A9;
color: #2c3e50;
font-weight: 700;
flex-shrink: 0;
margin-left: 10px;
font-size: 0.8rem;
}
.completion-status.complete {
background: linear-gradient(135deg, #d1f7e1 0%, #b8f5d0 100%);
border-color: #00ff88;
color: #2c3e50;
}
.status-icon {
width: 20px;
height: 20px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #3AB8A9 0%, #2DA89A 100%);
font-weight: 800;
font-size: 0.8rem;
box-shadow: 0 2px 6px rgba(58, 184, 169, 0.2);
color: #fff;
flex-shrink: 0;
}
.completion-status.complete .status-icon {
background: linear-gradient(135deg, #00ff88 0%, #00cc6a 100%);
color: #111;
}
.status-text {
font-weight: 700;
font-size: 0.75rem;
color: #2c3e50;
white-space: nowrap;
}
/* Main Form Container - Maximum Space */
.form-container {
padding: 20px;
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
background: #ffffff;
min-height: 400px;
height: 100%;
}
.form-container .tab-content::-webkit-scrollbar {
width: 6px;
}
.form-container .tab-content::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 3px;
margin: 4px 0;
}
.form-container .tab-content::-webkit-scrollbar-thumb {
background: linear-gradient(135deg, #3AB8A9 0%, #D4A755 100%);
border-radius: 3px;
border: 2px solid #f1f1f1;
}
.form-container .tab-content::-webkit-scrollbar-thumb:hover {
background: linear-gradient(135deg, #2DA89A 0%, #3AB8A9 100%);
}
.form-container .tab-content {
scrollbar-width: thin;
scrollbar-color: #3AB8A9 #f1f1f1;
}
.form-container::-webkit-scrollbar,
.tab-content::-webkit-scrollbar {
width: 0;
display: none;
}
.form-container,
.tab-content {
scrollbar-width: none;
-ms-overflow-style: none;
}
.tab {
display: none;
animation: slideInUp 0.6s cubic-bezier(0.4, 0, 0.2, 1);
height: 100%;
flex-direction: column;
min-height: 0;
}
@keyframes slideInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.tab.active {
display: flex;
flex: 1;
min-height: 0;
}
.tab-content {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
padding-bottom: 15px;
min-height: 0;
}
.tab-footer {
margin-top: auto;
padding-top: 15px;
border-top: 1px solid rgba(58, 184, 169, 0.1);
background: #ffffff;
position: sticky;
bottom: 0;
z-index: 100;
flex-shrink: 0;
padding-bottom: 5px;
}
.form-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 18px;
min-height: 0;
}
.form-group {
margin-bottom: 0;
padding: 16px;
border: 1.5px solid rgb(58 184 169);
border-radius: 10px;
background: linear-gradient(135deg, #ffffff 0%, #fefefe 100%);
transition: all 0.3s ease;
display: flex;
flex-direction: column;
min-height: 100px;
box-shadow: 0 4px 12px rgba(58, 184, 169, 0.1);
position: relative;
overflow: visible !important;
z-index: 1;
}
.form-group::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #3AB8A9 0%, #D4A755 100%);
transform: scaleX(0);
transition: transform 0.3s ease;
border-radius: 10px 10px 0 0;
}
.form-group:hover::before {
transform: scaleX(1);
}
.form-group:hover {
border-color: #3AB8A9;
z-index: 2;
box-shadow: 0 6px 20px rgba(58, 184, 169, 0.15);
}
.form-group label {
display: block;
font-weight: 700;
color: #2c3e50;
font-size: 0.85rem;
font-family: 'Segoe UI', 'Roboto', sans-serif;
letter-spacing: 0.3px;
margin-bottom: 8px;
line-height: 1.3;
}
.form-control {
width: 100%;
padding: 10px 12px;
border: 1.5px solid rgb(58, 184, 169, 0.2);
border-radius: 8px;
font-size: 0.85rem;
transition: all 0.3s ease;
background: #ffffff;
font-weight: 600;
font-family: 'Segoe UI', 'Roboto', sans-serif;
color: #2c3e50;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
height: fit-content;
min-height: 40px;
}
.form-control::placeholder {
color: #95a5a6;
font-weight: 500;
font-size: 0.8rem;
}
.form-control:focus {
outline: none;
border-color: #3AB8A9;
background-color: #f0f9f8;
box-shadow: 0 0 0 2px rgba(58, 184, 169, 0.1);
}
select.form-control {
appearance: none;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233AB8A9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 10px center;
background-size: 12px;
padding-right: 30px;
}
.checkbox-group,
.radio-group {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
}
.multiselect-group {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
gap: 6px;
max-height: 120px;
overflow-y: auto;
padding: 10px;
border: 1.5px solid #e9ecef;
border-radius: 8px;
background: #ffffff;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
}
.checkbox-option,
.radio-option {
display: flex;
align-items: center;
gap: 6px;
border-radius: 6px;
transition: all 0.3s ease;
cursor: pointer;
border: 1px solid transparent;
padding: 6px 8px;
flex: 1;
min-width: 0;
}
.checkbox-option:hover,
.radio-option:hover {
background: linear-gradient(135deg, #f0f9f8 0%, #e8f6f5 100%);
border-color: #3AB8A9;
}
.checkbox-input,
.radio-input {
width: 16px;
height: 16px;
cursor: pointer;
accent-color: #3AB8A9;
transform: scale(1.05);
flex-shrink: 0;
}
.checkbox-label,
.radio-label {
cursor: pointer;
font-weight: 600;
margin: 0;
font-family: 'Segoe UI', 'Roboto', sans-serif;
color: #2c3e50;
font-size: 0.8rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
}
.checkbox-single {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 0;
}
.field-error {
color: #e74c3c;
font-size: 0.75rem;
margin-top: 6px;
font-weight: 600;
display: flex;
align-items: center;
gap: 4px;
background: rgba(231, 76, 60, 0.1);
padding: 6px 8px;
border-radius: 5px;
border-left: 2px solid #e74c3c;
}
.field-error::before {
content: '⚠';
font-size: 0.8rem;
}
.required-asterisk {
color: #e74c3c;
font-weight: 800;
}
.form-group.required label::after {
content: " *";
color: #e74c3c;
}
.form-group.invalid {
border-color: #e74c3c;
background: linear-gradient(135deg, #fdf2f2 0%, #fce4e4 100%);
animation: shake 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes shake {
0%, 100% {
transform: translateX(0);
}
25% {
transform: translateX(-4px);
}
75% {
transform: translateX(4px);
}
}
.form-group.invalid label {
color: #e74c3c;
}
.form-group.invalid .form-control {
border-color: #e74c3c;
background: #fff5f5;
}
.button-group {
display: flex;
justify-content: space-between;
gap: 10px;
align-items: center;
width: 100%;
}
.btn {
padding: 10px 16px;
border: none;
border-radius: 8px;
font-size: 0.8rem;
font-weight: 700;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
gap: 6px;
font-family: 'Segoe UI', 'Roboto', sans-serif;
text-transform: uppercase;
letter-spacing: 0.5px;
box-shadow: 0 4px 12px rgba(58, 184, 169, 0.15);
position: relative;
overflow: hidden;
white-space: nowrap;
flex: 1;
min-width: 100px;
justify-content: center;
min-height: 38px;
}
.btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transition: left 0.5s ease;
}
.btn:hover::before {
left: 100%;
}
.btn:disabled {
opacity: 0.6;
cursor: not-allowed;
transform: none !important;
box-shadow: none !important;
}
.btn-prev {
background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
color: #ffffff;
}
.btn-prev:hover {
background: linear-gradient(135deg, #495057 0%, #343a40 100%);
transform: translateY(-1px);
box-shadow: 0 6px 15px rgba(108, 117, 125, 0.3);
}
.btn-next {
background: linear-gradient(135deg, #3AB8A9 0%, #5EC8BA 100%);
color: #0D1B2A;
}
.btn-next:hover {
background: linear-gradient(135deg, #2DA89A 0%, #3AB8A9 100%);
transform: translateY(-1px);
box-shadow: 0 6px 15px rgba(58, 184, 169, 0.3);
}
.btn-submit {
background: linear-gradient(135deg, #00ff88 0%, #00cc6a 100%);
color: #111;
border: 1.5px solid #00cc6a;
}
.btn-submit:hover:not(:disabled) {
background: linear-gradient(135deg, #00cc6a 0%, #00b359 100%);
transform: translateY(-1px);
box-shadow: 0 6px 15px rgba(0, 204, 106, 0.3);
}
.btn-secondary {
background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
color: #ffffff;
padding: 8px 12px;
font-size: 0.75rem;
}
.btn-secondary:hover {
background: linear-gradient(135deg, #495057 0%, #343a40 100%);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3);
}
.btn-primary {
background: linear-gradient(135deg, #3AB8A9 0%, #5EC8BA 100%);
color: #0D1B2A;
}
.btn-primary:hover {
background: linear-gradient(135deg, #2DA89A 0%, #3AB8A9 100%);
transform: translateY(-1px);
box-shadow: 0 6px 15px rgba(58, 184, 169, 0.3);
}
/* Review Tab Styles - Compact */
.review-tab .tab-content {
display: flex;
flex-direction: column;
overflow: hidden;
min-height: 0;
flex: 1;
}
.review-section {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
min-height: 0;
}
.review-tab-content {
display: flex;
gap: 15px;
height: 100%;
min-height: 300px;
flex: 1;
overflow: hidden;
}
.review-category-tabs {
display: flex;
flex-direction: column;
gap: 6px;
}
.review-category-tab {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 12px;
border-radius: 6px;
cursor: pointer;
transition: all 0.3s ease;
background: linear-gradient(135deg, #ffffff 0%, #fefefe 100%);
border: 1.5px solid rgba(58, 184, 169, 0.2);
font-weight: 600;
color: #2c3e50;
min-width: 0;
}
.review-category-tab:hover {
background: linear-gradient(135deg, #f0f9f8 0%, #e8f6f5 100%);
border-color: #3AB8A9;
transform: translateX(2px);
}
.review-category-tab.active {
background: linear-gradient(135deg, #3AB8A9 0%, #5EC8BA 100%);
color: #0D1B2A;
border-color: #3AB8A9;
box-shadow: 0 4px 10px rgba(58, 184, 169, 0.3);
}
.category-progress {
font-size: 0.7rem;
font-weight: 700;
background: rgba(255, 255, 255, 0.3);
padding: 2px 5px;
border-radius: 3px;
color: #0D1B2A;
flex-shrink: 0;
margin-left: 4px;
}
.review-category-tab.active .category-progress {
background: rgba(255, 255, 255, 0.4);
color: #0D1B2A;
}
.review-content {
flex: 1;
background: linear-gradient(135deg, #ffffff 0%, #fefefe 100%);
border-radius: 8px;
padding: 15px;
box-shadow: 0 4px 12px rgba(58, 184, 169, 0.1);
border: 1.5px solid rgba(58, 184, 169, 0.2);
overflow-y: auto;
min-width: 0;
}
.review-category-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
padding-bottom: 10px;
border-bottom: 1px solid rgba(58, 184, 169, 0.2);
flex-wrap: wrap;
gap: 8px;
}
.review-category-stats {
display: flex;
align-items: center;
gap: 10px;
font-weight: 700;
color: #2c3e50;
white-space: nowrap;
font-size: 0.85rem;
}
.review-answers {
display: flex;
flex-direction: column;
gap: 10px;
}
.review-answer-item {
display: flex;
justify-content: space-between;
align-items: flex-start;
padding: 12px 15px;
border-radius: 6px;
background: linear-gradient(135deg, #ffffff 0%, #fefefe 100%);
border: 1.5px solid rgba(58, 184, 169, 0.1);
transition: all 0.3s ease;
min-width: 0;
}
.review-answer-item:hover {
border-color: #3AB8A9;
box-shadow: 0 2px 8px rgba(58, 184, 169, 0.1);
}
.review-answer-label {
font-weight: 700;
color: #2c3e50;
flex: 0 0 35%;
font-size: 0.8rem;
min-width: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.review-answer-value {
flex: 1;
font-weight: 600;
color: #5a6c7d;
text-align: right;
font-size: 0.8rem;
min-width: 0;
word-break: break-word;
}
.review-answer-value.missing {
color: #e74c3c;
font-style: italic;
}
.review-empty-state {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
min-height: 200px;
padding: 15px;
text-align: center;
}
/* Multi-select Dropdown with Checkboxes */
.multiselect-dropdown-checkbox {
position: relative;
width: 100%;
z-index: 10;
}
.dropdown-toggle {
width: 100%;
padding: 10px 12px;
border: 1.5px solid #e9ecef;
border-radius: 8px;
background: #ffffff;
font-size: 0.85rem;
font-weight: 600;
color: #2c3e50;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
justify-content: space-between;
align-items: center;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
min-height: 40px;
}
.dropdown-toggle:hover {
border-color: #3AB8A9;
background-color: #f0f9f8;
}
.dropdown-toggle.dropdown-open {
border-color: #3AB8A9;
background-color: #f0f9f8;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.selected-text {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-align: left;
padding-right: 8px;
}
.dropdown-arrow {
font-size: 0.7rem;
color: #3AB8A9;
transition: transform 0.3s ease;
flex-shrink: 0;
}
.dropdown-toggle.dropdown-open .dropdown-arrow {
transform: rotate(180deg);
color: #3AB8A9;
}
.dropdown-options {
position: absolute;
top: 100%;
left: 0;
right: 0;
background: #ffffff;
border: 1.5px solid #3AB8A9;
border-top: none;
border-radius: 0 0 8px 8px;
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
z-index: 1000;
box-shadow: 0 6px 15px rgba(58, 184, 169, 0.1);
opacity: 0;
visibility: hidden;
}
.dropdown-options.show {
max-height: 150px;
border-top: 1px solid #e9ecef;
opacity: 1;
visibility: visible;
}
.dropdown-options-container {
max-height: 150px;
overflow-y: auto;
padding: 6px;
}
.dropdown-options-container::-webkit-scrollbar {
width: 4px;
}
.dropdown-options-container::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 2px;
}
.dropdown-options-container::-webkit-scrollbar-thumb {
background: linear-gradient(135deg, #3AB8A9 0%, #D4A755 100%);
border-radius: 2px;
}
.dropdown-options-container::-webkit-scrollbar-thumb:hover {
background: linear-gradient(135deg, #2DA89A 0%, #3AB8A9 100%);
}
.dropdown-option {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 8px;
border-radius: 5px;
transition: all 0.2s ease;
cursor: pointer;
}
.dropdown-option:hover {
background: linear-gradient(135deg, #f0f9f8 0%, #e8f6f5 100%);
}
.dropdown-option .checkbox-input {
width: 14px;
height: 14px;
cursor: pointer;
accent-color: #3AB8A9;
transform: scale(1.05);
}
.dropdown-option .checkbox-label {
cursor: pointer;
font-weight: 600;
margin: 0;
color: #2c3e50;
font-size: 0.8rem;
flex: 1;
word-break: break-word;
}
.form-group.dropdown-open {
z-index: 1001;
}
.select-all {
background: linear-gradient(135deg, #f0f9f8 0%, #e8f6f5 100%);
border-bottom: 1px solid #e9ecef;
margin-bottom: 3px;
}
.select-all-label {
font-weight: 700 !important;
color: #2c3e50 !important;
}
.dropdown-divider {
height: 1px;
background: #e9ecef;
margin: 3px 0;
}
/* Loader Styles */
.loader-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
}
.loader-container {
padding: 20px;
text-align: center;
width: 250px;
}
/* Modal Styles - Compact */
.success-modal-overlay,
.text-input-popup-overlay,
.submission-popup-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
animation: fadeIn 0.3s ease;
padding: 10px;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.success-modal-container,
.text-input-popup-container,
.submission-popup {
background: linear-gradient(135deg, #ffffff 0%, #fefefe 100%);
border-radius: 12px;
box-shadow: 0 15px 30px rgba(58, 184, 169, 0.2);
overflow: hidden;
animation: modalSlideIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
border: 1px solid rgba(58, 184, 169, 0.2);
width: 100%;
max-width: 450px;
}
@keyframes modalSlideIn {
from {
opacity: 0;
transform: translateY(-15px) scale(0.95);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}
.success-modal-container {
max-width: 400px;
}
.text-input-popup-container {
max-width: 500px;
max-height: 70vh;
}
.submission-popup {
max-width: 400px;
animation: popIn 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes popIn {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}
.success-modal-header,
.text-input-popup-header,
.popup-header {
background: linear-gradient(135deg, #3AB8A9 0%, #5EC8BA 100%);
padding: 15px 20px;
text-align: center;
position: relative;
}
.text-input-popup-header {
padding: 12px 20px;
display: flex;
justify-content: space-between;
align-items: center;
}
.popup-header.error {
background: linear-gradient(135deg, #fdf2f2 0%, #fce4e4 100%);
}
.success-modal-close,
.text-input-popup-close {
position: absolute;
top: 10px;
right: 10px;
background: rgba(255, 255, 255, 0.9);
border: none;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
color: #0D1B2A;
cursor: pointer;
transition: all 0.3s ease;
font-weight: bold;
flex-shrink: 0;
font-size: 0.8rem;
}
.text-input-popup-close {
position: relative;
top: auto;
right: auto;
flex-shrink: 0;
margin-left: 8px;
}
.success-modal-close:hover,
.text-input-popup-close:hover {
background: rgba(255, 255, 255, 1);
transform: scale(1.1);
}
.success-modal-icon {
margin-bottom: 10px;
}
.success-modal-icon i {
font-size: 2.5rem;
background: linear-gradient(135deg, #00ff88, #00cc6a);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.success-modal-title,
.text-input-popup-header h3,
.popup-title {
color: #0D1B2A;
font-size: 1.2rem;
font-weight: 800;
margin: 0;
text-shadow: 1px 1px 4px rgba(0,0,0,0.1);
word-break: break-word;
line-height: 1.2;
}
.text-input-popup-header h3 {
font-size: 1rem;
flex: 1;
text-align: left;
}
.popup-title {
color: #0D1B2A;
}
.success-modal-body,
.text-input-popup-body,
.popup-body {
padding: 20px;
text-align: center;
}
.text-input-popup-body {
text-align: left;
display: flex;
flex-direction: column;
gap: 12px;
}
.popup-body {
padding: 0 20px 12px;
}
.success-modal-message,
.popup-message {
color: #2c3e50;
font-size: 0.9rem;
line-height: 1.4;
margin-bottom: 15px;
font-weight: 600;
word-break: break-word;
}
.popup-message {
margin-bottom: 0;
}
.success-modal-stats {
background: linear-gradient(135deg, #f0f9f8 0%, #e8f6f5 100%);
border-radius: 8px;
padding: 12px;
margin: 12px 0;
border: 1.5px solid rgba(58, 184, 169, 0.3);
}
.success-modal-stats p {
margin: 0;
color: #2c3e50;
font-weight: 700;
font-size: 0.85rem;
}
.success-modal-stats i {
color: #3AB8A9;
margin-right: 5px;
}
.success-modal-actions,
.text-input-popup-actions,
.popup-footer {
display: flex;
gap: 8px;
justify-content: center;
margin-top: 15px;
flex-wrap: wrap;
}
.text-input-popup-actions {
justify-content: flex-end;
margin-top: 6px;
}
.popup-footer {
padding: 12px 20px 20px;
margin-top: 0;
}
.success-modal-btn,
.text-input-popup-actions .btn {
padding: 10px 16px;
border: none;
border-radius: 8px;
font-size: 0.8rem;
font-weight: 700;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
gap: 6px;
text-transform: uppercase;
letter-spacing: 0.5px;
box-shadow: 0 4px 12px rgba(58, 184, 169, 0.15);
position: relative;
overflow: hidden;
white-space: nowrap;
min-width: 100px;
justify-content: center;
min-height: 36px;
}
.success-modal-btn::before,
.text-input-popup-actions .btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transition: left 0.5s ease;
}
.success-modal-btn:hover::before,
.text-input-popup-actions .btn:hover::before {
left: 100%;
}
.success-modal-btn-primary,
.text-input-popup-actions .btn-primary {
background: linear-gradient(135deg, #3AB8A9 0%, #5EC8BA 100%);
color: #0D1B2A;
}
.success-modal-btn-primary:hover,
.text-input-popup-actions .btn-primary:hover {
background: linear-gradient(135deg, #2DA89A 0%, #3AB8A9 100%);
transform: translateY(-1px);
box-shadow: 0 6px 15px rgba(58, 184, 169, 0.3);
}
.success-modal-btn-secondary,
.text-input-popup-actions .btn-secondary {
background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
color: #ffffff;
}
.success-modal-btn-secondary:hover,
.text-input-popup-actions .btn-secondary:hover {
background: linear-gradient(135deg, #495057 0%, #343a40 100%);
transform: translateY(-1px);
box-shadow: 0 6px 15px rgba(108, 117, 125, 0.3);
}
.popup-icon {
font-size: 2rem;
margin-bottom: 10px;
}
/* Text Input Styles */
.text-input-container {
width: 100%;
}
.text-input-preview {
width: 100%;
padding: 10px 12px;
border: 1.5px solid #e9ecef;
border-radius: 8px;
font-size: 0.85rem;
font-weight: 600;
color: #95a5a6;
background: #ffffff;
cursor: pointer;
transition: all 0.3s ease;
min-height: 40px;
max-height: 40px;
display: flex;
align-items: center;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
word-wrap: break-word;
word-break: break-word;
white-space: pre-wrap;
overflow-wrap: break-word;
line-height: 1.3;
overflow: hidden;
text-overflow: ellipsis;
}
.text-input-preview:hover {
border-color: #3AB8A9;
background-color: #f0f9f8;
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba(58, 184, 169, 0.1);
}
.text-input-preview.has-value {
color: #2c3e50;
border-color: #bdc3c7;
}
.text-input-preview.has-value:hover {
border-color: #3AB8A9;
}
.text-input-popup-field {
width: 100%;
padding: 12px 15px;
border: 1.5px solid #e9ecef;
border-radius: 8px;
font-size: 0.85rem;
font-family: 'Segoe UI', 'Roboto', sans-serif;
font-weight: 500;
color: #2c3e50;
background: #ffffff;
transition: all 0.3s ease;
resize: none;
overflow-y: hidden;
min-height: 80px;
max-height: 250px;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
word-wrap: break-word;
word-break: break-word;
white-space: pre-wrap;
overflow-wrap: break-word;
line-height: 1.4;
text-align: left;
}
.text-input-popup-field:focus {
outline: none;
border-color: #3AB8A9;
background-color: #f0f9f8;
box-shadow: 0 0 0 2px rgba(58, 184, 169, 0.1);
}
.text-input-popup-field::placeholder {
color: #95a5a6;
font-weight: 500;
font-size: 0.8rem;
}
.blur-background {
filter: blur(5px);
pointer-events: none;
}
/* 1366x768 Specific Optimization */
@media (min-width: 1280px) and (max-width: 1366px) {
.container {
max-width: 95%;
height: 92vh;
}
.header {
padding: 12px 18px;
}
.header h1 {
font-size: 1.3rem;
}
.header p {
font-size: 0.85rem;
}
.progress-section {
padding: 10px 12px;
}
.progress-bar {
padding: 0 8px;
}
.step {
width: 36px;
height: 36px;
}
.step-label {
font-size: 0.6rem;
top: 40px;
}
.category-header {
padding: 10px 18px;
min-height: 60px;
}
.category-details h3 {
font-size: 1rem;
}
.form-container {
padding: 15px 18px;
}
.form-grid {
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 15px;
}
.form-group {
padding: 14px;
min-height: 90px;
}
.review-tab-content {
min-height: 250px;
}
.review-sidebar {
flex: 0 0 160px;
}
}
/* Tablet and smaller desktop */
@media (max-width: 1024px) {
.container {
height: 95vh;
}
.header h1 {
font-size: 1.2rem;
}
.progress-section {
padding: 8px 10px;
}
.progress-bar::before,
.progress-bar-line {
left: 30px;
right: 30px;
width: calc(100% - 60px);
}
.step {
width: 34px;
height: 34px;
}
.step-label {
font-size: 0.55rem;
top: 38px;
}
.category-header {
flex-direction: column;
align-items: flex-start;
gap: 8px;
min-height: auto;
}
.category-progress-indicator {
width: 100%;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-left: 0;
}
.completion-status {
width: 100%;
margin-left: 0;
justify-content: center;
}
.form-grid {
grid-template-columns: 1fr;
}
.review-tab-content {
flex-direction: column;
}
.review-sidebar {
flex: 0 0 auto;
width: 100%;
}
.review-category-tabs {
flex-direction: row;
overflow-x: auto;
}
.review-category-tab {
flex: 0 0 auto;
min-width: 140px;
}
}
/* Mobile devices */
@media (max-width: 768px) {
.professional-page {
padding: 8px;
}
.container {
height: 96vh;
border-radius: 12px;
}
.header {
padding: 10px 15px;
}
.header h1 {
font-size: 1.1rem;
}
.header p {
font-size: 0.8rem;
}
.progress-section {
padding: 6px 8px;
}
.progress-bar {
padding: 0;
}
.progress-bar::before,
.progress-bar-line {
left: 25px;
right: 25px;
width: calc(100% - 50px);
}
.step {
width: 32px;
height: 32px;
border-width: 2px;
}
.step-label {
font-size: 0.5rem;
width: 50px;
left: -9px;
top: 36px;
}
.category-header {
padding: 8px 15px;
}
.category-info {
gap: 8px;
}
.category-header-icon {
font-size: 1.2rem;
}
.category-details h3 {
font-size: 0.95rem;
}
.form-container {
padding: 12px 15px;
}
.button-group {
flex-direction: column;
}
.btn {
width: 100%;
}
.review-category-header {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.review-category-stats {
width: 100%;
justify-content: space-between;
}
.review-answer-item {
flex-direction: column;
align-items: flex-start;
gap: 4px;
}
.review-answer-label,
.review-answer-value {
flex: 1;
width: 100%;
}
.review-answer-value {
text-align: left;
}
}
/* Small mobile devices */
@media (max-width: 480px) {
.container {
height: 98vh;
border-radius: 10px;
}
.header {
padding: 8px 12px;
}
.header h1 {
font-size: 1rem;
}
.progress-section {
margin: 4px 0;
padding: 6px;
}
.progress-bar::before,
.progress-bar-line {
left: 20px;
right: 20px;
width: calc(100% - 40px);
}
.step {
width: 28px;
height: 28px;
}
.step-label {
font-size: 0.45rem;
width: 45px;
left: -8px;
top: 32px;
}
.form-container {
padding: 10px 12px;
}
.form-group label {
font-size: 0.8rem;
}
.form-control {
padding: 8px 10px;
font-size: 0.8rem;
}
.btn {
padding: 8px 12px;
font-size: 0.75rem;
}
.review-category-tabs {
flex-direction: column;
}
.review-category-tab {
min-width: 100%;
}
.success-modal-container,
.text-input-popup-container,
.submission-popup {
width: 95%;
}
}
/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
.step:hover {
transform: none;
}
.form-group:hover {
border-color: inherit;
box-shadow: inherit;
}
.btn:hover {
transform: none;
box-shadow: inherit;
}
.text-input-preview:hover {
transform: none;
}
/* Increase tap target sizes for mobile */
.checkbox-input,
.radio-input {
width: 18px;
height: 18px;
}
.form-control,
.dropdown-toggle,
.text-input-preview {
min-height: 44px;
}
.btn {
min-height: 44px;
}
}
/* Print Styles */
@media print {
.professional-page {
background: white;
margin: 0;
padding: 0;
}
.container {
box-shadow: none;
border-radius: 0;
max-width: 100%;
}
.btn,
.progress-section,
.loader-overlay,
.success-modal-overlay,
.text-input-popup-overlay,
.submission-popup-overlay {
display: none !important;
}
}
/* Add these styles to fix review section alignment */
/* Fix category header alignment */
.category-details {
flex: 1;
min-width: 0;
overflow: hidden;
}
.category-details h3 {
color: #2c3e50;
margin-bottom: 3px;
font-size: 1.1rem;
font-weight: 800;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}
.category-details p {
color: #5a6c7d;
margin: 0;
font-weight: 600;
font-size: 0.8rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}
/* Fix review content alignment */
.review-content {
flex: 1;
background: linear-gradient(135deg, #ffffff 0%, #fefefe 100%);
border-radius: 8px;
padding: 15px;
box-shadow: 0 4px 12px rgba(58, 184, 169, 0.1);
border: 1.5px solid rgb(58 184 169);
overflow-y: auto;
min-width: 0;
display: flex;
flex-direction: column;
}
.review-category-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
padding-bottom: 10px;
border-bottom: 1px solid rgba(58, 184, 169, 0.2);
flex-wrap: nowrap; /* Changed from wrap to nowrap */
gap: 15px;
width: 100%;
}
.review-category-title {
color: #2c3e50;
font-weight: 800;
font-size: 1rem;
margin: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
min-width: 0;
text-transform:uppercase;
}
.review-category-stats {
display: flex;
align-items: center;
gap: 10px;
font-weight: 700;
color: #2c3e50;
white-space: nowrap;
font-size: 0.85rem;
flex-shrink: 0;
}
/* Fix review answers alignment */
.review-answers {
display: flex;
flex-direction: column;
gap: 10px;
width: 100%;
flex: 1;
min-height: 0;
}
.review-answer-item {
display: flex;
justify-content: space-between;
align-items: flex-start;
padding: 12px 15px;
border-radius: 6px;
background: linear-gradient(135deg, #ffffff 0%, #fefefe 100%);
border: 1.5px solid rgba(58, 184, 169, 0.1);
transition: all 0.3s ease;
min-width: 0;
width: 100%;
gap: 15px;
}
.review-answer-label {
font-weight: 700;
color: #2c3e50;
flex: 0 0 40%; /* Increased from 35% for better visibility */
font-size: 0.8rem;
min-width: 0;
word-break: break-word; /* Changed from ellipsis to break-word */
white-space: normal; /* Changed from nowrap */
line-height: 1.4;
}
.review-answer-value {
flex: 1;
font-weight: 600;
color: #5a6c7d;
text-align: left; /* Changed from right to left */
font-size: 0.8rem;
min-width: 0;
word-break: break-word;
white-space: normal;
line-height: 1.4;
}
.review-answer-value.missing {
color: #e74c3c;
font-style: italic;
}
/* Fix category progress indicator alignment */
.category-progress-indicator {
text-align: right;
flex-shrink: 0;
margin-left: 10px;
display: flex;
flex-direction: column;
align-items: flex-end;
min-width: 120px; /* Added minimum width */
}
.progress-text {
font-size: 0.7rem;
font-weight: 600;
color: #2c3e50;
white-space: nowrap;
width: 100%;
text-align: right;
}
/* Fix step label alignment */
.step-label {
position: absolute;
top: 44px;
font-size: 0.65rem;
text-align: center;
width: 65px;
left: 50%;
transform: translateX(-50%);
color: #000000;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* Fix review sidebar alignment */
.review-sidebar {
flex: 0 0 300px; /* Increased from 180px */
background: linear-gradient(135deg, #ffffff 0%, #fefefe 100%);
border-radius: 8px;
padding: 15px;
box-shadow: 0 4px 12px rgba(58, 184, 169, 0.1);
border: 1.5px solid rgb(58 184 169);
overflow-y: auto;
min-width: 0;
}
.review-category-tabs {
display: flex;
flex-direction: column;
gap: 8px;
width: 100%;
}
.review-category-tab {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 12px;
border-radius: 6px;
cursor: pointer;
transition: all 0.3s ease;
background: linear-gradient(135deg, #ffffff 0%, #fefefe 100%);
border: 1.5px solid rgba(58, 184, 169, 0.2);
font-weight: 600;
color: #2c3e50;
min-width: 0;
width: 100%;
flex-direction: column;
gap: 0.8vw;
text-transform: uppercase;
}
.category-name {
font-weight: 700;
font-size: 1rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
min-width: 0;
text-align: left;
}
.category-progress {
font-size: 0.7rem;
font-weight: 700;
background: rgba(255, 255, 255, 0.3);
padding: 2px 6px;
border-radius: 3px;
color: #0D1B2A;
flex-shrink: 0;
margin-left: 4px;
white-space: nowrap;
}
/* Fix completion status alignment */
.completion-status {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 10px;
border-radius: 6px;
background: linear-gradient(135deg, #e8f6f5 0%, #d4f0ed 100%);
border: 1px solid #3AB8A9;
color: #2c3e50;
font-weight: 700;
flex-shrink: 0;
margin-left: 10px;
font-size: 0.8rem;
white-space: nowrap;
}
.status-text {
font-weight: 700;
font-size: 0.75rem;
color: #2c3e50;
white-space: nowrap;
}
/* Fix category info alignment */
.category-info {
display: flex;
align-items: center;
gap: 10px;
flex: 1;
min-width: 0;
overflow: hidden;
}
/* Fix form grid alignment */
.form-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Increased min width */
gap: 18px;
min-height: 0;
width: 100%;
}
/* Responsive fixes for review section */
@media (max-width: 1024px) {
.review-tab-content {
flex-direction: column;
height: auto;
}
.review-sidebar {
flex: 0 0 auto;
width: 100%;
margin-bottom: 15px;
}
.review-category-tabs {
flex-direction: row;
overflow-x: auto;
padding-bottom: 5px;
}
.review-category-tab {
flex: 0 0 auto;
min-width: 160px;
}
.review-answer-item {
flex-direction: row; /* Keep row layout on tablets */
align-items: flex-start;
}
.review-answer-label {
flex: 0 0 35%;
}
}
@media (max-width: 768px) {
.review-category-header {
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
.review-category-stats {
width: 100%;
justify-content: space-between;
}
.review-answer-item {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.review-answer-label,
.review-answer-value {
width: 100%;
flex: 1;
}
.review-answer-value {
text-align: left;
}
.category-progress-indicator {
min-width: 100px;
}
.category-header {
flex-wrap: wrap;
}
}
@media (max-width: 480px) {
.review-category-tabs {
flex-direction: column;
}
.review-category-tab {
min-width: 100%;
}
.review-answer-label {
font-size: 0.75rem;
}
.review-answer-value {
font-size: 0.75rem;
}
.category-info {
width: 100%;
}
.category-progress-indicator {
width: 100%;
margin-left: 0;
margin-top: 10px;
align-items: flex-start;
}
}