.notifications-bell{position:relative}.bell-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:8px}.bell-btn:hover{background:#f3f4f6;color:#374151}.bell-btn .bell-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;color:#fff;background:#ef4444;border-radius:9px;display:flex;align-items:center;justify-content:center}.notifications-dropdown{position:absolute;top:100%;right:0;margin-top:8px;width:360px;max-height:400px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 10px 25px #0000001a;z-index:9999;display:flex;flex-direction:column}.notifications-dropdown-header{padding:12px 16px;border-bottom:1px solid #E5E7EB;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px}.mark-all-read{font-size:12px;color:#3b82f6;background:none;border:none;cursor:pointer;padding:0}.mark-all-read:hover{text-decoration:underline}.notifications-list{overflow-y:auto;max-height:320px}.notifications-loading,.notifications-empty{padding:24px 16px;text-align:center;color:#6b7280;font-size:14px;margin:0}.notification-item{padding:12px 16px;border-bottom:1px solid #F3F4F6;cursor:pointer}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#f9fafb}.notification-item.read{opacity:.8}.notification-title{font-size:14px;font-weight:500;color:#1f2937}.notification-body{font-size:12px;color:#6b7280;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-meta{font-size:11px;color:#3b82f6;margin-top:4px}@media (max-width: 768px){.bell-btn{width:44px;height:44px}.bell-btn .bell-badge{min-width:20px;height:20px;font-size:12px;top:2px;right:2px}.notifications-dropdown{position:fixed;top:60px;left:.5rem;right:.5rem;width:auto;max-width:none;max-height:calc(100vh - 80px)}.notifications-dropdown-header{padding:16px;font-size:16px}.mark-all-read{font-size:14px;padding:8px;min-height:44px;min-width:44px}.notifications-list{max-height:calc(100vh - 200px)}.notification-item{padding:16px;min-height:60px}.notification-title{font-size:16px}.notification-body{font-size:14px;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notification-meta{font-size:12px}.notifications-loading,.notifications-empty{padding:32px 16px;font-size:16px}}@media (max-width: 480px){.notifications-dropdown{width:calc(100vw - 1rem);right:0}.notifications-dropdown-header,.notification-item{padding:12px}.notification-title{font-size:14px}.notification-body{font-size:13px}.notification-meta{font-size:11px}}@media (hover: none) and (pointer: coarse){.bell-btn:hover,.notification-item:hover{background:transparent}.mark-all-read:hover{text-decoration:none}}@supports (padding: max(0px)){.notifications-dropdown{margin-top:max(8px,env(safe-area-inset-top))}@media (max-width: 768px){.notifications-dropdown{margin-top:max(4px,env(safe-area-inset-top))}}}@media (prefers-contrast: high){.notifications-dropdown{border:2px solid #000}.bell-btn{border:2px solid transparent}.bell-btn:hover{border-color:#000}.notification-item{border-bottom:2px solid #000}}@media (prefers-reduced-motion: reduce){.bell-btn,.mark-all-read,.notification-item{transition:none}}.ask-budi-wrapper{display:flex;flex-direction:column;width:100%;height:100%;min-height:calc(100vh - 120px)}.ask-budi-container{display:flex;flex-direction:column;width:100%;max-width:800px;margin:auto auto 20px;max-height:min(70vh,680px);background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0000001f}.chat-header{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb,#f5576c,#fda085);background-size:400% 400%;animation:gradientFlow 15s ease infinite;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #667eea33;flex-shrink:0}.chat-header-content{display:flex;align-items:center;gap:1rem}.chat-header-logo{width:40px;height:40px;border-radius:50%;background:#ffffffe6;padding:6px;animation:floatBudi 3s ease-in-out infinite}.chat-header h2{color:#fff;margin:0;font-size:1.25rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.chat-subtitle{color:#ffffffe6;margin:0;font-size:.8rem}.chat-status{display:flex;align-items:center;gap:.5rem;background:#fff3;padding:.4rem .8rem;border-radius:20px;color:#fff;font-size:.8rem}.status-dot{width:6px;height:6px;background:#4ade80;border-radius:50%;animation:pulse 2s infinite}.chat-messages{flex:1;overflow-y:auto;padding:1rem;scroll-behavior:smooth;background:#fafafa;min-height:0}.message-wrapper{display:flex;margin-bottom:1rem;animation:slideIn .3s ease}.message-wrapper.user-message{justify-content:flex-end}.message-wrapper.budi-message{justify-content:flex-start;align-items:flex-start;gap:.75rem}.budi-avatar{width:35px;height:35px;flex-shrink:0}.budi-avatar-img{width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;padding:5px;box-shadow:0 2px 8px #667eea4d}.budi-avatar-img.typing{animation:bounceTyping 1.5s ease-in-out infinite}.message-bubble{max-width:75%;padding:.75rem 1rem;border-radius:18px;animation:fadeIn .3s ease}.message-bubble.user{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 10px #667eea4d}.message-bubble.budi{background:#fff;color:#333;border-bottom-left-radius:4px;box-shadow:0 2px 10px #00000014}.message-bubble.error{background:#fee2e2;color:#dc2626}.message-text{font-size:.9rem;line-height:1.5;margin-bottom:.25rem}.message-text p{margin:0 0 .5em}.message-text p:last-child{margin-bottom:0}.message-text ul,.message-text ol{margin:.4em 0;padding-left:1.4em}.message-text li{margin-bottom:.25em}.message-text li:last-child{margin-bottom:0}.message-text strong{font-weight:600}.clarification-options{margin-top:.75rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.08)}.clarification-prompt{font-size:.8rem;margin:0 0 .5rem;opacity:.85}.clarification-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.clarification-option-btn{padding:.4rem .75rem;font-size:.85rem;border:1px solid #667eea;background:#667eea1a;color:#667eea;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.clarification-option-btn:hover{background:#667eea;color:#fff}.message-sources{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.1);font-size:.75rem}.sources-label{font-weight:600;margin-right:.25rem}.source-item{display:inline-block;background:#667eea1a;padding:2px 6px;border-radius:10px;margin:0 2px 2px 0;font-size:.7rem;color:#667eea}.message-time{font-size:.7rem;opacity:.6;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.cached-badge{background:#facc1533;color:#ca8a04;padding:1px 4px;border-radius:6px;font-size:.65rem}.typing-indicator{display:flex;align-items:center;gap:3px;padding:.75rem 1rem;background:#fff;border-radius:18px 18px 18px 4px;box-shadow:0 2px 10px #00000014}.typing-indicator span{width:6px;height:6px;background:#667eea;border-radius:50%;animation:typingDot 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.chat-input-form{padding:1rem;background:#fff;border-top:1px solid rgba(0,0,0,.05);flex-shrink:0}.chat-input-wrapper{display:flex;align-items:center;gap:.75rem;background:#f8f9fa;border-radius:24px;padding:.4rem;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.chat-input-wrapper:focus-within{box-shadow:0 4px 16px #667eea26}.budi-input-avatar{width:30px;height:30px;flex-shrink:0;margin-left:.25rem}.budi-input-img{width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;padding:4px;animation:floatBudi 3s ease-in-out infinite}.chat-input{flex:1;background:transparent;border:none;outline:none;font-size:.9rem;color:#333;padding:.25rem .5rem}.chat-input::placeholder{color:#999}.send-button{width:35px;height:35px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.send-button:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px #667eea66}.send-button:disabled{opacity:.5;cursor:not-allowed}@keyframes floatBudi{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-1deg)}75%{transform:translateY(2px) rotate(1deg)}}@keyframes bounceTyping{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.05)}}@keyframes typingDot{0%,60%,to{transform:scale(1);opacity:.8}30%{transform:scale(1.3);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.spinning{animation:spin 1s linear infinite}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#667eea0d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#667eea80}.citations-container{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.08)}.citations-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:#4a5568;font-size:.85rem;font-weight:600}.citations-list{display:flex;flex-direction:column;gap:.5rem}.citation-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s ease}.citation-card:hover{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-color:#667eea4d;box-shadow:0 2px 8px #667eea26;transform:translateY(-1px)}.citation-card:focus{outline:2px solid rgba(102,126,234,.5);outline-offset:2px}.citation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.citation-title{font-weight:600;font-size:.85rem;color:#2d3748;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.citation-icon{color:#667eea;flex-shrink:0;opacity:.6;transition:opacity .2s ease}.citation-card:hover .citation-icon{opacity:1}.citation-card--link .citation-title{text-decoration:none}.citation-card--link:hover .citation-title{text-decoration:underline}.citation-view-hint{font-weight:500;color:#667eea}.citation-excerpt{font-size:.8rem;color:#718096;font-style:italic;line-height:1.4;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.citation-footer{display:flex;gap:1rem;font-size:.75rem;color:#a0aec0}.citation-page,.citation-section{display:flex;align-items:center;gap:.25rem}@media (max-width: 768px){.ask-budi-wrapper{min-height:0;height:calc(100vh - 120px)}.ask-budi-container{max-width:100%;margin:0;border-radius:0;max-height:none;min-height:calc(100vh - 140px);height:100%;box-shadow:none}.chat-header-content{gap:.5rem}.chat-header-logo{width:32px;height:32px}.chat-header h2{font-size:1.1rem}.chat-subtitle{display:none}.message-bubble{max-width:85%}.citation-card{padding:.6rem}}@media (max-width: 480px){.ask-budi-wrapper{min-height:calc(var(--vh, 1vh) * 100 - 90px)}.chat-header{padding:.75rem}.chat-header h2{font-size:1rem}.chat-subtitle{font-size:.7rem}.chat-messages{padding:.6rem}.message-bubble{max-width:100%;font-size:.9rem}.chat-input-wrapper{padding:.35rem;gap:.5rem}.chat-input{font-size:1rem}.send-button{width:44px;height:44px;min-width:44px;min-height:44px}.citation-card{font-size:.76rem;padding:.55rem}}@supports (padding: max(0px)){.ask-budi-wrapper{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(55px,env(safe-area-inset-bottom))}}@media (hover: none) and (pointer: coarse){.message-bubble,.send-button,.chat-input-wrapper,.citation-card{transition:none}}.document-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.document-viewer{background:#fff;border-radius:8px;width:90%;max-width:1200px;height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:#f8f9fa;border-radius:8px 8px 0 0}.viewer-header h3{margin:0;font-size:18px;font-weight:600;color:#2c3e50}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-button:hover{background:#e0e0e0}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#fafafa;border-bottom:1px solid #e0e0e0}.toolbar-group{display:flex;align-items:center;gap:8px}.toolbar-button{padding:8px 16px;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.toolbar-button:hover:not(:disabled){background:#4361ee;color:#fff;border-color:#4361ee}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.page-input-form{display:flex;align-items:center;gap:8px}.page-input{width:50px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:14px}.page-count{font-size:14px;color:#666}.viewer-content{flex:1;overflow:auto;display:flex;justify-content:center;padding:20px;background:#f0f0f0}.viewer-content canvas{box-shadow:0 2px 10px #0000001a;background:#fff;max-width:100%;height:auto}.viewer-loading,.viewer-error{flex:1;display:flex;align-items:center;justify-content:center;padding:40px}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #4361ee;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.viewer-error p{color:#e74c3c;font-size:16px}@media (max-width: 768px){.document-viewer-overlay{padding:0}.document-viewer{width:100%;height:100vh;border-radius:0;max-width:none}.viewer-header{padding:12px 16px;border-radius:0}.viewer-header h3{font-size:16px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-button{min-width:44px;min-height:44px;font-size:20px}.viewer-toolbar{padding:8px 16px;flex-wrap:wrap;gap:8px}.toolbar-group{gap:4px}.toolbar-button{padding:8px 12px;font-size:13px;min-height:36px}.page-input{width:45px;padding:6px;font-size:14px}.page-count{font-size:13px}.viewer-content{padding:8px;background:#f8f9fa}.viewer-content canvas{max-width:100%;width:100%;height:auto}.viewer-loading,.viewer-error{padding:20px}.loading-spinner{width:32px;height:32px}.viewer-error p{font-size:14px}}@media (max-width: 480px){.viewer-header{padding:8px 12px}.viewer-header h3{font-size:14px}.viewer-toolbar{padding:6px 12px}.toolbar-button{padding:6px 10px;font-size:12px;min-height:32px}.page-input{width:40px;padding:4px;font-size:13px}.page-count{font-size:12px}.viewer-content{padding:4px}.viewer-loading,.viewer-error{padding:16px}}@media (hover: none) and (pointer: coarse){.close-button:hover{background:transparent}.toolbar-button:hover:not(:disabled){background:#fff;color:#4361ee}}@supports (padding: max(0px)){.document-viewer{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.viewer-header{padding-top:max(16px,env(safe-area-inset-top))}@media (max-width: 768px){.viewer-header{padding-top:max(12px,env(safe-area-inset-top))}}}@media screen and (max-height: 500px) and (orientation: landscape){.document-viewer{height:100vh}.viewer-content{padding:4px}.viewer-toolbar{padding:4px 8px}.toolbar-button{padding:4px 8px;font-size:12px}}@media (prefers-contrast: high){.document-viewer{border:2px solid #000}.viewer-header,.viewer-toolbar{border-bottom:2px solid #000}.toolbar-button,.page-input{border:2px solid #000}}@media (prefers-reduced-motion: reduce){.loading-spinner{animation:none}.toolbar-button,.close-button{transition:none}}.training{padding:20px;max-width:1200px;margin:0 auto;width:100%;min-height:100%}.training h1{color:#333;margin-bottom:20px}.error-message{background-color:#ffe6e6;color:#c00;padding:10px;border-radius:4px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.generate-section{background-color:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:30px}.generate-section h3{margin-top:0;color:#333}.generate-section-desc{margin-bottom:12px;color:#555;font-size:14px}.module-created-msg{margin-top:12px;color:#0a6b0a;font-size:14px}.training .link-button{background:none;border:none;color:#06c;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.training .link-button:hover{color:#049}.loading-placeholder,.empty-state{text-align:center;padding:48px 16px;color:#666}.tooltip-inner{background:#fff;padding:12px;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #0000001a;font-size:12px;max-width:280px}.tooltip-question{font-weight:600;color:#333;word-break:break-word;margin-bottom:4px}.generate-form{display:flex;flex-direction:column;gap:16px}.generate-form .form-group{margin-bottom:0}.generate-form .form-row{display:flex;gap:20px;flex-wrap:wrap}.generate-form .form-row .form-group{min-width:120px}.generate-form .document-checkboxes{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:8px;border:1px solid #ddd;border-radius:4px;background:#fff}.generate-form .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.generate-form input[type=number]{padding:6px 8px;border:1px solid #ddd;border-radius:4px;width:80px}.module-content .document-links{list-style:none;padding:0;margin:0}.module-content .document-links .link-button{background:none;border:none;color:#06c;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.module-content .document-links .link-button:hover{color:#049}.modules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.module-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;position:relative;z-index:1}.module-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.module-card h3{margin:0 0 10px;color:#333}.module-source{font-size:12px;color:#666;margin-bottom:10px}.module-stats{display:flex;gap:15px;margin-top:10px;font-size:14px;color:#666}.progress-indicator{margin-top:10px;padding-top:10px;border-top:1px solid #eee;font-size:14px;color:#007bff}.no-modules{grid-column:1 / -1;text-align:center;color:#666;padding:40px;background-color:#f9f9f9;border-radius:8px}.module-detail{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a}.module-detail h2{margin-top:0;color:#333}.module-meta{color:#666;font-size:14px;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.user-progress{background-color:#f0f8ff;padding:15px;border-radius:6px;margin:20px 0}.user-progress h4{margin-top:0;color:#007bff}.user-progress p{margin:5px 0;font-size:14px}.module-content{margin:30px 0}.module-content h3{color:#333;margin-top:25px;margin-bottom:10px}.module-content ul{padding-left:20px}.module-content li{margin:5px 0;color:#555}.content-text{color:#555;line-height:1.6;white-space:pre-wrap}.module-actions{display:flex;gap:10px;margin-top:30px;padding-top:20px;border-top:1px solid #eee;flex-wrap:wrap}.quiz-container{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a}.quiz-header{margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #007bff}.quiz-header h3{margin:0 0 5px;color:#333}.quiz-header p{margin:0;color:#666;font-size:14px}.question-card{background-color:#f9f9f9;padding:25px;border-radius:8px;margin:20px 0}.question-card h4{margin-top:0;margin-bottom:20px;color:#333}.options{display:flex;flex-direction:column;gap:10px}.option{display:flex;align-items:center;padding:12px 15px;background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease}.option:hover{border-color:#007bff;background-color:#f0f8ff}.option input[type=radio]{margin-right:10px}.text-answer{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;margin-top:10px}.text-answer:focus{outline:none;border-color:#007bff}.quiz-navigation{display:flex;justify-content:flex-end;margin-top:30px}.quiz-results{background:#fff;border-radius:8px;padding:30px}.quiz-results h3{margin-top:0;color:#333;margin-bottom:20px}.results-summary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;border-radius:8px;text-align:center;margin-bottom:30px}.results-summary p{margin:10px 0;font-size:18px}.answer-review{margin:20px 0}.question-result{background:#fff;border-left:4px solid #ddd;padding:15px;margin:15px 0;border-radius:4px}.question-result.correct{border-left-color:#28a745;background-color:#f1f8f4}.question-result.incorrect{border-left-color:#dc3545;background-color:#fef5f5}.question-text{font-weight:600;margin-bottom:10px;color:#333}.question-result p{margin:5px 0;font-size:14px}.explanation{margin-top:10px;padding:10px;background-color:#f0f0f0;border-radius:4px;font-style:italic}.module-edit,.add-question{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a}.module-edit h3,.add-question h3{margin-top:0;margin-bottom:20px;color:#333}.form-group label{display:block;margin-bottom:5px;color:#555;font-weight:600;font-size:14px}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group textarea{resize:vertical;font-family:inherit;line-height:1.5}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group input[type=date]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-actions{display:flex;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid #eee}.btn{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px #0056b34d}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62;transform:translateY(-1px);box-shadow:0 2px 4px #545b624d}.btn:disabled{opacity:.5;cursor:not-allowed}.training.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:18px;color:#666}@media (max-width: 768px){.training{padding:15px}.training h1{font-size:1.5rem}.generate-section{padding:1.25rem;margin-bottom:1.5rem}.modules-grid{grid-template-columns:1fr;gap:15px}.module-card{padding:20px;min-height:auto}.module-title{font-size:18px}.module-description{font-size:14px;-webkit-line-clamp:3}.generate-form{flex-direction:column;gap:15px}.generate-form select{width:100%;padding:12px;font-size:16px}.module-actions,.form-actions{flex-direction:column;gap:10px}.btn{width:100%;padding:12px;font-size:16px;min-height:44px}.quiz-container,.module-detail,.module-edit,.add-question{padding:20px;margin:10px;border-radius:12px}.question-card{padding:15px}.question-text{font-size:16px}.answer-option{padding:12px;min-height:44px;font-size:16px}.progress-bar{height:8px}.question-result{padding:12px;margin:10px 0}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group select,.form-group textarea{padding:12px;font-size:16px;min-height:44px}.form-group textarea{min-height:100px}}@media (max-width: 480px){.training{padding:10px}.modules-grid{gap:10px}.module-card{padding:15px}.module-title{font-size:16px}.module-stats{font-size:12px}.generate-form{gap:12px}.quiz-container{padding:15px;margin:5px}.question-card{padding:12px}.question-text{font-size:15px}.answer-option{padding:10px;min-height:40px;font-size:15px}.module-detail,.module-edit,.add-question{padding:15px;margin:5px}.form-group{margin-bottom:15px}.form-group label{font-size:13px}.btn{padding:10px;min-height:40px}}@supports (padding: max(0px)){.training{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.module-detail,.module-edit,.add-question,.quiz-container{margin-left:max(10px,env(safe-area-inset-left));margin-right:max(10px,env(safe-area-inset-right))}}@media (hover: none) and (pointer: coarse){.module-card{transition:transform .1s ease}.module-card:active{transform:scale(.98)}.answer-option{transition:background-color .1s ease}.answer-option:active{background-color:#007bff1a}.btn:active{transform:scale(.98)}}@media (prefers-contrast: high){.module-card{border:2px solid}.question-result.correct,.question-result.incorrect{border-left-color:#000;background-color:#fff}.btn-primary{background-color:#000;color:#fff}.btn-secondary{background-color:#fff;color:#000;border:2px solid #000}}@media (prefers-reduced-motion: reduce){.module-card,.answer-option,.btn{transition:none}.module-card:active,.btn:active{transform:none}}.video-management{padding:20px;max-width:1400px;margin:0 auto}.management-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e2e8f0}.management-header h1{display:flex;align-items:center;gap:12px;font-size:28px;color:#1a202c;margin:0}.management-header p{color:#6b7280;margin:0}.management-tabs{display:flex;gap:10px;margin-bottom:30px;background:#fff;padding:10px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.management-content{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.video-upload{max-width:800px;margin:0 auto}.video-upload h3{margin-bottom:20px;color:#1a202c}.upload-section{margin-bottom:30px}.file-dropzone{border:2px dashed #cbd5e0;border-radius:8px;padding:60px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8fafc}.file-dropzone:hover{border-color:#667eea;background:#f0f4ff}.dropzone-label{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer}.dropzone-label h4{color:#1a202c;margin:0}.dropzone-label p{color:#6b7280;margin:0;font-size:14px}.selected-file{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#f0f4ff;border-radius:8px;border:2px solid #667eea}.file-info{display:flex;align-items:center;gap:15px}.file-name{font-weight:600;color:#1a202c;margin:0}.file-size{color:#6b7280;font-size:14px;margin:0}.video-metadata{background:#f8fafc;padding:20px;border-radius:8px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:14px}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.category-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 12px;border:1px solid #d1d5db;border-radius:16px;font-size:14px;cursor:pointer;transition:all .2s;background:#fff}.chip:hover{border-color:#667eea;background:#f0f4ff}.chip.active{background:#667eea;color:#fff;border-color:#667eea}.upload-progress{margin:20px 0}.progress-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.progress-text{margin-top:8px;text-align:center;font-size:14px;color:#6b7280}.form-actions{display:flex;gap:10px;margin-top:20px}.video-library{padding:20px}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.library-header h2{margin:0;color:#1a202c}.header-actions{display:flex;gap:10px}.search-section{margin-bottom:20px}.search-bar{position:relative;display:flex;align-items:center}.search-bar svg{position:absolute;left:12px;color:#6b7280}.search-bar input,.search-bar input[type=text],.search-bar input[type=search]{width:100%;padding:10px 10px 10px 40px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.filters-panel{background:#f8fafc;padding:20px;border-radius:8px;margin-bottom:20px;display:flex;gap:20px;flex-wrap:wrap;align-items:flex-end}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;margin-bottom:8px;font-weight:600;font-size:14px;color:#374151}.filter-group select{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.tag-chips{display:flex;flex-wrap:wrap;gap:8px}.tag-count{font-size:12px;color:#6b7280;margin-left:4px}.videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.video-card{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s}.video-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.video-thumbnail{position:relative;width:100%;height:180px;background:#1a202c;cursor:pointer;overflow:hidden}.thumbnail-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#fff;opacity:.8}.video-duration{position:absolute;bottom:8px;right:8px;background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.processing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.video-content{padding:15px}.video-title{margin:0 0 8px;font-size:16px;font-weight:600;color:#1a202c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-description{margin:0 0 10px;font-size:14px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.video-badges{display:flex;gap:8px;margin-bottom:10px}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fed7aa;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-default{background:#f3f4f6;color:#374151}.video-meta{display:flex;gap:15px;margin-bottom:10px;font-size:13px;color:#6b7280}.video-meta span{display:flex;align-items:center;gap:4px}.video-categories,.video-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.category-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#e0e7ff;color:#3730a3;border-radius:4px;font-size:12px}.tag{padding:3px 8px;background:#f0f4ff;color:#5b21b6;border-radius:4px;font-size:12px}.video-actions{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #e5e7eb}.video-player-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center}.video-player-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c}.video-player-container{position:relative;width:90%;max-width:1200px;max-height:90vh;background:#000;border-radius:8px;overflow:hidden;z-index:1}.video-close-btn{position:absolute;top:20px;right:20px;width:40px;height:40px;background:#00000080;color:#fff;border:none;border-radius:50%;font-size:24px;cursor:pointer;z-index:10;transition:background .2s}.video-close-btn:hover{background:#000c}.video-wrapper{position:relative;width:100%;background:#000}.video-element{width:100%;height:auto;max-height:70vh;display:block}.video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000e6);padding:20px;opacity:0;transition:opacity .3s}.video-controls.visible{opacity:1}.progress-container{position:relative;height:6px;background:#fff3;border-radius:3px;margin-bottom:15px;cursor:pointer}.progress-buffered{position:absolute;height:100%;background:#ffffff4d;border-radius:3px}.progress-played{position:absolute;height:100%;background:#667eea;border-radius:3px}.controls-bar{display:flex;justify-content:space-between;align-items:center}.controls-left,.controls-right{display:flex;align-items:center;gap:10px}.control-btn{background:none;border:none;color:#fff;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center;opacity:.9;transition:opacity .2s}.control-btn:hover{opacity:1}.time-display{color:#fff;font-size:14px;margin-left:10px}.volume-slider{width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff4d;border-radius:2px;outline:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer}.video-info{padding:20px;background:#fff}.video-info h3{margin:0 0 10px;color:#1a202c}.video-info p{margin:0;color:#6b7280;line-height:1.6}.video-categories{padding:20px}.categories-header{margin-bottom:20px}.categories-header h3{margin:0 0 15px;color:#1a202c}.section-tabs{display:flex;gap:10px;border-bottom:2px solid #e5e7eb}.section-tabs .tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:#6b7280;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:6px}.section-tabs .tab:hover{color:#374151}.section-tabs .tab.active{color:#667eea;border-bottom-color:#667eea}.categories-section,.tags-section{padding:20px 0}.add-category-form,.add-tag-form{background:#f8fafc;padding:20px;border-radius:8px;margin-bottom:20px}.add-category-form h4,.add-tag-form h4{margin:0 0 15px;color:#374151}.form-inline{display:flex;gap:10px;align-items:center}.form-inline input,.form-inline select{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.categories-list,.tags-list{margin-top:20px}.categories-list h4,.tags-list h4{margin:0 0 15px;color:#374151}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.category-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.item-content{display:flex;align-items:center;gap:10px}.item-content h5{margin:0;color:#1a202c;font-size:16px}.item-description{margin:4px 0 0;color:#6b7280;font-size:14px}.parent-indicator{display:inline-block;padding:2px 6px;background:#e0e7ff;color:#3730a3;border-radius:4px;font-size:11px;margin-top:4px}.item-actions{display:flex;gap:8px}.edit-form{width:100%;display:flex;gap:10px;align-items:center}.edit-form input{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.edit-actions{display:flex;gap:6px}.tags-grid{display:flex;flex-wrap:wrap;gap:10px}.tag-item{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;font-size:14px}.tag-name{color:#1a202c;font-weight:500}.usage-count{color:#6b7280;font-size:12px}.video-analytics{padding:20px}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.analytics-header h3{margin:0;color:#1a202c}.period-selector{display:flex;align-items:center;gap:10px}.period-selector label{font-weight:600;color:#374151;font-size:14px}.period-selector select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{display:flex;gap:15px;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#f0f4ff;border-radius:8px;color:#667eea}.stat-content h4{margin:0 0 8px;font-size:14px;color:#6b7280;font-weight:500}.stat-value{font-size:24px;font-weight:700;color:#1a202c;margin:0 0 4px}.stat-label{font-size:12px;color:#9ca3af}.analytics-section{margin-bottom:40px}.analytics-section h4{display:flex;align-items:center;gap:8px;margin:0 0 20px;color:#1a202c;font-size:18px}.popular-videos-table{overflow-x:auto}.popular-videos-table table{width:100%;border-collapse:collapse}.popular-videos-table th{text-align:left;padding:12px;background:#f8fafc;border-bottom:2px solid #e5e7eb;font-weight:600;color:#374151;font-size:14px}.popular-videos-table td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:14px}.rank-cell{width:60px}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#667eea;color:#fff;border-radius:50%;font-weight:700;font-size:12px}.title-cell{max-width:300px}.video-title-info strong{display:block;margin-bottom:4px;color:#1a202c}.video-description-small{margin:0;font-size:12px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.completion-rate{display:flex;align-items:center;gap:8px}.completion-bar{width:60px;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.completion-fill{height:100%;background:#10b981}.engagement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.metric-card{padding:20px;background:#f8fafc;border-radius:8px;text-align:center}.metric-card h5{margin:0 0 10px;font-size:14px;color:#6b7280;font-weight:500}.metric-value{font-size:20px;font-weight:700;color:#1a202c;margin:0 0 4px}.metric-label{font-size:12px;color:#9ca3af}.insights-list{background:#f8fafc;padding:20px;border-radius:8px}.insight-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb}.insight-item:last-child{border-bottom:none}.insight-icon{font-size:20px}.insight-item p{margin:0;color:#374151;font-size:14px}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5a67d8}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db}.btn-secondary.active{background:#667eea;color:#fff}.btn-icon{background:none;border:none;padding:6px;cursor:pointer;color:#6b7280;border-radius:4px;transition:all .2s}.btn-icon:hover{background:#f3f4f6;color:#374151}.btn-danger{color:#dc2626}.btn-danger:hover{background:#fee2e2}.alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:6px;margin-bottom:20px}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.loading-container{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280;font-size:16px}.empty-state{text-align:center;padding:40px;color:#6b7280}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:30px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h2{margin:0 0 20px;color:#1a202c}@media (max-width: 768px){.videos-grid,.stats-grid{grid-template-columns:1fr}.filters-panel,.form-inline,.management-tabs{flex-direction:column}.video-player-container{width:100%;max-width:100%;border-radius:0}.popular-videos-table{font-size:12px}.popular-videos-table th,.popular-videos-table td{padding:8px}.video-management{padding:1rem}.management-header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.management-header h1{justify-content:center;font-size:1.5rem}.management-header p{text-align:center}.management-tabs{padding:.5rem;gap:.5rem}.management-content{padding:1rem}.video-upload{max-width:none}.video-upload h3{font-size:1.25rem;text-align:center}.upload-section{margin-bottom:1.5rem}.file-dropzone{padding:40px 20px}.dropzone-label h4{font-size:1.1rem}.dropzone-label p{font-size:13px}.selected-file{flex-direction:column;align-items:stretch;gap:.75rem}.file-info{text-align:center}.upload-form{gap:1rem}.form-group{margin-bottom:1rem}.form-row,.form-actions{flex-direction:column;gap:.75rem}.btn{width:100%;min-height:44px;justify-content:center}.video-card{padding:1rem}.video-thumbnail{height:180px}.video-info h3{font-size:1rem}.video-meta{flex-direction:column;align-items:stretch;gap:.5rem}.video-actions{justify-content:center;gap:.5rem}.video-actions .btn{flex:1;min-width:0}.video-player-modal{padding:0}.video-player-container{border-radius:0;height:calc(100vh - 120px)}.video-player video{height:calc(100vh - 200px)}.player-controls{padding:.75rem}.control-group{gap:.5rem}.control-btn{min-width:44px;min-height:44px}.progress-container{margin:0 .5rem}.time-display{font-size:.8rem}.video-details{padding:1rem}.video-details h2{font-size:1.25rem}.video-stats{flex-direction:column;gap:.75rem}.stat-item{justify-content:center;text-align:center}.analytics-charts{grid-template-columns:1fr;gap:1rem}.chart-container{padding:1rem}.popular-videos-table{font-size:.75rem}.popular-videos-table th,.popular-videos-table td{padding:6px 4px}.modal-overlay{padding:1rem}.modal-content{width:100%;max-width:none;margin:0;max-height:calc(100vh - 2rem)}.modal-content h2{font-size:1.25rem}.library-header{flex-direction:column;align-items:stretch;gap:.75rem}.section-tabs{flex-wrap:wrap;gap:0}.section-tabs .tab{padding:8px 14px;font-size:.875rem;flex:1;justify-content:center;text-align:center}.analytics-header{flex-direction:column;align-items:stretch;gap:.75rem}.search-bar input,.search-bar input[type=text],.search-bar input[type=search]{font-size:16px}.items-grid{grid-template-columns:1fr}.category-item{flex-wrap:wrap;gap:8px}.video-analytics{padding:.75rem}.stat-card{padding:1rem}.stat-value{font-size:1.25rem}.analytics-section{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 480px){.video-management{padding:.75rem}.management-header h1{font-size:1.25rem}.management-tabs{padding:.25rem}.management-content{padding:.75rem}.file-dropzone{padding:30px 15px}.video-card{padding:.75rem}.video-thumbnail{height:150px}.video-info h3{font-size:.9rem}.video-player-container{height:calc(100vh - 100px)}.video-player video{height:calc(100vh - 180px)}.player-controls{padding:.5rem}.video-details{padding:.75rem}.video-details h2{font-size:1.1rem}.modal-overlay{padding:.5rem}.modal-content{max-height:calc(100vh - 1rem)}}@media (hover: none) and (pointer: coarse){.file-dropzone:hover{border-color:#cbd5e0;background:#f8fafc}.video-card:hover{box-shadow:0 2px 4px #0000001a}.control-btn:hover{background:#e5e7eb}}@supports (padding: max(0px)){.video-management{padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.video-player-modal{padding-top:max(0px,env(safe-area-inset-top));padding-bottom:max(0px,env(safe-area-inset-bottom))}@media (max-width: 768px){.video-management{padding-top:max(.75rem,env(safe-area-inset-top));padding-bottom:max(.75rem,env(safe-area-inset-bottom))}}}@media (prefers-contrast: high){.file-dropzone{border:3px dashed #000}.video-card,.modal-content,.control-btn{border:2px solid #000}}@media (prefers-reduced-motion: reduce){.file-dropzone,.video-card,.control-btn,.btn{transition:none}}.document-library{padding:2rem;max-width:1400px;margin:0 auto}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem}.library-header h2{display:flex;align-items:center;gap:.5rem;color:#333;margin:0}.library-search{display:flex;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem 1rem;flex:1;max-width:400px}.library-search svg{color:#9ca3af;margin-right:.75rem}.search-input{border:none;outline:none;width:100%;font-size:1rem}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.document-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;transition:all .3s ease}.document-card:hover{box-shadow:0 4px 16px #0000001f}.document-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.document-info{display:flex;gap:1rem;flex:1}.document-icon{color:#6366f1;flex-shrink:0}.document-title{margin:0 0 .25rem;color:#1f2937;font-size:1.1rem;font-weight:600;line-height:1.3}.document-meta{color:#9ca3af;font-size:.875rem;margin:0}.document-labels{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.document-label{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:16px;color:#fff;font-size:.75rem;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.2);position:relative}.remove-label-btn{margin-left:.25rem;background:#ffffff4d;border:none;border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:14px;line-height:1;transition:background .2s}.remove-label-btn:hover{background:#ffffff80}.access-warning{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem;font-weight:500;margin-bottom:1rem}.document-actions{display:flex;gap:.75rem;margin-top:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s}.modal-content h3{margin:0 0 .5rem;color:#1f2937;font-size:1.5rem}.modal-subtitle{color:#6b7280;margin-bottom:1.5rem}.available-labels,.assigned-labels{margin-bottom:2rem}.available-labels h4,.assigned-labels h4{color:#374151;margin-bottom:1rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.label-list{display:flex;flex-wrap:wrap;gap:.75rem}.label-option{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f9fafb;border:2px solid;border-radius:8px;transition:all .2s}.label-option:hover{background:#fff}.label-badge-mini{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:16px;color:#fff;font-size:.75rem;font-weight:500}.assign-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:.375rem;cursor:pointer;color:#6b7280;transition:all .2s}.assign-btn:hover{background:#f3f4f6;color:#4b5563}.label-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;color:#fff;font-weight:500;font-size:.9rem;position:relative}.remove-btn{margin-left:.5rem;background:#ffffff4d;border:none;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:16px;line-height:1;transition:background .2s}.remove-btn:hover{background:#ffffff80}.no-labels{color:#9ca3af;font-style:italic}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.empty-state{text-align:center;padding:4rem 2rem;color:#6b7280}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.empty-state h3{color:#374151;margin-bottom:.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.btn.btn-small{padding:.5rem .75rem;font-size:.875rem}.btn.btn-danger{background:#ef4444;color:#fff}.btn.btn-danger:hover:not(:disabled){background:#dc2626}@media (max-width: 768px){.document-library{padding:1rem}.library-header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.5rem}.library-header h2{justify-content:center;font-size:1.5rem}.library-search{max-width:none;order:-1}.documents-grid{grid-template-columns:1fr;gap:1rem}.document-card{padding:1rem}.document-header{flex-direction:column;align-items:flex-start;gap:.75rem}.document-info{flex-direction:column;gap:.5rem;width:100%}.document-title{font-size:1rem;margin-bottom:.5rem}.document-meta{font-size:.8rem}.document-labels{gap:.375rem}.document-label{padding:.25rem .5rem;font-size:.7rem}.document-actions{flex-direction:column;gap:.5rem;margin-top:.75rem}.document-actions .btn{width:100%;min-height:44px;justify-content:center}.access-warning{padding:.5rem;font-size:.8rem}.modal-content{width:95%;padding:1.5rem;max-height:90vh;margin:1rem}.modal-content h3{font-size:1.25rem}.label-list{gap:.5rem}.label-option{padding:.375rem;min-height:44px}.modal-actions{flex-direction:column;gap:.75rem}.modal-actions .btn{width:100%;min-height:44px}.empty-state{padding:2rem 1rem}.empty-state svg{width:48px;height:48px}}@media (max-width: 480px){.document-library{padding:.75rem}.library-header h2{font-size:1.25rem}.document-card{padding:.75rem}.document-title{font-size:.9rem}.document-meta{font-size:.75rem}.modal-content{width:98%;padding:1rem;margin:.5rem}.modal-content h3{font-size:1.1rem}.empty-state{padding:1.5rem .75rem}}@media (hover: none) and (pointer: coarse){.document-card:hover{transform:none;box-shadow:0 2px 8px #00000014}.label-option:hover{background:#f9fafb}.assign-btn:hover{background:#fff}}@supports (padding: max(0px)){@media (max-width: 768px){.document-library{padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.modal-content{margin-top:max(1rem,env(safe-area-inset-top));margin-bottom:max(1rem,env(safe-area-inset-bottom))}}}@media (prefers-contrast: high){.document-card,.modal-content,.label-option{border:2px solid #000}}@media (prefers-reduced-motion: reduce){.document-card,.modal-overlay,.modal-content{animation:none;transition:none}}.app{min-height:100vh;background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab,#667eea,#764ba2);background-size:400% 400%;animation:gradientFlow 20s ease infinite;position:relative;overflow-x:clip;-webkit-overflow-scrolling:touch}@keyframes gradientFlow{0%{background-position:0% 50%}25%{background-position:50% 100%}50%{background-position:100% 50%}75%{background-position:50% 0%}to{background-position:0% 50%}}.app:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(238,119,82,.2) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(35,166,213,.2) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(102,126,234,.1) 0%,transparent 50%);pointer-events:none;z-index:0;overflow:hidden}.header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem 0;text-align:center;border-bottom:1px solid rgba(255,255,255,.2);position:relative;z-index:10}.header h1{font-size:2.5rem;font-weight:700;color:#1a202c;margin-bottom:.5rem}.header p{color:#4a5568;font-size:1.1rem}.container{max-width:1200px;margin:0 auto;padding:2rem;position:relative;z-index:1}.api-key-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.tabs{display:flex;background:linear-gradient(135deg,#fffffff2,#fffffffa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:.5rem;margin-bottom:2rem;box-shadow:0 10px 30px #667eea26,0 0 0 1px #ffffff80 inset;gap:.3rem;position:relative;overflow-x:auto;overflow-y:hidden}.tab{display:flex;align-items:center;gap:.4rem;padding:.75rem 1rem;border:none;background:transparent;border-radius:8px;cursor:pointer;font-weight:500;color:#4a5568;transition:all .2s ease;flex-shrink:0;white-space:nowrap;font-size:.9rem}.tab:hover{background:#f7fafc;color:#2d3748}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d;transform:scale(1.02)}.main-content{display:flex;flex-direction:column;background:linear-gradient(135deg,#fffffff2,#fffffffa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:2rem;box-shadow:0 20px 40px #667eea26,0 0 0 1px #ffffff80 inset;position:relative;min-height:calc(100vh - 250px)}.main-content:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(102,126,234,.05) 0%,transparent 70%);animation:rotate 30s linear infinite;pointer-events:none;z-index:-1}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151}.form-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:relative;z-index:1}.btn-primary:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#764ba2,#f093fb);opacity:0;transition:opacity .3s ease;z-index:-1}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.btn-primary:hover:before{opacity:1}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover{background:#cbd5e0}.loading{display:flex;align-items:center;gap:.5rem;color:#6b7280}.error{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:8px;border:1px solid #fecaca}.success{background:#f0fdf4;color:#166534;padding:1rem;border-radius:8px;border:1px solid #bbf7d0}.results{margin-top:2rem}.result-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.result-title{font-weight:600;color:#1a202c;margin-bottom:.5rem}.result-content{color:#4a5568;line-height:1.6}.result-meta{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;font-size:.875rem;color:#6b7280}.refresh-btn{background:#667eea;color:#fff;padding:8px 16px;border-radius:4px;border:none;cursor:pointer;font-size:14px;transition:background .2s ease}.refresh-btn:hover{background:#5a67d8}.empty-state{text-align:center;padding:60px 20px;color:#6b7280;position:relative}.empty-state img{width:120px;height:auto;margin-bottom:1.5rem;opacity:.8;animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state p{margin:8px 0}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.document-card{border:1px solid rgba(102,126,234,.1);border-radius:12px;padding:20px;background:linear-gradient(135deg,#ffffffe6,#fffffff2);box-shadow:0 4px 15px #667eea1a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.document-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);transform:translate(-100%);transition:transform .3s ease}.document-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 30px #667eea33;border-color:#667eea4d}.document-card:hover:before{transform:translate(0)}.document-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.document-title{font-weight:600;font-size:16px;color:#1a202c;word-break:break-word}.document-meta{margin-bottom:16px}.document-meta p{margin:6px 0;font-size:14px;color:#6b7280}.document-meta strong{color:#1a202c}.document-actions{display:flex;justify-content:flex-end;gap:8px}.view-btn{background:#4361ee;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s ease}.view-btn:hover{background:#3651de}.delete-btn{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s ease}.delete-btn:hover{background:#b91c1c}@media (max-width: 768px){.header{padding:1rem 0}.header h1{font-size:2rem}.header p{font-size:1rem}.container{padding:1rem;margin:0}.tabs{padding:.25rem;margin-bottom:1rem;border-radius:12px;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:.5rem .75rem;font-size:.8rem;min-width:fit-content}.tab.active{transform:none}.main-content{padding:1rem;border-radius:16px;min-height:calc(100vh - 200px)}.document-grid{grid-template-columns:1fr;gap:16px}.document-card{padding:16px}.document-header{gap:8px;margin-bottom:12px;padding-bottom:8px}.document-title{font-size:14px}.document-meta p{font-size:13px}.document-actions{flex-direction:column;gap:6px}.view-btn,.delete-btn{width:100%;padding:10px;font-size:13px}.empty-state{padding:40px 20px}.empty-state img{width:80px}.form-input{font-size:16px}.btn{font-size:16px;padding:12px 20px;min-height:44px}}@media (max-width: 480px){.header h1{font-size:1.75rem}.container{padding:.75rem}.tabs{padding:.2rem;margin-bottom:.75rem}.tab{padding:.4rem .6rem;font-size:.75rem}.main-content{padding:.75rem;border-radius:12px}.document-card{padding:12px}.document-title{font-size:13px}.document-meta p{font-size:12px}.empty-state{padding:30px 15px}.empty-state img{width:60px}}@media (hover: none) and (pointer: coarse){.tab:hover{background:transparent}.document-card:hover{transform:none;box-shadow:0 4px 15px #667eea1a}.document-card:hover:before{transform:translate(-100%)}.btn-primary:hover{transform:none}.btn-primary:hover:before{opacity:0}}@supports (padding: max(0px)){.header{padding-top:max(1.5rem,env(safe-area-inset-top));padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.container{padding-left:max(2rem,env(safe-area-inset-left));padding-right:max(2rem,env(safe-area-inset-right))}@media (max-width: 768px){.container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}}@media (prefers-contrast: high){.tab.active{background:#000;color:#fff;border:2px solid #fff}.document-card{border:2px solid #000}.btn-primary{background:#000;color:#fff;border:2px solid #fff}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.app{animation:none}.app:before{animation:none}.main-content:after{animation:none}}.mobile-menu-toggle{display:none}@media (max-width: 768px){.mobile-menu-toggle{display:block!important}.tabs.mobile-menu-open{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;align-items:stretch;padding:2rem 1rem;gap:.5rem;border-radius:0;box-shadow:none;margin:0;overflow-y:auto;max-height:100vh}.tabs.mobile-menu-open .tab{justify-content:flex-start;padding:1rem;font-size:1rem;border-radius:12px;margin:0;width:100%;min-width:auto}.tabs.mobile-menu-open .tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.mobile-menu-overlay{z-index:999}}*{margin:0;padding:0;box-sizing:border-box}html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;line-height:1.6;color:#1a202c;height:100%}:root{--vh: 1vh}.min-touch-target{min-width:44px;min-height:44px}input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],textarea,select{font-size:16px;border-radius:8px;padding:12px 16px;border:1px solid #d1d5db;transition:border-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}button{min-height:44px;padding:12px 20px;font-size:16px;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:rgba(102,126,234,.1);-webkit-appearance:none;-moz-appearance:none;appearance:none}*{-webkit-overflow-scrolling:touch}@media screen and (max-width: 768px){::-webkit-scrollbar{width:0px;background:transparent}::-webkit-scrollbar-thumb{background:transparent}.scrollable-content::-webkit-scrollbar{width:6px}.scrollable-content::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.scrollable-content::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.scrollable-content::-webkit-scrollbar-thumb:hover{background:#667eea80}}.container-mobile{width:100%;max-width:100%;padding:0 1rem;margin:0 auto}@media (min-width: 640px){.container-mobile{max-width:640px;padding:0 1.5rem}}@media (min-width: 768px){.container-mobile{max-width:768px;padding:0 2rem}}@media (min-width: 1024px){.container-mobile{max-width:1024px}}@media (min-width: 1280px){.container-mobile{max-width:1280px}}.flex-mobile{display:flex;flex-direction:column}@media (min-width: 768px){.flex-mobile{flex-direction:row}}.flex-mobile-reverse{display:flex;flex-direction:column-reverse}@media (min-width: 768px){.flex-mobile-reverse{flex-direction:row-reverse}}.grid-mobile-1{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 640px){.grid-mobile-1{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-mobile-1{grid-template-columns:repeat(3,1fr)}}.grid-mobile-2{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.grid-mobile-2{grid-template-columns:repeat(2,1fr)}}.text-mobile-center{text-align:left}@media (max-width: 767px){.text-mobile-center{text-align:center}}.text-responsive{font-size:clamp(.875rem,2.5vw,1rem)}.text-responsive-lg{font-size:clamp(1.125rem,4vw,1.5rem)}.text-responsive-xl{font-size:clamp(1.5rem,5vw,2rem)}@media (prefers-contrast: high){*{border:1px solid transparent}button,input,textarea,select{border:2px solid #000}button:focus,input:focus,textarea:focus,select:focus{outline:3px solid #000;outline-offset:2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@supports (padding: max(0px)){.safe-area-top{padding-top:max(1rem,env(safe-area-inset-top))}.safe-area-bottom{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.safe-area-left{padding-left:max(1rem,env(safe-area-inset-left))}.safe-area-right{padding-right:max(1rem,env(safe-area-inset-right))}.safe-area-all{padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}@media screen and (max-width: 768px){body,.app{min-height:calc(var(--vh, 1vh) * 100)}}@media screen and (max-height: 500px) and (orientation: landscape){.header{padding-top:.5rem!important;padding-bottom:.5rem!important}.header h1{font-size:1.5rem!important}.container{padding:1rem .5rem!important}.main-content{padding:1rem!important;min-height:auto!important}}@media screen and (max-width: 360px){.container{padding:.5rem!important}button{padding:10px 16px;font-size:14px}input,textarea,select{padding:10px 12px;font-size:14px}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}.no-print,button{display:none!important}}
