.notifications-dropdown{align-items:center;display:inline-flex;position:relative}.notifications-bell{align-items:center;background:#0000;border:none;border-radius:10px;cursor:pointer;display:flex;height:40px;justify-content:center;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);width:40px}.notifications-bell:hover{background:linear-gradient(135deg,#6366f114,#8b5cf614)}.notifications-bell:active{transform:scale(.95)}.bell-icon{color:#64748b;font-size:18px;transition:color .2s ease}.notifications-bell:hover .bell-icon{color:#6366f1}.notification-badge{animation:badge-pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:9px;box-shadow:0 2px 8px #ef444466;color:#fff;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;font-weight:600;height:18px;line-height:18px;min-width:18px;padding:0 5px;position:absolute;right:4px;text-align:center;top:4px}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.notifications-panel{animation:panel-slide-in .2s cubic-bezier(.4,0,.2,1);background:#fff;border:1px solid #0000000f;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 10px 15px -3px #00000014,0 20px 25px -5px #0000000d;display:flex;flex-direction:column;max-height:520px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:400px;z-index:1000}@keyframes panel-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notifications-header{background:linear-gradient(135deg,#fafbfc,#f8fafc);border-bottom:1px solid #0000000a;gap:12px;padding:16px 20px}.notifications-header h3{color:#1e293b;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0}.mark-all-read-btn,.view-all-btn{background:#0000;border:none;border-radius:6px;color:#6366f1;cursor:pointer;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:500;padding:6px 12px;transition:all .15s ease}.mark-all-read-btn:hover,.view-all-btn:hover{background:#6366f114;color:#4f46e5}.view-all-btn{font-weight:600;margin-left:auto}.notifications-list{flex:1 1;overflow-y:auto;overscroll-behavior:contain}.notifications-empty,.notifications-loading{font-size:13px;padding:48px 24px}.notifications-empty:before{height:48px;margin-bottom:12px;width:48px}.notification-item{align-items:flex-start;border-bottom:1px solid #00000008;cursor:pointer;display:flex;gap:14px;padding:16px 20px;position:relative;transition:all .15s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.notification-item.unread{background:linear-gradient(135deg,#6366f108,#8b5cf605)}.notification-item.unread:before{background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:0 2px 2px 0;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.notification-item.unread:hover{background:linear-gradient(135deg,#6366f10f,#8b5cf60a)}.notification-content{flex:1 1;min-width:0}.notification-header-row{align-items:center;display:flex;gap:10px;margin-bottom:6px}.notification-type-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.notification-type-icon.type-info{background:linear-gradient(135deg,#3b82f61a,#2563eb14);color:#3b82f6}.notification-type-icon.type-warning{background:linear-gradient(135deg,#f59e0b1a,#d9770614);color:#f59e0b}.notification-type-icon.type-error{background:linear-gradient(135deg,#ef44441a,#dc262614);color:#ef4444}.notification-type-icon.type-success{background:linear-gradient(135deg,#22c55e1a,#16a34a14);color:#22c55e}.notification-type-icon.type-announcement{background:linear-gradient(135deg,#6366f11a,#4f46e514);color:#6366f1}.notification-type-icon.type-system_update{background:linear-gradient(135deg,#8b5cf61a,#7c3aed14);color:#8b5cf6}.notification-title{color:#1e293b;flex:1 1;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-priority-dot{border-radius:50%;box-shadow:0 0 6px currentColor;flex-shrink:0;height:6px;width:6px}.notification-priority-dot.priority-urgent{background:#ef4444;box-shadow:0 0 8px #ef444480}.notification-priority-dot.priority-high{background:#f97316;box-shadow:0 0 8px #f9731680}.notification-priority-dot.priority-medium{background:#eab308;box-shadow:0 0 8px #eab30866}.notification-priority-dot.priority-low{background:#22c55e;box-shadow:0 0 8px #22c55e66}.notification-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.5;margin-bottom:8px;overflow:hidden}.notification-footer{align-items:center;display:flex;gap:10px}.notification-time{color:#94a3b8;font-size:11px}.notification-category{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:4px;color:#475569;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;font-weight:600;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase}.mark-read-btn{align-items:center;background:#0000;border:1px solid #22c55e33;border-radius:8px;color:#22c55e;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-top:4px;transition:all .15s ease;width:28px}.mark-read-btn:before{background:currentColor;content:"";height:14px;mask-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='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");-webkit-mask-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='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");mask-position:center;-webkit-mask-position:center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:contain;-webkit-mask-size:contain;width:14px}.mark-read-btn:hover{background:#22c55e1a;border-color:#22c55e4d;transform:scale(1.05)}.notifications-list::-webkit-scrollbar{width:6px}.notifications-list::-webkit-scrollbar-track{background:#0000}.notifications-list::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.notifications-list::-webkit-scrollbar-thumb:hover{background:#cbd5e1}@media (max-width:768px){.notifications-panel{animation:panel-slide-up .25s cubic-bezier(.4,0,.2,1);border-radius:20px 20px 0 0;bottom:0;left:0;max-height:70vh;position:fixed;right:0;top:auto;width:100%}@keyframes panel-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.homepage{background-color:var(--white);margin:0;min-height:100vh;padding:0;width:100%}.hero-section{background-color:initial;margin:0;text-align:center;width:100%}.hero-section .container{background-color:var(--roslin-gray-bg);border-radius:2px;margin:0 auto;max-width:1280px;padding:50px}.hero-branding{margin-bottom:24px}.hero-branding .roslin-logo{margin:0 auto;max-width:297px}.hero-description{color:var(--roslin-dark-text);font-family:Open Sans,sans-serif;line-height:1.5;margin:0 auto;max-width:1016px}.guest-notice-banner,.supervisor-notice-banner,.user-notice-banner{background:#ffffffe6;border:2px solid var(--roslin-blue);border-radius:8px;margin-left:auto;margin-right:auto;margin-top:32px;max-width:800px;padding:24px}.guest-notice-text,.supervisor-notice-text,.user-notice-text{color:var(--roslin-blue);font-size:18px;font-weight:600;margin-bottom:16px}.guest-info p{color:var(--roslin-dark-text);font-size:16px}.supervisor-notice-banner p,.user-notice-banner p{color:var(--roslin-dark-text);font-size:16px;margin-bottom:20px}.supervisor-notice-banner .btn-large{margin-top:16px}.quizzes-section{background-color:var(--white);padding:40px 0}.quizzes-section .container{margin:0 auto;max-width:1280px;padding:0 80px}.quizzes-section h2{color:var(--roslin-dark-text);font-family:Open Sans,sans-serif;font-size:26px;font-weight:700;margin-bottom:60px;text-align:center}.quiz-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(3,410px);justify-content:center;padding:0}@media (max-width:1440px){.quiz-grid{grid-template-columns:repeat(2,410px)}}@media (max-width:1024px){.quiz-grid{grid-template-columns:410px}}.quiz-card{background-color:var(--roslin-gray-bg);border-radius:0;display:flex;flex-direction:column;height:364px;padding:16px;transition:transform .2s ease,box-shadow .2s ease;width:410px}.quiz-card:hover{box-shadow:0 4px 12px #10182826;transform:translateY(-2px)}.quiz-card-content{background-color:var(--white);border-radius:6px;display:flex;flex:1 1;flex-direction:column;height:348px;padding:14px;width:378px}.quiz-card-title{font-size:16px;font-weight:600;min-height:40px}.quiz-card-description,.quiz-card-title{color:var(--roslin-dark-text);font-family:Inter,sans-serif;line-height:20px}.quiz-card-description{flex:1 1;font-size:14px;font-weight:400;margin-bottom:16px}.quiz-card-button{align-items:center;align-self:flex-end;background-color:var(--roslin-blue);border:none;border-radius:8px;box-shadow:0 1px 2px #1018280d;color:var(--white);cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:600;gap:8px;height:36px;justify-content:center;margin-top:auto;padding:8px 12px;text-decoration:none;transition:all .3s ease;width:119px}.quiz-card-button:hover{background-color:#1a325a;box-shadow:0 2px 4px #1018281a;color:var(--white);text-decoration:none;transform:translateY(-1px)}.quiz-card-button:focus{box-shadow:0 0 0 2px #2443764d;outline:none}.quiz-card-button .arrow-icon{align-items:center;display:flex;height:20px;justify-content:center;width:20px}.loading-state{padding:40px 0}.loading-spinner{border-top:4px solid var(--roslin-gray-bg);border:4px solid var(--roslin-gray-bg);border-top-color:var(--roslin-blue);margin:0 0 16px}.loading-state p{color:var(--roslin-dark-text);font-size:16px}.empty-state{padding:40px 0}.empty-state p{color:var(--roslin-dark-text);font-size:16px}.alert{border-radius:8px;margin-bottom:24px;padding:16px}.alert-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert p{font-size:14px;margin:0}@media (max-width:768px){.hero-section .container,.quizzes-section .container{padding:0 20px}.hero-section .container{padding:40px 20px}.hero-branding .roslin-logo{max-width:220px}.hero-description,.hero-tagline{font-size:18px}.quiz-grid{gap:20px;grid-template-columns:1fr}.quiz-card{max-width:none;width:100%}}.user-management{padding:20px}.user-management h2{color:#333;margin-bottom:20px}.user-management-header{gap:15px;justify-content:space-between;margin-bottom:20px}.role-filter-bubbles,.user-management-header{align-items:center;display:flex;flex-wrap:wrap}.role-filter-bubbles{gap:8px}.role-bubble{align-items:center;background:#fff;border:1px solid #e1e7ff;border-radius:20px;box-shadow:0 1px 0 #10182808;color:#0f172a;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.role-bubble:hover{background:#f8f9ff;box-shadow:0 2px 8px #24437626}.role-bubble.active,.role-bubble:hover{border-color:#244376;transform:translateY(-1px)}.role-bubble.active{background:#244376;box-shadow:0 4px 12px #2443764d;color:#fff}.role-bubble.active:hover{background:#1f4b91;border-color:#1f4b91}.role-bubble.active .role-name{color:#fff}.role-name{font-weight:600}.role-count{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#475467;display:inline-flex;font-size:12px;font-weight:500;height:22px;justify-content:center;min-width:22px;padding:0 8px}.role-bubble.active .role-count{background:#fff3;border-color:#ffffff4d;color:#fff}.user-management-loading{align-items:center;color:#666;display:flex;font-size:18px;justify-content:center;min-height:200px}.users-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.users-table table{border-collapse:collapse;width:100%}.users-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;padding:12px;text-align:left}.users-table td{border-bottom:1px solid #e0e0e0;padding:12px}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover{background:#f9f9f9}.user-info{gap:10px}.user-avatar{border-radius:50%}.role-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px}.role-select:disabled{cursor:not-allowed;opacity:.6}.assignments{max-width:300px}.assignment-list{list-style:none;margin:0;padding:0}.assignment-list li{align-items:center;background:#f0f0f0;border-radius:4px;display:flex;font-size:14px;justify-content:space-between;margin:2px 0;padding:4px 8px}.remove-btn{background:#0000;border:none;color:#dc3545;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.remove-btn:hover{color:#a02633}.no-assignments{color:#999;font-size:14px;font-style:italic}.not-applicable{color:#666;font-size:14px}.btn-sm{font-size:14px;padding:6px 12px}.modal-overlay{height:100vh;overflow:hidden;width:100vw;z-index:9999}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:500px;padding:24px;position:relative;width:90%}.modal-content h3{color:#333;margin-bottom:20px;margin-top:0}.quiz-selection{flex:1 1;margin-bottom:20px;max-height:400px;overflow-y:auto}.quiz-checkbox{align-items:center;border-radius:4px;cursor:pointer;display:flex;margin:4px 0;padding:8px;transition:background .2s}.quiz-checkbox:hover{background:#f5f5f5}.quiz-checkbox input[type=checkbox]{cursor:pointer;margin-right:10px}.quiz-checkbox span{flex:1 1;-webkit-user-select:none;user-select:none}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding-top:16px}.btn{border-radius:4px;transition:background .2s}.btn-primary{background:#007bff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#545b62}.reports-dashboard{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;padding:20px}.dashboard-header{margin-bottom:30px;text-align:center}.dashboard-header h1{color:#2c3e50;font-size:2.5em;font-weight:600;margin-bottom:10px}.dashboard-header p{color:#7f8c8d;font-size:1.1em;margin:0}.unauthorized-message{color:#7f8c8d;padding:60px 20px;text-align:center}.unauthorized-message h2{color:#e74c3c;margin-bottom:15px}.error-message{align-items:center;background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;display:flex;gap:10px;margin-bottom:20px;padding:12px 16px}.error-icon{font-size:1.2em}.dashboard-controls{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:20px;margin-bottom:30px;padding:20px}.time-range-selector{align-items:center;display:flex;gap:10px}.time-range-selector label{color:#495057;font-weight:600}.time-range-selector select{background-color:#fff;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:150px;padding:8px 12px}.custom-date-range{display:flex;gap:10px}.custom-date-range input{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px}.dashboard-tabs{border-bottom:2px solid #e9ecef;display:flex;gap:2px;margin-bottom:30px}.tab{background-color:initial;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease}.tab:hover{color:#495057}.tab.active,.tab:hover{background-color:#f8f9fa}.tab.active{border-bottom-color:#007bff;color:#007bff}.dashboard-content{min-height:400px}.reports-dashboard .loading-spinner{align-items:center!important;animation:none!important;border:none!important;display:flex!important;flex-direction:column!important;gap:20px!important;height:auto!important;justify-content:center!important;margin:0!important;padding:60px 20px!important;transform:none!important;width:auto!important}.reports-dashboard .loading-spinner .spinner-circle{animation:spinner-rotate 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#244c7a;display:block;flex-shrink:0;height:50px;margin:0;width:50px}.reports-dashboard .loading-spinner .spinner-text{animation:none!important;color:#6c757d;font-size:16px;font-weight:500;margin:0;text-align:center;transform:none!important;white-space:nowrap}@keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.overview-tab{display:flex;flex-direction:column;gap:30px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background-color:#fff;border:1px solid #e9ecef;padding:20px;transition:transform .2s ease}.stat-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.stat-value{color:#007bff;font-size:2.5em;margin-bottom:8px}.stat-label{color:#6c757d;letter-spacing:.5px;text-transform:uppercase}.charts-section{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.chart-container h3{border-bottom:2px solid #e9ecef;color:#495057;margin-top:0;padding-bottom:10px}.activity-list{max-height:300px;overflow-y:auto}.activity-item{border-bottom:1px solid #f1f3f4;display:flex;flex-direction:column;gap:4px;padding:12px 0}.activity-item:last-child{border-bottom:none}.activity-date{color:#6c757d;font-size:12px;font-weight:500}.activity-description{color:#495057;font-weight:500}.activity-quiz{color:#007bff;font-size:13px;font-style:italic}.quiz-reports-tab{display:flex;flex-direction:column;gap:20px}.quiz-selector{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:15px;padding:20px}.quiz-selector label{color:#495057;font-weight:600}.quiz-selector select{background-color:#fff;border:1px solid #ced4da;border-radius:4px;font-size:16px;min-width:300px;padding:10px 15px}.quiz-report{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.report-header{border-bottom:2px solid #e9ecef;margin-bottom:25px;padding-bottom:15px}.report-header h3{color:#2c3e50;font-size:1.8em;margin:0 0 10px}.quiz-stats-summary{display:flex;flex-wrap:wrap;gap:20px}.quiz-stats-summary span{background-color:#f8f9fa;border-radius:4px;color:#6c757d;font-size:14px;padding:4px 8px}.question-performance h4{color:#495057;font-size:1.3em;margin-bottom:15px}.questions-list{display:flex;flex-direction:column;gap:15px}.question-stat{background-color:#fafbfc;border:1px solid #e9ecef;border-radius:6px;padding:15px}.question-header{align-items:flex-start;gap:10px;margin-bottom:10px}.question-number{background-color:#007bff;border-radius:4px;color:#fff;font-size:12px;min-width:30px;padding:4px 8px;text-align:center}.question-text{color:#495057;flex:1 1}.question-metrics{display:flex;flex-wrap:wrap;gap:20px}.metric{align-items:center;display:flex;flex-direction:column;min-width:60px;text-align:center}.metric-value{color:#007bff;font-size:1.4em;font-weight:600}.metric-label{color:#6c757d;font-size:11px;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.categories-tab h3{color:#495057;font-size:1.5em;margin-bottom:20px}.categories-list{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.category-item{align-items:center;background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:20px}.category-name{color:#2c3e50;font-size:1.2em}.category-stats{display:flex;gap:30px}.category-stat{align-items:center;display:flex;flex-direction:column;text-align:center}.export-tab h3{color:#495057;font-size:1.5em;margin-bottom:20px}.export-options{display:flex;flex-direction:column;gap:30px}.export-section h4{border-bottom:1px solid #e9ecef;color:#6c757d;font-size:1.2em;margin-bottom:15px;padding-bottom:8px}.export-option{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;margin-bottom:10px;margin-right:10px;padding:12px 20px;transition:background-color .3s ease}.export-option:hover{background-color:#0056b3}.export-option.small{font-size:13px;padding:8px 16px}.export-option.mini{font-size:12px;padding:6px 12px}.quiz-export-group{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-bottom:10px;padding:15px}.quiz-name{color:#495057;font-weight:600;margin-bottom:10px}.quiz-export-buttons{display:flex;flex-wrap:wrap;gap:8px}.quiz-export-sections{gap:8px}.actions,.quiz-export-sections{display:flex;flex-direction:column}.actions{border-top:2px solid #e9ecef;gap:20px;margin-top:30px;padding-top:20px}.export-group{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.export-label{color:#495057;font-weight:600;min-width:150px}.export-format-group{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;gap:10px;margin-bottom:15px;padding:10px}.report-name{color:#495057;font-weight:500;min-width:180px}.format-buttons{display:flex;gap:5px}.export-btn{align-items:center;background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:background-color .3s ease}.export-btn:hover{background-color:#218838}@media (max-width:768px){.reports-dashboard{padding:15px}.dashboard-header h1{font-size:2em}.dashboard-controls{align-items:stretch;gap:15px}.custom-date-range,.dashboard-controls{flex-direction:column}.dashboard-tabs{flex-wrap:wrap}.tab{font-size:14px;padding:10px 16px}.stats-grid{grid-template-columns:1fr}.quiz-selector{align-items:stretch;flex-direction:column}.quiz-selector select{min-width:auto}.question-header{flex-direction:column;gap:8px}.question-metrics{justify-content:space-around}.category-item{align-items:stretch;flex-direction:column;gap:15px}.category-stats{justify-content:space-around}.actions{flex-direction:column}.export-btn{justify-content:center}}.question-performance-tab{display:flex;flex-direction:column;gap:30px}.performance-header{margin-bottom:20px;text-align:center}.performance-header h2{color:#2c3e50;font-size:2em;font-weight:600;margin-bottom:10px}.performance-subtitle{color:#6c757d;font-size:1.1em;margin:0}.overall-stats-section{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.overall-stats-section h3{border-bottom:2px solid #e9ecef;color:#495057;font-size:1.5em;margin-bottom:20px;padding-bottom:10px}.overall-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.overall-stat-card{align-items:center;background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;gap:20px;padding:25px;transition:transform .2s ease,box-shadow .2s ease}.overall-stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-3px)}.overall-stat-card.correct{background:linear-gradient(135deg,#d4edda,#fff);border-color:#28a745}.overall-stat-card.incorrect{background:linear-gradient(135deg,#f8d7da,#fff);border-color:#dc3545}.overall-stat-card.partial{background:linear-gradient(135deg,#fff3cd,#fff);border-color:#ffc107}.stat-icon{font-size:3em;font-weight:700;opacity:.7}.overall-stat-card.correct .stat-icon{color:#28a745}.overall-stat-card.incorrect .stat-icon{color:#dc3545}.overall-stat-card.partial .stat-icon{color:#ffc107}.stat-content{flex:1 1}.stat-content .stat-value{font-size:2.5em;font-weight:700;margin-bottom:5px}.overall-stat-card.correct .stat-content .stat-value{color:#28a745}.overall-stat-card.incorrect .stat-content .stat-value{color:#dc3545}.overall-stat-card.partial .stat-content .stat-value{color:#ffc107}.stat-content .stat-label{color:#495057;font-size:1.1em;font-weight:600;margin-bottom:5px}.stat-count{color:#6c757d;font-size:.9em}.topic-performance-section{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.topic-performance-section h3{border-bottom:2px solid #e9ecef;color:#495057;font-size:1.5em;margin-bottom:10px;padding-bottom:10px}.section-description{color:#6c757d;font-size:.95em;font-style:italic;margin-bottom:20px}.topics-list{display:flex;flex-direction:column;gap:20px}.topic-item{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:20px;transition:all .2s ease}.topic-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateX(5px)}.topic-item.difficult{background-color:#fff5f5;border-left:5px solid #dc3545}.topic-item.moderate{background-color:#fffef5;border-left:5px solid #ffc107}.topic-item.easy{background-color:#f5fff5;border-left:5px solid #28a745}.topic-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.topic-name{color:#2c3e50;font-size:1.3em;font-weight:600;text-transform:capitalize}.difficulty-badge{border-radius:20px;color:#fff;font-size:.85em;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.topic-stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:15px}.topic-stat{background-color:#fff;border:1px solid #e9ecef;border-radius:6px;padding:10px;text-align:center}.topic-stat-value{font-size:1.8em;font-weight:700;margin-bottom:5px}.topic-stat-label{color:#6c757d;font-size:.85em;font-weight:500;letter-spacing:.5px;margin-bottom:3px;text-transform:uppercase}.topic-stat-count{color:#adb5bd;font-size:.75em}.topic-progress-bar{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;height:30px;overflow:hidden}.progress-segment{align-items:center;color:#fff;display:flex;font-size:.7em;font-weight:600;height:100%;justify-content:center;text-shadow:0 1px 2px #0003;transition:width .3s ease}.progress-segment.correct{background-color:#28a745}.progress-segment.partial{background-color:#ffc107}.progress-segment.incorrect{background-color:#dc3545}.insights-section{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.insights-section h3{border-bottom:2px solid #e9ecef;color:#495057;font-size:1.5em;margin-bottom:20px;padding-bottom:10px}.insights-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.insight-card{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.insight-card h4{border-bottom:1px solid #dee2e6;color:#495057;font-size:1.2em;margin-bottom:15px;padding-bottom:8px}.insight-card ul{list-style:none;margin:0;padding:0}.insight-card li{border-bottom:1px solid #e9ecef;color:#495057;padding:8px 0}.insight-card li:last-child{border-bottom:none}.insight-card li strong{color:#2c3e50}.no-data-message{background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;font-size:1.1em;padding:40px;text-align:center}@media (max-width:768px){.overall-stats-grid{grid-template-columns:1fr}.overall-stat-card{flex-direction:column;text-align:center}.topic-header{align-items:flex-start;flex-direction:column;gap:10px}.topic-stats-grid{grid-template-columns:repeat(2,1fr)}.insights-grid{grid-template-columns:1fr}}.active-sessions-page{margin:0 auto;max-width:1400px;padding:2rem}.active-sessions-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.active-sessions-header h1{color:#333;font-size:2rem;margin:0}.controls{align-items:center;display:flex;gap:1rem}.send-message-header-btn{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:background-color .2s}.send-message-header-btn:hover{background-color:#0056b3}.refresh-btn{background-color:#4ecdc4;font-size:1rem}.refresh-btn:hover:not(:disabled){background-color:#3da89f}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.auto-refresh-label{align-items:center;cursor:pointer;display:flex;font-size:.95rem;gap:.5rem}.auto-refresh-label input[type=checkbox]{cursor:pointer}.stats-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border-left:4px solid #4ecdc4;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.stat-value{color:#333;font-size:2rem;margin-bottom:.5rem}.stat-label{color:#666;font-size:.9rem;text-transform:capitalize}.sessions-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.no-sessions{color:#666;padding:3rem;text-align:center}.sessions-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.session-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:box-shadow .2s}.session-card:hover{box-shadow:0 4px 8px #00000026}.session-header{border-bottom:1px solid #e0e0e0;margin-bottom:1rem;padding-bottom:.75rem}.session-identity{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.session-id{background:#f0f0f0;border-radius:4px;color:#666;font-family:monospace;font-size:.85rem;padding:.25rem .5rem}.badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.guest-badge{background-color:#95a5a6}.role-badge{background-color:#4ecdc4}.session-body{display:flex;flex-direction:column;gap:.5rem}.session-info{color:#555;font-size:.9rem;line-height:1.6}.session-info strong{color:#333;display:inline-block;min-width:120px}.session-info.highlight{background:#e3f2fd;border-radius:4px;margin:.25rem 0;padding:.5rem}.action-code,.path-code{background:#f5f5f5;border-radius:3px;color:#d32f2f;font-family:monospace;font-size:.85rem;padding:.15rem .5rem;word-break:break-all}.action-code{color:#1976d2}.recent-paths{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.path-badge{background:#e0e0e0;border-radius:12px;color:#555;font-family:monospace;font-size:.75rem;padding:.25rem .5rem}.session-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem}.view-activity-btn{background:#4ecdc4}.revoke-session-btn,.view-activity-btn{border:none;border-radius:5px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.revoke-session-btn{background-color:#dc3545}.revoke-session-btn:hover:not(:disabled){background-color:#c82333}.revoke-session-btn:disabled{cursor:not-allowed;opacity:.6}.view-activity-btn:hover{background:#3da89f}.session-activity{background:#f5f5f5;border-radius:5px;border-top:2px solid #4ecdc4;margin-top:1rem;padding:1rem}.activity-empty,.activity-loading{color:#666;padding:1rem;text-align:center}.activity-list h4{color:#333;font-size:1rem;margin:0 0 .75rem}.activity-item{background:#fff;border-left:3px solid #4ecdc4;border-radius:4px;margin-bottom:.5rem;padding:.75rem}.activity-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.activity-action{color:#333;font-size:.9rem;font-weight:600}.activity-time{color:#666;font-size:.8rem}.activity-details{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.activity-resource{background:#e3f2fd;border-radius:3px;color:#1976d2;font-size:.75rem;padding:.15rem .5rem}.activity-id{color:#666;font-family:monospace;font-size:.75rem}.activity-success{font-size:1rem;font-weight:700}.activity-success.success{color:#4caf50}.activity-success.failure{color:#f44336}.activity-path{background:#f9f9f9;border-radius:3px;color:#555;font-family:monospace;font-size:.8rem;margin-top:.5rem;padding:.25rem .5rem}.activity-more{color:#666;font-size:.85rem;font-style:italic;padding:.5rem;text-align:center}.loading-container{gap:1rem;padding:3rem}.loading-spinner{border-top-color:#4ecdc4}@media (max-width:768px){.active-sessions-page{padding:1rem}.active-sessions-header{align-items:flex-start;flex-direction:column;gap:1rem}.sessions-list{grid-template-columns:1fr}.session-info strong{min-width:100px}}.send-message-page{margin:0 auto;max-width:1400px;padding:2rem}.send-message-header{border-bottom:2px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1rem}.send-message-header h1{color:#333;font-size:2rem;margin:0 0 .5rem}.send-message-header p{color:#666;font-size:1rem;margin:0}.send-message-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:1024px){.send-message-content{grid-template-columns:1fr}}.messages-list-section,.send-message-form-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.messages-list-section h2,.send-message-form-section h2{color:#333;font-size:1.5rem;margin:0 0 1.5rem}.message-form{gap:1rem}.form-group,.message-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#333;font-size:.9rem;font-weight:600}.form-control{border:1px solid #ddd;border-radius:5px;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .2s}.form-control:focus{border-color:#4ecdc4;box-shadow:0 0 0 3px #4ecdc41a}.form-control textarea{min-height:100px;resize:vertical}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.send-message-btn{background-color:#4ecdc4;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.75rem 1.5rem;transition:background-color .2s}.send-message-btn:hover:not(:disabled){background-color:#3da89f}.send-message-btn:disabled{cursor:not-allowed;opacity:.6}.messages-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.refresh-btn{background-color:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.refresh-btn:hover{background-color:#5a6268}.loading-container,.no-messages{color:#666;padding:2rem;text-align:center}.messages-list{display:flex;flex-direction:column;gap:1rem;max-height:600px;overflow-y:auto}.message-item{background:#f8f9fa;border-left:4px solid #4ecdc4;border-radius:5px;padding:1rem;transition:box-shadow .2s}.message-item:hover{box-shadow:0 2px 8px #0000001a}.message-header{justify-content:space-between;margin-bottom:.5rem}.message-header,.message-meta{align-items:center;display:flex}.message-meta{flex-wrap:wrap;gap:.5rem}.message-priority-badge,.message-type-badge{border-radius:3px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.message-target{color:#666;font-family:monospace;font-size:.85rem}.delete-message-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:transform .2s}.delete-message-btn:hover{transform:scale(1.2)}.message-title{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.message-content{color:#555;line-height:1.6;margin-bottom:.75rem}.message-footer{color:#888;display:flex;flex-wrap:wrap;gap:1rem}.message-expires,.message-footer,.message-sender,.message-time{font-size:.85rem}.notifications-page{margin:0 auto;max-width:900px;min-height:calc(100vh - 80px);padding:32px 24px}.notifications-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.notifications-header h1{color:#0f172a;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0}.notifications-actions{display:flex;gap:12px}.mark-all-read-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;box-shadow:0 2px 8px #6366f140;color:#fff;cursor:pointer;display:inline-flex;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s cubic-bezier(.4,0,.2,1)}.mark-all-read-btn:hover{box-shadow:0 4px 16px #6366f159;transform:translateY(-1px)}.mark-all-read-btn:active{transform:translateY(0)}.notifications-filters{align-items:center;background:#fff;border:1px solid #0000000a;border-radius:14px;box-shadow:0 1px 3px #00000005;display:flex;gap:24px;margin-bottom:24px;padding:16px 20px}.filter-group{align-items:center;display:flex;gap:10px}.filter-group label{align-items:center;color:#64748b;cursor:pointer;display:flex;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500;gap:8px}.filter-group input[type=checkbox]{-webkit-appearance:none;appearance:none;border:2px solid #cbd5e1;border-radius:4px;cursor:pointer;height:16px;position:relative;transition:all .15s ease;width:16px}.filter-group input[type=checkbox]:checked{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#0000}.filter-group input[type=checkbox]:checked:after{background:#fff;content:"";height:10px;left:50%;mask-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='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");-webkit-mask-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='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");mask-size:contain;-webkit-mask-size:contain;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.filter-group select{-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid #e2e8f0;border-radius:8px;color:#334155;cursor:pointer;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500;padding:8px 32px 8px 14px;transition:all .15s ease}.filter-group select:hover{border-color:#cbd5e1}.filter-group select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.notifications-count{font-size:12px;font-weight:500;margin-left:auto}.notifications-count,.notifications-empty,.notifications-loading{color:#94a3b8;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.notifications-empty,.notifications-loading{align-items:center;display:flex;flex-direction:column;font-size:14px;justify-content:center;padding:80px 24px}.notifications-empty:before{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);content:"";height:64px;margin-bottom:16px;mask-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='currentColor' stroke-width='1.5'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");-webkit-mask-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='currentColor' stroke-width='1.5'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");mask-position:center;-webkit-mask-position:center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:contain;-webkit-mask-size:contain;width:64px}.notifications-list{display:flex;flex-direction:column;gap:12px}.notification-card{background:#fff;border:1px solid #0000000a;border-radius:16px;box-shadow:0 1px 3px #00000005;padding:20px 24px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.notification-card:hover{box-shadow:0 4px 20px #0000000f;transform:translateY(-1px)}.notification-card.unread{background:linear-gradient(135deg,#6366f105,rgba(139,92,246,.015));border-color:#6366f11a}.notification-card.unread:before{background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:0 4px 4px 0;bottom:16px;content:"";left:0;position:absolute;top:16px;width:4px}.notification-card.read{opacity:.75}.notification-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.notification-type-badge{align-items:center;border-radius:8px;display:inline-flex;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;font-weight:600;gap:8px;letter-spacing:.04em;padding:6px 12px;text-transform:uppercase}.notification-type-badge.type-info{background:linear-gradient(135deg,#3b82f61a,#2563eb14);color:#2563eb}.notification-type-badge.type-warning{background:linear-gradient(135deg,#f59e0b1f,#d9770614);color:#d97706}.notification-type-badge.type-error{background:linear-gradient(135deg,#ef44441a,#dc262614);color:#dc2626}.notification-type-badge.type-success{background:linear-gradient(135deg,#22c55e1a,#16a34a14);color:#16a34a}.notification-type-badge.type-announcement{background:linear-gradient(135deg,#6366f11a,#4f46e514);color:#4f46e5}.notification-type-badge.type-system_update{background:linear-gradient(135deg,#8b5cf61a,#7c3aed14);color:#7c3aed}.notification-icon{align-items:center;display:flex;height:16px;justify-content:center;width:16px}.notification-icon i{font-size:12px}.notification-type-text{text-transform:capitalize}.notification-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.notification-priority-badge{border-radius:6px;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;font-weight:600;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.notification-priority-badge.priority-urgent{background:linear-gradient(135deg,#ef44441f,#dc262614);color:#dc2626}.notification-priority-badge.priority-high{background:linear-gradient(135deg,#f973161f,#ea580c14);color:#ea580c}.notification-priority-badge.priority-medium{background:linear-gradient(135deg,#eab3081f,#ca8a0414);color:#ca8a04}.notification-priority-badge.priority-low{background:linear-gradient(135deg,#22c55e1a,#16a34a14);color:#16a34a}.notification-category-badge{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569}.notification-category-badge,.notification-unread-indicator{border-radius:6px;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;font-weight:600;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.notification-unread-indicator{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 6px #6366f14d;color:#fff;display:inline-flex;gap:4px}.notification-card-title{color:#1e293b;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0 0 10px}.notification-card-message{color:#64748b;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6;margin-bottom:16px}.notification-metadata{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #00000005;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:12px 14px}.metadata-item{align-items:center;background:#fff;border-radius:6px;color:#475569;display:inline-flex;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:500;gap:6px;padding:4px 10px}.notification-card-footer{align-items:center;border-top:1px solid #0000000a;display:flex;gap:16px;padding-top:14px}.notification-time{color:#64748b;font-family:SF Mono,Fira Code,monospace;font-size:12px;font-weight:500;letter-spacing:.01em}.notification-expires{color:#94a3b8;font-style:normal}.mark-read-link,.notification-expires{font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px}.mark-read-link{background:#0000;border:1px solid #6366f133;border-radius:6px;color:#6366f1;cursor:pointer;font-weight:500;margin-left:auto;padding:6px 14px;text-decoration:none;transition:all .15s ease}.mark-read-link:hover{background:#6366f114;border-color:#6366f14d}.notifications-load-more{display:flex;justify-content:center;margin-top:32px;padding:24px}.notifications-page .btn{border:none;border-radius:10px;cursor:pointer;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:600;padding:12px 28px;transition:all .2s cubic-bezier(.4,0,.2,1)}.notifications-page .btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 8px #6366f140;color:#fff}.notifications-page .btn-primary:hover:not(:disabled){box-shadow:0 4px 16px #6366f159;transform:translateY(-1px)}.notifications-page .btn-primary:active:not(:disabled){transform:translateY(0)}.notifications-page .btn-primary:disabled{cursor:not-allowed;opacity:.6}.notifications-page .btn-secondary{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 2px 8px #64748b33;color:#fff}.notifications-page .btn-secondary:hover{box-shadow:0 4px 12px #64748b4d;transform:translateY(-1px)}@media (max-width:768px){.notifications-page{padding:20px 16px}.notifications-header{align-items:flex-start;flex-direction:column;gap:16px}.notifications-header h1{font-size:24px}.notifications-filters{align-items:stretch;flex-direction:column;gap:16px;padding:16px}.notifications-count{margin-left:0;text-align:center}.notification-card{border-radius:12px;padding:16px}.notification-card-header{align-items:flex-start;flex-direction:column}.notification-meta{margin-top:8px}.notification-card-footer{align-items:flex-start;flex-direction:column;gap:12px}.mark-read-link{margin-left:0;text-align:center;width:100%}}.category-filter-bubbles{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.category-bubble{align-items:center;background:#fff;border:1px solid #e1e7ff;border-radius:20px;box-shadow:0 1px 0 #10182808;color:#0f172a;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.category-bubble:hover{background:#f8f9ff;box-shadow:0 2px 8px #24437626;transform:translateY(-1px)}.category-bubble.active{background:#244376;border-color:#244376;box-shadow:0 4px 12px #2443764d;color:#fff;transform:translateY(-1px)}.category-bubble.active .category-name{color:#fff}.category-bubble.active:hover{background:#1f4b91;border-color:#1f4b91}.category-name{font-weight:600;text-transform:capitalize}.category-count{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#475467;display:inline-flex;font-size:12px;font-weight:500;height:22px;justify-content:center;min-width:22px;padding:0 8px}.category-bubble.active .category-count{background:#fff3;border-color:#ffffff4d;color:#fff}.response-info-grid{grid-gap:16px;background:#f8f9ff;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px;padding:12px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{color:#031f4c;font-size:16px;font-weight:500;word-break:break-word}.score-summary-grid{grid-gap:12px;background:#f8f9ff;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:16px;padding:12px}.score-item{align-items:center;background:#fff;border:1px solid #e1e7ff;border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:16px 12px;text-align:center;transition:all .2s ease}.score-item:hover{box-shadow:0 4px 12px #031f4c1a;transform:translateY(-2px)}.score-item.overall-score{background:linear-gradient(135deg,#f8f9ff,#e3f2fd);border-color:#031f4c;grid-column:span 2}.score-label{color:#666;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.score-value{color:#031f4c;font-size:18px;font-weight:700}.score-item.correct .score-value{color:#4caf50}.score-item.partial .score-value{color:#ff9800}.score-item.incorrect .score-value{color:#f44336}.non-gradable-note{background:#fff3cd;border:1px solid #ffeaa7;border-left:4px solid #ffc107;border-radius:6px;color:#666;font-size:13px;margin:0;padding:12px 16px}.guest-link-stats{flex-wrap:wrap;gap:8px;margin-top:16px}.guest-link-stats,.stat-bubble{align-items:center;display:flex}.stat-bubble{background:#fff;border:1px solid #e1e7ff;border-radius:20px;box-shadow:0 1px 0 #10182808;color:#0f172a;font-size:14px;font-weight:500;gap:6px;padding:8px 16px}.stat-name{font-weight:600}.stat-count{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#475467;display:inline-flex;font-size:12px;font-weight:500;height:22px;justify-content:center;min-width:22px;padding:0 8px}.section-header-row{align-items:center;display:flex;justify-content:space-between}.section-title{font-size:18px;margin:0 0 4px}.kpi-header-row{align-items:center;display:flex;justify-content:space-between}.dashboard-search{display:flex;flex:1 1;justify-content:flex-end}.dashboard-search-input{align-items:center;align-self:stretch;background-color:var(--white);border:1px solid #d7dbe2;border-radius:8px;box-shadow:0 1px 2px 0 #1018280d;color:#667085;display:block;display:flex;flex-direction:row;flex-grow:1;flex-grow:0;font-family:Inter;font-size:16px;font-stretch:normal;font-style:normal;font-weight:400;height:44px;justify-content:flex-start;letter-spacing:normal;line-height:1.5;padding:10px 14px 10px 38px;text-align:left;width:100%}.dashboard-search{max-width:320px;position:relative}.search-input-wrapper{position:relative;width:100%}.dashboard-search .search-icon{align-items:center;display:inline-flex;justify-content:center;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.empty-search-note{color:#64748b;font-size:14px;padding:8px 12px}.app{background:var(--white);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin-top:0;min-height:calc(100vh - 80px);padding-top:0}.page{animation:fadeIn .5s ease-in;flex:1 1;padding:0}.page-title{color:#031f4c;flex-grow:0;font-family:Inter;font-size:30px;font-stretch:normal;font-style:normal;font-weight:600;height:auto;letter-spacing:normal;line-height:1.27;margin:16px 0 0;text-align:left;width:auto}.header{background:var(--white);border-bottom:none;box-shadow:none;padding:18px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-content{align-items:center;display:flex;justify-content:space-between}.logo a{color:var(--roslin-blue);font-size:20px;font-weight:700;text-decoration:none;transition:transform .3s ease}.logo a:hover{text-decoration:none;transform:scale(1.05)}.header .roslin-branding{margin:0}.header .roslin-logo{height:32px;max-width:125px}.header .roslin-svg{height:100%;width:auto}.nav{display:flex;gap:12px}.nav-link{align-content:center;border-radius:16px;font-size:14px;font-weight:500;padding:6px 12px;transition:all .3s ease}.nav-link,.nav-link:hover{color:var(--roslin-blue);text-decoration:none}.nav-link:hover{background:#24437614;transform:translateY(-1px)}.header-login-btn{align-items:center;background-color:var(--roslin-blue);border:1px solid var(--roslin-blue);border-radius:8px;box-shadow:0 1px 2px #1018280d;color:var(--white);cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:16px;font-weight:600;height:40px;justify-content:center;min-width:79px;padding:10px 16px;text-decoration:none;transition:all .3s ease}.header-login-btn:hover{background-color:#1a325a;border-color:#1a325a;box-shadow:0 2px 4px #1018281a;color:var(--white);transform:translateY(-1px)}.card{background:var(--white);border:1px solid #fff3;border-radius:8px;box-shadow:0 2px 8px #00000014;margin-bottom:12px;padding:12px;transition:all .3s ease}.guest-link-manager .card{background:#f7f9fc;border:1px solid #ebeff5;box-sizing:border-box;max-width:calc(100% - 2px);width:100%}.guest-link-manager .links-grid{grid-gap:24px;gap:24px;margin-top:24px}.guest-link-manager .link-card{background:var(--white);border:1px solid var(--light-gray);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:auto;overflow:visible;padding:20px;position:relative;transition:all .3s ease}.guest-link-manager .link-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.guest-link-manager .link-header{gap:12px;margin-bottom:8px}.guest-link-manager .link-title{color:var(--primary-color);font-size:20px;line-height:1.3;margin:0 0 8px}.guest-link-manager .link-meta{color:var(--dark-gray);font-size:13px;gap:12px}.guest-link-manager .link-meta .meta-item{align-items:center;display:inline-flex;gap:6px}.guest-link-manager .link-status{gap:6px}.guest-link-manager .status-expired{background-color:#fee2e2;border:1px solid #fecaca;border-radius:999px;color:#b91c1c;font-size:12px;font-weight:600;padding:4px 8px}.guest-link-manager .time-remaining{color:var(--dark-gray);font-size:12px}.guest-link-manager .link-url-section{border-top:1px solid var(--light-gray);margin-top:auto;padding-top:16px}.guest-link-manager .url-label{color:var(--primary-color);font-size:14px;margin-bottom:8px}.guest-link-manager .link-url{align-items:center;gap:12px}.guest-link-manager .link-url input{background:var(--white);border:2px solid var(--light-gray);border-radius:8px;font-family:monospace;font-size:14px;min-width:200px;padding:12px 16px}.guest-link-manager .link-url button{font-size:14px;min-width:80px;padding:12px 20px;white-space:nowrap}.guest-link-manager .link-actions{gap:12px;justify-content:flex-start;margin-top:16px}.admin-dashboard .guest-link-manager,.admin-dashboard .guest-link-manager .card{margin-left:0;margin-right:0}.card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.hero-section-old{background:linear-gradient(135deg,#3f51b50d,#f500570d);border-radius:8px;margin-bottom:24px;padding:32px 16px;text-align:center}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin-bottom:12px}.hero-tagline{color:var(--roslin-blue);font-family:Open Sans,sans-serif;font-size:20px;font-weight:700;line-height:1.35;margin-bottom:24px;margin-top:0}.hero-description{align-self:stretch;color:var(Dark blue);flex-grow:0;font-size:22px;font-stretch:normal;font-style:normal;font-weight:600;height:66px;letter-spacing:normal;line-height:normal;text-align:center}.section-title{color:var(--primary-color);font-size:20px;font-weight:600}.audio-player{background:#fff;border:2px solid #244376;border-radius:8px;margin:12px 0;padding:12px;width:100%}.audio-title{color:var(--primary-color);font-size:14px;font-weight:500;margin-bottom:8px}.audio-controls{gap:12px}.audio-controls,.play-button{align-items:center;display:flex}.play-button{background:var(--primary-color);border:none;border-radius:50%;box-shadow:0 2px 4px #3f51b533;color:var(--white);cursor:pointer;font-size:14px;height:36px;justify-content:center;transition:all .3s ease;width:36px}.play-button:hover{box-shadow:0 3px 8px #3f51b54d;transform:scale(1.05)}.play-button.playing{background:var(--secondary-color);box-shadow:0 2px 4px #f5005733}.progress-container{flex:1 1}.progress-bar{border-radius:2px;height:4px;margin-bottom:4px;position:relative;transition:height .2s ease}.progress-bar:active,.progress-bar:hover{height:8px}.progress{background:#244376;border-radius:2px;height:100%;left:0;position:absolute;top:0;transition:width .1s ease}.progress:after{background:var(--primary-color);border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:12px;opacity:0;position:absolute;right:-6px;top:50%;transform:translateY(-50%);transition:opacity .2s ease;width:12px}.progress-bar:hover .progress:after{opacity:1}.time{color:var(--dark-gray);font-size:11px;font-weight:500}.audio-recorder{align-items:center;background:#f8f9fa;border:1px dashed var(--light-gray);border-radius:8px;display:flex;flex-direction:column;gap:12px;margin:12px 0;padding:16px;transition:all .3s ease}.audio-recorder:hover{background:#3f51b505;border-color:var(--primary-color)}.recording-controls{align-items:center;display:flex;gap:8px}.record-button{background:var(--secondary-color);border:none;border-radius:16px;box-shadow:0 2px 4px #f5005733;color:var(--white);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.record-button:hover{box-shadow:0 3px 8px #f500574d;transform:translateY(-1px)}.stop-button{background:var(--error-color);border:none;border-radius:16px;box-shadow:0 2px 4px #f4433633;color:var(--white);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.stop-button:hover{box-shadow:0 3px 8px #f443364d;transform:translateY(-1px)}.recording-indicator{align-items:center;animation:pulse 1.5s infinite;color:var(--error-color);display:flex;font-size:14px;font-weight:600;gap:4px;margin-right:8px}.recording-indicator:before{animation:blink 1s infinite;color:var(--error-color);content:"●"}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.error-message{background:#f4433614;border:1px solid #f4433626;border-radius:4px;color:var(--error-color);font-weight:500;margin-bottom:12px;padding:8px;text-align:center}.audio-preview{margin-top:8px;width:100%}.audio-preview audio{border-radius:4px;width:100%}.quiz-list{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:24px}.admin-dashboard .quiz-card,.quiz-list .quiz-card{background:var(--white);border-radius:0;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;height:auto;overflow:visible;padding:20px;position:relative;transition:all .3s ease;width:100%}.quiz-list .quiz-card{align-items:stretch;background-color:#f6f7fa;box-shadow:0 1px 2px #1018280d;color:#031f4c;display:flex;flex-direction:column;font-family:Inter,system-ui,sans-serif;gap:10px;justify-content:flex-start;line-height:1.5;min-height:509px;padding:16px;width:410px}.admin-dashboard .quiz-card .quiz-card-inner,.quiz-list .quiz-card .quiz-card-inner{background:#fff;box-shadow:0 1px 2px #1018280d;padding:16px}.quiz-list .quiz-card .quiz-card-title{font-size:18px;font-weight:600;margin:0}.quiz-list .quiz-card .status-badge{background:#e8f6ea;border:1px solid #1c7c3a33;border-radius:999px;color:#1c7c3a;display:inline-block;font-size:12px;font-weight:600;padding:2px 10px}.quiz-list .quiz-card .quiz-card-date{align-items:center;color:#475467;display:flex;font-size:14px;gap:6px;margin-bottom:0}.quiz-list .quiz-card .quiz-card-date-pill{align-items:left;display:inline-flex;gap:6px;margin-bottom:24px;width:-webkit-fit-content;width:fit-content}.quiz-list .quiz-card .quiz-card-date-pill .date-text{color:#376ac3;font-size:14px;font-weight:500}.quiz-list .quiz-card .quiz-card-date-pill .date-icon{display:inline-block;height:14px;width:14px}.quiz-list .quiz-card .quiz-card-date-pill .date-icon:before{background-color:#376ac3;content:"";display:inline-block;height:14px;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><g clip-path="url%28%23vxydqkbkla%29"><path d="M7 3.5V7l2.333 1.167M12.833 7A5.833 5.833 0 1 1 1.166 7a5.833 5.833 0 0 1 11.667 0z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></g><defs><clipPath id="vxydqkbkla"><path fill="%23fff" d="M0 0h14v14H0z"/></clipPath></defs></svg>') center /contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><g clip-path="url%28%23vxydqkbkla%29"><path d="M7 3.5V7l2.333 1.167M12.833 7A5.833 5.833 0 1 1 1.166 7a5.833 5.833 0 0 1 11.667 0z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></g><defs><clipPath id="vxydqkbkla"><path fill="%23fff" d="M0 0h14v14H0z"/></clipPath></defs></svg>') center /contain no-repeat;width:14px}.quiz-list .quiz-card .quiz-card-description{align-self:stretch;color:#031f4c;flex-grow:0;font-family:Inter;font-size:16px;font-stretch:normal;font-style:normal;font-weight:400;height:225px;letter-spacing:normal;line-height:1.5;margin-bottom:36px;text-align:left}.quiz-list .quiz-card .share-label{color:#475467;display:inline-block;font-size:14px;font-weight:500;margin-bottom:8px}.quiz-list .quiz-card .quiz-card-share .separator{background:var(--letter-color-light);height:1px;width:378px}.quiz-list .quiz-card .share-link{align-items:center;display:flex;gap:0}.quiz-list .quiz-card .share-link .share-addon{align-items:center;background:#fff;border:1px solid #d0d5dd;border-radius:6px 0 0 6px;border-right:0;display:flex;height:40px;justify-content:flex-start;min-width:71px;padding:8px 12px;position:relative}.quiz-list .quiz-card .share-link .share-addon:after{background:#eaecf0;content:"";height:40px;position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px}.quiz-list .quiz-card .share-link .share-addon-text{color:#475467;font-family:Inter,system-ui,sans-serif;font-size:16px;height:24px;line-height:24px;width:47px}.quiz-list .quiz-card .share-link input{border:1px solid #d0d5dd;border-left:0;border-radius:0 6px 6px 0;color:#667085;flex:1 1;font-family:Inter,system-ui,sans-serif;font-size:16px;height:40px;padding:8px 12px}.quiz-list .quiz-card .share-link .btn-copy{background:#fff;border:1px solid #eaecf0;border-radius:8px;color:#475467;font-weight:600;height:40px;margin-left:8px;padding:8px 12px}.quiz-list .quiz-card .quiz-card-actions{display:flex;flex-wrap:wrap;gap:8px}.quiz-list .quiz-card .quiz-card-actions .btn{align-items:center;background:#fff;border-radius:6px;color:#1467ec;display:inline-flex;flex:1 1;font-family:Inter;font-size:14px;font-weight:500;height:36px;justify-content:center;padding:8px 12px;width:83px}.quiz-list .quiz-card .quiz-card-actions .btn-danger{background:#ef4444;border-color:#ef4444;color:#fff}.quiz-list .quiz-card .quiz-card-actions .btn-preview{background:#244376;border:1px solid #1f4b91;border-radius:8px;box-shadow:0 1px 2px #1018280d;color:#fff;font-family:Inter}.quiz-list .quiz-card .quiz-card-actions .btn-edit{background:#fff;border:1px solid #eaecf0;border-radius:8px;box-shadow:0 1px 2px #1018280d;color:#475467;font-family:Inter}.quiz-list .quiz-card .quiz-card-actions .btn-responses{background:#fff;border:1px solid #1f4b91;border-radius:8px;box-shadow:0 1px 2px #1018280d;color:#031f4c;font-family:Inter;padding:8px 26px}.quiz-list .quiz-card .quiz-card-actions .btn-delete{background:#fff0;border:none;border-radius:8px;box-shadow:none;color:#475467;font-family:Inter}.quiz-list .quiz-card .quiz-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.quiz-list .quiz-card .quiz-card-share{border-top:1px solid #b9cbea;margin-top:auto;padding-top:16px}.quiz-list .quiz-card .quiz-card-actions .btn-info,.quiz-list .quiz-card .quiz-card-actions .btn-primary{background:#1f4b91;border:none;color:#fff}.admin-dashboard .quiz-card:hover,.quiz-list .quiz-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.admin-dashboard .quiz-card-title,.quiz-list .quiz-card-title{color:var(--primary-color);font-size:20px;font-weight:600;line-height:1.3;margin-bottom:16px}.admin-dashboard .quiz-card-description,.quiz-list .quiz-card-description{color:var(--dark-gray);flex:1 1;font-size:15px;line-height:1.5;margin-bottom:20px;min-height:60px}.admin-dashboard .quiz-card-date,.quiz-list .quiz-card-date{align-items:center;color:var(--dark-gray);display:flex;font-size:13px;font-style:normal;gap:6px;margin-bottom:20px}.admin-dashboard .quiz-card-actions,.quiz-list .quiz-card-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-bottom:20px}.admin-dashboard .quiz-card-share,.quiz-list .quiz-card-share{border-top:1px solid var(--light-gray);margin-top:auto;padding-top:20px}.admin-dashboard .quiz-card-share p,.quiz-list .quiz-card-share p{color:var(--primary-color);font-size:14px;font-weight:500;margin-bottom:12px}.admin-dashboard .share-link,.quiz-list .share-link{align-items:center;gap:12px}.admin-dashboard .share-link input,.quiz-list .share-link input{background:var(--white);min-width:200px}.admin-dashboard .share-link button,.quiz-list .share-link button{min-width:80px}.kpi-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.kpi-wrap{display:flex;flex-wrap:wrap;gap:16px}.kpi-card{background:#f7f9fc;border:1px solid #ebeff5;border-radius:10px;box-shadow:0 1px 0 #1018280a;min-width:160px;padding:16px 20px}.kpi-value{color:#0f172a;font-size:24px;font-weight:700;line-height:1.2}.kpi-label{color:#334155;font-size:12px;letter-spacing:.06em;margin-top:6px}.kpi-tabs{align-items:center;display:flex;gap:12px}.kpi-tab{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#0f172a;display:inline-flex;font-size:14px;gap:8px;padding:8px 12px}.kpi-tab.active{background:#eef2ff;border-color:#c7d2fe}.kpi-pill{background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#1e293b;display:inline-block;font-size:12px;font-weight:600;min-width:24px;padding:2px 8px}.question-list{margin-top:16px}.question-item{background:var(--white);border:1px solid var(--light-gray);border-radius:8px;margin-bottom:12px;padding:12px;position:relative;transition:all .3s ease}.question-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.question-text{color:var(--text-color);font-size:16px;font-weight:500;margin-bottom:8px}.question-type{background:var(--primary-color);border-radius:8px;color:var(--white);display:inline-block;font-size:10px;font-weight:600;margin-left:8px;padding:2px 8px;text-transform:uppercase}.option-list{margin-left:20px;margin-top:8px}.option-item{align-items:center;border-radius:4px;display:flex;font-size:14px;margin-bottom:6px;padding:6px 8px;transition:background-color .3s ease}.option-item:hover{background:#3f51b50a}.correct-option{background:#4caf5014;border:1px solid #4caf5026;color:var(--success-color);font-weight:600}.quiz-title{color:var(--primary-color);font-size:24px;font-weight:700;margin-bottom:8px;text-align:center}.quiz-description{color:var(--dark-gray);font-size:14px;line-height:1.4;margin-bottom:16px;text-align:center}.take-quiz-page{background-color:var(--white);min-height:100vh}.quiz-info-section{background-color:var(--roslin-gray-bg);border-radius:8px;margin-bottom:40px;max-width:100%;padding:28px 32px;text-align:center}.quiz-info-section .quiz-title{color:var(--roslin-blue);font-size:32px;font-weight:700;line-height:1.2;margin-bottom:24px}.quiz-info-section .quiz-description{color:var(--roslin-dark-text);font-size:16px;line-height:1.6;margin-bottom:32px;text-align:center;width:100%}.quiz-metrics{padding-top:10px;text-align:left;width:100%}.quiz-metric{color:var(--roslin-dark-text);font-size:18px;font-weight:500;margin-bottom:12px}.before-start-section{background-color:var(--roslin-gray-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:28px}.section-title{color:var(--roslin-blue);font-size:24px;font-weight:700;margin-bottom:16px;text-align:center}.section-instruction{color:var(--roslin-dark-text);font-size:16px;margin-bottom:10px;text-align:left}.form-group{margin-bottom:24px}.form-label{color:var(--roslin-dark-text);display:block;font-size:16px;font-weight:600;margin-bottom:8px;text-align:left}.form-control{border:2px solid var(--light-gray);border-radius:8px;font-size:16px;padding:16px;transition:border-color .3s ease}.form-control:focus{border-color:var(--roslin-blue);box-shadow:0 0 0 3px #2443761a}.form-control::placeholder{color:var(--light-gray)}.start-quiz-btn{align-items:center;background-color:var(--general-color);border-radius:8px;box-shadow:0 1px 2px 0 #1018280d;display:flex;flex-direction:row;flex-grow:0;gap:4px;height:36px;justify-content:center;padding:8px 12px;width:97px}.start-quiz-btn:hover:not(:disabled){background-color:#1a325a;box-shadow:0 4px 12px #10182826;transform:translateY(-2px)}.start-quiz-btn:disabled{background-color:var(--roslin-blue);box-shadow:none;cursor:not-allowed;transform:none}.start-quiz-btn-evaluation{min-width:130px;white-space:nowrap;width:auto}.form-error{color:#dc2626;margin-top:16px;padding:10px}.quiz-overview-section{background-color:var(--roslin-gray-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:10px}.quiz-overview-content{align-items:center;display:flex;flex-direction:column;gap:32px}.quiz-title-section .quiz-title{color:var(--roslin-blue);font-size:28px;font-weight:700;margin:0;text-align:center}.circular-timer{align-items:center;display:flex;justify-content:center;position:relative}.timer-svg-wrap{height:175px;position:relative;width:175px}.timer-svg{display:block}.timer-center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.timer-track{stroke:#e5e7eb}.timer-progress{stroke:#345997;transition:stroke-dashoffset .2s linear}.circular-timer .timer-value{color:#031f4c;font-size:39px;height:54px}.circular-timer .timer-label,.circular-timer .timer-value{align-self:stretch;flex-grow:0;font-stretch:normal;font-style:normal;font-weight:600;letter-spacing:normal;line-height:normal;text-align:center}.circular-timer .timer-label{color:#667085;font-size:16px;height:22px}.quiz-progress-section{padding:32px;width:100%}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.progress-text{color:var(--roslin-dark-text)}.progress-percentage{color:var(--roslin-blue);font-size:16px;font-weight:600}.progress-bar{background-color:var(--light-gray);border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden;width:100%}.progress-fill{background-color:var(--roslin-blue);border-radius:4px;height:100%;transition:width .3s ease}.progress-footer{color:var(--roslin-dark-text);font-size:14px;font-weight:500;text-align:center}.question-card{background-color:var(--roslin-gray-bg);border-radius:0;padding:24px}.question-card,.question-header{margin-bottom:24px}.question-number-section{align-items:center;display:flex;gap:12px}.question-number{color:var(--roslin-blue);font-size:18px}.question-icon{align-items:center;background-color:var(--roslin-blue);border-radius:4px;color:var(--white);display:flex;font-size:14px;font-weight:600;height:24px;justify-content:center;width:24px}.question-text{color:var(--roslin-dark-text);font-size:20px;font-weight:600;line-height:1.4;margin-bottom:24px}.navigation-buttons{border-top:none;padding-top:24px}.nav-btn-prev{align-items:center!important;background-color:var(--white);border:1px solid #d5d7da;border-radius:8px;box-shadow:0 1px 2px 0 #1018280d;color:#475467;cursor:pointer;display:inline-flex!important;font-family:Inter;font-size:14px;font-weight:600;gap:4px;height:36px;justify-content:center!important;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.nav-btn-prev:hover:not(:disabled){background-color:#f3f4f6}.nav-btn-prev .btn-label{color:#475467;font-family:Inter;font-size:14px;font-weight:600;line-height:20px}.nav-btn-prev svg{display:block;flex-shrink:0;height:20px;width:20px}.nav-btn-next{align-items:center!important;background-color:var(--primary-color);border:1px solid var(--primary-color);border-radius:8px;box-shadow:0 1px 2px 0 #1018280d;color:var(--white);cursor:pointer;display:inline-flex!important;font-family:Inter;font-size:14px;font-weight:600;gap:4px;height:36px;justify-content:center!important;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.nav-btn-next:hover{background-color:#1a325a}.nav-btn-next .btn-label{color:var(--white);font-family:Inter;font-size:14px;font-weight:600;line-height:20px}.nav-btn-next svg{display:block;flex-shrink:0;height:20px;width:20px}.nav-center,.review-btn{text-align:center}.review-btn{align-items:center;background-color:var(--white);border:none;border-radius:8px;color:#344054;cursor:pointer;display:flex;flex-direction:row;flex-grow:0;font-family:Inter;font-size:14px;font-stretch:normal;font-style:normal;font-weight:600;gap:4px;height:36px;justify-content:center;letter-spacing:normal;line-height:1.43;min-width:116px;padding:8px 12px;transition:all .2s ease}.review-btn:hover{background-color:#f3f4f6}.review-btn .Text-padding{align-items:center;display:flex;flex-direction:row;flex-grow:0;height:20px;justify-content:center;padding:0 2px;white-space:nowrap;width:92px}@media (max-width:768px){.take-quiz-page .container{max-width:100%;padding:20px 16px}.quiz-info-section{margin-bottom:24px;padding:30px 20px}.quiz-info-section .quiz-title{font-size:24px;margin-bottom:16px}.quiz-info-section .quiz-description{font-size:14px;margin-bottom:24px}.quiz-metrics{max-width:100%;padding-top:12px}.quiz-metric{font-size:16px;margin-bottom:10px}.before-start-section{padding:24px 20px}.section-title{font-size:20px;margin-bottom:12px}.section-instruction{font-size:14px;margin-bottom:24px}.form-group{margin-bottom:20px}.form-control,.form-label{font-size:14px}.form-control{padding:14px}.start-quiz-btn{font-size:16px;padding:14px 24px}.quiz-overview-section{padding:24px 20px}.quiz-title-section .quiz-title{font-size:24px}.timer-circle{height:140px;width:140px}.timer-value{font-size:28px}.timer-label{font-size:12px}.question-card{padding:24px 20px}.question-text{font-size:18px}.navigation-buttons{flex-direction:column;gap:16px}.nav-btn-next,.nav-btn-prev{justify-content:center;width:100%}}@media (max-width:480px){.take-quiz-page .container{padding:16px 12px}.before-start-section,.quiz-info-section{padding:20px 16px}.quiz-info-section .quiz-title{font-size:20px}.section-title{font-size:18px}.quiz-overview-section{padding:20px 16px}.quiz-title-section .quiz-title{font-size:20px}.timer-circle{height:120px;width:120px}.timer-value{font-size:24px}.timer-label{font-size:11px}.question-card{padding:20px 16px}.question-text{font-size:16px}.progress-header{flex-direction:column;gap:8px;text-align:center}}.progress-bar-container{margin:16px 0}.progress-text{font-size:14px;font-weight:500;margin-bottom:6px;text-align:center}.question-audio{background:#2196f30d;border:1px solid #2196f31a;padding:16px}.answer-section{margin:16px 0}.options-list{display:flex;flex-direction:column;gap:8px}.options-list .option-item{background:var(--white);border:1px solid var(--light-gray);border-radius:8px;font-size:14px;margin:0;padding:12px 16px;transition:all .3s ease}.options-list .option-item:hover{background:#3f51b50a;transform:translateX(4px)}.options-list .option-item.selected{color:var(--primary-color);font-weight:500}.text-answer textarea{background-color:var(--white-color);border:1px solid var(--light-gray);border-radius:8px;box-shadow:0 1px 2px 0 #1018280d;color:var(--roslin-dark-text);display:block;min-height:120px;padding:12px 14px;resize:vertical;width:100%}.text-answer textarea,.text-answer textarea::placeholder{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.5}.text-answer textarea::placeholder{color:#667085;letter-spacing:normal;text-align:left}.navigation-buttons{gap:12px;margin-top:16px}.recorded-preview{background:#4caf5014;border:1px solid #4caf5026;border-radius:8px;margin-top:12px;padding:12px}.completion-status{border-radius:8px;margin:12px 0;padding:12px;text-align:center}.completion-status p{font-size:14px;font-weight:500;margin:0}.response-list{overflow-x:auto;width:100%}.response-table{background:var(--white);border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;width:100%}.response-table td,.response-table th{border-bottom:1px solid var(--light-gray);padding:12px;text-align:left}.response-table th{background:var(--primary-color);color:var(--white);font-size:12px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.response-table tr:hover{background:#3f51b50a}.response-table tr:last-child td{border-bottom:none}.response-details{animation:slideIn .5s ease-out}.response-info{background:#3f51b50a;border-radius:8px;margin-bottom:16px;padding:16px}.response-info p{font-size:14px;margin-bottom:6px}.response-info strong{color:var(--primary-color)}.answers-list{margin-top:16px}.answer-item{border-left:3px solid var(--primary-color);margin-bottom:16px}.answer-content{margin-top:8px}.text-answer{word-wrap:break-word;background:var(--background-color);border:1px solid var(--light-gray);border-radius:6px;font-size:14px;font-style:italic;line-height:1.4;max-width:100%;overflow-wrap:break-word;padding:12px;white-space:pre-wrap}.correct-answer{color:var(--success-color);font-weight:500}.incorrect-answer{color:var(--error-color);font-weight:500}.options-section{background:#3f51b50a;border:1px solid #3f51b514;border-radius:8px;margin-top:16px;padding:16px}.options-section h3{color:var(--primary-color);font-size:16px;font-weight:600;margin-bottom:12px}.option-form{background:var(--white);border:1px solid var(--light-gray);border-radius:6px;margin-bottom:12px;padding:12px}.option-form label{align-items:center;display:flex;font-size:14px;gap:6px;margin-bottom:6px}.option-form input[type=radio]{margin:0}.info-section{background:#2196f30a;border:1px solid #2196f314}.info-section h2{color:var(--info-color);font-size:18px;margin-bottom:12px}.stat-card{background:#3f51b514;border:1px solid #3f51b526;border-radius:8px;min-width:80px;padding:8px 12px;text-align:center}.stat-number{color:var(--primary-color);font-size:20px;font-weight:700;margin-bottom:4px}.stat-label{color:var(--dark-gray);font-size:11px;font-weight:500;letter-spacing:.3px}.admin-dashboard .quiz-card-header,.quiz-list .quiz-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.admin-dashboard .quiz-status,.quiz-list .quiz-status{margin-left:12px}.admin-dashboard .status-badge,.quiz-list .status-badge{.active-badge{align-items:center;background-color:#dcfae6;border:1px solid #079455;border-radius:9999px;color:#079455;display:inline-flex;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans;font-size:12px;font-weight:500;height:22px;justify-content:center;line-height:1.5;padding:2px 8px;text-align:center}}.admin-dashboard .status-active,.quiz-list .status-active{background:var(--success-color);color:#fff}.admin-dashboard .status-inactive,.quiz-list .status-inactive{background:var(--dark-gray);color:#fff}.admin-dashboard .status-draft,.quiz-list .status-draft{background:var(--warning-color);color:#fff}.admin-dashboard .quiz-card-actions .btn,.quiz-list .quiz-card-actions .btn{align-items:center;border-radius:6px;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.loading-state{align-items:center;color:var(--dark-gray);display:flex;flex-direction:column;justify-content:center;padding:40px 16px;text-align:center}.loading-state .loading-spinner{margin-bottom:12px}.empty-state{color:var(--dark-gray);padding:40px 16px;text-align:center}.empty-state h2,.empty-state h3{color:var(--primary-color);font-size:20px;margin-bottom:12px}.empty-state p{font-size:14px;line-height:1.4;margin-bottom:16px;margin-left:auto;margin-right:auto;max-width:500px}.form-group.required label:after{color:var(--error-color);content:" *"}.form-control.is-invalid{border-color:var(--error-color);box-shadow:0 0 0 2px #f443361a}.form-control.is-valid{border-color:var(--success-color);box-shadow:0 0 0 2px #4caf501a}.invalid-feedback{color:var(--error-color)}.invalid-feedback,.valid-feedback{display:block;font-size:12px;font-weight:500;margin-top:3px}.valid-feedback{color:var(--success-color)}.btn-group{display:flex;flex-wrap:wrap;gap:6px}.btn-group .btn{margin:0}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.modal{animation:modalSlideIn .3s ease-out;background:var(--white);border-radius:8px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:500px;overflow-y:auto;padding:16px;width:90%}.modal-header{align-items:center;border-bottom:1px solid var(--light-gray);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.modal-title{color:var(--primary-color);font-size:18px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:20px;height:28px;justify-content:center;padding:3px;transition:background-color .2s ease;width:28px}.modal-close:hover{background:var(--light-gray)}.modal-body{margin-bottom:16px}.modal-footer{border-top:1px solid var(--light-gray);display:flex;gap:8px;justify-content:flex-end;padding-top:12px}.card-header{align-items:flex-start;border-bottom:1px solid var(--light-gray);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.card-header h2{color:var(--primary-color);font-size:20px;font-weight:600;margin:0}.card-header p{color:var(--dark-gray);font-size:14px;line-height:1.4;margin:0}.card-header .d-flex{margin-left:12px}.form-actions{border-top:1px solid var(--light-gray);margin-top:16px;padding-top:16px}.form-text{color:#4a5568!important;display:block;font-size:11px;margin-top:3px}small.form-text{background-color:initial!important;color:#4a5568!important}.help-section{background:#2196f30a;border:1px solid #2196f314;border-radius:8px;margin-top:16px;padding:16px}.help-section h3{color:var(--info-color);font-size:16px;font-weight:500;margin-bottom:12px}.help-section ul{margin:0;padding-left:16px}.help-section li{color:var(--dark-gray);font-size:14px;line-height:1.4;margin-bottom:6px}.help-section li:last-child{margin-bottom:0}.progress-indicator{margin-bottom:16px}.progress-indicator,.progress-step{align-items:center;display:flex;gap:6px}.progress-step{border-radius:16px;font-size:12px;font-weight:500;padding:6px 12px}.progress-step.active{background:var(--primary-color);color:var(--white)}.progress-step.completed{background:var(--success-color);color:var(--white)}.progress-step.inactive{background:var(--light-gray);color:var(--dark-gray)}.progress-step-number{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:10px;font-weight:600;height:20px;justify-content:center;width:20px}.alert{overflow:hidden;position:relative}.alert:before{background:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.alert-dismissible{padding-right:40px}.skeleton{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{height:24px;margin-bottom:16px;width:60%}.skeleton-button{border-radius:8px;height:40px;width:120px}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.question-number{background:var(--primary-color);border-radius:20px;color:var(--white);font-size:14px;font-weight:600;padding:4px 12px}.question-type-badge{background:var(--info-color);border-radius:12px;color:var(--white);font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase}.answer-option{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:8px;margin:8px 0;padding:12px 16px}.stat-value{color:var(--text-color);font-size:16px;font-weight:600;word-break:break-word}.table-responsive{margin:0 -24px;overflow-x:auto;padding:0 24px}.table-responsive::-webkit-scrollbar{height:8px}.table-responsive::-webkit-scrollbar-track{background:var(--light-gray);border-radius:4px}.table-responsive::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.table-responsive::-webkit-scrollbar-thumb:hover{background:#303f9f}.response-table a{color:var(--primary-color);font-weight:500;text-decoration:none}.response-table a:hover{color:#303f9f;text-decoration:underline}.admin-dashboard .share-link,.quiz-list .share-link{align-items:stretch;display:flex;gap:8px}.admin-dashboard .share-link input,.quiz-list .share-link input{background:var(--background-color);border:2px solid var(--light-gray);border-radius:8px;flex:1 1;font-family:monospace;font-size:14px;padding:12px 16px}.admin-dashboard .share-link input:focus,.quiz-list .share-link input:focus{border-color:var(--primary-color);outline:none}.admin-dashboard .share-link button,.quiz-list .share-link button{font-size:14px;padding:12px 20px;white-space:nowrap}.status-completed,.status-failed,.status-in-progress{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-completed{background:#4caf501a;border:1px solid #4caf5033}.status-in-progress{background:#ff98001a;border:1px solid #ff980033}.status-failed{background:#f443361a;border:1px solid #f4433633}@media (max-width:768px){.hero-title{font-size:22px}.hero-description{font-size:14px}.quiz-list{gap:20px;grid-template-columns:1fr}.admin-dashboard .quiz-card,.quiz-list .quiz-card{padding:16px}.admin-dashboard .quiz-card-actions,.quiz-list .quiz-card-actions{gap:8px;justify-content:center}.admin-dashboard .quiz-card-header,.quiz-list .quiz-card-header{flex-direction:column;gap:12px}.admin-dashboard .quiz-status,.quiz-list .quiz-status{align-self:flex-start;margin-left:0}.admin-dashboard .share-link,.navigation-buttons,.quiz-list .share-link{flex-direction:column;gap:8px}.admin-dashboard .share-link input,.quiz-list .share-link input{min-width:auto}.response-table{font-size:12px}.response-table td,.response-table th{padding:8px 6px}.audio-controls{flex-direction:column;gap:8px}.progress-container{width:100%}.stat-card{min-width:80px;padding:12px}.stat-number{font-size:20px}.btn-group{justify-content:center}.modal{margin:12px;width:calc(100% - 24px)}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.progress-indicator{align-items:stretch;flex-direction:column}.progress-step{justify-content:center}.card-header{align-items:stretch;flex-direction:column;gap:12px}.card-header .d-flex{justify-content:center;margin-left:0}.question-header{align-items:flex-start;flex-direction:column;gap:6px}.table-responsive{margin:0 -12px;padding:0 12px}.response-table td,.response-table th{font-size:11px;padding:6px 4px}.response-table td:nth-child(n+4),.response-table th:nth-child(n+4){display:none}}@media (max-width:480px){.page{padding:8px}.card{padding:12px}.hero-section{padding:24px 12px}.page-title{font-size:18px}.admin-dashboard .quiz-card-actions,.quiz-list .quiz-card-actions{flex-direction:column;gap:8px}.admin-dashboard .quiz-card-actions .btn,.quiz-list .quiz-card-actions .btn{justify-content:center;padding:10px 16px;width:100%}.card-header h2{font-size:18px}.help-section,.stat-card{padding:12px}.empty-state,.loading-state{padding:24px 12px}.empty-state h2,.empty-state h3{font-size:18px}.response-table td:nth-child(n+3),.response-table th:nth-child(n+3){display:none}.quiz-title{font-size:20px}.quiz-description{font-size:13px}.question-text{font-size:15px}.options-list .option-item{font-size:13px;padding:10px 12px}.audio-player{padding:10px}.audio-recorder{padding:12px}.nav{gap:8px}.nav-link{font-size:12px;padding:4px 8px}.logo a{font-size:18px}}.auto-save-status{align-items:flex-start;border-radius:0;display:flex;font-size:12px;gap:4px;height:22px;justify-content:flex-start;margin:0 399px 6px 0;padding:0 4px;transition:all .3s ease;width:153px}.auto-save-status.saving{background:#b9cbea47;color:#345997}.auto-save-status.saved{background:#b9cbea47;color:var(--success-color)}.auto-save-status.unsaved{background:#ff980014;color:var(--warning-color)}.auto-save-status .loading-spinner{border-color:#345997 #34599740 #34599740;border-width:1px;height:12px;margin-right:0;width:12px}.auto-save-status .auto-save-icon{align-items:center;display:inline-flex}.auto-save-status .auto-save-label{color:#345997;font-family:OpenSans,Inter,system-ui,sans-serif;font-size:14px}.recovery-info{background:#2196f314;border-left:3px solid var(--info-color);border-radius:6px;margin:12px 0;padding:8px 12px}.recovery-info small{color:var(--dark-gray);line-height:1.4}.recovery-info strong{color:var(--text-color)}@media (max-width:480px){.modal{margin:8px;padding:12px;width:calc(100% - 16px)}.modal-header{margin-bottom:12px;padding-bottom:8px}.modal-title{font-size:16px}.modal-footer{flex-direction:column;gap:8px}.modal-footer .btn{width:100%}}.progress-persistence{align-items:center;background:#3f51b50a;border:1px solid #3f51b51a;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:12px;padding:8px 12px}.progress-persistence-text{color:var(--dark-gray);font-size:12px}.progress-persistence-status{font-size:11px;font-weight:500}.unsaved-warning{animation:slideInUp .3s ease-out;background:var(--warning-color);border-radius:6px;bottom:16px;box-shadow:0 4px 12px #ff98004d;color:#fff;font-size:12px;font-weight:500;padding:8px 12px;position:fixed;right:16px;z-index:1000}.success-card{background:linear-gradient(135deg,#e8f5e8,#f1f8e9);padding:40px 20px;text-align:center}.success-icon{animation:bounceIn .6s ease-out;font-size:64px;margin-bottom:20px}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-title{color:#2e7d32;font-size:32px;font-weight:700;margin-bottom:16px}.success-message{color:#388e3c;font-size:18px;margin-bottom:24px}.success-details{background:#4caf501a;border-radius:12px;margin:24px 0;padding:20px;text-align:left}.success-details p{color:#2e7d32;margin-bottom:8px}.quiz-header{background:linear-gradient(135deg,#f8f9ff,#e3f2fd);border-left:4px solid var(--primary-color)}.quiz-progress{margin-top:24px}.progress-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.progress-text{color:var(--primary-color);font-size:16px;font-weight:600}.progress-percentage{color:var(--primary-color);font-size:18px;font-weight:700}.answered-count{color:var(--dark-gray);font-size:14px;font-weight:500;margin-top:8px;text-align:center}.question-card{border-left:none;position:relative}.question-card .question-header{align-items:center;border-bottom:none;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.question-card .question-number{background:var(--primary-color);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:6px 12px}.question-card .question-status.answered{color:var(--success-color);font-size:20px}.question-card .question-status.unanswered{color:var(--dark-gray);font-size:20px}.question-audio{background:#fff0;border:0 solid #2196f31a;border-radius:12px;margin:20px 0;padding:0}.options-list .option-item{align-items:center;background:#fff;border:2px solid var(--light-gray);border-radius:12px;cursor:pointer;display:flex;gap:12px;margin-bottom:12px;padding:16px;transition:all .2s ease}.options-list .option-item:hover{background:#3f51b505;border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.options-list .option-item.selected{background:#3f51b514;border-color:var(--primary-color);box-shadow:0 0 0 2px #3f51b533}.option-radio{color:var(--primary-color);font-size:18px;font-weight:700;min-width:20px}.option-text{flex:1 1;font-size:16px;line-height:1.4}.text-answer{position:relative}.character-count{background:#ffffffe6;border-radius:4px;bottom:8px;color:var(--dark-gray);font-size:12px;padding:2px 6px;position:absolute;right:12px}.text-answer-input{background:#fff;border:none;padding:0}.text-answer-input textarea{padding-right:36px}.audio-instruction{color:var(--primary-color);font-weight:600;margin-bottom:16px}.preview-label{color:var(--success-color);font-weight:600;margin-bottom:12px}.navigation-buttons{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-top:32px}.nav-center{display:flex;flex:1 1;justify-content:center}.btn-secondary{background:#3f51b51a;border:1px solid #3f51b533;color:var(--primary-color)}.btn-secondary:hover{background:#3f51b526;border-color:var(--primary-color)}.review-header{border-bottom:2px solid var(--light-gray);padding-bottom:24px;text-align:center}.review-intro-card{background:#f6f7fa;border-radius:0}.review-intro-card .review-header{border-bottom:none;padding-bottom:0}.review-progress{margin-top:24px}.progress-summary{text-align:center}.progress-count{color:var(--primary-color);display:block;font-size:18px;font-weight:600;margin-bottom:12px}.review-card{background-color:#f6f7fa;border-left:none;border-radius:2px;display:flex;flex-direction:column;justify-content:flex-start}.review-section-header{border-bottom:none;margin-bottom:24px;padding-bottom:0;text-align:center}.review-section-header h2{font-size:26px;font-weight:700;margin:0 0 14px}.review-section-header h2,.review-section-header p{color:#031f4c;font-stretch:normal;font-style:normal;letter-spacing:normal;line-height:normal;text-align:center}.review-section-header p{flex-grow:0;font-size:16px;font-size:20px;font-weight:600}.review-questions{display:flex;flex-direction:column;gap:24px}.review-question-item{background:#fff;border:none;border-radius:12px;box-shadow:0 1px 2px #1018280f;padding:24px;transition:all .2s ease}.review-answer-text,.review-question-item{word-wrap:break-word;max-width:100%;overflow-wrap:break-word}.review-answer-text{background:var(--background-color);border:1px solid var(--light-gray);border-radius:6px;font-size:14px;line-height:1.5;margin-top:8px;padding:12px;white-space:pre-wrap}.review-question-item:hover{box-shadow:0 4px 16px #0000001a}.review-question-item.answered,.review-question-item.unanswered{background:#fff;border-color:#0000}.review-question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.question-info{align-items:center;display:flex;gap:12px}.review-question-item .question-number{background:var(--primary-color);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:6px 12px}.review-question-item .question-status.answered{background:var(--success-color);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.review-question-item .question-status.unanswered{background:var(--warning-color);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.edit-question-btn{font-size:14px;padding:8px 16px}.review-question-content h3{color:var(--primary-color);font-size:18px;line-height:1.4;margin-bottom:16px}.review-answer{background:#0000;border-left:none;border-radius:8px;margin-top:16px;padding:16px}.answer-preview strong{color:var(--primary-color);display:block;margin-bottom:8px}.answer-preview{word-wrap:break-word;background:#0000;border:none;border-radius:6px;font-size:14px;line-height:1.5;max-width:100%;overflow-wrap:break-word;padding:12px;white-space:pre-wrap}.selected-answer{background:#4caf501a;border-radius:6px;color:var(--success-color);display:inline-block;font-weight:600;padding:8px 12px}.no-answer{color:var(--warning-color);font-style:italic;font-weight:500}.text-answer-preview{background:#0000;border:none;border-radius:6px;color:var(--dark-gray);font-style:italic;line-height:1.5;padding:12px}.audio-answer-preview{margin-top:8px}.review-actions{border-top:none;margin-top:32px;padding-top:24px;text-align:center}.incomplete-warning{background:#ffc1071a;border:1px solid #ffc1074d;border-radius:8px;color:#f57c00;margin-top:16px;padding:16px}.incomplete-warning p{font-weight:500;margin:0}.submit-card{background:#f6f7fa}.submit-card h2{color:#031f4c;margin-bottom:24px;text-align:center}.submit-summary{background:#f6f7fa;border-radius:12px;margin:24px 0;padding:20px}.submit-summary h3{color:#031f4c;margin-bottom:16px;text-align:center}.summary-stats{display:flex;gap:16px;justify-content:space-around}.stat-item{flex:1 1;text-align:center}.stat-label{align-self:stretch;flex-grow:0;font-family:Inter;font-size:14px;font-stretch:normal;font-style:normal;font-weight:600;height:20px;letter-spacing:normal;line-height:1.43;margin-bottom:4px}.stat-label,.stat-value{color:#031f4c;display:block}.stat-value{font-size:20px;font-weight:700}.submit-btn{font-size:18px;font-weight:600;margin-top:24px;padding:16px;width:100%}.form-error{color:var(--error-color);font-size:14px;font-weight:500;margin-top:12px;text-align:center}.btn-large{font-size:18px;font-weight:600;padding:16px 32px}@media (max-width:768px){.quiz-progress{margin-top:16px}.progress-info{flex-direction:column;gap:8px;text-align:center}.progress-text{font-size:14px}.progress-percentage{font-size:16px}.question-card .question-header{flex-direction:column;gap:12px;text-align:center}.navigation-buttons{flex-direction:column;gap:12px}.nav-center{order:-1}.navigation-buttons .btn{justify-content:center;width:100%}.review-question-header{flex-direction:column;gap:12px;text-align:center}.question-info{flex-direction:column;gap:8px}.summary-stats{flex-direction:column;gap:12px}.options-list .option-item{padding:12px}.option-text{font-size:14px}.review-question-item{padding:16px}.review-question-content h3{font-size:16px}}@media (max-width:480px){.success-icon{font-size:48px}.success-title{font-size:24px}.success-message{font-size:16px}.question-card,.quiz-header{padding:16px}.question-text{font-size:18px}.options-list .option-item{margin-bottom:8px;padding:10px}.option-text{font-size:13px}.review-questions{gap:16px}.review-question-item{padding:12px}.submit-btn{font-size:16px;padding:14px}.btn-large{font-size:16px;padding:14px 24px}}.quiz-header-content{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px}.quiz-info{flex:1 1}.timer-display{align-items:center;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:2px solid #2196f3;border-radius:12px;display:flex;gap:12px;min-width:200px;padding:16px 20px;transition:all .3s ease}.timer-display.warning{animation:pulse-warning 2s infinite;background:linear-gradient(135deg,#fff3e0,#fff);border-color:#ff9800}.timer-display.critical{animation:pulse-critical 1s infinite;background:linear-gradient(135deg,#ffebee,#fce4ec);border-color:#f44336}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes pulse-critical{0%,to{box-shadow:0 0 0 0 #f4433666;transform:scale(1)}50%{box-shadow:0 0 0 8px #f4433600;transform:scale(1.05)}}.timer-icon{animation:tick 1s infinite;font-size:24px}@keyframes tick{0%,50%{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.timer-content{display:flex;flex-direction:column;gap:4px}.timer-label{color:#667085;font-size:16px;height:22px;text-align:left}.timer-label,.timer-value{align-self:stretch;flex-grow:0;font-stretch:normal;font-style:normal;font-weight:600;letter-spacing:normal;line-height:normal}.timer-value{color:#031f4c;font-size:40px;height:44px;text-align:center}.timer-warning-text{color:#ff9800;font-size:10px;font-weight:600;letter-spacing:.5px;margin-top:2px;text-align:center;text-transform:uppercase}.timer-display.critical .timer-warning-text{animation:blink 1s infinite;color:#f44336}.timer-display.warning .timer-value{color:#ff9800}.timer-display.critical .timer-value{color:#f44336}.time-warning-banner{animation:slideInDown .5s ease-out;border:2px solid;border-radius:8px;margin-bottom:16px;padding:12px 16px}.time-warning-banner.warning{background:linear-gradient(135deg,#fff3e0,#fff);border-color:#ff9800;color:#e65100}.time-warning-banner.critical{animation:slideInDown .5s ease-out,pulse-critical 2s infinite;background:linear-gradient(135deg,#ffebee,#fce4ec);border-color:#f44336;color:#c62828}@keyframes slideInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.warning-content{align-items:center;display:flex;font-weight:600;gap:8px}.warning-icon{animation:bounce 2s infinite;font-size:18px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}.warning-text{flex:1 1;font-size:14px}.time-warning-banner.critical .warning-text{font-size:15px;font-weight:700}.warning-action{margin-left:auto}.warning-action .btn{background:#ffffffe6;border-color:currentColor;color:inherit;font-weight:600}.warning-action .btn:hover{background:#fff;transform:translateY(-1px)}.time-warning-modal .modal{background:linear-gradient(135deg,#fff3e0,#fff);border:3px solid #ff9800}.time-warning-modal .modal-header{background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:8px 8px 0 0;color:#fff}.time-warning-modal .modal-title{color:#fff}.time-warning-modal .modal-body{padding:24px;text-align:center}.time-warning-modal .modal-body p{color:#e65100;font-size:16px;font-weight:500;margin-bottom:12px}.time-expired-modal .modal{animation:shake .5s ease-in-out;background:linear-gradient(135deg,#ffebee,#fff);border:3px solid #f44336}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.time-expired-modal .modal-header{background:linear-gradient(135deg,#f44336,#d32f2f);border-radius:8px 8px 0 0;color:#fff}.time-expired-modal .modal-title{color:#fff}.time-expired-modal .modal-body{padding:24px;text-align:center}.time-expired-modal .modal-body p{color:#c62828;font-size:16px;font-weight:500;margin-bottom:12px}@media (max-width:768px){.quiz-header-content{flex-direction:column;gap:16px}.timer-display{align-self:center;justify-content:center;min-width:auto;width:100%}.timer-icon,.timer-value{font-size:20px}.time-warning-banner{margin-bottom:12px;padding:10px 12px}.warning-content{flex-direction:column;gap:8px;text-align:center}.warning-action{margin-left:0;margin-top:8px}.warning-text{font-size:13px}.time-warning-banner.critical .warning-text{font-size:14px}}@media (max-width:480px){.timer-display{gap:8px;padding:12px 16px}.timer-value{font-size:18px}.timer-label{font-size:10px}.timer-icon{font-size:18px}.timer-warning-text{font-size:9px}.time-warning-banner{padding:8px 10px}.warning-text{font-size:12px}.time-warning-banner.critical .warning-text{font-size:13px}.warning-icon{font-size:16px}.time-expired-modal .modal-body,.time-warning-modal .modal-body{padding:16px}.time-expired-modal .modal-body p,.time-warning-modal .modal-body p{font-size:14px}}.login-page{align-items:center;background:#fff;bottom:0;display:flex;justify-content:center;left:0;margin:0;min-height:100vh;overflow:hidden;padding:20px;position:fixed;right:0;top:0}.login-container{background-color:#f6f7fa;border-radius:2px;box-sizing:border-box;height:700px;padding:50px 402px 190px;width:1280px}.login-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.login-content .roslin-branding{margin-bottom:32px}.login-content .roslin-branding-large .roslin-logo{max-width:200px}@media (max-width:1440px){.login-container{margin:40px 40px 0;max-width:1200px;padding:80px 200px 300px;width:100%}}@media (max-width:768px){.login-container{margin:20px 20px 0;max-width:100%;padding:60px 40px 200px;width:100%}.login-content{padding:20px}.login-header h1{font-size:24px}.login-header p{font-size:14px}.google-login-btn{max-width:100%}.login-content .roslin-branding-large .roslin-logo{max-width:160px}}.login-header h1{color:#2c3e50;font-family:Inter,sans-serif;font-size:28px;font-weight:700;margin-bottom:16px}.login-header p{color:#6c757d;font-weight:400;margin-bottom:32px}.google-login-btn,.login-header p{font-family:Inter,sans-serif;font-size:16px}.google-login-btn{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-weight:500;gap:12px;justify-content:center;margin:0 auto;max-width:320px;padding:14px 24px;transition:all .2s ease;width:100%}.google-login-btn:hover{border-color:#dee2e6;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.google-icon{height:20px;width:20px}.login-footer{margin-top:32px;padding-top:0}.login-footer p{font-weight:400;line-height:1.5}.error-message,.login-footer p{color:#6c757d;font-family:Inter,sans-serif;font-size:14px}.error-message{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:24px;margin-left:auto;margin-right:auto;max-width:320px;padding:16px}.auth-success-content h2{margin:24px 0 16px}.auth-success-content .loading-state{margin-bottom:24px}.auth-success-page{align-items:center;background:#fff;bottom:0;display:flex;justify-content:center;left:0;margin:0;min-height:100vh;overflow:hidden;padding:20px;position:fixed;right:0;top:0}.auth-success-container{background-color:#f6f7fa;border-radius:2px;box-sizing:border-box;height:700px;margin:40px;padding:50px 402px 90px;width:1280px}.auth-success-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.auth-success-content h2{color:var(--roslin-blue);font-family:Inter,sans-serif;font-size:24px;font-weight:700;margin:0 0 16px}.auth-success-content p{color:#6c757d;font-family:Inter,sans-serif;font-size:16px;font-weight:400;margin:0}.auth-success-content .loading-state{padding:0;text-align:center}.auth-success-content .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top:4px solid var(--roslin-blue);height:40px;margin:0 auto 16px;width:40px}@media (max-width:1440px){.auth-success-container{margin:40px 40px 0;max-width:1200px;padding:80px 200px 300px;width:100%}}@media (max-width:768px){.auth-success-container{margin:20px 20px 0;max-width:100%;padding:60px 40px 200px;width:100%}.auth-success-content h2{font-size:20px}.auth-success-content p{font-size:14px}}.unauthorized-page{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;justify-content:center;min-height:100vh;padding:20px}.unauthorized-container{max-width:500px;width:100%}.unauthorized-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;padding:40px 30px;text-align:center}.unauthorized-icon{color:#ef4444;height:80px;margin:0 auto 20px;width:80px}.unauthorized-content h1{color:#ef4444;font-size:28px;font-weight:700;margin-bottom:15px}.unauthorized-content p{color:var(--dark-gray);line-height:1.6;margin-bottom:30px}.unauthorized-actions{margin-bottom:30px}.contact-info p{color:var(--dark-gray);font-size:14px;font-style:italic}.user-menu{gap:15px}.user-info,.user-menu{align-items:center;display:flex}.user-info{gap:12px}.user-avatar{border:.8px solid #00000014;border-radius:9999px;display:block;flex-shrink:0;height:48px;object-fit:cover;width:48px}.user-name{align-self:center;color:#031f4c;flex-grow:0;font-family:Inter;font-size:20px;font-stretch:normal;font-style:normal;font-weight:500;height:30px;letter-spacing:normal;line-height:1.5;text-align:left}.admin-badge{background:#f2f6ff;border:1px solid #031f4c;border-radius:9999px;box-sizing:border-box;color:#031f4c;display:inline-flex;font-size:12px;height:22px;margin-left:16px;margin-right:32px;padding:0 8px;white-space:nowrap}.admin-badge,.logout-btn{align-items:center;font-weight:600;justify-content:center}.logout-btn{background-color:var(--white-color);border:1px solid #eaecf0;border-radius:8px;box-shadow:0 1px 2px 0 #1018280d;color:#475467;display:flex;flex-direction:row;flex-grow:0;font-family:Inter;font-size:16px;font-stretch:normal;font-style:normal;gap:6px;height:48px;letter-spacing:normal;line-height:1.5;padding:12px 18px;text-align:left;width:99px}.logout-btn:hover{background:#24437614;color:var(--roslin-blue);text-decoration:none;transform:translateY(-1px);transition:all .3s ease}.logout-btn i{font-size:16px}.confirm-dialog{animation:scaleIn .2s ease-out;max-width:400px;width:90%}.confirm-dialog .modal-header{border-bottom:1px solid var(--light-gray);margin-bottom:16px;padding-bottom:16px}.confirm-dialog .modal-title{color:var(--text-color);font-size:20px;margin:0}.confirm-dialog .modal-body{padding:16px 0}.confirm-dialog .modal-body p{color:var(--dark-gray);line-height:1.5;margin:0}.confirm-dialog .modal-footer{border-top:1px solid var(--light-gray);display:flex;gap:12px;justify-content:flex-end;padding-top:16px}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.loading-container{align-items:center;display:flex;flex-direction:column;gap:15px;justify-content:center;min-height:200px}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);height:40px;width:40px}@media (max-width:480px){.login-card{padding:30px 20px}.login-header h1{font-size:20px}.google-login-btn{font-size:14px;padding:10px 16px}.unauthorized-content{padding:30px 20px}.unauthorized-content h1{font-size:24px}.user-menu{gap:10px}.admin-badge,.user-name{display:none}}.tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:0;margin-bottom:24px}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#031f4c;cursor:pointer;font-family:Inter;font-size:16px;font-weight:600;line-height:1.5;padding:12px 20px;transition:all .3s ease}.tab-button.active,.tab-button:hover{background-color:#f8f9ff;color:#031f4c}.tab-button.active{border-bottom-color:#0000}.tab-content{animation:fadeIn .3s ease-in}.guest-notice{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #2196f3;border-radius:8px;margin-bottom:20px;padding:20px}.guest-notice .hero-description{color:#1976d2;font-weight:600;margin-bottom:15px}.guest-info{display:flex;flex-direction:column;gap:8px}.guest-info p{color:#1565c0;font-size:14px;margin:0}@media (max-width:768px){.guest-notice{padding:15px}.guest-info{font-size:13px}}.guest-link-manager{margin:0 auto;max-width:1200px}.guest-link-manager h2{color:#2c3e50;margin:0 0 1rem}.guest-link-manager .description{color:#6c757d;font-size:1rem;margin-bottom:1.5rem}.guest-link-manager .stats-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.guest-link-manager .links-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.guest-link-manager .link-card{transition:transform .2s ease,box-shadow .2s ease}.guest-link-manager .link-card.expired{background-color:#f8f9fa;opacity:.7}.guest-link-manager .link-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.guest-link-manager .link-info{flex:1 1}.guest-link-manager .link-title{color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.guest-link-manager .link-meta{display:flex;flex-wrap:wrap;gap:1rem}.guest-link-manager .meta-item{color:#6c757d;font-size:.875rem}.guest-link-manager .link-status{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.guest-link-manager .status-badge{align-items:center;border-radius:1rem;display:inline-flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.25rem .75rem}.guest-link-manager .status-active{background-color:#d4edda;color:#155724}.guest-link-manager .status-expired{background-color:#f8d7da;color:#721c24}.guest-link-manager .time-remaining{align-items:center;color:#6c757d;display:flex;font-size:.875rem;gap:.25rem}.guest-link-manager .guest-name{color:#495057;font-size:.875rem;font-weight:500}.guest-link-manager .link-url-section{margin-bottom:1rem}.guest-link-manager .url-label{color:#6c757d;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.guest-link-manager .link-url{display:flex;gap:.5rem}.guest-link-manager .link-url input{background-color:#f8f9fa;flex:1 1;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem}.guest-link-manager .link-actions{display:flex;flex-wrap:wrap;gap:.5rem}.guest-link-manager .form-hint{color:#6c757d;display:block;font-size:.875rem;margin-top:.25rem}.guest-link-manager .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.guest-link-manager .modal-content{background:#fff;border-radius:.5rem;box-shadow:0 10px 30px #0003;max-width:500px;padding:2rem;width:100%}.guest-link-manager .modal-content h3{color:#2c3e50;margin:0 0 1.5rem}.guest-link-manager .form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.5rem}.roslin-branding{margin:2rem 0;text-align:center}.roslin-logo{align-items:center;display:inline-flex;justify-content:center}.roslin-svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));height:auto;width:100%}.roslin-tagline{color:#6c757d;font-weight:400;margin-top:.5rem}.hero-section .roslin-branding{margin-bottom:0}.hero-section .roslin-tagline{margin-bottom:1.5rem}.roslin-branding-large .roslin-logo{max-width:280px}.roslin-branding-large .roslin-tagline{font-size:1.25rem;margin-top:1rem}.roslin-branding-medium .roslin-logo{max-width:220px}.roslin-branding-medium .roslin-tagline{font-size:1rem;margin-top:.75rem}.roslin-branding-small .roslin-logo{max-width:150px}.roslin-branding-small .roslin-tagline{font-size:.875rem;margin-top:.5rem}.hero-branding{animation:fadeInScale 2s ease-out;margin:2rem 0 1rem}@keyframes fadeInScale{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.platform-title{color:#2c3e50;font-size:2.5rem;font-weight:700;margin:.5rem 0 2rem;text-align:center}@media (max-width:768px){.roslin-branding-large .roslin-logo{max-width:220px}.roslin-branding-medium .roslin-logo{max-width:180px}.roslin-branding-small .roslin-logo{max-width:120px}.header .roslin-logo{max-width:100px}.roslin-branding-large .roslin-tagline{font-size:1rem}.platform-title{font-size:2rem}}.session-timeout-warning{animation:slideIn .3s ease-out;max-width:400px;position:fixed;right:20px;top:20px;z-index:10000}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.warning-container{background:#fff;border:2px solid #ffa726;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;gap:16px;padding:20px}.warning-container.urgent{animation:pulse 1s ease-in-out infinite;border-color:#f44336}.warning-icon{font-size:48px}.warning-content,.warning-icon{text-align:center}.warning-title{color:#333;font-size:20px;font-weight:600;margin:0 0 8px}.warning-message{color:#666;font-size:16px;margin:0 0 4px}.warning-message strong{color:#f44336;font-weight:600}.warning-submessage{color:#666;font-size:14px;margin:0}.warning-actions{display:flex;gap:12px;justify-content:center}.warning-actions .btn{font-size:14px;padding:8px 20px}@media (max-width:480px){.session-timeout-warning{left:10px;max-width:none;right:10px;top:10px}.warning-container{padding:16px}.warning-icon{font-size:36px}.warning-title{font-size:18px}.warning-message{font-size:14px}}.recovery-prompt{padding:2rem;text-align:center}.recovery-icon{animation:rotate 2s linear infinite;font-size:4rem;margin-bottom:1rem}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.recovery-prompt h2{color:#2c3e50;font-size:1.75rem;margin-bottom:1rem}.recovery-prompt p{color:#6c757d;font-size:1.1rem;margin-bottom:1.5rem}.recovery-details{background-color:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem;text-align:left}.recovery-details p{font-size:1rem;margin:.5rem 0}.recovery-details strong{color:#2c3e50}.recovery-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.recovery-actions .btn{min-width:150px}.recovery-note{color:#6c757d;font-size:.9rem;font-style:italic}.card.audio-group-card{background:var(--roslin-gray-bg);border-radius:0;box-shadow:none;margin-bottom:0;padding:16px;transition:none}.card .audio-group-progress{background:#0000;border:none;margin-top:12px;padding:0}.card.audio-group-card:hover{box-shadow:none;transform:none}.question-card{margin-top:0}.create-quiz-page .cq-card{background:var(--roslin-gray-bg);border:none;border-radius:0;box-shadow:none;padding:20px}.create-quiz-page .cq-card .card-header{border-bottom:none;justify-content:center}.create-quiz-page .progress-indicator{gap:12px;justify-content:flex-start}.create-quiz-page .progress-step{background:#f2f4f7;color:#475467}.create-quiz-page .progress-step.active{background:#244376;color:#fff}.create-quiz-page .progress-step.completed{background:#12b76a;color:#fff}.create-quiz-page .progress-step-number{height:22px;width:22px}.page-transition-enter-active{animation:pageEnter .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes pageEnter{0%{filter:blur(4px);opacity:0;transform:translateY(20px) scale(.98)}to{filter:blur(0);opacity:1;transform:translateY(0) scale(1)}}.tab-content{animation:tabSlideIn .4s cubic-bezier(.34,1.56,.64,1);min-height:200px;position:relative}@keyframes tabSlideIn{0%{opacity:0;transform:translateX(30px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}.tab-button{position:relative;transition:color .2s ease,font-weight .2s ease}.tab-button:before{background:#244376;border-radius:3px 3px 0 0;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);transition:width .3s ease,background-color .3s ease;width:0}.tab-button.active:before{width:80%}.tab-button:hover{color:#244376}.tab-button.active{color:#244376;font-weight:600}.category-bubble{position:relative;transition:all .3s ease}.category-bubble:hover{background:#f0f4ff;border-color:#244376;box-shadow:0 2px 8px #2443761f}.category-bubble.active{animation:bubblePulse .6s cubic-bezier(.34,1.56,.64,1)}@keyframes bubblePulse{0%{transform:translateY(-1px) scale(1)}50%{transform:translateY(-1px) scale(1.05)}to{transform:translateY(-1px) scale(1)}}.category-count{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.category-bubble:hover .category-count{transform:scale(1.1) rotate(5deg)}.category-bubble.active .category-count{animation:countBounce .5s cubic-bezier(.34,1.56,.64,1)}@keyframes countBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2) rotate(-10deg)}}.quiz-card{border:none!important;overflow:visible;position:relative;transition:box-shadow .3s ease,background-color .3s ease}.quiz-card:hover{box-shadow:0 4px 12px #24437626}.quiz-card-inner{position:relative;transition:opacity .3s ease;z-index:1}.quiz-card:hover .quiz-card-inner{opacity:1}.quiz-card .btn,.quiz-card button{cursor:pointer!important;position:relative;z-index:2}.admin-dashboard .quiz-card,.quiz-list .quiz-card{border:none!important}.response-details{animation:slideInUp .5s cubic-bezier(.34,1.56,.64,1)}@keyframes slideInUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.quiz-list,.response-list{animation:fadeInStagger .6s ease-out}@keyframes fadeInStagger{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.quiz-list .quiz-card,.response-list tr{animation:fadeInUp .5s ease-out backwards}.quiz-list .quiz-card:first-child,.response-list tr:first-child{animation-delay:.05s}.quiz-list .quiz-card:nth-child(2),.response-list tr:nth-child(2){animation-delay:.1s}.quiz-list .quiz-card:nth-child(3),.response-list tr:nth-child(3){animation-delay:.15s}.quiz-list .quiz-card:nth-child(4),.response-list tr:nth-child(4){animation-delay:.2s}.quiz-list .quiz-card:nth-child(5),.response-list tr:nth-child(5){animation-delay:.25s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.btn{cursor:pointer!important;position:relative;transition:box-shadow .2s ease,background-color .2s ease,border-color .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;will-change:box-shadow,background-color}.btn:hover{box-shadow:0 4px 8px #24437626;opacity:.95}.btn:active{box-shadow:0 2px 4px #24437633;opacity:.9}.btn-primary:hover{background-color:#1f4b91}.btn-outline:hover{background-color:#f8f9ff;border-color:#244376}.dashboard-search-input,input[type=text]:not([readonly]){transition:all .3s cubic-bezier(.4,0,.2,1)}.dashboard-search-input:focus,input[type=text]:not([readonly]):focus{box-shadow:0 4px 12px #24437626;transform:scale(1.02)}.loading-spinner{animation:spinPulse 1.5s ease-in-out infinite}@keyframes spinPulse{0%,to{opacity:1;transform:rotate(0deg) scale(1)}50%{opacity:.8;transform:rotate(180deg) scale(1.1)}}.stat-card{overflow:hidden;position:relative;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.stat-card:before{background:radial-gradient(circle,#2443761a 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:scale(0);transition:transform .6s ease;width:200%}.stat-card:hover:before{transform:scale(1)}.stat-card:hover{box-shadow:0 8px 16px #24437626;transform:translateY(-4px) scale(1.05)}.stat-number{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.stat-card:hover .stat-number{color:#244376;transform:scale(1.1)}.modal-overlay{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.toast{animation:toastSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(100%) scale(.8)}to{opacity:1;transform:translateX(0) scale(1)}}html{scroll-behavior:smooth}.response-table tbody tr{transition:all .3s cubic-bezier(.4,0,.2,1)}.response-table tbody tr:hover{background:linear-gradient(90deg,#f8f9ff,#fff);box-shadow:-4px 0 0 #244376;transform:translateX(4px)}.grading-badge,.status-badge{position:relative;transition:box-shadow .2s ease,opacity .2s ease}.grading-badge:hover,.status-badge:hover{box-shadow:0 2px 4px #0000001a;opacity:.9}.answer-item{transition:all .4s cubic-bezier(.4,0,.2,1)}.answer-item:hover{box-shadow:0 8px 16px #2443761a;transform:translateX(8px)}.rating-buttons button{cursor:pointer!important;position:relative;transition:box-shadow .2s ease,background-color .2s ease;-webkit-user-select:none;user-select:none;will-change:box-shadow,background-color}.rating-buttons button:hover{box-shadow:0 4px 8px #00000026;opacity:.9}.rating-buttons button:active{opacity:.85}.filter-group input[type=checkbox],.filter-group select{transition:all .3s cubic-bezier(.4,0,.2,1)}.filter-group select:hover{box-shadow:0 4px 8px #2443761a;transform:translateY(-2px)}.page-title{animation:titleFadeIn .6s ease-out}@keyframes titleFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.card-header{transition:all .3s ease}.card:hover .card-header{transform:translateY(-2px)}a,button,input,select,textarea{transition:background-color .2s ease,color .2s ease,border-color .2s ease}.main-content{animation:contentFadeIn .5s ease-out}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{animation:cardFadeIn .5s ease-out backwards}.card:first-child{animation-delay:.05s}.card:nth-child(2){animation-delay:.1s}.card:nth-child(3){animation-delay:.15s}.card:nth-child(4){animation-delay:.2s}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}input:focus,select:focus,textarea:focus{border-color:#244376;box-shadow:0 0 0 3px #2443761a,0 4px 12px #24437626;outline:none}a:not(.btn):not(.nav-link):not(.logo a):hover{position:relative}a:not(.btn):not(.nav-link):not(.logo a):hover:after{animation:underlineExpand .3s ease-out;background:#244376;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:100%}@keyframes underlineExpand{0%{width:0}to{width:100%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-spinner,.loading-state{animation:pulse 2s ease-in-out infinite}@keyframes flash{0%,to{background-color:initial}50%{background-color:#4caf501a}}.success-flash{animation:flash .5s ease-out}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#244376,#1f4b91);border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#1f4b91,#244376)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--roslin-blue:#244376;--roslin-red:#ef4d41;--roslin-red-dark:#c9463c;--roslin-dark-text:#031f4c;--roslin-gray-bg:#f6f7fa;--primary-color:#244376;--secondary-color:#ef4d41;--background-color:#fff;--section-bg:#f6f7fa;--text-color:#031f4c;--light-gray:#e0e0e0;--white:#fff;--success-color:#4caf50;--warning-color:#ff9800;--error-color:#f44336;--info-color:#2196f3;--dark-gray:#666;--border-radius:8px;--shadow:0 2px 8px #00000014;--shadow-hover:0 4px 12px #0000001f}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--background-color);color:#031f4c;color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:#244376;color:var(--primary-color);transition:color .3s ease}a,a:hover{text-decoration:none}a:hover{color:#303f9f}button{border:none;cursor:pointer;outline:none}.container{margin:0 auto;max-width:1440px;padding:0 80px}.btn{border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;min-width:80px;padding:8px 16px;text-align:center;transition:all .3s ease}.btn,.btn:hover{text-decoration:none}.btn:hover{box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{box-shadow:0 1px 3px #0000001a;cursor:not-allowed;opacity:.6;transform:none}.btn-primary{background-color:#244376;background-color:var(--primary-color);color:#fff;color:var(--white)}.btn-primary:hover:not(:disabled){background-color:#303f9f;color:#fff;color:var(--white)}.btn-secondary{background-color:#ef4d41;background-color:var(--secondary-color);color:#fff;color:var(--white)}.btn-secondary:hover:not(:disabled){background-color:#c51162;color:#fff;color:var(--white)}.btn-success{background-color:#4caf50;background-color:var(--success-color);color:#fff;color:var(--white)}.btn-success:hover:not(:disabled){background-color:#388e3c;color:#fff;color:var(--white)}.btn-warning{background-color:#ff9800;background-color:var(--warning-color);color:#fff;color:var(--white)}.btn-warning:hover:not(:disabled){background-color:#f57c00;color:#fff;color:var(--white)}.btn-danger{background-color:#f44336;background-color:var(--error-color);color:#fff;color:var(--white)}.btn-danger:hover:not(:disabled){background-color:#d32f2f;color:#fff;color:var(--white)}.btn-info{background-color:#2196f3;background-color:var(--info-color);color:#fff;color:var(--white)}.btn-info:hover:not(:disabled){background-color:#1976d2;color:#fff;color:var(--white)}.btn-outline{background-color:initial;border:1px solid #244376;border:1px solid var(--primary-color);color:#244376;color:var(--primary-color)}.btn-outline:hover:not(:disabled){background-color:#244376;background-color:var(--primary-color);color:#fff;color:var(--white)}.btn-small{font-size:12px;min-width:60px;padding:6px 12px}.btn-large{font-size:16px;min-width:120px;padding:12px 24px}.form-group{margin-bottom:16px}.form-group label{color:#031f4c;color:var(--text-color);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-control{background-color:#fff;background-color:var(--white);border:1px solid #e0e0e0;border:1px solid var(--light-gray);border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-control:focus{border-color:#244376;border-color:var(--primary-color);box-shadow:0 0 0 2px #3f51b51a;outline:none}.form-control:invalid{border-color:#f44336;border-color:var(--error-color)}.form-control:invalid:focus{box-shadow:0 0 0 2px #f443361a}.alert{border-left:3px solid;border-radius:6px;font-size:14px;margin-bottom:16px;padding:12px}.alert-success{background-color:#e8f5e8;border-left-color:#4caf50;border-left-color:var(--success-color);color:#2e7d32}.alert-error{background-color:#ffebee;border-left-color:#f44336;border-left-color:var(--error-color);color:#c62828}.alert-warning{background-color:#fff3e0;border-left-color:#ff9800;border-left-color:var(--warning-color);color:#ef6c00}.alert-info{background-color:#e3f2fd;border-left-color:#2196f3;border-left-color:var(--info-color);color:#1565c0}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#244376;border-top:2px solid var(--primary-color);display:inline-block;height:16px;margin-right:6px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.container{padding:0 20px}.btn{margin-bottom:6px;width:100%}.btn-small{display:inline-block;width:auto}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.d-flex{display:flex}.justify-content-between{justify-content:space-between}.align-items-center{align-items:center}.flex-wrap{flex-wrap:wrap}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.w-100{width:100%}.h-100{height:100%}.rounded{border-radius:8px;border-radius:var(--border-radius)}.shadow{box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow)}.shadow-hover:hover{box-shadow:0 4px 12px #0000001f;box-shadow:var(--shadow-hover)}.status-completed{color:#4caf50;color:var(--success-color);font-weight:600}.status-in-progress{color:#ff9800;color:var(--warning-color);font-weight:600}.status-failed{color:#f44336;color:var(--error-color);font-weight:600}.toast-container{display:flex;flex-direction:column;gap:12px;max-width:400px;position:fixed;right:20px;top:20px;z-index:9999}.toast{background:#fff;border:1px solid #d7dbe2;border-radius:12px;box-shadow:0 4px 6px -2px #10182808,0 12px 16px -4px #10182814;min-width:320px;opacity:0;padding:16px;transform:translateX(100%);transition:all .3s ease}.toast-visible{opacity:1;transform:translateX(0)}.toast-hidden{opacity:0;pointer-events:none;transform:translateX(100%)}.toast-content{align-items:flex-start;display:flex;gap:16px}.toast-icon-svg{flex:0 0 auto}.toast-text{flex:1 1}.toast-title{color:#0f172a;font-weight:600;margin-bottom:2px}.toast-message{color:#667085;font-size:14px}.toast-close{align-items:center;background:none;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.toast-close:hover{background-color:#0000000f}.toast-success{border-left:4px solid #22c55e;color:#079455}.toast-error{border-left:4px solid #ef4444;color:#b42318}.toast-warning{border-left:4px solid #f59e0b;color:#b76e00}.toast-info{border-left:4px solid #3b82f6;color:#175cd3}@media (max-width:768px){.toast-container{left:10px;max-width:none;right:10px;top:10px}.toast{margin:0}}.grading-badge.partial{background-color:#ff9800;color:#fff}.rating-section{border:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d}.rating-buttons .btn-success{background-color:#4caf50;border-color:#4caf50;color:#fff}.rating-buttons .btn-warning{background-color:#ff9800;border-color:#ff9800;color:#fff}.rating-buttons .btn-danger{background-color:#f44336;border-color:#f44336;color:#fff}.rating-buttons .btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.answer-item{transition:all .3s ease}.answer-item:hover{box-shadow:0 4px 12px #0000001a}
/*# sourceMappingURL=main.15ef4216.css.map*/