:root{--primary-color:#6366f1}body{background-color:#f8fafc;min-width:320px;min-height:100vh;margin:0}.login-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:10px;width:100%;max-width:400px;padding:3rem;box-shadow:0 10px 40px #0003}.login-card h1{text-align:center;color:#2c3e50;margin:0 0 .5rem}.subtitle{text-align:center;color:#666;margin-bottom:2rem}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{flex:1;padding-right:3rem}.toggle-password-btn{cursor:pointer;color:#666;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem .5rem;font-size:1.2rem;transition:color .2s;display:flex;position:absolute;right:.5rem}.toggle-password-btn:hover:not(:disabled){color:#333}.toggle-password-btn:disabled{cursor:not-allowed;opacity:.5}.form-group input{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.btn-primary{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;font-weight:600;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#5568d3}.btn-primary:disabled{cursor:not-allowed;background-color:#ccc}.error-message{color:#c33;background-color:#fee;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.section-header{color:#fff;background:linear-gradient(135deg,#3b7fb8 0%,#5b9bd5 100%);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:14px 24px;display:flex;box-shadow:0 2px 8px #3b7fb84d}.section-title{flex:1;margin:0;font-size:18px;font-weight:600;line-height:1.3}.question-count{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;background:#fff3;border-radius:16px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600}@media (max-width:768px){.section-header{padding:12px 16px}.section-title{font-size:15px}.question-count{padding:4px 10px;font-size:11px}}.question-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:24px;transition:box-shadow .2s}.question-card:hover{box-shadow:0 4px 12px #00000014}.question-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.question-number{color:#fff;background:linear-gradient(135deg,#3b7fb8 0%,#5b9bd5 100%);border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600}.conditional-badge{color:#fff;background:#ff9800;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;font-weight:700;display:flex}.question-text{color:#333;margin:0 0 8px;font-size:18px;font-weight:500;line-height:1.5}.multiple-hint{color:#666;margin:0 0 16px;font-size:13px;font-style:italic}.options-container{flex-direction:column;gap:12px;display:flex}.option-label{cursor:pointer;border:2px solid #e0e0e0;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.option-label:hover{background-color:#e3f0f9;border-color:#3b7fb8}.option-label input[type=radio],.option-label input[type=checkbox]{cursor:pointer;accent-color:#3b7fb8;width:20px;height:20px}.option-label input[type=radio]:checked~.option-text,.option-label input[type=checkbox]:checked~.option-text{color:#3b7fb8;font-weight:600}.option-text{color:#333;flex:1;font-size:15px}.text-input,.short-input{resize:vertical;border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:15px;transition:all .2s}.text-input:focus,.short-input:focus{background-color:#e3f0f9;border-color:#3b7fb8;outline:none}.text-input{min-height:120px}.short-input{max-width:500px}.scale-container{flex-direction:column;gap:16px;display:flex}.scale-options{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.scale-option{cursor:pointer;position:relative}.scale-option input[type=radio]{opacity:0;width:0;height:0;position:absolute}.scale-value{color:#666;background:#fff;border:2px solid #e0e0e0;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:600;transition:all .2s;display:flex}.scale-option:hover .scale-value{background-color:#e3f0f9;border-color:#3b7fb8}.scale-option.selected .scale-value{color:#fff;background:linear-gradient(135deg,#3b7fb8 0%,#5b9bd5 100%);border-color:#3b7fb8;transform:scale(1.1)}.scale-labels{color:#666;justify-content:space-between;padding:0 8px;font-size:14px;font-style:italic;display:flex}.scale-label-start,.scale-label-end{max-width:45%}@media (max-width:768px){.question-card{padding:16px}.question-text{font-size:16px}.option-label{padding:10px 12px}.option-text{font-size:14px}.scale-value{width:40px;height:40px;font-size:16px}.scale-options{gap:6px}.text-input,.short-input{font-size:14px}}.notes-section{border-top:1px dashed #e0e0e0;margin-top:20px;padding-top:16px}.notes-label{color:#666;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:500;display:flex}.notes-input{resize:vertical;background-color:#fafafa;border:1px solid #e0e0e0;border-radius:4px;width:100%;padding:10px;font-family:inherit;font-size:13px;line-height:1.4;transition:border-color .2s}.notes-input:focus{background-color:#fff;border-color:#2196f3;outline:none}.notes-input::placeholder{color:#999;font-style:italic}.notes-editor{background:#f9fafb;border:2px solid #e0e0e0;border-radius:8px;margin-top:32px;padding:20px;transition:all .2s}.notes-editor.focused{background:#fff;border-color:#3b7fb8;box-shadow:0 4px 12px #3b7fb833}.notes-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.notes-title{color:#333;margin:0;font-size:16px;font-weight:600}.notes-textarea{resize:vertical;border:1px solid #d0d0d0;border-radius:6px;width:100%;min-height:120px;padding:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;line-height:1.6;transition:border-color .2s}.notes-textarea:focus{border-color:#3b7fb8;outline:none}.notes-textarea::placeholder{color:#999}.notes-footer{justify-content:flex-end;margin-top:8px;display:flex}.character-count{color:#666;font-size:12px}@media (max-width:768px){.notes-editor{padding:16px}.notes-textarea{font-size:13px}}.progress-bar-container{background:#fff;border-radius:8px;margin-bottom:24px;padding:16px 20px;box-shadow:0 2px 8px #0000001a}.progress-info{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.progress-label{color:#333;font-size:14px;font-weight:600}.progress-stats{color:#3b7fb8;font-size:14px;font-weight:600}.progress-track{background-color:#e9ecef;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3b7fb8 0%,#5b9bd5 100%);border-radius:4px;height:100%;transition:width .3s}@media (max-width:768px){.progress-bar-container{padding:12px 16px}.progress-label{display:none}.progress-info{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:8px}}.survey-summary-container{background:#f5f5f5;min-height:100vh}.summary-header{color:#fff;background:linear-gradient(135deg,#3b7fb8 0%,#5b9bd5 100%);padding:20px 0;box-shadow:0 2px 8px #00000026}.summary-header-content{justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:0 auto;padding:0 20px;display:flex}.search-container{align-items:center;gap:8px;display:flex;position:relative}.search-input{color:#fff;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;width:150px;padding:8px 12px;font-size:14px;transition:all .2s}.search-input::placeholder{color:#ffffffb3}.search-input:focus{background:#ffffff40;border-color:#ffffff80;outline:none}.search-button{color:#fff;cursor:pointer;white-space:nowrap;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.search-button:hover{background:#ffffff4d}.search-error{color:#ffe082;white-space:nowrap;background:#0000004d;border-radius:4px;margin-top:4px;padding:4px 8px;font-size:12px;position:absolute;top:100%;left:0}.summary-header h1{margin:0 0 4px;font-size:28px}.summary-subtitle{opacity:.9;margin:0;font-size:14px}.back-button{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.back-button:hover{background:#ffffff4d}.summary-content{max-width:1200px;margin:0 auto;padding:24px 20px}.summary-overview{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px;display:grid}.overview-card{background:#fff;border-radius:8px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 2px 8px #0000001a}.overview-icon{flex-shrink:0;font-size:32px}.overview-label{color:#666;margin-bottom:4px;font-size:13px}.overview-value{color:#333;font-size:20px;font-weight:600}.summary-section{background:#fff;border-radius:8px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000001a}.summary-section-header{border-bottom:2px solid #e0e0e0;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;display:flex}.summary-section-header h2{color:#333;margin:0 0 8px;font-size:20px}.section-progress{color:#666;align-items:center;gap:12px;font-size:13px;display:flex}.has-notes{color:#3b7fb8;background:#e3f0f9;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.edit-section-button{color:#fff;cursor:pointer;background:#3b7fb8;border:none;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:600;transition:all .2s}.edit-section-button:hover{background:#2e6594;transform:translateY(-1px)}.questions-summary{flex-direction:column;gap:16px;display:flex}.question-summary{background:#f9f9f9;border-radius:6px;gap:12px;padding:12px;display:flex}.question-summary.unanswered{background:#fff3e0;border-left:3px solid #ff9800}.question-summary.highlight{background:#e3f0f9;border:2px solid #3b7fb8;animation:2s ease-in-out highlightPulse}@keyframes highlightPulse{0%,to{box-shadow:0 0 #3b7fb800}50%{box-shadow:0 0 20px #3b7fb899}}.question-summary-number{color:#fff;background:#3b7fb8;border-radius:12px;flex-shrink:0;height:fit-content;padding:4px 10px;font-size:12px;font-weight:600}.question-summary.unanswered .question-summary-number{background:#ff9800}.question-summary-content{flex:1}.question-summary-text{color:#333;margin-bottom:6px;font-size:14px;font-weight:500}.question-summary-description{color:#666;margin-bottom:8px;font-size:13px;font-style:italic;line-height:1.5}.answer-summary{color:#3b7fb8;background:#fff;border-left:3px solid #3b7fb8;border-radius:4px;padding:8px 12px;font-size:14px;font-weight:600}.answer-summary.no-answer{color:#999;border-left-color:#999;font-style:italic;font-weight:400}.question-notes-summary{background:#fffef0;border-left:3px solid #ffc107;border-radius:4px;align-items:flex-start;gap:8px;margin-top:8px;padding:8px 12px;display:flex}.question-notes-text{color:#555;white-space:pre-wrap;font-size:13px;font-style:italic;line-height:1.5}.section-notes-summary{background:#f0f8ff;border-left:4px solid #3b7fb8;border-radius:6px;margin-top:20px;padding:16px}.notes-summary-header{color:#333;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.notes-icon{font-size:16px}.notearch-container{width:100%}.search-input{flex:1}.ses-summary-content{color:#555;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}@media (max-width:768px){.summary-header-content{flex-direction:column;align-items:flex-start;gap:16px}.summary-header h1{font-size:22px}.back-button{width:100%}.summary-overview{grid-template-columns:1fr}.summary-section{padding:16px}.summary-section-header{flex-direction:column;gap:12px}.edit-section-button{width:100%}.question-summary{flex-direction:column;gap:8px}}.survey-container{background:#f5f5f5;min-height:100vh}.survey-header{color:#fff;z-index:100;background:linear-gradient(135deg,#3b7fb8 0%,#5b9bd5 100%);padding:12px 0;position:sticky;top:0;box-shadow:0 2px 8px #00000026}.survey-header-content{justify-content:space-between;align-items:center;gap:20px;max-width:1400px;margin:0 auto;padding:0 20px;display:flex}.header-left{flex-shrink:0;align-items:center;gap:12px;display:flex}.survey-header h1{margin:0;font-size:18px;font-weight:600}.user-email{opacity:.85;background:#ffffff26;border-radius:12px;padding:4px 10px;font-size:12px}.header-center{flex:1;justify-content:center;min-width:150px;display:flex}.header-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.header-right .progress-bar-container{min-width:200px;box-shadow:none;background:#ffffff26;border-radius:20px;margin:0;padding:8px 16px}.header-right .progress-info{margin-bottom:4px}.header-right .progress-label,.header-right .progress-stats{color:#fff;font-size:11px}.header-right .progress-track{background-color:#fff3;height:6px}.header-right .progress-fill{background:#fff}.logout-button{color:#fff;cursor:pointer;white-space:nowrap;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.logout-button:hover{background:#ffffff4d}.survey-content{align-items:flex-start;gap:24px;max-width:1400px;margin:0 auto;padding:24px 20px;display:flex}.save-status{font-size:12px}.status-saving{color:#fff;opacity:.9}.status-saved{color:#fff;opacity:.95}.status-error{color:#ffcdd2}.status-idle{color:#fff;opacity:.8}.summary-button,.manual-save-button,.projects-link-button{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;justify-content:center;align-items:center;min-width:auto;padding:8px 12px;font-size:16px;text-decoration:none;transition:all .2s;display:inline-flex}.summary-button:hover,.manual-save-button:hover:not(:disabled),.projects-link-button:hover{background:#ffffff4d}.manual-save-button:disabled{opacity:.4;cursor:not-allowed}.section-navigation{background:#fff;border-radius:12px;flex-direction:column;flex-shrink:0;gap:8px;width:240px;max-height:calc(100vh - 100px);padding:16px;display:flex;position:sticky;top:80px;overflow-y:auto;box-shadow:0 2px 8px #00000014}.section-nav-button{cursor:pointer;color:#666;text-align:left;white-space:normal;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px 16px;font-size:13px;font-weight:600;line-height:1.4;transition:all .2s;position:relative}.section-nav-button .incomplete-dot{background-color:#cf7369c4;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px;box-shadow:0 0 0 1px #e74c3c4d}.section-nav-button.active .incomplete-dot{border-color:#3b7fb8}.section-nav-button:hover{color:#3b7fb8;border-color:#3b7fb8}.section-nav-button.active{color:#fff;background:linear-gradient(135deg,#3b7fb8 0%,#5b9bd5 100%);border-color:#0000}.survey-main-content{flex:1;min-width:0}.questions-list{margin-bottom:32px}.section-actions{border-top:2px solid #e0e0e0;justify-content:space-between;gap:16px;margin-top:32px;padding-top:32px;display:flex}.nav-button{cursor:pointer;border:none;border-radius:8px;padding:14px 28px;font-size:16px;font-weight:600;transition:all .2s}.prev-button{color:#3b7fb8;background:#fff;border:2px solid #3b7fb8}.prev-button:hover:not(:disabled){color:#fff;background:#3b7fb8}.prev-button:disabled{opacity:.4;cursor:not-allowed}.next-button,.submit-button{color:#fff;background:linear-gradient(135deg,#3b7fb8 0%,#5b9bd5 100%)}.next-button:hover,.submit-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b7fb866}.submit-button{background:linear-gradient(135deg,#6c757d 0%,#495057 100%)}@media (max-width:768px){.survey-header{padding:8px 0}.survey-header-content{flex-direction:column;align-items:stretch;gap:10px}.header-left{justify-content:space-between;gap:8px;width:100%}.header-left h1{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.user-email{flex-shrink:0;padding:3px 8px;font-size:10px}.header-center{order:2;justify-content:flex-start;width:100%}.save-status{font-size:11px}.header-right{order:3;justify-content:space-between;gap:8px;width:100%}.header-right .progress-bar-container{flex:1;min-width:0;padding:6px 12px}.header-right .progress-info{margin-bottom:3px}.header-right .progress-label,.header-right .progress-stats{font-size:10px}.header-right .progress-track{height:5px}.logout-button,.summary-button,.manual-save-button{flex-shrink:0;padding:6px 10px;font-size:11px}.summary-button,.manual-save-button{min-width:36px}.survey-content{flex-direction:column;padding:16px 12px}.section-navigation{-webkit-overflow-scrolling:touch;flex-flow:row;width:100%;max-height:none;padding:12px 12px 8px;position:relative;top:0;overflow-x:auto}.survey-main-content{width:100%}.section-nav-button{flex-shrink:0;padding:8px 12px;font-size:11px}.section-actions{flex-direction:column;gap:12px}.nav-button{width:100%}}.change-password-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.change-password-card{background:#fff;border-radius:10px;width:100%;max-width:450px;padding:40px;box-shadow:0 10px 25px #0003}.change-password-card h2{color:#333;text-align:center;margin:0 0 10px;font-size:28px}.account-email{text-align:center;color:#666;margin:0 0 30px;font-size:14px}.account-email strong{color:#333;font-weight:600}.change-password-card form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#555;font-size:14px;font-weight:500}.form-group input{border:1px solid #ddd;border-radius:5px;padding:12px;font-size:16px;transition:border-color .3s}.form-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{cursor:not-allowed;background-color:#f5f5f5}.error-message{color:#c33;text-align:center;background-color:#fee;border:1px solid #fcc;border-radius:5px;padding:12px;font-size:14px}.success-message{color:#3c3;text-align:center;background-color:#efe;border:1px solid #cfc;border-radius:5px;padding:12px;font-size:14px}.button-group{gap:10px;margin-top:10px;display:flex}.submit-btn,.cancel-btn{cursor:pointer;border:none;border-radius:5px;flex:1;padding:12px;font-size:16px;font-weight:600;transition:all .3s}.submit-btn{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-btn{color:#666;background:#f5f5f5;border:1px solid #ddd}.cancel-btn:hover:not(:disabled){background:#e5e5e5}.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.create-users-page{max-width:1200px;margin:0 auto;padding:2rem}.create-users-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.create-users-header h1{color:#333;margin:0;font-size:2rem}.back-button{color:#fff;cursor:pointer;background-color:#6c757d;border:none;border-radius:4px;padding:.5rem 1rem;font-size:1rem;transition:background-color .2s}.back-button:hover{background-color:#5a6268}.create-users-form{background:#fff;border-radius:8px;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 4px #0000001a}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;margin-bottom:.5rem;font-weight:600;display:block}.form-group textarea{resize:vertical;border:1px solid #ddd;border-radius:4px;width:100%;min-height:150px;padding:.75rem;font-family:inherit;font-size:1rem}.form-group input[type=password]{border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.form-group textarea:focus,.form-group input[type=password]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 3px #007bff1a}.help-text{color:#6c757d;margin-top:.25rem;font-size:.875rem;display:block}.form-actions{gap:1rem;display:flex}.submit-button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:4px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:#0056b3}.submit-button:disabled{cursor:not-allowed;opacity:.6;background-color:#6c757d}.clear-button{color:#333;cursor:pointer;background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:background-color .2s}.clear-button:hover{background-color:#e9ecef}.alert{border-radius:4px;margin-bottom:1.5rem;padding:1rem}.alert-success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.alert-error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.alert-warning{color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7}.results-section{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.results-section h2{color:#333;margin-top:0;margin-bottom:1rem;font-size:1.5rem}.results-stats{background-color:#f8f9fa;border-radius:4px;gap:2rem;margin-bottom:1.5rem;padding:1rem;display:flex}.stat-item{flex-direction:column;display:flex}.stat-label{color:#6c757d;margin-bottom:.25rem;font-size:.875rem}.stat-value{color:#333;font-size:1.5rem;font-weight:600}.stat-value.success{color:#28a745}.stat-value.error{color:#dc3545}.user-list{margin:0;padding:0;list-style:none}.user-list-item{border:1px solid #e9ecef;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem;display:flex}.user-list-item:last-child{margin-bottom:0}.user-email{color:#333;font-weight:500}.user-role{color:#6c757d;margin-left:1rem;font-size:.875rem}.failed-list{margin:0;padding:0;list-style:none}.failed-list-item{background-color:#f8f9fa;border-left:3px solid #dc3545;border-radius:2px;margin-bottom:.5rem;padding:.5rem .75rem}.failed-list-item:last-child{margin-bottom:0}.loading{text-align:center;color:#6c757d;padding:2rem}#root{width:100%;min-height:100vh}
