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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.top-left-logo{left:1.25rem;position:absolute;top:1.25rem;z-index:10}.header-logo{height:42px;opacity:.8;width:auto}.access-btn{background:#2d3748!important;border:1px solid #2d3748!important;border-radius:4px;color:#fff!important;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;position:absolute;right:2rem;top:1.1rem;transition:all .2s ease;z-index:10}.access-btn:hover{background:#4a5568!important;border-color:#4a5568!important}.access-btn:active{transform:translateY(1px)}.access-btn:disabled{cursor:not-allowed;opacity:.6}.access-btn.loading{opacity:.7}.landing-footer{bottom:0;left:0;padding:1rem;position:absolute;right:0;text-align:center;z-index:3}.landing-footer p{color:#fff6;font-size:.85rem;font-weight:300;letter-spacing:.5px;margin:0}.landing-container{align-items:center;background:linear-gradient(135deg,#0a0e27,#1a1d3a);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.background-grid{animation:grid-move 20s linear infinite;background-image:linear-gradient(#ffffff08 1px,#0000 0),linear-gradient(90deg,#ffffff08 1px,#0000 0);background-size:50px 50px;bottom:0;left:0;position:absolute;right:0;top:0}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.landing-content{max-width:800px;padding:2rem;text-align:center;z-index:2}.hero-section{margin-bottom:4rem}.hero-logo{margin-bottom:2rem;text-align:center}.logo-image{height:auto;max-width:300px;opacity:.9}.hero-image{align-items:center;display:flex;height:200px;justify-content:center;margin-bottom:3rem}.abstract-visualization{height:200px;position:relative;width:300px}.wave{animation:wave-expand 4s ease-out infinite;background:#0000;border:2px solid #64b5f699;border-radius:50%;position:absolute}.wave-1{height:50px;left:25%;top:40%;width:50px}.wave-2{animation-delay:1.3s;height:60px;left:60%;top:35%;width:60px}.wave-3{animation-delay:2.6s;height:40px;left:45%;top:65%;width:40px}.interference-point{animation:interference-glow 2s ease-in-out infinite;background:#64b5f6;border-radius:50%;box-shadow:0 0 15px #64b5f699;height:8px;position:absolute;width:8px}.point-1{left:45%;top:45%}.point-2{animation-delay:1s;left:55%;top:55%}@keyframes wave-expand{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(3)}}@keyframes interference-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.hero-text{color:#fff}.main-title{background:linear-gradient(135deg,#fff,#a8b2d1);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.1;margin-bottom:1.5rem}.accent-text,.main-title{-webkit-text-fill-color:#0000}.accent-text{background:linear-gradient(135deg,#64ffda,#3f51b5);-webkit-background-clip:text;background-clip:text}.subtitle{color:#a8b2d1;font-size:1.2rem;font-weight:300;line-height:1.6;margin:0 auto;max-width:600px;opacity:.9}.cta-section{flex-direction:column;gap:1.5rem}.cta-section,.sign-in-btn{align-items:center;display:flex}.sign-in-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #667eea4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;gap:.75rem;min-width:200px;overflow:hidden;padding:1rem 2rem;position:relative;transition:all .3s ease}.sign-in-btn:hover{box-shadow:0 12px 40px #667eea66;transform:translateY(-2px)}.sign-in-btn:active{transform:translateY(0)}.sign-in-btn.loading{cursor:not-allowed;opacity:.8}.sign-in-btn.loading:after{animation:loading-shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}.google-icon{background:#fff;border-radius:4px;padding:2px}.error-message{background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;box-shadow:0 4px 12px #00000026;color:#1976d2;font-size:14px;font-weight:500;left:50%;max-width:90vw;min-width:300px;padding:12px 20px;position:fixed;text-align:center;top:80px;transform:translateX(-50%);width:auto;z-index:1000}.access-note{color:#6b7280;font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}@media (max-width:768px){.landing-content{padding:1rem}.hero-image{height:150px;margin-bottom:2rem}.abstract-visualization{height:150px;width:250px}.subtitle{font-size:1.1rem}.sign-in-btn{font-size:1rem;padding:.875rem 1.5rem}}@media (max-width:480px){.hero-section{margin-bottom:3rem}.subtitle{font-size:1rem}}.dashboard-container{background:#f8fafc;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;overflow-x:hidden}.sidebar{background:linear-gradient(180deg,#1e293b,#0f172a);box-shadow:2px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;transition:width .3s ease}.sidebar.open{width:280px}.sidebar.collapsed{width:70px}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;min-height:80px;padding:1.5rem 1rem}.logo,.sidebar-header{align-items:center;display:flex}.logo{flex:1 1;gap:.75rem;justify-content:flex-start}.sidebar-logo-image{align-items:center;display:flex;justify-content:center}.sidebar-logo{height:40px;opacity:.9;width:auto}.logo-icon{align-items:center;background:linear-gradient(135deg,#64ffda,#3f51b5);border-radius:10px;display:flex;flex-shrink:0;font-size:2rem;height:40px;justify-content:center;width:40px}.logo-text h1{font-size:1.25rem;font-weight:700;line-height:1.2;margin:0}.logo-text span{color:#94a3b8;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.sidebar-toggle{align-items:center;background:#ffffff1a;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;transition:background-color .2s ease;width:32px}.sidebar-toggle:hover{background:#fff3}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.nav-item{align-items:center;border-left:3px solid #0000;color:#cbd5e1;display:flex;gap:.75rem;margin:.25rem 0;padding:.875rem 1rem;text-decoration:none;transition:all .2s ease}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#64ffda1a;border-left-color:#64ffda;color:#64ffda}.nav-icon{flex-shrink:0;font-size:1.25rem;text-align:center;width:24px}.nav-content{display:flex;flex-direction:column;gap:.125rem;min-width:0;text-align:left}.nav-label{font-size:.875rem;font-weight:600;line-height:1.2}.nav-description{color:#94a3b8;font-size:.75rem;line-height:1.2}.sidebar-footer{border-top:1px solid #ffffff1a;padding:1rem}.user-info{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.5rem}.user-avatar{border-radius:50%;flex-shrink:0;height:40px;overflow:hidden;width:40px}.user-avatar img{height:100%;object-fit:cover;width:100%}.user-details{display:flex;flex-direction:column;gap:.125rem;min-width:0}.user-name{font-size:.875rem;font-weight:600}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#94a3b8;font-size:.75rem}.logout-btn{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;color:#fca5a5;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem;transition:all .2s ease;width:100%}.logout-btn:hover{background:#ef444433;color:#f87171}.logout-icon{font-size:1rem}.main-content{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.content-wrapper{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1400px;overflow-x:hidden;overflow-y:auto;padding:2rem;width:100%}@media (max-width:768px){.sidebar.open{position:fixed;width:100%;z-index:1000}.sidebar.collapsed{overflow:hidden;width:0}.content-wrapper{margin:0;max-width:100%;padding:.5rem;width:100%}.sidebar-header{padding:1rem}.user-info{flex-direction:column;text-align:center}}@media (max-width:480px){.content-wrapper{padding:.75rem}}.modal-overlay{padding:1rem}.modal-content{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%}.modal-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem 1.5rem 0}.modal-header h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.close-btn:hover{background:#f1f5f9;color:#334155}.entity-form{padding:0 1.5rem 1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#1e293b;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input::placeholder{color:#9ca3af}.form-group select{cursor:pointer}.error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1.5rem;padding:.75rem}.error-message:before{content:"⚠️";font-size:1rem}.form-actions{border-top:1px solid #f1f5f9;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.cancel-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-btn{background:#f8fafc;border:1px solid #e2e8f0;color:#64748b}.cancel-btn:hover:not(:disabled){background:#f1f5f9;color:#475569}.submit-btn{background:#1e293b;color:#fff}.submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #1e293b4d;transform:translateY(-1px)}.cancel-btn:disabled,.submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.submit-btn:disabled{position:relative}.submit-btn:disabled:after{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;content:"";height:16px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:16px}@media (max-width:640px){.modal-overlay{padding:.5rem}.modal-header{margin-bottom:1rem;padding:1rem 1rem 0}.modal-header h2{font-size:1.25rem}.entity-form{padding:0 1rem 1rem}.form-actions{flex-direction:column;gap:.75rem}.cancel-btn,.submit-btn{padding:1rem;width:100%}}.entities-page{margin:0 auto;max-width:1200px}.entities-page,.page-header{box-sizing:border-box;width:100%}.page-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.header-content h1{color:#1e293b;font-size:2rem;font-weight:700;margin:0 0 .5rem}.header-content p{color:#64748b;font-size:1rem;margin:0}.add-entity-btn{align-items:center;background:#1e293b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.add-entity-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.add-entity-btn.primary{background:linear-gradient(135deg,#10b981,#059669);font-size:1.1rem;padding:1rem 2rem}.btn-icon{font-size:1.2rem;font-weight:700}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.error-state{background:#fff;border:1px solid #fecaca;border-radius:12px;margin:2rem 0}.error-icon{font-size:4rem;margin-bottom:1rem;opacity:.6}.error-state h3{color:#dc2626;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.error-state p{color:#7f1d1d;margin:0 0 2rem}.retry-btn{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.retry-btn:hover{background:#b91c1c;transform:translateY(-1px)}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#1e293b;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.entities-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:2rem}.entity-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s ease}.entity-card:hover{border-color:#cbd5e1;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.entity-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.entity-name{color:#1e293b;font-size:1.25rem;font-weight:700;line-height:1.3;margin:0}.entity-actions{display:flex;gap:.5rem}.action-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.action-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.action-btn.edit:hover{background:#fef3c7;border-color:#fbbf24}.action-btn.delete:hover{background:#fee2e2;border-color:#f87171}.entity-details{margin-bottom:1.5rem}.detail-item{align-items:center;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem}.detail-label{color:#64748b;font-weight:600;min-width:60px}.detail-link{color:#3b82f6;text-decoration:none;transition:color .2s ease}.detail-link:hover{color:#1e293b;text-decoration:underline}.detail-value{color:#1e293b}.progress-section{margin-bottom:1.5rem}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-label{color:#374151;font-size:.875rem;font-weight:600}.progress-percentage{color:#1e293b;font-size:.875rem;font-weight:700}.progress-bar{background:#f1f5f9;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-fill{border-radius:4px;height:100%;transition:width .3s ease}.task-summary{color:#64748b;font-size:.75rem}.completed-count{color:#059669;font-weight:500}.entity-footer{border-top:1px solid #f1f5f9;padding-top:1rem}.view-details-btn{background:#0000;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s ease;width:100%}.view-details-btn:hover{background:#f8fafc;border-color:#1e293b}.empty-state{background:#fff;border:2px dashed #e2e8f0;border-radius:12px;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.6}.empty-state h3{color:#374151;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.empty-state p{color:#64748b;margin:0 0 2rem}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.modal-content h2{color:#1e293b;margin:0 0 1rem}@media (max-width:1024px){.entities-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:1rem;width:100%}.add-entity-btn{align-self:stretch;max-width:none;width:100%}.entities-grid{gap:1rem;grid-template-columns:1fr}.entity-card{padding:1rem}.header-content h1{font-size:1.75rem}}@media (max-width:600px){.entities-page{padding:0 1rem}.page-header{margin-bottom:1.5rem}.add-entity-btn{justify-content:center;margin-top:.5rem;width:100%}.entities-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.entity-card{min-width:280px}}@media (max-width:480px){.entities-page{margin:0;padding:0}.page-header{margin:0 0 1rem;padding:0}.add-entity-btn{flex-shrink:1;font-size:.875rem;min-width:0;padding:.625rem 1rem}}@media (max-width:400px){.add-entity-btn{font-size:.8rem;max-width:140px;overflow:hidden;padding:.5rem .75rem;text-overflow:ellipsis;white-space:nowrap}.btn-icon{display:none}.entity-details{margin-bottom:1rem}.detail-item{align-items:flex-start;flex-direction:column;gap:.25rem}.detail-label{min-width:auto}}.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.21ca920b.css.map*/