.pdf-viewer-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#f5f5f5;z-index:1000;display:flex;flex-direction:column}.pdf-viewer-header{display:flex;justify-content:space-between;align-items:center;background:#667eea;color:#fff;padding:12px 20px;box-shadow:0 2px 4px #0000001a}.pdf-viewer-title{font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.pdf-viewer-controls{display:flex;gap:12px;align-items:center}.pdf-viewer-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.pdf-viewer-btn:hover{background:#ffffff4d;border-color:#fff6;transform:translateY(-1px)}.pdf-viewer-btn:active{transform:translateY(0)}.pdf-viewer-close{background:#dc3545cc;border-color:#dc3545e6}.pdf-viewer-close:hover{background:#dc3545e6;border-color:#dc3545}.pdf-viewer-content{flex:1;position:relative;overflow:scroll;-webkit-overflow-scrolling:touch;touch-action:pan-y pan-x;min-height:100%}.pdf-iframe-container{width:100%;height:100%;position:relative;overflow:visible}.pdf-viewer-iframe{width:100%;height:100%;border:none;background:#fff;-webkit-overflow-scrolling:touch;overflow:auto;touch-action:manipulation;transform:translateZ(0);-webkit-transform:translateZ(0)}.pdf-viewer-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:20px;color:#666}.pdf-loader{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdf-viewer-error{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:20px;color:#dc3545;text-align:center;padding:20px}.pdf-viewer-error button{background:#667eea;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px}.pdf-viewer-error button:hover{background:#5a67d8}.pdf-pwa-message{display:flex;justify-content:center;align-items:center;height:100%;padding:20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.pdf-pwa-content{background:#fff;border-radius:12px;padding:30px;max-width:500px;text-align:center;box-shadow:0 8px 25px #0000001a}.pdf-pwa-content h3{margin:0 0 20px;color:#333;font-size:24px}.pdf-pwa-content p{margin:0 0 25px;color:#666;line-height:1.5}.pdf-pwa-buttons{display:flex;gap:15px;justify-content:center;margin-bottom:30px}.pdf-pwa-btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.pdf-pwa-btn.primary{background:#667eea;color:#fff}.pdf-pwa-btn.primary:hover{background:#5a67d8;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.pdf-pwa-btn.secondary{background:#e2e8f0;color:#4a5568}.pdf-pwa-btn.secondary:hover{background:#cbd5e0;transform:translateY(-1px)}.pdf-pwa-info{background:#f7fafc;border-radius:8px;padding:20px;text-align:left}.pdf-pwa-info p{margin:0 0 15px;font-weight:600;color:#2d3748}.pdf-pwa-info ul{margin:0;padding-left:20px;list-style:none}.pdf-pwa-info li{margin:8px 0;color:#4a5568;font-size:14px;position:relative}.pdf-pwa-info li:before{content:"";position:absolute;left:-20px;top:50%;transform:translateY(-50%)}@media (max-width: 768px){.pdf-viewer-header{padding:8px 12px;flex-wrap:wrap;gap:8px}.pdf-viewer-title{font-size:16px}.pdf-viewer-controls{gap:8px}.pdf-viewer-btn{padding:6px 12px;font-size:13px}.pdf-pwa-message{padding:15px}.pdf-pwa-content{padding:20px;max-width:100%}.pdf-pwa-content h3{font-size:20px}.pdf-pwa-buttons{flex-direction:column;gap:10px}.pdf-pwa-btn{width:100%;justify-content:center}}*{box-sizing:border-box;margin:0;padding:0}#app-container{min-height:100vh;display:flex;flex-direction:column}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333;line-height:1.6}#root{max-width:800px;margin:0 auto;padding:1rem;min-height:100vh;display:flex;flex-direction:column}h1{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-shadow:0 2px 10px rgba(0,0,0,.3);letter-spacing:-.02em}h2{color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-shadow:0 1px 5px rgba(0,0,0,.2)}.recorder-container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}button{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66;text-transform:uppercase;letter-spacing:.5px;margin:.5rem;min-width:120px}button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}button:active{transform:translateY(0);box-shadow:0 2px 10px #667eea66}button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.recording-btn{background:linear-gradient(45deg,#ff6b6b,#ee5a52)!important;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 4px 15px #ff6b6b66}50%{box-shadow:0 4px 25px #ff6b6bcc}to{box-shadow:0 4px 15px #ff6b6b66}}.delete-btn{background:linear-gradient(45deg,#ff6b6b,#ee5a52);padding:.5rem 1rem;font-size:.8rem;min-width:auto;margin:0 0 0 1rem}.delete-btn:hover{box-shadow:0 6px 20px #ff6b6b99}.record-button{padding:15px 30px;font-size:18px;background-color:#4caf50;color:#fff;border:none;border-radius:5px;cursor:pointer}.record-button.recording{background-color:#f44}.pause-button{padding:15px 30px;font-size:18px;background-color:#ff9800;color:#fff;border:none;border-radius:5px;cursor:pointer}.recordings-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);flex-grow:1}.recordings-list{list-style:none;padding:0}.recording-item{background:#fffc;margin-bottom:1rem;padding:1.5rem;border-radius:15px;border:1px solid rgba(102,126,234,.1);box-shadow:0 4px 15px #0000000d;transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.recording-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.recording-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.9rem;color:#666}.recording-date{font-weight:600;color:#333}.recording-size{background:#667eea1a;padding:.2rem .8rem;border-radius:20px;font-size:.8rem}audio{width:100%;height:40px;border-radius:10px;outline:none}audio{background-color:#667eea1a;border-radius:10px}.empty-state{text-align:center;color:#666;font-style:italic;padding:3rem;background:#667eea0d;border-radius:15px;border:2px dashed rgba(102,126,234,.2)}.events-list{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:1rem 2rem;margin-top:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);max-height:300px;overflow-y:auto}.events-list ul{list-style:none;padding:0}.events-list li{margin-bottom:.5rem}.status-message{padding:1rem;border-radius:10px;margin:1rem 0;text-align:center;font-weight:500}.status-recording{background:#ff6b6b1a;color:#d63384;border:1px solid rgba(255,107,107,.3)}.status-ready{background:#28a7451a;color:#198754;border:1px solid rgba(40,167,69,.3)}@media (max-width: 480px){#root{padding:.5rem}h1{font-size:2rem;margin-bottom:1.5rem}h2{font-size:1.3rem;margin-bottom:1rem}.recorder-container,.recordings-section{padding:1.5rem;border-radius:15px;margin-bottom:1.5rem}button{padding:.8rem 1.5rem;font-size:.9rem;min-width:100px;margin:.3rem}.recording-item{padding:1rem;border-radius:12px}.recording-meta{flex-direction:column;align-items:flex-start;gap:.8rem}.delete-btn{padding:.4rem .8rem;font-size:.7rem;margin:.5rem 0 0}audio{height:35px}.empty-state{padding:2rem 1rem}}@media (max-width: 360px){h1{font-size:1.8rem}.recorder-container,.recordings-section{padding:1rem}button{padding:.7rem 1rem;font-size:.8rem;min-width:90px}.recording-item{padding:.8rem}}@media (max-height: 500px) and (orientation: landscape){h1{font-size:1.5rem;margin-bottom:1rem}.recorder-container,.recordings-section{padding:1rem}}@media (prefers-color-scheme: dark){body{background:linear-gradient(135deg,#2d3748,#4a5568)}.recorder-container,.recordings-section{background:#2d3748f2;border:1px solid rgba(255,255,255,.1)}.recording-item{background:#4a5568cc;border:1px solid rgba(255,255,255,.1);color:#e2e8f0}.recording-date{color:#e2e8f0}.recording-meta{color:#a0aec0}.empty-state{background:#4a55684d;border-color:#fff3;color:#a0aec0}}#auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1rem}.login-container,.register-container{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2.5rem;width:100%;max-width:450px;box-shadow:0 8px 32px #0003;border:1px solid rgba(255,255,255,.2)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#fff;font-size:1.1rem;font-weight:500}.form-group input{width:100%;padding:.8rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#fff9;box-shadow:0 0 0 2px #fff3}.form-hint{display:block;margin-top:.3rem;font-size:.8rem;color:#ffffffb3;font-style:italic}.error-message{background:#ff6b6b33;color:#ff6b6b;padding:.8rem;border-radius:10px;margin-bottom:1.5rem;font-size:.9rem;border:1px solid rgba(255,107,107,.4)}.register-link,.login-link{margin-top:1.5rem;text-align:center;color:#fff;font-size:1rem}.register-link button,.login-link button{background:transparent;color:#fff;border:none;padding:.3rem .5rem;font-size:1rem;box-shadow:none;text-decoration:underline;min-width:auto;margin:0;text-transform:none;letter-spacing:normal}.register-link button:hover,.login-link button:hover{background:#ffffff1a;transform:none;box-shadow:none}.logout-container{display:flex;justify-content:flex-end;align-items:center;padding:.5rem 0}.app-menu-container{position:relative}.app-menu-trigger{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;width:40px!important;height:40px!important;border-radius:50%!important;font-size:20px!important;font-weight:700!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important;padding:0!important;min-width:auto!important;margin:0!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:0 2px 8px #0000001a!important}.app-menu-trigger:hover{background:#fff3!important;transform:none!important;box-shadow:0 4px 12px #00000026!important}.app-menu-dropdown{position:absolute;top:45px;right:0;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;border:1px solid rgba(0,0,0,.1);min-width:200px;z-index:1000;overflow:hidden;animation:menuSlideIn .2s ease-out}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.app-menu-section{padding:8px 0}.app-menu-user-info{padding:12px 16px;background:#667eea0d}.app-menu-username{font-weight:600;color:#333;font-size:14px;margin-bottom:2px}.app-menu-email{font-size:12px;color:#666}.app-menu-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .2s ease;font-size:14px;color:#333}.app-menu-item:hover{background-color:#667eea1a}.app-menu-item span:first-child{margin-right:12px;font-size:16px}.app-menu-version{padding:12px 16px;font-size:12px;color:#999;text-align:center;background:#00000005}.app-menu-divider{height:1px;background:#0000001a;margin:0}html,body{min-height:100%;margin:0;padding:0}#root{min-height:100%;display:flex;flex-direction:column;padding:.5rem;max-width:100%}.recorder-container{position:sticky;top:0;z-index:100}.recordings-section{flex-grow:1;overflow-y:auto}.events-list-container{list-style:none;padding:0}.event-item{margin-bottom:10px;border:1px solid #ddd;border-radius:5px;background-color:#f9f9f9;overflow:hidden}.event-header{padding:10px;cursor:pointer;background-color:transparent;border-bottom:none;transition:background-color .2s ease}.event-header:hover{background-color:#f0f0f0}.event-header.expanded{background-color:#e6f3ff;border-bottom:1px solid #ddd}.event-title{font-weight:700}.event-date-time{color:#666}.event-expand-icon{float:right;font-size:14px;color:#666}.event-details{padding:15px;background-color:#fff;border-top:1px solid #eee}.event-description-section{margin-bottom:10px}.event-description-label{font-weight:700;margin-bottom:5px;display:block}.event-description-text{margin-top:5px;padding:8px;background-color:#f5f5f5;border-radius:4px;white-space:pre-wrap}.event-fulltext-section{margin-bottom:10px}.event-fulltext-label{font-weight:700;margin-bottom:5px;display:block}.event-fulltext-text{margin-top:5px;padding:8px;background-color:#f0f8ff;border-radius:4px;white-space:pre-wrap;font-size:14px;max-height:200px;overflow-y:auto}.event-metadata{font-size:12px;color:#666}.event-priority{margin-right:10px}.event-actions{margin-top:10px;padding-top:10px;border-top:1px solid #eee;text-align:right}.event-deactivate-button{background:linear-gradient(45deg,#ff6b6b,#ee5a52);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #ff6b6b4d;min-width:auto;margin:0;text-transform:none;letter-spacing:normal}.event-deactivate-button:hover{background:linear-gradient(45deg,#ff5252,#f44336);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b66}.event-deactivate-button:active{transform:translateY(0);box-shadow:0 2px 6px #ff6b6b4d}.update-notification-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:9999;padding:1rem}.update-notification{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:2rem;max-width:400px;width:100%;color:#fff;text-align:center;box-shadow:0 20px 60px #0000004d;border:1px solid rgba(255,255,255,.2);animation:updateSlideIn .3s ease-out}@keyframes updateSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.update-notification-content{margin-bottom:1.5rem}.update-icon{font-size:3rem;margin-bottom:1rem;animation:updateSpin 2s linear infinite}@keyframes updateSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-notification h3{margin:0 0 1rem;font-size:1.5rem;font-weight:600}.update-notification p{margin:0 0 1rem;font-size:1rem;line-height:1.5;opacity:.9}.version-info{font-weight:600;color:gold;font-size:.9rem}.update-benefits{margin:1rem 0}.update-benefits ul{list-style:none;padding:0;margin:0}.update-benefits li{padding:.3rem 0;font-size:.9rem;opacity:.9}.update-notification-actions{display:flex;gap:1rem;margin-bottom:1rem}.update-button{flex:1;padding:.8rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.update-button.primary{background:#ffffffe6;color:#667eea}.update-button.primary:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 15px #ffffff4d}.update-button.secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3)}.update-button.secondary:hover{background:#fff3;transform:translateY(-1px)}.update-notification-note{font-size:.8rem;opacity:.7;line-height:1.4}@media (max-width: 480px){.update-notification{padding:1.5rem;margin:1rem}.update-icon{font-size:2.5rem}.update-notification h3{font-size:1.3rem}.update-notification-actions{flex-direction:column}.update-button{padding:1rem}}
