body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.admin-login{align-items:center;background:linear-gradient(135deg,#2196f3,#21cbf3);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.login-container{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0000001a;max-width:400px;padding:2rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:#333;font-size:2rem;font-weight:700;margin:0 0 .5rem}.login-header h2{color:#666;font-size:1.2rem;font-weight:400;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input:focus{border-color:#2196f3}.login-button{background:linear-gradient(135deg,#2196f3,#21cbf3);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s ease}.login-button:hover:not(:disabled){transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-footer{border-top:1px solid #eee;margin-top:2rem;padding-top:1rem;text-align:center}.switch-button{background:none;border:none;color:#2196f3;cursor:pointer;font-size:.9rem;margin-bottom:1rem;padding:0;text-decoration:underline}.switch-button:hover{color:#1976d2}.login-footer p{color:#999;font-size:.8rem;margin:0}.client-list{padding:1.5rem}.client-table{display:flex;flex-direction:column}.table-header{border-bottom:2px solid #e1e5e9;color:#333;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table-header,.table-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1.5fr 1fr 2fr;padding:1rem 0}.table-row{align-items:center;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.table-row:hover{background-color:#f8f9fa}.cell{padding:.25rem 0}.username-cell strong{color:#333;font-size:1rem}.status-cell,.status-toggle{align-items:center;display:flex}.status-toggle{cursor:pointer}.status-toggle input[type=checkbox]{display:none}.status-indicator{border-radius:12px;font-size:.8rem;font-weight:500;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase;transition:all .2s ease}.status-indicator.enabled{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-indicator.disabled{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.creator-cell,.date-cell{color:#666;font-size:.9rem}.actions-cell{display:flex;gap:.5rem}.delete-button,.edit-button,.export-button{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease}.export-button{background-color:#28a745;color:#fff}.export-button:hover{background-color:#1e7e34}.delete-button:hover{background-color:#c82333}.empty-state{color:#666;padding:3rem 1.5rem;text-align:center}.empty-state p{font-size:1.1rem;margin:0}@media (max-width:768px){.table-header,.table-row{gap:.5rem;grid-template-columns:1fr}.header-cell{display:none}.cell{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.5rem 0}.cell:before{color:#666;content:attr(data-label);font-size:.8rem;font-weight:600;text-transform:uppercase}.username-cell:before{content:"Username"}.status-cell:before{content:"Status"}.date-cell:before{content:"Created"}.creator-cell:before{content:"Created By"}.actions-cell:before{content:"Actions"}}.client-form-modal{background:#fff;border-radius:8px;box-shadow:0 10px 25px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.form-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:1.5rem}.form-header h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.close-button{transition:all .2s ease}.client-form{gap:1.5rem;padding:1.5rem}.client-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-size:.9rem}.form-group input{border:2px solid #e1e5e9;border-radius:5px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.disabled-input{background-color:#f8f9fa!important;color:#6c757d!important;cursor:not-allowed!important}.form-help{color:#666;font-size:.8rem;margin-top:.25rem}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:5px;color:#c33;font-size:.9rem;padding:.75rem;text-align:center}.form-actions{margin-top:1rem}.cancel-button,.submit-button{border:none;border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:500;min-width:100px;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-button:hover:not(:disabled){background-color:#545b62}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2)}.submit-button:hover:not(:disabled){transform:translateY(-1px)}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:600px){.client-form-modal{margin:1rem;width:calc(100% - 2rem)}.form-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}}.database-management{margin:0 auto;max-width:800px}.section{margin-bottom:3rem}.section h2{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.section-description{color:#666;line-height:1.5;margin-bottom:1.5rem}.operation-card{background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.operation-card.danger{background:#fff5f5;border-color:#dc3545}.operation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.operation-header h3{color:#333;font-size:1.25rem;margin:0}.danger-badge{background-color:#dc3545}.coming-soon-badge,.danger-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.coming-soon-badge{background-color:#6c757d}.operation-description{color:#555;line-height:1.5;margin-bottom:1rem}.operation-details{background:#ffffffb3;border-left:4px solid #dc3545;border-radius:6px;margin:1rem 0;padding:1rem}.operation-details strong{color:#333;display:block;margin-bottom:.5rem}.operation-details ul{color:#555;margin:.5rem 0 1rem 1.5rem}.operation-details li{margin-bottom:.25rem}.danger-button{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.danger-button:hover:not(:disabled){background-color:#c82333}.danger-button:disabled,.secondary-button{background-color:#6c757d;cursor:not-allowed}.secondary-button{border:none;border-radius:6px;color:#fff;font-size:1rem;font-weight:500;opacity:.6;padding:.75rem 1.5rem}.confirmation-modal{background:#fff;border-radius:8px;box-shadow:0 10px 25px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{background:#fff5f5}.modal-header h2{color:#dc3545;font-size:1.25rem;font-weight:600;margin:0}.modal-content{padding:1.5rem}.warning-message{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.warning-message p{color:#856404;margin:0 0 .5rem}.warning-message p:last-child{margin-bottom:0}.warning-message ul{color:#856404;margin:.5rem 0 .5rem 1.5rem}.warning-message li{margin-bottom:.25rem}.confirmation-input{margin-bottom:1.5rem}.confirmation-input label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.confirm-input{border:2px solid #e1e5e9;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.confirm-input:focus{border-color:#dc3545;outline:none}.modal-actions{background:#f8f9fa;border-top:1px solid #e1e5e9;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.cancel-button{border-radius:6px}.cancel-button:hover:not(:disabled){background-color:#5a6268}.confirm-danger-button{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.confirm-danger-button:hover:not(:disabled){background-color:#c82333}.confirm-danger-button:disabled{background-color:#6c757d;cursor:not-allowed}@media (max-width:768px){.database-management,.operation-card{padding:1rem}.confirmation-modal{margin:1rem;max-width:calc(100% - 2rem)}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.category-management{margin:0 auto;max-width:1200px;padding:0}.category-management.loading{align-items:center;color:#666;display:flex;font-size:1.1rem;justify-content:center;min-height:200px}.category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.category-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0}.header-buttons{align-items:center;display:flex;gap:1rem}.export-categories-button{background-color:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.export-categories-button:hover{background-color:#138496}.add-category-button{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.add-category-button:hover{background-color:#218838}.categories-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.category-card{background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.category-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.category-card.inactive{background:#f8f9fa;opacity:.7}.category-header-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.category-info{align-items:flex-start;display:flex;flex:1 1;gap:1rem}.category-color{border:1px solid #0000001a;border-radius:4px;flex-shrink:0;height:24px;margin-top:2px;width:24px}.category-details h3{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.category-description{color:#666;font-size:.9rem;line-height:1.4;margin:0}.category-status{flex-shrink:0}.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.category-stats{border-bottom:1px solid #e1e5e9;border-top:1px solid #e1e5e9;display:flex;gap:1.5rem;margin-bottom:1rem;padding:.75rem 0}.stat{align-items:center;display:flex;flex-direction:column}.stat-label{font-size:.75rem}.stat-value{font-size:1.1rem}.category-actions{display:flex;gap:.5rem;justify-content:flex-end}.category-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.edit-button{background-color:#007bff}.edit-button:hover{background-color:#0056b3}.toggle-button.activate{background-color:#28a745;color:#fff}.toggle-button.activate:hover{background-color:#218838}.toggle-button.deactivate{background-color:#ffc107;color:#212529}.toggle-button.deactivate:hover{background-color:#e0a800}.delete-button{background-color:#dc3545}.delete-button:hover:not(:disabled){background-color:#c82333}.delete-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.no-categories{color:#666;padding:3rem;text-align:center}.no-categories p{font-size:1.1rem;margin:0}.category-form-modal{background:#fff;border-radius:8px;box-shadow:0 10px 25px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid #e1e5e9;padding:1.5rem}.modal-header h3{font-size:1.25rem}.close-button{border-radius:4px;color:#999;font-size:1.5rem;height:2rem;transition:background-color .2s ease,color .2s ease;width:2rem}.close-button:hover{background-color:#f0f0f0}.category-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #e1e5e9;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;outline:none}.color-input-group{align-items:center;display:flex;gap:.5rem}.color-input-group input[type=color]{border:1px solid #e1e5e9;border-radius:4px;cursor:pointer;height:40px;padding:0;width:60px}.color-input-group input[type=text]{flex:1 1}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:.5rem;margin-bottom:0!important}.checkbox-label input[type=checkbox]{margin:0;width:auto}.form-actions{border-top:1px solid #e1e5e9;gap:1rem;padding-top:1rem}.cancel-button{border:none;font-size:1rem;transition:background-color .2s ease}.cancel-button:hover{background-color:#5a6268}.save-button{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.save-button:hover{background-color:#218838}@media (max-width:768px){.categories-grid{grid-template-columns:1fr}.category-header{align-items:stretch;flex-direction:column;gap:1rem}.category-actions{flex-wrap:wrap;justify-content:center}.category-form-modal{margin:1rem;max-width:calc(100% - 2rem)}.form-actions{flex-direction:column}}.test-manager{background:#f8f9fa;min-height:100vh;padding:2rem}.test-header{margin-bottom:2rem;text-align:center}.test-header h2{color:#2c3e50;margin-bottom:.5rem}.test-header p{color:#6c757d;font-size:1.1rem}.test-controls{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem}.test-suite-selector{align-items:center;display:flex;gap:1rem}.test-suite-selector label{color:#495057;font-weight:600}.test-suite-selector select{border:2px solid #dee2e6;border-radius:4px;font-size:1rem;min-width:200px;padding:.5rem 1rem}.test-suite-selector select:focus{border-color:#007bff;outline:none}.run-tests-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:background-color .2s}.run-tests-button:hover:not(:disabled){background:#218838}.run-tests-button:disabled{background:#6c757d;cursor:not-allowed}.test-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{border-left:4px solid #007bff;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.stat-card.success{border-left-color:#28a745}.stat-card.failure{border-left-color:#dc3545}.stat-card h3{color:#6c757d;letter-spacing:.5px;text-transform:uppercase}.stat-number{color:#2c3e50;font-size:2rem}.test-results{display:flex;flex-direction:column;gap:1.5rem}.test-suite{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.test-suite.running{border-left:4px solid #ffc107}.test-suite.completed{border-left:4px solid #28a745}.suite-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;justify-content:space-between;padding:1rem 1.5rem}.suite-header,.suite-header h3{align-items:center;display:flex}.suite-header h3{color:#2c3e50;gap:.5rem;margin:0}.suite-stats{display:flex;font-size:.9rem;gap:1rem}.suite-stats .passed{color:#28a745;font-weight:600}.suite-stats .failed{color:#dc3545;font-weight:600}.suite-stats .total{color:#6c757d;font-weight:600}.test-list{padding:0}.test-item{border-bottom:1px solid #f1f3f4;padding:1rem 1.5rem;transition:background-color .2s}.test-item:last-child{border-bottom:none}.test-item:hover{background:#f8f9fa}.test-item.passed{background:#28a7450d}.test-item.failed{background:#dc35450d}.test-item.running{background:#ffc1070d}.test-info{align-items:center;display:flex;gap:.75rem}.test-icon{font-size:1.1rem}.test-name{color:#2c3e50;flex:1 1;font-weight:500}.test-duration{color:#6c757d;font-size:.9rem}.test-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-top:.75rem;padding:1rem}.test-error pre{color:#721c24;font-size:.9rem;margin:0;white-space:pre-wrap;word-break:break-word}.test-suite-info{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:3rem;padding:2rem}.test-suite-info h3{border-bottom:2px solid #dee2e6;color:#2c3e50;margin-bottom:1.5rem;padding-bottom:.5rem}.suite-descriptions{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.suite-description{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:1rem}.suite-description h4{color:#495057;margin:0 0 .5rem}.suite-description p{color:#6c757d;font-size:.9rem;margin:0}.test-safety-info{background:#e8f5e8;border:1px solid #28a745;border-radius:8px;margin-top:2rem;padding:1.5rem}.test-safety-info h4{color:#155724;margin:0 0 1rem}.test-safety-info ul{margin:1rem 0;padding-left:1.5rem}.test-safety-info li{color:#155724;margin:.5rem 0}.test-safety-info p{color:#155724;font-style:italic;margin:1rem 0 0;text-align:center}@media (max-width:768px){.test-manager{padding:1rem}.test-controls{align-items:stretch;flex-direction:column;gap:1rem}.test-suite-selector{justify-content:space-between}.suite-header{align-items:flex-start;flex-direction:column;gap:.5rem}.suite-descriptions{grid-template-columns:1fr}}.public-question-library{margin:0 auto;max-width:1200px;padding:20px}.library-header{margin-bottom:30px}.header-content{margin-bottom:20px}.header-content h2{color:#333;font-size:28px;font-weight:600;margin:0}.create-question-button{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;box-shadow:0 4px 12px #4caf504d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.create-question-button:hover{box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.stats-section{grid-gap:20px;gap:20px;margin-bottom:30px}.loading-text{background-color:#f5f5f5;border:1px solid #ddd;color:#666;padding:8px 12px}.stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:20px}.stat-card h4{color:#666;font-size:14px;font-weight:500;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.stat-number{color:#2196f3;font-size:32px;margin:0}.library-filters{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;overflow:hidden;padding:20px}.search-section{margin-bottom:15px}.search-input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:16px;max-width:100%;padding:12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{box-shadow:0 0 0 3px #2196f31a;outline:none}.filter-section{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;cursor:pointer;font-size:14px;padding:10px 16px;transition:border-color .3s ease;width:100%}.filter-select:focus{border-color:#2196f3;outline:none}.questions-list{display:flex;flex-direction:column;gap:20px}.question-card{border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.question-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.question-header{margin-bottom:15px;padding:20px 20px 0}.question-meta{align-items:center;flex-wrap:wrap;gap:10px}.category-badge{background:linear-gradient(135deg,#ff9800,#f57c00)}.category-badge,.difficulty-badge{border-radius:16px;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.difficulty-badge{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.usage-count{background:linear-gradient(135deg,#607d8b,#455a64);border-radius:16px;color:#fff;font-size:12px;font-weight:500;padding:4px 12px}.question-actions{gap:10px}.edit-button{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.edit-button:hover{box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.delete-button{background:linear-gradient(135deg,#f44336,#d32f2f);border:none;border-radius:6px;font-size:14px;padding:8px 16px;transition:all .3s ease}.delete-button:hover{box-shadow:0 4px 12px #f443364d;transform:translateY(-1px)}.question-content{padding:0 20px 20px}.question-text{color:#333;font-size:18px;font-weight:600;margin-bottom:15px}.answers-grid{grid-gap:10px;gap:10px;margin-bottom:15px}.answer-option{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .3s ease}.answer-option.correct{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);border-color:#4caf50;color:#2e7d32;font-weight:600}.media-info{display:flex;gap:10px;margin-bottom:10px}.media-badge{background:linear-gradient(135deg,#673ab7,#512da8);border-radius:16px;color:#fff;font-size:12px;font-weight:500;padding:4px 12px}.keywords,.source{color:#666;font-size:14px;line-height:1.4;margin-bottom:8px}.keywords strong,.source strong{color:#333}.loading{font-size:18px;padding:60px 20px;text-align:center}.no-questions{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:60px 20px}.no-questions p{color:#666;font-size:18px;margin-bottom:20px}.no-questions button{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.modal-overlay{background:#0009;padding:20px}.create-question-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;padding:24px 24px 20px}.modal-header h3{color:#333;font-size:24px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;padding:0;transition:all .3s ease;width:40px}.close-button:hover{background:#f5f5f5;color:#333}.question-form-content{flex:1 1;overflow-y:auto;padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.answers-section{margin-bottom:20px}.form-actions{background:#fff;border-top:1px solid #e0e0e0;display:flex;flex-shrink:0;gap:15px;justify-content:flex-end;padding:20px 24px}.cancel-button{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;color:#666;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.cancel-button:hover{background:#e0e0e0;color:#333}.submit-button{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;box-shadow:0 4px 12px #4caf504d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.submit-button:hover{box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}@media (max-width:768px){.public-question-library{padding:15px}.header-content{align-items:stretch;flex-direction:column;gap:15px}.stats-section{grid-template-columns:repeat(2,1fr)}.filter-section{grid-template-columns:1fr}.question-header{align-items:stretch;flex-direction:column;gap:15px}.question-actions,.question-meta{justify-content:center}.answers-grid,.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.create-question-modal{margin:10px;max-height:calc(100vh - 20px)}}.question-explanation{background-color:#f8f9fa;border-left:4px solid #28a745;border-radius:0 6px 6px 0;font-style:italic;margin:16px 0;padding:12px 16px}.question-explanation strong{color:#28a745;font-weight:600}.client-stack-export{margin:0 auto;max-width:1200px;padding:1.5rem}.export-header{border-bottom:2px solid #e1e5e9;margin-bottom:2rem;padding-bottom:1rem}.back-button{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-bottom:1rem;padding:.5rem 1rem;transition:background-color .2s ease}.back-button:hover{background-color:#5a6268}.export-header h2{color:#333;font-size:1.8rem;margin:0 0 .5rem}.client-info{color:#666;font-size:1rem;line-height:1.4;margin:0}.empty-state,.error-state,.loading-state{padding:3rem 1.5rem;text-align:center}.empty-state p,.loading-state p{color:#666;font-size:1.1rem;margin:0}.error-message{margin:0 0 1rem}.retry-button{background-color:#007bff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.retry-button:hover{background-color:#0056b3}.stacks-list{margin-bottom:2rem}.stacks-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.stack-card{background:#fff;border:1px solid #e1e5e9;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;transition:all .2s ease}.stack-card:hover{border-color:#007bff;box-shadow:0 4px 12px #0000001a}.stack-info{flex:1 1;margin-bottom:1rem}.stack-name{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 .5rem}.stack-description{color:#666;font-size:.95rem;line-height:1.4;margin:0 0 1rem}.stack-stats{grid-gap:1rem;background:#f8f9fa;border-radius:4px;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:1rem 0;padding:1rem}.stat{text-align:center}.stat-label{color:#666;display:block;font-size:.8rem;font-weight:500;margin-bottom:.25rem;text-transform:uppercase}.stat-value{color:#333;display:block;font-size:1.2rem;font-weight:600}.stack-meta{border-top:1px solid #e1e5e9;margin-top:1rem;padding-top:1rem}.completion-status,.last-modified{color:#666;font-size:.9rem;margin:.25rem 0}.completion-status{font-weight:500}.stack-actions{display:flex;justify-content:flex-end}.export-stack-button{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s ease}.export-stack-button:hover:not(:disabled){background-color:#1e7e34}.export-stack-button:disabled{background-color:#6c757d;cursor:not-allowed}.export-info{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:8px;padding:1.5rem}.export-info h3{color:#333;font-size:1.2rem;margin:0 0 1rem}.info-content p{color:#666;font-size:.95rem;line-height:1.4;margin:.5rem 0}.info-content strong{color:#333}@media (max-width:768px){.client-stack-export{padding:1rem}.stacks-grid{gap:1rem;grid-template-columns:1fr}.stack-stats{gap:.5rem;grid-template-columns:1fr}.export-header h2{font-size:1.5rem}}@media (max-width:480px){.export-info,.stack-card{padding:1rem}}.error-boundary-fallback{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:center;margin:20px;min-height:400px;padding:20px}.error-container{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:500px;padding:40px;text-align:center}.error-icon{margin-bottom:20px}.error-container h2{color:#dc3545;font-size:1.5rem;margin-bottom:15px}.error-container p{color:#6c757d;line-height:1.5;margin-bottom:30px}.error-actions{display:flex;gap:15px;justify-content:center;margin-bottom:20px}.error-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.error-button-primary{background-color:#007bff;color:#fff}.error-button-primary:hover{background-color:#0056b3}.error-button-secondary{background-color:#6c757d;color:#fff}.error-button-secondary:hover{background-color:#545b62}.error-details{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-top:20px;padding:15px;text-align:left}.error-details summary{cursor:pointer;font-weight:700;margin-bottom:10px}.error-stack{color:#495057;font-family:Courier New,monospace;font-size:12px}.error-stack pre{background:#fff;border:1px solid #dee2e6;border-radius:4px;margin:10px 0;max-height:200px;overflow-y:auto;padding:10px;white-space:pre-wrap;word-break:break-word}.admin-dashboard{background:linear-gradient(135deg,#2196f3,#21cbf3);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.dashboard-header{background:#fff;border-bottom:1px solid #e1e5e9;padding:.75rem 0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.header-content h1{color:#333;font-size:1.75rem;font-weight:600;margin:0}.header-actions{align-items:center;display:flex;gap:1rem}.welcome-text{color:#666;font-size:.9rem}.logout-button{background-color:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.logout-button:hover{background-color:#c82333}.dashboard-content{margin:0 auto;max-width:1200px;padding:2rem}.admin-tabs{border-bottom:2px solid #e1e5e9;display:flex;margin-bottom:2rem}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 2rem;transition:all .2s ease}.tab-button:hover{background-color:#f8f9fa;color:#333}.tab-button.active{background-color:#f8f9fa;border-bottom-color:#2196f3;color:#2196f3}.tab-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stats-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:3rem}.admin-dashboard .stat-card{background:#fff!important;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#333!important;padding:1.5rem;text-align:center}.admin-dashboard .stat-card h3{color:#666!important;font-size:.9rem;font-weight:500;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.admin-dashboard .stat-number{color:#333!important;font-size:2rem;font-weight:700}.clients-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.client-search{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;gap:1rem;padding:1rem 1.5rem}.search-input{border:1px solid #ddd;border-radius:5px;flex:1 1;font-size:1rem;outline:none;padding:.5rem 1rem;transition:border-color .2s ease}.search-input:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.search-results{color:#666;font-size:.9rem;white-space:nowrap}.section-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:1.5rem}.section-header h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.add-client-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:transform .2s ease}.add-client-button:hover{transform:translateY(-1px)}.loading{height:100vh}.client-login{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.client-login .login-container{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0000001a;max-width:400px;padding:2rem;width:100%}.client-login .login-header{margin-bottom:2rem;text-align:center}.client-login .login-header h1{color:#333;font-size:2rem;font-weight:700;margin:0 0 .5rem}.client-login .login-header h2{color:#666;font-size:1.2rem;font-weight:400;margin:0}.client-login .login-form{display:flex;flex-direction:column;gap:1.5rem}.client-login .form-group{display:flex;flex-direction:column;gap:.5rem}.client-login .form-group label{color:#333;font-size:.9rem;font-weight:600}.client-login .form-group input{border:2px solid #e1e5e9;border-radius:5px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.client-login .form-group input:focus{border-color:#667eea;outline:none}.client-login .form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.client-login .error-message{background-color:#fee;border:1px solid #fcc;border-radius:5px;color:#c33;font-size:.9rem;padding:.75rem;text-align:center}.client-login .login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s ease}.client-login .login-button:hover:not(:disabled){transform:translateY(-1px)}.client-login .login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.client-login .login-footer{border-top:1px solid #eee;margin-top:2rem;padding-top:1rem;text-align:center}.client-login .switch-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;margin-bottom:1rem;padding:0;text-decoration:underline}.client-login .switch-button:hover{color:#5a67d8}.client-login .login-footer p{color:#999;font-size:.8rem;margin:0}.upload-progress-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.upload-progress-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:450px;overflow:hidden;width:90%}.upload-progress-header{background:linear-gradient(135deg,#2196f3,#21cbf3);color:#fff;padding:1.5rem;text-align:center}.upload-progress-header h3{font-size:1.25rem;font-weight:600;margin:0}.upload-progress-content{padding:2rem}.upload-status{align-items:center;display:flex;flex-direction:column;margin-bottom:2rem}.status-icon{margin-bottom:1rem}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#2196f3;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.upload-status p{color:#333;font-size:1rem;margin:0;text-align:center}.progress-bar-container{background-color:#f0f0f0;border-radius:10px;box-shadow:inset 0 2px 4px #0000001a;height:20px;margin-bottom:1rem;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(135deg,#2196f3,#21cbf3);border-radius:10px;height:100%;transition:width .3s ease}.progress-percentage{color:#2196f3;font-size:1.25rem;font-weight:600;text-align:center}.upload-error{text-align:center}.error-icon{font-size:3rem;margin-bottom:1rem}.error-message{color:#dc3545;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.error-hint{color:#666;font-size:.9rem;line-height:1.5;margin-top:.5rem}.upload-progress-actions{border-top:1px solid #e1e5e9;display:flex;gap:1rem;justify-content:center;padding:1.5rem}.upload-progress-actions button{border:none;border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:500;min-width:120px;padding:.75rem 1.5rem;transition:all .2s ease}.retry-button{background:linear-gradient(135deg,#2196f3,#21cbf3);color:#fff}.retry-button:hover{transform:translateY(-1px)}.cancel-button{background-color:#6c757d;color:#fff}.cancel-button:hover{background-color:#545b62}@media (max-width:500px){.upload-progress-modal{width:95%}.upload-progress-content{padding:1.5rem}.upload-progress-actions{flex-direction:column}.upload-progress-actions button{width:100%}}.question-preview{margin:0 -1rem calc(1.5rem - 35px);position:relative;width:calc(100% + 2rem - 55px)}.preview-container{background-color:#000;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:8px;height:220px;margin:0;overflow:visible;padding:8px 1rem;position:relative;width:100%}.preview-question-section{align-items:center;background-image:url(/static/media/QUESTIONBAR.9fb2eecd9d608da34e77.png);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;display:flex;flex:0 0 80px;justify-content:center;padding:0 15px}.preview-question-text{color:#fff;display:inline-block;font-size:28px;font-weight:600;text-align:center;transform-origin:center}.preview-question-text,.text-line{line-height:1.1;white-space:nowrap}.preview-answers-section{display:flex;flex:1 1;flex-direction:column;gap:-5px;margin-top:-5px}.preview-answers-row{display:flex;flex:1 1;gap:8px}.preview-answer-button{align-items:center;background-image:url(/static/media/ABAR.325cae8e219cdf04ce89.png);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border:2px solid #0000;display:flex;flex:1 1;justify-content:center;max-width:none;min-width:0;padding:10px;position:relative;transition:all .2s ease}.preview-answer-button.correct{border-color:gold;box-shadow:0 0 8px #ffd70080}.answer-text{color:#fff;display:inline-block;font-size:28px;font-weight:500;text-align:center;transform-origin:center}.answer-text,.answer-text .text-line{line-height:1.1;white-space:nowrap}@media (max-width:600px){.preview-container{height:100px}.preview-question-section{height:28px;top:6px}.preview-question-text{font-size:10px}.preview-answers-section{bottom:10px;top:40px}.answer-text{font-size:8px}}@media (max-width:400px){.preview-container{height:80px}.preview-question-section{height:24px;top:4px}.preview-question-text{font-size:9px}.preview-answers-section{bottom:8px;top:32px}.answer-text{font-size:7px}}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.question-form-modal{background:#fff;border-radius:8px;box-shadow:0 10px 25px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;overflow:hidden;width:100%}.question-form-modal .form-header{align-items:center;background:#fff;border-bottom:1px solid #e1e5e9;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem;z-index:1}.question-form-modal .form-header h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.question-form-modal .close-button{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;transition:all .2s ease;width:2rem}.question-form-modal .close-button:hover{background-color:#f0f0f0;color:#333}.question-form{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.question-form .form-group{display:flex;flex-direction:column;gap:.5rem}.question-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.question-form .form-group label{color:#333;font-size:.9rem;font-weight:600}.question-form .form-group input,.question-form .form-group select,.question-form .form-group textarea{border:2px solid #e1e5e9;border-radius:5px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.question-form .form-group input:focus,.question-form .form-group select:focus,.question-form .form-group textarea:focus{border-color:#2196f3;outline:none}.question-form .form-group textarea{min-height:80px;resize:vertical}.question-form .form-content{flex:1 1;overflow-y:auto;padding:1.5rem 1.5rem .5rem}.question-form .form-actions{background:#fff;border-top:1px solid #e1e5e9;display:flex;flex-shrink:0;gap:1rem;justify-content:flex-end;padding:1.5rem}.question-form .form-actions button{border:none;border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:500;min-width:100px;padding:.75rem 1.5rem;transition:all .2s ease}.question-form .form-actions button[type=button]{background-color:#6c757d;color:#fff}.question-form .form-actions button[type=button]:hover:not(:disabled){background-color:#545b62}.question-form .form-actions button[type=submit]{background:linear-gradient(135deg,#2196f3,#21cbf3);color:#fff}.question-form .form-actions button[type=submit]:hover:not(:disabled){transform:translateY(-1px)}.question-form .form-actions button:disabled{cursor:not-allowed;opacity:.6;transform:none}.form-layout{align-items:flex-start;display:flex;gap:2rem}.form-left{display:flex;flex:1 1;flex-direction:column;gap:1.5rem}.answers-grid{grid-gap:1rem;gap:1rem}.form-right{background-color:#f8f9fa;border:1px solid #e1e5e9;border-radius:8px;flex:0 0 350px;padding:1rem}.media-panel{display:flex;flex-direction:column;gap:1.5rem}.media-panel h3{border-bottom:2px solid #2196f3;color:#333;font-size:1.1rem;font-weight:600;margin:0;padding-bottom:.5rem}.media-section{background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;flex-direction:column;gap:1rem;padding:1rem}.media-section h4{color:#495057;font-size:1rem;font-weight:600;margin:0 0 .5rem}.file-input-container,.file-upload-group{display:flex;flex-direction:column;gap:.5rem}.file-input-container input[type=file]{display:none}.file-input-container button{background:linear-gradient(135deg,#2196f3,#21cbf3);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:transform .2s ease}.file-input-container button:hover{transform:translateY(-1px)}.file-name{color:#6c757d;font-size:.85rem;font-style:italic;padding:.25rem 0}.audio-controls{background-color:#f8f9fa;border-radius:4px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.play-button{align-self:flex-start;background:#28a745!important;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.play-button:hover{background:#218838!important;transform:none}.stop-button{align-self:flex-start;background:#dc3545!important;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.stop-button:hover{background:#c82333!important;transform:none}.file-input-container button.play-button{background:#28a745!important}.file-input-container button.play-button:hover{background:#218838!important;transform:none}.file-input-container button.stop-button{background:#dc3545!important}.file-input-container button.stop-button:hover{background:#c82333!important;transform:none}.audio-duration{color:#6c757d;font-family:monospace;font-size:.85rem;font-weight:500}.checkbox-group,.checkbox-group label{align-items:center;display:flex;gap:.5rem}.checkbox-group label{color:#495057;cursor:pointer;font-size:.9rem;margin:0}.checkbox-group input[type=checkbox]{margin:0;padding:0;width:auto}.image-preview{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-top:1rem;padding:1rem}.preview-image{border-radius:4px;box-shadow:0 2px 4px #0000001a;display:block;margin:0 auto;max-height:200px;max-width:100%}.image-resolution{color:#6c757d;font-family:monospace;font-size:.85rem;font-weight:500;margin-top:.5rem;text-align:center}.video-preview{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-top:1rem;padding:1rem}.preview-video{border-radius:4px;box-shadow:0 2px 4px #0000001a;display:block;margin:0 auto;max-height:200px;max-width:100%}.video-duration{color:#6c757d;font-family:monospace;font-size:.85rem;font-weight:500;margin-top:.5rem;text-align:center}.remove-audio-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.remove-audio-btn:hover{background-color:#c82333}.remove-audio-btn:active{background-color:#bd2130}@media (max-width:900px){.form-layout{flex-direction:column}.form-right{flex:none;width:100%}}@media (max-width:600px){.question-form-modal{margin:1rem;width:calc(100% - 2rem)}.question-form .form-row{grid-template-columns:1fr}.question-form .form-actions{flex-direction:column}.question-form .form-actions button{width:100%}}.loading-text{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#6c757d;font-style:italic;padding:.75rem;text-align:center}.question-panel{display:flex;flex-direction:column;height:100%}.question-panel .panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.question-panel .panel-header h4{color:#333;font-size:1rem;font-weight:600;margin:0}.question-panel .add-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:.5rem 1rem;transition:transform .2s ease}.question-panel .add-button:hover{transform:translateY(-1px)}.question-panel .panel-content{display:flex;flex:1 1;flex-direction:column;gap:1.5rem}.question-panel .empty-state{color:#666;padding:2rem 0;text-align:center}.question-panel .empty-state p{font-size:.9rem;margin:.5rem 0}.question-panel .question-stats{display:flex;flex-direction:column;gap:.75rem}.question-panel .stat-item{align-items:center;background-color:#f8f9fa;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.question-panel .stat-label{color:#666;font-size:.85rem;font-weight:500}.question-panel .stat-value{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px;color:#fff;font-size:.85rem;font-weight:600;min-width:1.5rem;padding:.2rem .5rem;text-align:center}.question-panel .categories{border-top:1px solid #e1e5e9;padding-top:1rem}.question-panel .categories h5{color:#333;font-size:.9rem;font-weight:600;margin:0 0 .75rem}.question-panel .category-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.4rem 0}.question-panel .category-item:last-child{border-bottom:none}.question-panel .category-name{color:#555;flex:1 1;font-size:.8rem}.question-panel .category-count{background-color:#f0f0f0;border-radius:3px;color:#999;font-size:.8rem;min-width:1.2rem;padding:.1rem .4rem;text-align:center}.delete-stack-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;margin:20px;max-height:80vh;max-width:550px;overflow-y:auto;position:relative;width:90%}.delete-stack-dialog-header{background:#fff5f5;border-bottom:1px solid #e0e0e0;padding:1.5rem}.delete-stack-dialog-header h3{align-items:center;color:#d32f2f;display:flex;font-size:1.25rem;gap:.5rem;margin:0}.delete-stack-dialog-content{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.stack-info{background:#f8f9fa;border-left:4px solid #6f42c1;border-radius:6px;padding:1rem;text-align:center}.stack-info h4{color:#212529;font-size:1.1rem;margin:0 0 .5rem}.question-count{color:#495057;font-size:.9rem;margin:0}.question-count strong{color:#e83e8c}.confirmation-text{padding:.5rem 0}.confirmation-text p{color:#212529;font-size:1rem;margin:0}.options-info{display:flex;flex-direction:column;gap:1rem}.option-description{align-items:flex-start;background:#f8f9fa;border-left:4px solid #17a2b8;border-radius:6px;display:flex;gap:1rem;padding:1rem}.option-icon{flex-shrink:0;font-size:1.5rem}.option-text{color:#495057;flex:1 1;font-size:.9rem;line-height:1.4}.option-text strong{color:#212529;display:block;margin-bottom:.25rem}.delete-stack-dialog-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.delete-stack-only-button{background:#fd7e14;border:1px solid #fd7e14;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.delete-stack-only-button:hover{background:#e8690c;border-color:#e8690c}.delete-all-button{background:#dc3545;border:1px solid #dc3545;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.delete-all-button:hover{background:#c82333;border-color:#c82333}.delete-all-button:active,.delete-stack-only-button:active{transform:translateY(1px)}@media (max-width:600px){.delete-stack-dialog{margin:10px;width:calc(100% - 20px)}.delete-stack-dialog-actions,.delete-stack-dialog-content,.delete-stack-dialog-header{padding:1rem}.delete-stack-dialog-actions{flex-direction:column}.delete-stack-dialog-actions button{width:100%}.option-description{flex-direction:column;gap:.5rem;text-align:center}}.stack-panel{display:flex;flex-direction:column;height:100%}.stack-panel .panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.stack-panel .panel-header h4{color:#333;font-size:1rem;font-weight:600;margin:0}.stack-panel .add-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:.5rem 1rem;transition:transform .2s ease}.stack-panel .add-button:hover{transform:translateY(-1px)}.stack-panel .panel-content{flex:1 1;overflow-y:auto}.stack-panel .empty-state{color:#666;padding:2rem 0;text-align:center}.stack-panel .empty-state p{font-size:.9rem;margin:.5rem 0}.stack-panel .stack-list{display:flex;flex-direction:column;gap:.75rem}.stack-panel .stack-item{background:#fff;border:2px solid #e1e5e9;border-radius:8px;cursor:pointer;padding:1rem;transition:all .2s ease}.stack-panel .stack-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.stack-panel .stack-item.selected{background-color:#f3f0ff;border-color:#667eea;box-shadow:0 2px 8px #667eea33}.stack-panel .stack-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.stack-panel .stack-name{color:#333;flex:1 1;font-size:.9rem;font-weight:600;line-height:1.3;margin:0}.stack-panel .stack-progress{border-radius:12px;color:#fff;font-size:.7rem;font-weight:600;padding:.2rem .5rem;white-space:nowrap}.stack-panel .progress-container{align-items:center;display:flex;gap:.5rem}.stack-panel .delete-stack-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease;white-space:nowrap}.stack-panel .delete-stack-btn:hover{background:#c82333;transform:translateY(-1px)}.stack-panel .delete-stack-btn:active{transform:translateY(0)}.stack-panel .stack-progress.incomplete{background:linear-gradient(135deg,#dc3545,#c82333)}.stack-panel .stack-progress.complete{background:linear-gradient(135deg,#4caf50,#45a049)}.stack-panel .stack-description{color:#666;font-size:.8rem;line-height:1.4;margin:0 0 .75rem}.stack-panel .stack-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.stack-panel .stack-status{color:#666;font-size:.7rem}.stack-panel .stack-date{color:#999;font-size:.7rem}.stack-panel .progress-bar{background-color:#e1e5e9;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.stack-panel .progress-fill{height:100%;transition:width .3s ease}.stack-panel .progress-fill.incomplete{background:linear-gradient(135deg,#dc3545,#c82333)}.stack-panel .progress-fill.complete{background:linear-gradient(135deg,#4caf50,#45a049)}.delete-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;margin:20px;max-height:80vh;max-width:500px;overflow-y:auto;position:relative;width:90%}.delete-dialog-header{background:#fff5f5;border-bottom:1px solid #e0e0e0;padding:1.5rem}.delete-dialog-header h3{align-items:center;color:#d32f2f;display:flex;font-size:1.25rem;gap:.5rem;margin:0}.delete-dialog-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.question-preview{background:#f8f9fa;border-left:4px solid #6c757d;border-radius:6px;padding:1rem}.question-preview strong{color:#495057;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.question-preview p{color:#212529;font-style:italic;line-height:1.4;margin:.5rem 0 0}.stack-warning{align-items:flex-start;background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;display:flex;gap:1rem;padding:1rem}.warning-icon{flex-shrink:0;font-size:1.5rem}.warning-text{flex:1 1}.warning-text p{color:#856404;margin:0 0 .5rem}.warning-text p:last-child{margin-bottom:0}.stack-name{background:#6f42c11a;color:#6f42c1!important}.stack-name,.stack-position{border-radius:4px;display:inline-block;font-weight:700;padding:.25rem .5rem}.stack-position{background:#e83e8c1a;color:#e83e8c!important;margin-top:.25rem}.no-stack-info{background:#d1ecf1;border-left:4px solid #17a2b8;border-radius:6px;padding:1rem}.no-stack-info p{color:#0c5460;margin:0}.confirmation-text{padding:1rem 0;text-align:center}.confirmation-text p{margin:.5rem 0}.confirmation-text .warning-text{color:#6c757d;font-size:.9rem}.delete-dialog-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.cancel-button{background:#fff;border:1px solid #6c757d;border-radius:4px;color:#6c757d;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-button:hover{background:#6c757d;color:#fff}.delete-button{background:#dc3545;border:1px solid #dc3545;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.delete-button:hover{background:#c82333;border-color:#c82333}.delete-button:active{transform:translateY(1px)}@media (max-width:600px){.delete-dialog{margin:10px;width:calc(100% - 20px)}.delete-dialog-actions,.delete-dialog-content,.delete-dialog-header{padding:1rem}.stack-warning{flex-direction:column;gap:.5rem;text-align:center}.warning-icon{align-self:center}}.public-question-browser{display:flex;flex-direction:column;height:auto;margin:0 auto;max-width:1400px;min-height:calc(100vh - 140px);padding:1rem}.browser-header{margin-bottom:2rem;text-align:center}.browser-header h2{color:#333;margin-bottom:.5rem}.browser-header p{color:#666;font-size:1rem}.stats-section{display:flex;flex-shrink:0;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;min-width:120px;padding:1rem;text-align:center}.stat-card h3{font-size:.9rem;margin:0 0 .5rem;opacity:.9}.stat-number{font-size:1.8rem;font-weight:700}.difficulty-stats{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;gap:.25rem;padding:1rem}.difficulty-item{font-size:.9rem;font-weight:600}.filters-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;flex-shrink:0;margin-bottom:1rem;padding:1.5rem}.filter-row{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#333;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.filter-select,.search-input{background:#fff;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:.5rem}.filter-select:focus,.search-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.questions-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;flex:1 1;flex-direction:column;max-height:600px;overflow:hidden}.questions-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:8px 8px 0 0;flex-shrink:0;padding:1rem 1.5rem}.questions-header h3{color:#333;margin:0}.questions-list{background:#fff;flex:1 1;min-height:0;overflow-y:auto;padding:1rem}.no-questions{color:#666;padding:3rem;text-align:center}.question-card{background:#fff;border-bottom:1px solid #e9ecef;margin-bottom:1px;padding:1.5rem;transition:background-color .2s}.question-card:hover{background-color:#f8f9fa}.question-card:last-child{border-bottom:none}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.question-info{align-items:center;display:flex;gap:.5rem}.question-type{background:#6c757d}.category-badge,.difficulty-badge,.question-type{border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.question-actions{align-items:center;display:flex;gap:1rem}.import-count{color:#666;font-size:.85rem}.import-button{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.import-button:hover:not(:disabled){box-shadow:0 4px 8px #28a7454d;transform:translateY(-1px)}.import-button:disabled{cursor:not-allowed;opacity:.6}.question-content{display:flex;flex-direction:column;gap:1rem}.question-text{font-size:1.1rem;line-height:1.4}.answers-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.answer-option{display:flex;gap:.5rem}.answer-label{color:#667eea;font-weight:600;min-width:20px}.correct-answer{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-weight:600;padding:.75rem}.explanation{background:#e7f3ff;border:1px solid #b8daff;border-radius:4px;color:#004085;padding:.75rem}.question-meta{border-top:1px solid #e9ecef;color:#666;display:flex;flex-direction:column;font-size:.9rem;gap:.5rem;padding-top:.5rem}.keywords{color:#667eea}.source{color:#fd7e14}.created-date{color:#6c757d}.loading{align-items:center;color:#666;display:flex;font-size:1.1rem;height:200px;justify-content:center}@media (max-width:768px){.filter-row{gap:1rem;grid-template-columns:1fr}.stats-section{flex-direction:column}.answers-grid{grid-template-columns:1fr}.question-header{align-items:flex-start;flex-direction:column;gap:1rem}.question-actions{align-self:stretch}.import-button{flex:1 1}}.explanation{background-color:#e8f5e8;border-left:4px solid #28a745;border-radius:0 6px 6px 0;font-style:italic;margin:12px 0;padding:12px 16px}.explanation strong{color:#155724;font-weight:600}.client-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;overflow:visible;position:relative}.client-dashboard .dashboard-header{background:#fff;border-bottom:1px solid #e1e5e9;padding:.75rem 0}.client-dashboard .header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 2rem}.client-dashboard .header-content h1{color:#333;font-size:1.75rem;font-weight:600;margin:0}.client-dashboard .header-actions{align-items:center;display:flex;gap:1rem}.client-dashboard .welcome-text{color:#666;font-size:.9rem}.client-dashboard .logout-button{background-color:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.client-dashboard .logout-button:hover{background-color:#c82333}.client-dashboard .dashboard-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:300px 1fr;margin:0 auto;max-width:1400px;min-height:calc(100vh - 100px);overflow:visible;padding:2rem;position:relative}.client-dashboard .left-column{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:fit-content;overflow:visible;position:relative}.client-dashboard .tab-container{display:flex;flex-direction:column;height:100%}.client-dashboard .tab-buttons{border-bottom:1px solid #e1e5e9;display:flex}.client-dashboard .tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:1rem;transition:all .2s ease}.client-dashboard .tab-button:hover{background-color:#f8f9fa;color:#333}.client-dashboard .tab-button.active{background-color:#f3f0ff;border-bottom-color:#667eea;color:#667eea;font-weight:600}.client-dashboard .tab-content{flex:1 1;padding:1.5rem}.client-dashboard .right-column{grid-gap:2rem;display:grid;gap:2rem;grid-template-rows:auto 1fr}.client-dashboard .questions-section{height:auto;min-height:400px}.client-dashboard .questions-section,.client-dashboard .stack-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;overflow:visible;position:relative}.client-dashboard .questions-section>div{display:flex;flex-direction:column;height:100%;overflow:visible}.client-dashboard .stack-section>div{overflow:visible}.client-dashboard .no-scroll{overflow:hidden!important;pointer-events:none!important}.client-dashboard .no-scroll>div{pointer-events:auto}.client-dashboard [data-draggable=true]{-webkit-touch-callout:none;touch-action:none;-webkit-user-select:none;user-select:none}.client-dashboard .questions-section h3,.client-dashboard .stack-section h3{background-color:#f8f9fa;border-bottom:1px solid #e1e5e9;color:#333;font-size:1.1rem;font-weight:600;margin:0;padding:1.5rem}.client-dashboard .loading{align-items:center;color:#666;display:flex;font-size:1.1rem;height:100vh;justify-content:center}@media (max-width:1024px){.client-dashboard .dashboard-content{grid-template-columns:1fr;grid-template-rows:auto 1fr}.client-dashboard .left-column{height:auto}.client-dashboard .right-column{grid-template-rows:1fr 1fr}}@media (max-width:768px){.client-dashboard .dashboard-content{gap:1rem;padding:1rem}.client-dashboard .header-content{padding:0 1rem}.client-dashboard .header-content h1{font-size:1.5rem}}.client-dashboard .dashboard-content.full-width{gap:0;grid-template-columns:1fr}.client-dashboard .full-width-content{display:flex;flex-direction:column;height:calc(100vh - 80px)}.client-dashboard .public-library-tabs{background:#fff;border-bottom:1px solid #e1e5e9;display:flex;gap:.5rem;margin-bottom:0;padding:1rem 2rem 0}.client-dashboard .public-library-tabs .tab-button{background:#f8f9fa;border:1px solid #dee2e6;border-bottom:none;border-radius:8px 8px 0 0;color:#495057;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.client-dashboard .public-library-tabs .tab-button:hover{background:#e9ecef;color:#333}.client-dashboard .public-library-tabs .tab-button.active{background:#fff;border-color:#e1e5e9;border-bottom:1px solid #fff;color:#667eea;font-weight:600;margin-bottom:-1px}.client-dashboard .full-width-content .public-question-browser{background:#fff;display:flex;flex:1 1;flex-direction:column;height:100%;margin:0;overflow:visible;padding:0}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}