*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-y:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sso-button{align-items:center;background-color:#fff;border:1px solid #8c8c8c;border-radius:4px;color:#5e5e5e;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;justify-content:center;margin-top:15px;padding:12px 20px;transition:all .2s ease;width:100%}.sso-button:hover:not(:disabled){background-color:#f3f2f1;border-color:#5e5e5e}.sso-button:disabled{cursor:not-allowed;opacity:.6}.sso-button-icon{height:20px;width:20px}.login-form-container{background:#ffffffe6;border:3px solid #2d5a4a;border-radius:20px;border-top:8px solid #c41e3a;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;justify-content:space-between;max-width:600px;padding:40px;width:100vw;z-index:99}.login-form-title{color:#2d5a4a;font-size:2.2rem;font-weight:700;letter-spacing:-.5px;margin:0 0 15px;text-align:center}.login-form-field{color:#333;display:flex;flex-direction:column;font-size:1.1rem;justify-content:center}.login-form-label{margin-bottom:.4rem}.login-form-input{border:1px solid;border-radius:.375rem;font-size:1rem;outline:none;padding:.5rem}.login-form-button{align-items:center;background:linear-gradient(135deg,#2d5a4a,#1f3f33);border:none;border-radius:12px;box-shadow:0 4px 15px #2d5a4a4d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;height:3.3rem;justify-content:center;margin-top:2rem;padding:16px 40px;transition:all .3s ease;width:100%}.login-form-button:hover{box-shadow:0 6px 20px #2d5a4a66;transform:translateY(-2px)}.login-form-button:active{box-shadow:0 4px 15px #2d5a4a4d;transform:translateY(0)}.login-form-spinner{height:1.25rem;width:1.25rem}@media (max-width:1440px){.login-form-container{height:auto;padding:30px;width:90%}.login-form-title{font-size:2rem}.login-form-field{font-size:.9rem;margin-top:1rem}}@media (max-width:455px){.login-form-title{font-size:1.6rem}}.login-form-divider{align-items:center;color:#8c8c8c;display:flex;margin:20px 0 10px;text-align:center}.login-form-divider:after,.login-form-divider:before{border-bottom:1px solid #e0e0e0;content:"";flex:1 1}.login-form-divider span{font-size:14px;padding:0 15px}.snackbar-container{align-items:center;background-color:#fff;border-radius:1rem;bottom:1rem;display:flex;gap:1rem;justify-content:start;left:2rem;opacity:1;padding:1rem 1.5rem;position:absolute;transition:opacity 3s ease-out;width:25vw;z-index:99}.snackbar-container.fade-out{opacity:0}.snackbar-image{width:2.5vw}.snackbar-text-container{align-items:start;display:flex;flex-direction:column;justify-content:center}.snackbar-text{color:#000}.snackbar-btn-close{background:none;border:none;cursor:pointer;position:absolute;right:.8rem;top:.4rem}@media (max-width:950px){.snackbar-container{bottom:-3.5%;font-size:12px;height:10vh;left:50%;max-width:80vw;transform:translate(-50%,-50%);width:65vw}.snackbar-image{width:2.2rem}}@media (max-width:670px){.snackbar-container{width:90vw}}@media (max-width:1440px){.snackbar-container{max-width:50vw;width:40vw}.snackbar-image{width:2.2rem}}.intro-logo .trenitalia-logo-container{border:4px solid #2d5a4a!important;box-shadow:0 8px 20px #2d5a4a4d!important}.trenitalia-logo-container{align-items:center;border-radius:50%;display:flex;justify-content:center;overflow:hidden;transition:all .3s ease}.trenitalia-logo-container.default{background-color:#fff;border:3px solid #2d5a4a;box-shadow:0 4px 12px #2d5a4a66;cursor:default;padding:6px}.trenitalia-logo-container.floating{background-color:#2d5a4a;border:4px solid #fff;box-shadow:0 8px 25px #2d5a4ab3,0 4px 12px #0003;cursor:pointer;height:80px;padding:8px;width:80px}.trenitalia-logo-container.chat-header{background-color:#fff;border:3px solid #ffffffe6;box-shadow:0 4px 12px #2d5a4a4d;cursor:default;height:40px;padding:6px;width:40px}.trenitalia-logo-container.message-avatar{background-color:#fff;border:2px solid #2d5a4a;box-shadow:0 3px 8px #2d5a4a66,inset 0 1px 3px #fffc;cursor:default;height:40px;padding:0;width:40px}.trenitalia-logo{height:80%;max-height:60%;max-width:60%;object-fit:contain;transition:all .3s ease;width:80%}.trenitalia-logo.message-avatar{height:90%;width:90%}.trenitalia-logo.floating{filter:brightness(0) invert(1) contrast(2) saturate(0)}.config-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.config-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.config-header{align-items:center;background:#2d5a4a;color:#fff;display:flex;justify-content:space-between;padding:20px}.config-header h3{font-size:1.2rem;font-weight:600;margin:0}.config-close{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;padding:5px;transition:background .2s}.config-close:hover{background:#ffffff1a}.config-content{max-height:400px;overflow-y:auto;padding:20px}.config-section{margin-bottom:30px}.config-section h4{border-bottom:2px solid #e0e0e0;color:#2d5a4a;font-size:1rem;font-weight:600;margin:0 0 15px;padding-bottom:8px}.config-row{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.config-row label{color:#333;flex:1 1;font-size:.9rem;font-weight:500}.range-group{align-items:center;display:flex;flex:2 1;gap:10px;justify-content:flex-end}.range-group input[type=range]{background:#ddd;border-radius:3px;cursor:pointer;height:6px;outline:none;width:80px}.range-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#2d5a4a;border-radius:50%;cursor:pointer;height:18px;width:18px}.range-group input[type=range]::-moz-range-thumb{background:#2d5a4a;border:none;border-radius:50%;cursor:pointer;height:18px;width:18px}.range-group span{color:#2d5a4a;font-size:.85rem;font-weight:600;min-width:30px;text-align:center}.toggle-switch{align-items:center;display:flex;position:relative}.toggle-switch input[type=checkbox]{display:none}.toggle-label{background:#ddd;border-radius:13px;cursor:pointer;height:26px;position:relative;transition:background .2s;width:50px}.toggle-label:after{background:#fff;border-radius:50%;content:"";height:22px;left:2px;position:absolute;top:2px;transition:transform .2s;width:22px}.toggle-switch input[type=checkbox]:checked+.toggle-label{background:#2d5a4a}.toggle-switch input[type=checkbox]:checked+.toggle-label:after{transform:translateX(24px)}.config-actions{align-items:center;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.config-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .2s}.config-btn.reset{background:#ffc107;color:#333}.config-btn.reset:hover{background:#ffb300}.config-btn.cancel{background:#6c757d;color:#fff;margin-right:10px}.config-btn.cancel:hover{background:#5a6268}.config-btn.save{background:#2d5a4a;color:#fff}.config-btn.save:hover{background:#1f3f33}@media (max-width:768px){.config-modal{max-height:90vh;width:95%}.config-row{align-items:flex-start;flex-direction:column;gap:10px}.config-row label{flex:none;margin-bottom:5px}.range-group{flex:none;justify-content:space-between;width:100%}.config-actions{flex-direction:column;gap:15px}.config-actions>div{display:flex;gap:10px;width:100%}.config-btn{flex:1 1}}.typing-indicator{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:18px;box-shadow:0 2px 8px #0000001a;display:flex;gap:5px;max-width:85%;padding:10px 16px}.typing-dots{display:flex;gap:3px}.typing-dot{animation:typingBounce 1.4s infinite;background:#666;border-radius:50%;height:6px;width:6px}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.document-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:4000}.document-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:80vh;max-width:800px;overflow:hidden;width:90%}.document-header{align-items:center;background:#2d5a4a;color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.document-header h3{font-size:1.1rem;font-weight:600;margin:0}.document-close{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;padding:5px;transition:background .2s}.document-close:hover{background:#ffffff1a}.document-content{line-height:1.6;max-height:60vh;overflow-y:auto;padding:20px}.document-content h1{color:#2d5a4a;font-size:1.3em;margin:0 0 15px}.document-content h2{color:#2d5a4a;font-size:1.1em;margin:15px 0 10px}.document-content strong{color:#2d5a4a}.document-content table{border-collapse:collapse;font-size:.9em;margin:10px 0;width:100%}.document-content table td,.document-content table th{border:1px solid #ddd;padding:8px;text-align:left}.document-content table th{background:#f5f5f5;font-weight:600}.document-content-vco-container{display:flex;flex-direction:column}.event-container{align-items:center;display:flex;gap:8px;margin-bottom:10px;margin-top:10px}.pdf-download-link{align-items:center;background:linear-gradient(135deg,#2d5a4a26,#1f3f3326);border:1px solid #2d5a4a4d;border-radius:4px;color:#2d5a4a;cursor:pointer;display:inline-flex;font-weight:700;padding:4px 8px;text-decoration:underline;transition:all .2s ease}.pdf-download-link.downloading{cursor:wait}.pdf-download-link:hover{background:linear-gradient(135deg,#c41e3a33,#a9172933);box-shadow:0 2px 8px #c41e3a4d;color:#a91729;transform:translateY(-1px)}.pdf-download-link:active{transform:translateY(0)}.download-error{align-items:center;background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #dc3545;border-left-width:4px;border-radius:6px;color:#721c24;display:flex;font-size:.9rem;gap:8px;margin-top:15px;padding:10px}.message{animation:fadeInUp .3s ease;max-width:calc(100% - 20px)}.message.assistant{align-self:flex-start}.message.user{align-self:flex-end}.message-header{align-items:center;color:#666;display:flex;font-size:.85rem;gap:8px;margin-bottom:5px}.message-header.user{justify-content:flex-end}.message-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;height:40px;justify-content:center;width:40px}.message-avatar.assistant{background:#0000;padding:0}.message-avatar .trenitalia-logo-container{border:2px solid #2d5a4a!important;box-shadow:0 3px 8px #2d5a4a66,inset 0 1px 3px #fffc!important;height:40px!important;width:40px!important}.message-avatar.user{background:#666;color:#fff;height:40px;width:40px}.message-content{background:#fff;border:1px solid #e0e0e0;border-radius:18px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;overflow:hidden;padding:12px 16px;width:100%}.message.user .message-content{background:#2d5a4a;color:#fff}.message-content h1{color:#2d5a4a;font-size:1.3em;font-weight:700;margin:8px 0 6px}.message-content h2{color:#2d5a4a;font-size:1.2em;font-weight:700;margin:6px 0 4px}.message-content h3{font-size:1.1em;margin:4px 0 2px}.message-content h3,.message-content strong{color:#2d5a4a;font-weight:700}.message-content em{font-style:italic}.message-content code{background-color:#f4f4f4;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;padding:2px 4px}.message-content ol,.message-content ul{margin:8px 0;padding-left:20px}.message-content li{margin:2px 0}.message-content a{color:#2d5a4a;text-decoration:underline}.message-content a:hover{color:#1a3d30}.message-content .table-container{border-radius:8px;margin:12px 0;overflow:auto;width:100%}.message-content .markdown-table{border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;font-size:.9em;margin:0;max-width:100%;table-layout:auto;width:100%}.message-content .markdown-table th{background:#2d5a4a;border-bottom:2px solid #1f3f33;color:#fff;font-size:.85em;font-weight:600;padding:12px 8px;text-align:left}.message-content .markdown-table td,.message-content .markdown-table th{word-wrap:break-word;overflow-wrap:break-word;white-space:normal;width:auto}.message-content .markdown-table td{border-bottom:1px solid #e0e0e0;line-height:1.4;padding:10px 8px;vertical-align:top}.message-content .markdown-table tr:nth-child(2n){background-color:#f8f9fa}.message-content .markdown-table tr:hover{background-color:#e8f4f1}.message-content .markdown-table tr:last-child td{border-bottom:none}.message.user .message-content .table-container{box-shadow:0 2px 8px #0003}.message.user .message-content .markdown-table{box-shadow:none}.message.user .message-content .markdown-table th{background:#fff3;border-bottom:2px solid #ffffff4d;color:#fff}.message.user .message-content .markdown-table td{border-bottom:1px solid #fff3}.message.user .message-content .markdown-table tr:nth-child(2n){background-color:#ffffff1a}.message.user .message-content .markdown-table tr:hover{background-color:#ffffff26}.message.user .message-content h1,.message.user .message-content h2,.message.user .message-content h3,.message.user .message-content strong{color:#fff}.message.user .message-content code{background-color:#fff3;color:#fff}.message.user .message-content a{color:#b3d9cc}.message-actions{display:flex;gap:5px;margin-top:8px}.message-action-btn{align-items:center;background:none;border:1px solid #ddd;border-radius:50%;cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;transition:all .2s;width:28px}.message-action-btn:hover{background:#f0f0f0}.message-action-btn.liked{background:#2d5a4a;border-color:#2d5a4a;color:#fff}.message-action-btn.disliked{background:#ff6b6b;border-color:#ff6b6b;color:#fff}.message-action-btn.disabled{cursor:not-allowed;opacity:.5}.numbered-list{counter-reset:item-counter;list-style:none;margin:15px 0;padding:0}.numbered-list li{align-items:flex-start;counter-increment:item-counter;display:flex;gap:10px;margin-bottom:8px}.numbered-list li:before{align-items:center;background:#2d5a4a;border-radius:50%;color:#fff;content:counter(item-counter);display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:20px;justify-content:center;margin-top:2px;width:20px}.reference-title{font-weight:600;margin-top:15px}.reference-link{background:none;border:none;border-radius:2px;color:#2d5a4a;cursor:pointer;font-family:inherit;font-size:.9rem;padding:2px 4px;text-decoration:underline;transition:all .2s ease}.reference-link:hover{background-color:#2d5a4a1a;color:#1f3f33;text-decoration:none}.reference-link:focus{outline:2px solid #2d5a4a;outline-offset:1px}.reference-link:active{transform:translateY(1px)}.message-sources{background:#f8f9fa;border-left:3px solid #2d5a4a;border-radius:8px;margin-top:12px;padding:10px}.sources-header{color:#2d5a4a;font-size:.85rem;font-weight:600;margin-bottom:8px}.sources-list{display:flex;flex-direction:column;gap:4px}.source-citation{background:none;border:none;color:#2d5a4a;cursor:pointer;font-size:.8rem;padding:2px 0;text-align:left;text-decoration:underline;transition:color .2s}.source-citation:hover{background:#2d5a4a0d;color:#1f3f33}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.message-content .markdown-table{font-size:.8em;min-width:100%}.message-content .markdown-table td,.message-content .markdown-table th{word-wrap:break-word;min-width:auto;padding:8px 10px;white-space:normal}}.input-container{align-items:flex-end;display:flex;gap:10px}.chat-input{border:1px solid #ddd;border-radius:25px;flex:1 1;font-family:inherit;max-height:120px;min-height:45px;outline:none;padding:12px 20px;resize:none}.chat-input:focus{border-color:#2d5a4a}.send-button{align-items:center;background:#2d5a4a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:45px;justify-content:center;transition:background .2s;width:45px}.send-button:hover:not(:disabled){background:#1f3f33}.send-button:disabled{cursor:not-allowed;opacity:.5}.feedback-area{background:#f8f9fa;border-radius:8px;color:#2d5a4a;display:none;font-size:.9rem;margin-bottom:15px;padding:10px}.feedback-area.active{display:block}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.quick-action-btn{background:#2d5a4a;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 16px;transition:background .2s}.quick-action-btn:hover{background:#1f3f33}.trenitalia-chat-overlay{background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}.trenitalia-chat-container{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;height:95vh;max-width:calc(100vw - 60px);position:fixed;right:30px;top:50%;transform:translateY(-50%);transition:width .3s ease;width:650px;z-index:2001}.trenitalia-chat-header{align-items:center;background:#2d5a4a;border-bottom:3px solid #c41e3a;border-radius:12px 12px 0 0;color:#fff;display:flex;gap:1rem;justify-content:space-between;padding:15px 20px}.trenitalia-chat-header-left{align-items:center;display:flex;gap:10px}.trenitalia-chat-header-title{font-size:1rem;font-weight:600}.trenitalia-chat-header-subtitle{font-size:.7rem;margin-top:2px;opacity:.7}.trenitalia-chat-controls{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.trenitalia-chat-control-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;padding:5px;transition:background .2s;width:100%}.trenitalia-chat-control-btn:hover{background:#ffffff1a}.trenitalia-chat-control-btn.config-btn{font-size:16px;position:relative}.trenitalia-chat-control-btn.config-btn.modified{background:#ffc10733}.trenitalia-chat-messages{display:flex;flex:1 1;flex-direction:column;gap:15px;overflow-y:auto;padding:20px}.trenitalia-chat-input-area{border-top:1px solid #e0e0e0;padding:20px}.trenitalia-chat-config-indicator{color:#ffc107;font-size:20px;line-height:1;position:absolute;right:2px;top:2px}.trenitalia-chat-suggestion-area{background:#f8f9fa;border-radius:8px;margin-bottom:15px;padding:15px}.trenitalia-chat-suggestion-message{color:#666;font-size:.9rem;margin-bottom:10px}.trenitalia-chat-suggestion-input{border:1px solid #ddd;border-radius:8px;font-size:.9rem;margin-bottom:10px;padding:8px 12px;width:100%}.trenitalia-chat-suggestion-buttons{display:flex;gap:10px;justify-content:flex-end}.trenitalia-chat-suggestion-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;padding:6px 16px;transition:background .2s}.trenitalia-chat-suggestion-btn.send{background:#2d5a4a;color:#fff}.trenitalia-chat-suggestion-btn.cancel{background:#c41e3a;color:#fff}@media (max-width:371px){.trenitalia-chat-header{gap:0;padding:15px}.trenitalia-chat-control-btn{font-size:16px}.trenitalia-chat-control-btn.config-btn{font-size:14px}.trenitalia-chat-header-title{font-size:.8rem}}@media (max-width:768px){.trenitalia-chat-container{height:90vh;left:10px;max-width:calc(100vw - 20px);right:10px;width:auto!important}.trenitalia-config-btn{flex:1 1}}.upload-overlay{align-items:center;animation:fadeIn .3s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.upload-modal{animation:slideInUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:600px;overflow:hidden;width:90%}.upload-header{align-items:center;background:linear-gradient(135deg,#2d5a4a,#1f3f33);border-bottom:3px solid #c41e3a;color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.upload-header h3{font-size:1.3rem;font-weight:600;margin:0}.upload-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;padding:8px;transition:background .2s;width:36px}.upload-close:hover{background:#ffffff1a}.upload-form{padding:30px}.form-group{margin-bottom:25px}.form-label{color:#2d5a4a;display:block;font-size:1rem;font-weight:600;margin-bottom:8px}.form-input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;outline:none;padding:12px 16px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#2d5a4a;box-shadow:0 0 0 3px #2d5a4a1a}.date-input{cursor:pointer}.textarea-input{font-family:inherit;min-height:120px;resize:vertical}.form-help{color:#666;display:block;font-size:.85rem;font-style:italic;margin-top:5px}.upload-result{align-items:flex-start;animation:slideInDown .3s ease;border-radius:8px;display:flex;gap:12px;margin:20px 0;padding:15px}.upload-result.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-left:4px solid #28a745}.upload-result.error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-left:4px solid #dc3545}.result-icon{flex-shrink:0;font-size:1.5rem}.result-content{flex:1 1}.result-message{color:#2d5a4a;font-weight:600;margin-bottom:5px}.result-filename{background:#ffffffb3;border-radius:4px;color:#666;display:inline-block;font-family:Courier New,monospace;font-size:.9rem;padding:4px 8px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.upload-actions{border-top:1px solid #eee;display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;min-width:140px;padding:12px 24px;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.btn-submit{background:linear-gradient(135deg,#c41e3a,#a91729);box-shadow:0 4px 12px #c41e3a4d;color:#fff}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#a91729,#8b1320);box-shadow:0 6px 16px #c41e3a66;transform:translateY(-2px)}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.upload-modal{margin:10px;width:95%}.upload-form{padding:20px}.upload-actions{flex-direction:column}.btn{width:100%}}.app-container{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;position:relative}.app-background{height:100%;left:0;object-fit:cover;position:fixed;top:0;width:100%;z-index:-1}.app-overlay{background-color:#ffffffb3;bottom:0;left:0;position:fixed;right:0;top:0;z-index:0}.app-content{position:relative;z-index:1}.logout-button{background:#2d5a4a;border:none;border-radius:8px;box-shadow:0 4px 12px #0000002e;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 18px;position:fixed;right:20px;top:20px;z-index:2}.logout-button:hover{background:#1f3f33}.hero{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:40px 20px}.intro-card{background:#ffffffe6;border:3px solid #2d5a4a;border-radius:20px;border-top:8px solid #c41e3a;box-shadow:0 10px 40px #00000026;max-width:600px;padding:40px;text-align:center;width:100%}.intro-logo-container{display:flex;justify-content:center;margin-bottom:25px}.intro-title{color:#2d5a4a;font-size:2.2rem;font-weight:700;letter-spacing:-.5px;margin:0 0 15px}.intro-text{color:#333;font-size:1.1rem;line-height:1.6;margin:0 0 25px}.intro-button{background:linear-gradient(135deg,#2d5a4a,#1f3f33);border:none;border-radius:12px;box-shadow:0 4px 15px #2d5a4a4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:16px 40px;transition:all .3s ease;width:100%}.intro-button:hover{box-shadow:0 6px 20px #2d5a4a66;transform:translateY(-2px)}.intro-button:active{box-shadow:0 4px 15px #2d5a4a4d;transform:translateY(0)}@media (max-width:450px){.intro-card{padding:14px}.intro-title{font-size:1.8rem}.intro-button{padding:18px 4px}}.faq-page-container{align-items:center;background:linear-gradient(135deg,#2d5a4a,#1f3f33);color:#fff;height:100vh;justify-content:flex-start;padding-top:15vh}.faq-page,.faq-page-container{display:flex;flex-direction:column}.faq-page{justify-content:center;width:35%}.faq-page-header{flex-direction:column;gap:1.8rem;height:100%;margin-bottom:1rem}.faq-page-header,.faq-page-header-back{display:flex;justify-content:space-between}.faq-page-header-back{align-items:start;cursor:pointer;width:5.5rem}.faq-page-header-back-text{font-size:14px;line-height:1.5}.faq-page-header-arrow{width:1.5rem}.faq-page-title{font-size:40px}.faq-page-subtitle{font-size:14px;font-weight:400}.faq-page-dropdown-list{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;list-style:none}.faq-page-question-container{border:1.5px solid #fff;border-radius:8px;cursor:pointer;padding:.7rem .9rem;transition:all .4s ease;width:100%}.faq-page-question-container.selected{background:linear-gradient(135deg,#4a7a66,#3a5f4f)}.faq-page-question{align-items:center;display:flex;font-weight:700;justify-content:space-between}.faq-page-question-arrow{transition:rotate .4s ease}.faq-page-question-arrow.selected{rotate:180deg}.faq-page-answer{display:grid;font-size:13px;grid-template-rows:0fr;overflow:hidden;padding-top:0;transition:grid-template-rows .4s ease,padding .4s ease}.faq-page-answer.open{grid-template-rows:1fr;padding-top:.3rem}.faq-page-answer-inner{min-height:0;opacity:0;overflow:hidden;transition:opacity .2s ease}.faq-page-answer.open .faq-page-answer-inner{opacity:1;transition:opacity .3s ease .1s}.sso-callback-container{align-items:center;display:flex;height:100vh;justify-content:center;position:relative;width:100%}.sso-callback-background{object-fit:cover;z-index:1}.sso-callback-background,.sso-callback-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.sso-callback-overlay{background-color:#00000080;z-index:2}.sso-callback-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0000004d;color:#fff;padding:40px 60px;position:relative;text-align:center;z-index:3}.sso-callback-spinner{animation:spin 2s linear infinite;height:60px;margin-bottom:20px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sso-callback-success-icon{background-color:#4caf50}.sso-callback-error-icon,.sso-callback-success-icon{align-items:center;animation:scaleIn .5s ease;border-radius:50%;color:#fff;display:flex;font-size:48px;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.sso-callback-error-icon{background-color:#f44336}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.sso-callback-content h2{font-size:24px;margin:0 0 10px}.sso-callback-content p{font-size:16px;margin:5px 0;opacity:.9}.sso-callback-redirect-text{font-size:14px;font-style:italic;margin-top:15px}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.5b8acec1.css.map*/