*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.container{max-width:1200px;text-align:center;width:100%}.header{color:#fff;margin-bottom:40px}.title{font-size:3.5rem;font-weight:700;margin-bottom:10px;text-shadow:2px 2px 4px #0003}.subtitle{font-size:1.5rem;font-weight:300;opacity:.9}.content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:40px}.card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;padding:30px;transition:transform .3s ease,box-shadow .3s ease}.card:hover{box-shadow:0 15px 40px #0000004d;transform:translateY(-5px)}.card h2{color:#667eea;font-size:1.8rem;margin-bottom:15px}.card p{color:#333;line-height:1.6;margin-bottom:10px}.status{color:#28a745;font-size:1.2rem;font-weight:600}.footer{color:#fff;margin-top:40px;opacity:.8}.projects-section{margin:60px 0 40px;text-align:left}.section-title{color:#fff;font-size:2.5rem;margin-bottom:30px;text-align:center;text-shadow:2px 2px 4px #0003}.projects-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:30px}.project-card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;padding:25px;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{box-shadow:0 15px 40px #0000004d;transform:translateY(-5px)}.project-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.project-card h3{color:#667eea;font-size:1.5rem;margin:0}.project-status{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.status-active{background:#d4edda;color:#155724}.status-development{background:#fff3cd;color:#856404}.status-archived{background:#f8d7da;color:#721c24}.project-description{color:#666;flex-grow:1;line-height:1.6;margin-bottom:15px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.project-tag{background:#f0f0f0;border-radius:12px;color:#667eea;font-size:.85rem;font-weight:500;padding:4px 10px}.project-links{border-top:1px solid #eee;display:flex;gap:15px;margin-top:auto;padding-top:15px}.project-link{color:#667eea;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .3s ease}.project-link:hover{color:#764ba2;text-decoration:underline}.project-link-live{color:#28a745}.project-link-live:hover{color:#218838}.project-link-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:8px 16px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.project-link-button:hover{box-shadow:0 4px 12px #667eea66;color:#fff;text-decoration:none;transform:translateY(-2px)}@media (max-width:768px){.title{font-size:2.5rem}.subtitle{font-size:1.2rem}.content,.projects-grid{grid-template-columns:1fr}.section-title{font-size:2rem}}.chat-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-window{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;height:80vh;max-height:700px;max-width:600px;width:90%}.chat-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.chat-header h3{font-size:1.5rem;margin:0}.chat-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:background .3s ease;width:32px}.chat-close-btn:hover{background:#ffffff4d}.chat-messages{background:#f8f9fa;display:flex;flex:1 1;flex-direction:column;gap:15px;overflow-y:auto;padding:20px}.chat-welcome{color:#666;padding:40px 20px;text-align:center}.chat-welcome p{font-size:1.1rem;margin:10px 0}.chat-welcome-subtitle{color:#999;font-size:.9rem!important}.chat-error{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;color:#856404;margin:10px;padding:15px;text-align:center}.chat-error p{margin:0 0 10px}.chat-retry-btn{background:#ffc107;border:none;border-radius:6px;color:#856404;cursor:pointer;font-weight:600;padding:8px 16px;transition:background .3s ease}.chat-retry-btn:hover{background:#ffb300}.chat-message{display:flex;margin-bottom:10px}.chat-message.user{justify-content:flex-end}.chat-message.ai{justify-content:flex-start}.chat-message-content{border-radius:12px;max-width:70%;padding:12px 16px;position:relative}.chat-message.user .chat-message-content{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom-right-radius:4px;color:#fff}.chat-message.ai .chat-message-content{background:#fff;border-bottom-left-radius:4px;box-shadow:0 2px 8px #0000001a;color:#333}.chat-message-content p{line-height:1.5;margin:0 0 5px}.chat-timestamp{display:block;font-size:.75rem;margin-top:5px;opacity:.7}.chat-typing-indicator{display:flex;gap:4px;padding:8px 0}.chat-typing-indicator span{animation:typing 1.4s infinite;background:#667eea;border-radius:50%;height:8px;width:8px}.chat-typing-indicator span:nth-child(2){animation-delay:.2s}.chat-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.chat-input-form{background:#fff;border-radius:0 0 16px 16px;border-top:1px solid #e0e0e0;display:flex;gap:10px;padding:20px}.chat-input{border:2px solid #e0e0e0;border-radius:24px;flex:1 1;font-size:1rem;outline:none;padding:12px 16px;transition:border-color .3s ease}.chat-input:focus{border-color:#667eea}.chat-send-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:24px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease}.chat-send-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.chat-send-btn:disabled{cursor:not-allowed;opacity:.5}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#764ba2}@media (max-width:768px){.chat-window{height:90vh;max-height:none;width:95%}.chat-message-content{max-width:85%}}.auth-guard-overlay{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.auth-guard-container{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:40px;text-align:center;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.auth-header{margin-bottom:30px}.auth-header h2{color:#667eea;font-size:2rem;margin:0 0 10px}.auth-header p{color:#666;font-size:1rem;margin:0}.auth-loading{padding:40px 20px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-qr-section{align-items:center;display:flex;flex-direction:column;gap:30px}.qr-code-container{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;justify-content:center;padding:20px}.auth-instructions h3{color:#333;font-size:1.2rem;margin:0 0 15px}.auth-instructions ol{margin:0 0 20px}.auth-status-waiting{align-items:center;background:#f0f7ff;border-radius:8px;color:#667eea;display:flex;font-weight:600;gap:10px;justify-content:center;padding:15px}.pulse-dot{animation:pulse 1.5s ease-in-out infinite;background:#667eea;border-radius:50%;height:12px;width:12px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.auth-error{color:#d32f2f;padding:20px}.auth-error p{font-size:1.1rem;margin:0 0 20px}.auth-retry-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease}.auth-retry-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.auth-footer{border-top:1px solid #e0e0e0;margin-top:30px;padding-top:20px}.auth-security-note{color:#666;font-size:.9rem;margin:0}.auth-invite-section{padding:20px 0}.auth-form{gap:20px}.auth-form,.auth-input-group{display:flex;flex-direction:column}.auth-input-group{gap:8px}.auth-input-group label{color:#333;font-size:.95rem;font-weight:600}.auth-input{border:2px solid #e0e0e0;border-radius:8px;font-size:1.1rem;font-weight:600;letter-spacing:2px;outline:none;padding:12px 16px;text-align:center;text-transform:uppercase;transition:border-color .3s ease}.auth-input:focus{border-color:#667eea}.auth-code-input{font-family:Courier New,monospace;font-size:1.5rem;letter-spacing:8px}.auth-submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 24px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.auth-submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.auth-link-btn{background:#0000;border:none;color:#667eea;cursor:pointer;font-size:.9rem;margin-top:10px;padding:10px;text-decoration:underline}.auth-link-btn:hover{color:#764ba2}.auth-error-message{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.9rem;padding:12px}.auth-info{background:#f0f7ff;border-radius:8px;color:#667eea;font-size:.9rem;margin-top:20px;padding:15px;text-align:center}.auth-totp-setup{align-items:center;display:flex;flex-direction:column;gap:20px}.auth-totp-setup h3{color:#667eea;font-size:1.5rem;margin:0}.auth-subtitle{color:#666;font-size:1rem;margin:0 0 20px}.auth-instructions{background:#f8f9fa;border-radius:8px;padding:20px;text-align:left;width:100%}.auth-instructions h4{color:#333;font-size:1.1rem;margin:0 0 10px}.auth-instructions ol{color:#666;line-height:1.8;margin:0;padding-left:20px}.auth-instructions li{margin-bottom:8px}.auth-actions{gap:10px;margin-top:20px;width:100%}.auth-actions,.auth-totp-verify{display:flex;flex-direction:column}.auth-totp-verify{gap:20px}.auth-totp-verify h3{color:#667eea;font-size:1.5rem;margin:0;text-align:center}@media (max-width:768px){.auth-guard-container{padding:30px 20px}.qr-code-container{padding:15px}.qr-code-container canvas{height:200px!important;width:200px!important}}.admin-login-blank{background:#fff;bottom:0;left:0;margin:0;min-height:100vh;padding:0;position:fixed;right:0;top:0;width:100vw}.admin-login-blank,.admin-login-form-blank{align-items:center;display:flex;justify-content:center}.admin-login-form-blank{flex-direction:column;max-width:300px;width:100%}.admin-password-input-blank{background:#fff;border:1px solid #d0d0d0;border-radius:4px;color:#000;font-size:16px;outline:none;padding:12px 16px;text-align:center;transition:border-color .2s ease;width:100%}.admin-password-input-blank:focus{border-color:grey;outline:none}.admin-password-input-blank::placeholder{color:#0000}.admin-error-blank{color:#c00;font-size:14px;margin-top:10px;min-height:20px;text-align:center}.admin-dashboard{background:#f5f5f5;min-height:100vh;padding:20px}.admin-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px 30px}.admin-header h1{color:#667eea;font-size:2rem;margin:0}.admin-logout-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .3s ease}.admin-logout-btn:hover{background:#c82333}.admin-content{margin:0 auto;max-width:1200px}.admin-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:30px}.admin-section h2{color:#333;font-size:1.5rem;margin:0 0 20px}.admin-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#666;font-size:.9rem;font-weight:600}.form-group input{border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;outline:none;padding:10px 12px;transition:border-color .3s ease}.form-group input:focus{border-color:#667eea}.admin-generate-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:14px 24px;transition:transform .2s ease}.admin-generate-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.admin-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.admin-copy-all-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .3s ease}.admin-copy-all-btn:hover{background:#218838}.codes-list{display:flex;flex-direction:column;gap:15px}.code-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:20px}.code-header{justify-content:space-between;margin-bottom:10px}.code-actions,.code-header{align-items:center;display:flex}.code-actions{gap:8px}.code-email-btn{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 12px;transition:background .3s ease}.code-email-btn:hover{background:#138496}.code-value{color:#667eea;font-family:Courier New,monospace;font-size:1.3rem;font-weight:700;letter-spacing:2px}.code-copy-btn{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 12px;transition:background .3s ease}.code-copy-btn:hover{background:#764ba2}.code-details{color:#666;display:flex;flex-wrap:wrap;font-size:.9rem;gap:20px;margin-bottom:15px}.code-details span{background:#fff;border-radius:4px;padding:4px 8px}.code-snippet{background:#2d2d2d;border-radius:6px;color:#f8f8f2;overflow-x:auto;padding:15px}.code-snippet pre{font-family:Courier New,monospace;font-size:.85rem;line-height:1.5;margin:0}.admin-instructions{color:#666;line-height:1.8;padding-left:20px}.admin-instructions li{margin-bottom:10px}.admin-instructions code{background:#f0f0f0;border-radius:4px;color:#667eea;font-family:Courier New,monospace;font-size:.9rem;padding:2px 6px}.email-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.email-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.email-modal-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 30px}.email-modal-header h3{color:#333;font-size:1.3rem;margin:0}.email-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:2rem;height:30px;justify-content:center;padding:0;transition:background .2s ease;width:30px}.email-modal-close:hover{background:#f0f0f0;color:#333}.email-modal-content{padding:30px}.email-code-preview{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:15px;text-align:center}.email-code-value{color:#667eea;font-family:Courier New,monospace;font-size:1.2rem;font-weight:700;letter-spacing:2px;margin-left:10px}.email-form{display:flex;flex-direction:column;gap:20px}.email-error{background:#fee;color:#c33}.email-error,.email-success{border-radius:6px;font-size:.9rem;padding:12px}.email-success{background:#efe;color:#3c3;font-weight:600;text-align:center}.email-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.email-cancel-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .3s ease}.email-cancel-btn:hover:not(:disabled){background:#5a6268}.email-cancel-btn:disabled{cursor:not-allowed;opacity:.6}.email-send-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:transform .2s ease}.email-send-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.email-send-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.email-config-note{background:#f8f9fa;border-left:4px solid #667eea;border-radius:6px;color:#666;font-size:.85rem;margin-top:20px;padding:15px}.email-config-note p{margin:5px 0}.email-config-note code{background:#e9ecef;border-radius:3px;display:block;font-family:Courier New,monospace;font-size:.8rem;margin-top:5px;padding:2px 6px;word-break:break-all}@media (max-width:768px){.admin-header{align-items:flex-start;flex-direction:column;gap:15px}.form-row{grid-template-columns:1fr}.code-details{flex-direction:column;gap:8px}.code-actions{flex-direction:column;width:100%}.code-copy-btn,.code-email-btn{width:100%}.email-modal{margin:10px;max-width:100%}.email-modal-actions{flex-direction:column}.email-cancel-btn,.email-send-btn{width:100%}}
/*# sourceMappingURL=main.ac3f004e.css.map*/