:root{--color-primary-400: #34d399;--color-primary-500: #10b981;--color-primary-600: #059669;--color-neutral-white: #ffffff;--color-neutral-50: #fafaf9;--color-neutral-100: #f5f5f4;--color-neutral-200: #e7e5e4;--color-neutral-300: #d6d3d1;--color-neutral-400: #a8a29e;--color-neutral-500: #78716c;--color-neutral-600: #57534e;--color-neutral-700: #44403c;--color-neutral-800: #292524;--color-neutral-900: #1c1917;--color-neutral-black: #000000;--color-success-100: #d1fae5;--color-success-500: #10b981;--color-success-600: #059669;--color-success-800: #065f46;--color-warning-100: #fef9c3;--color-warning-500: #eab308;--color-warning-800: #854d0e;--color-warning-900: #713f12;--color-error-100: #fee2e2;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-info-100: #dbeafe;--color-info-800: #1e40af;--color-revision-100: #ffedd5;--color-revision-500: #f97316;--color-revision-800: #9a3412;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-12: 3rem;--spacing-16: 4rem;--font-family-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-size-base: 16px;--text-2xs: .625rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 2.5rem;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem}html,body,#root{height:100%}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-sans);background-color:var(--color-neutral-50);color:var(--color-neutral-800);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}body.allow-selection,body.allow-selection *{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);color:var(--color-neutral-800);line-height:var(--leading-tight);margin:0}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}.btn{padding:var(--spacing-2) var(--spacing-4);border-radius:var(--border-radius-md);border:1px solid transparent;font-weight:var(--font-bold);cursor:pointer;font-family:var(--font-family-sans);font-size:var(--text-sm);line-height:1.25rem;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus{outline:none;box-shadow:0 0 0 2px var(--color-neutral-white),0 0 0 4px var(--color-primary-400)}.btn-sm{padding:var(--spacing-1) var(--spacing-3);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:1.25rem}.btn-icon{padding:var(--spacing-2)}.btn-primary{background-color:var(--color-primary-500);color:var(--color-neutral-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-600)}.btn-primary:focus{box-shadow:0 0 0 2px var(--color-neutral-white),0 0 0 4px var(--color-primary-500)}.btn-secondary{background-color:var(--color-neutral-700);color:var(--color-neutral-white)}.btn-secondary:hover:not(:disabled){background-color:var(--color-neutral-600)}.btn-secondary:focus{box-shadow:0 0 0 2px var(--color-neutral-white),0 0 0 4px var(--color-neutral-500)}.btn-success{background-color:var(--color-success-500);color:var(--color-neutral-white)}.btn-success:hover:not(:disabled){background-color:var(--color-success-600)}.btn-success:focus{box-shadow:0 0 0 2px var(--color-neutral-white),0 0 0 4px var(--color-success-500)}.btn-danger{background-color:var(--color-error-600);color:var(--color-neutral-white)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-700)}.btn-danger:focus{box-shadow:0 0 0 2px var(--color-neutral-white),0 0 0 4px var(--color-error-500)}.btn-ghost{background-color:var(--color-neutral-200);color:var(--color-neutral-800)}.btn-ghost:hover:not(:disabled){background-color:var(--color-neutral-300)}.btn-ghost:focus{box-shadow:0 0 0 2px var(--color-neutral-white),0 0 0 4px var(--color-neutral-400)}.btn-secondary-light{background-color:var(--color-neutral-white);color:var(--color-neutral-700);border-color:var(--color-neutral-300);box-shadow:var(--shadow-sm)}.btn-secondary-light:hover:not(:disabled){background-color:var(--color-neutral-50)}.btn-secondary-light:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-neutral-white),0 0 0 4px var(--color-primary-400)}.ql-align-center{text-align:center}.ql-align-right{text-align:right}.ql-align-justify{text-align:justify}[data-theme=dark]{--color-primary-400: #34d399;--color-primary-500: #10b981;--color-primary-600: #059669;--color-neutral-white: #1c1917;--color-neutral-50: #1c1917;--color-neutral-100: #292524;--color-neutral-200: #44403c;--color-neutral-300: #57534e;--color-neutral-400: #78716c;--color-neutral-500: #a8a29e;--color-neutral-600: #d6d3d1;--color-neutral-700: #e7e5e4;--color-neutral-800: #f5f5f4;--color-neutral-900: #fafaf9;--color-neutral-black: #ffffff;--color-success-100: #064e3b;--color-success-800: #6ee7b7;--color-warning-100: #713f12;--color-warning-800: #fcd34d;--color-warning-900: #fef9c3;--color-error-100: #7f1d1d;--color-error-500: #f87171;--color-error-600: #ef4444;--color-error-700: #fca5a5;--color-info-100: #1e3a8a;--color-info-800: #93c5fd;--color-revision-100: #7c2d12;--color-revision-500: #fb923c;--color-revision-800: #fdba74}[data-theme=dark] body{color:var(--color-neutral-700)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{color:var(--color-neutral-800)}[data-theme=dark] .btn-secondary-light{background-color:var(--color-neutral-100);color:var(--color-neutral-700);border-color:var(--color-neutral-300)}[data-theme=dark] .btn-secondary-light:hover:not(:disabled){background-color:var(--color-neutral-200)}[data-theme=dark] .btn-ghost{background-color:var(--color-neutral-200);color:var(--color-neutral-800)}[data-theme=dark] .btn-ghost:hover:not(:disabled){background-color:var(--color-neutral-300)}[data-density=compact] .plants-table td,[data-density=compact] .plants-table th,[data-density=compact] .compounds-table td,[data-density=compact] .compounds-table th,[data-density=compact] .publications-table td,[data-density=compact] .publications-table th,[data-density=compact] .users-table td,[data-density=compact] .users-table th,[data-density=compact] .logs-table td,[data-density=compact] .logs-table th,[data-density=compact] .products-manage-table td,[data-density=compact] .products-manage-table th,[data-density=compact] .webmaster-table td,[data-density=compact] .webmaster-table th,[data-density=compact] .submissions-table td,[data-density=compact] .submissions-table th{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#1c191780;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.modal-container{background-color:var(--color-neutral-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:90%;display:flex;flex-direction:column;max-height:90vh;animation:scaleUp .2s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6) var(--spacing-8);border-bottom:1px solid var(--color-neutral-200);flex-shrink:0}.modal-header h2{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-neutral-800);margin:0}.modal-header .close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-neutral-500);padding:0;line-height:1}.modal-header .close-btn:hover{color:var(--color-neutral-800)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-6) var(--spacing-8);border-top:1px solid var(--color-neutral-200);background-color:var(--color-neutral-white);flex-shrink:0;border-bottom-left-radius:var(--border-radius-lg);border-bottom-right-radius:var(--border-radius-lg)}[data-theme=dark] .modal-overlay{background-color:#000000b3}[data-theme=dark] .modal-container,[data-theme=dark] .modal-footer{background-color:var(--color-neutral-100)}[data-theme=dark] .modal-header{border-bottom-color:var(--color-neutral-200)}[data-theme=dark] .modal-header h2{color:var(--color-neutral-800)}[data-theme=dark] .modal-footer{border-top-color:var(--color-neutral-200)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.sidebar{width:260px;background-color:var(--color-neutral-800);color:var(--color-neutral-300);padding:var(--spacing-6) var(--spacing-4);display:flex;flex-direction:column;flex-shrink:0;transition:width .3s ease,transform .3s ease;border-right:1px solid #1c1c1c;height:100vh;position:fixed;top:0;left:0;z-index:990}.logo{font-family:var(--font-family-sans);font-size:var(--text-2xl);font-weight:var(--font-bold);white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);flex-shrink:0;margin-bottom:var(--spacing-8)}.logo-icon{color:var(--color-primary-500);flex-shrink:0;transform-origin:bottom center}.logo-um{color:var(--color-primary-500)}@keyframes sway{0%{transform:rotate(0)}25%{transform:rotate(8deg)}50%{transform:rotate(-6deg)}75%{transform:rotate(4deg)}to{transform:rotate(0)}}.logo:hover .logo-icon,.logo-icon.sway-animation{animation:sway 1.5s ease-in-out}.main-nav{flex-grow:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.main-nav::-webkit-scrollbar{display:none}.main-nav ul{list-style-type:none}.nav-section-title{font-family:var(--font-family-sans);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;color:var(--color-neutral-400);padding:var(--spacing-4) var(--spacing-3) var(--spacing-2);letter-spacing:.05em}.nav-section-divider{height:1px;background-color:var(--color-neutral-800);margin:var(--spacing-4) var(--spacing-3)}.nav-item{cursor:pointer;margin-bottom:var(--spacing-1)}.nav-item a{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-3);margin:0 var(--spacing-2);border-radius:var(--border-radius-sm);text-decoration:none;color:var(--color-neutral-white);font-family:var(--font-family-sans);font-weight:var(--font-medium);font-size:var(--text-base);transition:background-color .2s ease,color .2s ease;pointer-events:none;position:relative}.nav-item:hover a{background-color:var(--color-neutral-700)}.nav-item.active a{background-color:var(--color-primary-500);color:var(--color-neutral-white)}.nav-item a svg{width:24px;height:24px;flex-shrink:0}.nav-item-badge{margin-left:auto;background-color:var(--color-warning-500);color:var(--color-neutral-white);font-size:var(--text-xs);font-weight:700;border-radius:9999px;padding:2px 8px;min-width:24px;text-align:center;line-height:1.2}.nav-item-badge-collapsed{position:absolute;top:8px;right:14px;width:10px;height:10px;border-radius:50%;background-color:var(--color-warning-500);border:2px solid var(--color-neutral-800)}.sidebar-bottom{display:flex;flex-direction:column;gap:var(--spacing-4);margin-top:var(--spacing-4);flex-shrink:0}.collapse-btn{background:none;border:none;color:var(--color-neutral-400);align-self:center;cursor:pointer;padding:var(--spacing-2);display:inline-flex;justify-content:center}.collapse-btn:hover{color:var(--color-neutral-white)}.view-switcher-section{border-top:1px solid var(--color-neutral-700);padding:var(--spacing-4) var(--spacing-2);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3)}.view-switcher-label{font-size:var(--text-sm);color:var(--color-neutral-300);text-align:center}.view-switcher-label strong{color:var(--color-neutral-white)}.sidebar.collapsed .view-switcher-section .btn{width:auto;padding:var(--spacing-2)}.impersonation-section{border-top:1px solid var(--color-neutral-700);padding:var(--spacing-4) var(--spacing-2);display:flex;justify-content:space-between;align-items:center}.impersonation-info{display:flex;align-items:center;gap:var(--spacing-3);overflow:hidden}.impersonation-avatar-wrapper{position:relative;flex-shrink:0}.impersonation-avatar-wrapper .online-indicator-impersonation{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid var(--color-neutral-800)}.online-indicator-impersonation.online{background-color:var(--color-success-500)}.online-indicator-impersonation.offline{background-color:var(--color-neutral-400)}.online-indicator-impersonation.away{background-color:var(--color-warning-500)}.online-indicator-impersonation.busy{background-color:var(--color-error-500)}.impersonation-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.impersonation-label{font-size:var(--text-xs);color:var(--color-neutral-400)}.impersonation-name{font-weight:var(--font-semibold);color:var(--color-neutral-white);white-space:normal;overflow-wrap:break-word;word-break:break-word}.view-as-user-btn{width:100%}.sidebar.collapsed .impersonation-section{justify-content:center}.sidebar.collapsed .view-as-user-btn{width:auto}.user-profile-module{border-top:1px solid var(--color-neutral-700);padding-top:var(--spacing-4)}.user-info-block{display:flex;align-items:center;gap:var(--spacing-3);padding:0 var(--spacing-2)}.user-avatar{width:40px;height:40px;border-radius:9999px;flex-shrink:0;object-fit:cover}.user-details{transition:opacity .2s ease-in-out;min-width:0}.user-name{font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-neutral-white);white-space:normal;overflow-wrap:break-word;word-break:break-word}.user-email{font-size:var(--text-xs);color:var(--color-neutral-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{width:calc(100% - var(--spacing-4));margin:var(--spacing-4) auto 0;background-color:var(--color-neutral-700);color:var(--color-neutral-white);font-weight:var(--font-bold);padding:var(--spacing-2) 0;border-radius:var(--border-radius-sm);border:none;cursor:pointer;transition:background-color .2s ease-in-out}.logout-btn:hover{background-color:var(--color-neutral-600)}.sidebar.collapsed{width:97px;padding:var(--spacing-6) var(--spacing-2)}.sidebar.collapsed .logo{justify-content:center}.sidebar.collapsed .logo-text{display:none}.sidebar.collapsed .nav-item a{justify-content:center}.sidebar.collapsed .collapse-btn{align-self:center}.sidebar.collapsed .user-info-block{justify-content:center}.sidebar.collapsed .user-details,.sidebar.collapsed .logout-btn{display:none}@media(max-width:1024px){.sidebar{z-index:999;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.collapse-btn{display:none}}.drive-image-loader{width:100%;height:100%;border-radius:inherit;background-color:var(--color-neutral-200)}.notifications-panel{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:450px;background-color:var(--color-neutral-white);border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xl);z-index:100;display:flex;flex-direction:column;overflow:hidden}[data-theme=dark] .notifications-panel{background-color:var(--color-neutral-100);border-color:var(--color-neutral-200)}.notifications-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-neutral-200)}.notifications-header h3{font-size:var(--text-base);font-weight:var(--font-bold);margin:0}.notifications-header button{background:none;border:none;font-size:var(--text-xs);color:var(--color-primary-500);cursor:pointer;font-weight:var(--font-medium)}.notifications-header button.mark-all-read-button{white-space:nowrap;text-align:center;line-height:1.2;padding:0}.notifications-list{overflow-y:auto}.notification-item{display:flex;gap:var(--spacing-4);padding:var(--spacing-4);border-bottom:1px solid var(--color-neutral-200);cursor:pointer;position:relative}.notification-item:last-child{border-bottom:none}.notification-item:hover{background-color:var(--color-neutral-50)}[data-theme=dark] .notification-item:hover{background-color:var(--color-neutral-200)}.notification-item.unread{background-color:var(--color-primary-50)}[data-theme=dark] .notification-item.unread{background-color:#34d3991a}.notification-icon{flex-shrink:0;color:var(--color-neutral-500)}.notification-content{flex-grow:1;padding-right:var(--spacing-4)}.notification-content p{font-size:var(--text-sm);line-height:var(--leading-normal);margin-bottom:var(--spacing-1)}.notification-timestamp{font-size:var(--text-xs);color:var(--color-neutral-400)}.unread-dot{position:absolute;right:var(--spacing-4);top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background-color:var(--color-primary-500)}.notification-item.unread .unread-dot{right:40px}.notification-remove-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-neutral-400);opacity:0;transition:opacity .2s;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.notification-item:hover .notification-remove-btn{opacity:1}.notification-remove-btn:hover{color:var(--color-error-500);background-color:var(--color-neutral-200)}[data-theme=dark] .notification-remove-btn:hover{background-color:var(--color-neutral-300)}.no-notifications{text-align:center;padding:var(--spacing-8);color:var(--color-neutral-500)}.main-header{display:flex;flex-direction:column;background-color:var(--color-neutral-white);border-bottom:1px solid var(--color-neutral-200);flex-shrink:0;position:relative}.user-view-banner{width:100%;background-color:var(--color-warning-500);color:var(--color-neutral-black);padding:var(--spacing-2) var(--spacing-8);display:flex;justify-content:center;align-items:center;gap:var(--spacing-4);font-weight:var(--font-bold)}.user-view-banner button{background:#0000001a!important;color:var(--color-neutral-black)!important;border:1px solid rgba(0,0,0,.2)!important;border-radius:var(--border-radius-sm)!important;padding:var(--spacing-1) var(--spacing-3)!important;font-size:var(--text-xs)!important;font-weight:var(--font-bold)!important;height:auto!important;width:auto!important}.user-view-banner button:hover{background:#0003!important}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-4) var(--spacing-8)}[data-theme=dark] .main-header{background-color:var(--color-neutral-100);border-bottom-color:var(--color-neutral-200)}.main-header button{background:none;border:none;color:var(--color-neutral-500);cursor:pointer;padding:var(--spacing-2);position:relative;border-radius:9999px;transition:background-color .2s,color .2s;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.main-header button:hover{background-color:var(--color-neutral-100);color:var(--color-neutral-800)}.main-header button:disabled{opacity:.4;cursor:not-allowed;background-color:transparent!important;color:var(--color-neutral-400)!important}[data-theme=dark] .main-header button:hover{background-color:var(--color-neutral-200)}.header-left{display:flex;align-items:center;gap:var(--spacing-2)}.hamburger-menu-btn{display:none}.header-nav{display:flex;gap:var(--spacing-2)}.header-datetime{position:absolute;left:50%;transform:translate(-50%);text-align:center;pointer-events:none}.header-time{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-neutral-800);line-height:1}.header-date{font-size:var(--text-xs);color:var(--color-neutral-500);margin-top:var(--spacing-1)}.header-actions{display:flex;align-items:center;gap:var(--spacing-4)}.notification-container{position:relative}.notification-badge{position:absolute;top:5px;right:5px;min-width:1.1rem;height:1.1rem;border-radius:50%;background-color:var(--color-error-600);color:var(--color-neutral-white);font-size:var(--text-2xs);font-weight:var(--font-bold);display:flex;align-items:center;justify-content:center;border:2px solid var(--color-neutral-white);padding:0 3px}.cart-badge{background-color:var(--color-primary-500)}@media(max-width:1024px){.header-content{padding:var(--spacing-2) var(--spacing-4)}.user-view-banner{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.header-datetime{display:none}.hamburger-menu-btn{display:flex}}@keyframes ring{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}to{transform:rotate(0)}}.ring-animation{animation:ring 1s ease-in-out;transform-origin:50% 4px}.navigation-progress-bar{position:absolute;top:0;left:0;height:3px;background-color:var(--color-primary-500);width:100%;transform-origin:left;animation:loading-progress 1.5s infinite cubic-bezier(.4,0,.2,1);z-index:10}@keyframes loading-progress{0%{transform:translate(-100%) scaleX(1)}50%{transform:translate(0) scaleX(.3)}to{transform:translate(100%) scaleX(1)}}.app-container{height:100%;display:flex}.content-wrapper{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;position:relative;background-color:var(--color-neutral-50);margin-left:260px;transition:margin-left .3s ease}.content-wrapper.sidebar-collapsed{margin-left:97px}.main-content{flex-grow:1;padding:var(--spacing-8);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.main-content::-webkit-scrollbar{display:none}.main-content.is-chat-page{padding:5px;background-color:var(--color-neutral-200)}.pending-approval-banner{background-color:var(--color-warning-100);color:var(--color-warning-900);padding:var(--spacing-3) var(--spacing-8);display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--text-sm);font-weight:var(--font-medium)}.pending-approval-banner svg{flex-shrink:0;width:20px;height:20px}[data-theme=dark] .pending-approval-banner{background-color:var(--color-warning-900);color:var(--color-warning-100)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8);flex-wrap:wrap;gap:var(--spacing-4)}.page-header h1{font-family:var(--font-family-sans);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-neutral-800)}.page-header p{font-family:var(--font-family-sans);font-size:var(--text-base);font-weight:var(--font-regular);line-height:var(--leading-normal);color:var(--color-neutral-500);margin-top:var(--spacing-1);max-width:65ch}.page-header .page-actions{display:flex;gap:var(--spacing-3)}@media(max-width:1024px){.main-content{padding:var(--spacing-6)}.main-content.is-chat-page{padding:5px}.page-header{flex-direction:column;align-items:flex-start}.content-wrapper,.content-wrapper.sidebar-collapsed{margin-left:0}}@media print{body *{visibility:hidden!important}html:before{content:"Printing and content capture are disabled for this application.";visibility:visible!important;display:block!important;position:fixed;top:40%;left:0;right:0;padding:var(--spacing-8);text-align:center;font-size:var(--text-xl);font-weight:var(--font-bold);color:#000;background-color:#fff}}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-neutral-50);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-in-out}[data-theme=dark] .loading-overlay{background-color:var(--color-neutral-900)}.loading-content-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-6)}.loading-icon-container{animation:pulseAndRotate 2.5s ease-in-out infinite}.loading-icon-container svg{color:var(--color-primary-500)}.loading-text{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-neutral-800);animation:fadeInAndRise 1.5s ease-out .2s forwards;opacity:0}.loading-text .logo-um{color:var(--color-primary-500)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulseAndRotate{0%{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.15) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:.8}}@keyframes fadeInAndRise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-page-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#000}.auth-card{background-color:var(--color-neutral-white);padding:var(--spacing-12);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);text-align:center;max-width:400px;width:90%;animation:zoomOut .5s ease-out forwards;position:relative}.auth-card h2{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-neutral-800);margin:0 0 var(--spacing-2)}.auth-logo{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.auth-logo h1{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-neutral-800);margin:0}.auth-logo .logo-icon{color:var(--color-primary-500);width:36px;height:36px}.auth-logo h1 .logo-um{color:var(--color-primary-500)}.auth-card p{color:var(--color-neutral-500);margin-bottom:var(--spacing-6);font-size:var(--text-lg)}.auth-actions{display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-6)}.auth-card .btn{width:100%}.auth-form-group{margin-bottom:var(--spacing-4);text-align:left;position:relative}.auth-form-group input{width:100%;padding:var(--spacing-3);border:1px solid var(--color-neutral-300);border-radius:var(--border-radius-md);font-size:1.125rem}.password-group input{padding-right:var(--spacing-12)}.password-toggle-btn{position:absolute;top:50%;right:var(--spacing-3);transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-neutral-500);padding:var(--spacing-1)}.auth-form-group input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 1px var(--color-primary-500)}.auth-error{color:var(--color-error-600);font-size:var(--text-sm);margin-bottom:var(--spacing-4);margin-top:calc(-1 * var(--spacing-2))}.btn-google{background-color:var(--color-neutral-white);color:var(--color-neutral-700);border:1px solid var(--color-neutral-300);box-shadow:var(--shadow-sm)}.btn-google:hover:not(:disabled){background-color:var(--color-neutral-50)}.form-switcher{margin-top:var(--spacing-6)!important;font-size:var(--text-base)}.form-switcher a{color:var(--color-primary-500);font-weight:600;cursor:pointer}.form-switcher a:hover{text-decoration:underline}.role-selection-container{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-6)}.role-card{border:2px solid var(--color-neutral-200);padding:var(--spacing-4);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease}.role-card:hover{border-color:var(--color-neutral-400)}.role-card.selected{border-color:var(--color-primary-500);background-color:var(--color-neutral-50);box-shadow:0 0 0 2px var(--color-primary-400)}.role-card h3{font-size:var(--text-base);font-weight:600;color:var(--color-neutral-800);margin:0}.role-card p{font-size:var(--text-sm);color:var(--color-neutral-500);margin:var(--spacing-1) 0 0}@keyframes zoomOut{0%{transform:scale(1.05);opacity:0}to{transform:scale(1);opacity:1}}.auth-back-btn{position:absolute;top:var(--spacing-4);left:var(--spacing-4);background:none;border:none;color:var(--color-neutral-400);cursor:pointer;padding:0;opacity:0;transition:opacity .2s ease-in-out,color .2s ease-in-out;z-index:10;display:inline-flex;width:auto;height:auto}.auth-card:hover .auth-back-btn{opacity:1}.auth-back-btn:hover{color:var(--color-primary-500)}.auth-back-btn svg{width:32px;height:32px}.privacy-policy-modal{max-width:800px;height:85vh}.privacy-policy-modal .modal-body{padding:var(--spacing-6) var(--spacing-8);overflow-y:auto;line-height:var(--leading-relaxed);color:var(--color-neutral-700);scrollbar-width:none;-ms-overflow-style:none}.privacy-policy-modal .modal-body::-webkit-scrollbar{display:none}.privacy-policy-modal .preamble{font-size:var(--text-sm);font-weight:500;color:var(--color-neutral-600);background-color:var(--color-neutral-100);padding:var(--spacing-4);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-6)}.privacy-policy-modal h3{font-size:var(--text-lg);font-weight:700;color:var(--color-neutral-800);margin-top:var(--spacing-8);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-neutral-200)}.privacy-policy-modal h4{font-size:var(--text-base);font-weight:600;color:var(--color-neutral-800);margin-top:var(--spacing-6);margin-bottom:var(--spacing-3)}.privacy-policy-modal p{margin-bottom:var(--spacing-4)}.privacy-policy-modal ul{list-style-type:disc;padding-left:var(--spacing-6);margin-bottom:var(--spacing-4)}.privacy-policy-modal li{margin-bottom:var(--spacing-2)}.privacy-policy-modal .modal-footer{padding:var(--spacing-4) var(--spacing-8);border-top:1px solid var(--color-neutral-200);display:flex;justify-content:flex-end}.terms-and-conditions-modal{max-width:800px;height:85vh}.terms-and-conditions-modal .modal-body{padding:var(--spacing-6) var(--spacing-8);overflow-y:auto;line-height:var(--leading-relaxed);color:var(--color-neutral-700);scrollbar-width:none;-ms-overflow-style:none}.terms-and-conditions-modal .modal-body::-webkit-scrollbar{display:none}.terms-and-conditions-modal h3{font-size:var(--text-lg);font-weight:700;color:var(--color-neutral-800);margin-top:var(--spacing-8);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-neutral-200)}.terms-and-conditions-modal h3:first-of-type{margin-top:0}.terms-and-conditions-modal p{margin-bottom:var(--spacing-4)}.terms-and-conditions-modal ul{list-style-type:disc;padding-left:var(--spacing-6);margin-bottom:var(--spacing-4)}.terms-and-conditions-modal li{margin-bottom:var(--spacing-2)}.terms-and-conditions-modal .modal-footer{padding:var(--spacing-4) var(--spacing-8);border-top:1px solid var(--color-neutral-200);display:flex;justify-content:flex-end}.fp-container{background-color:var(--color-neutral-white);color:var(--color-neutral-800)}.fp-header{position:absolute;top:0;left:0;right:0;padding:var(--spacing-6) var(--spacing-8);z-index:10;display:flex;justify-content:space-between;align-items:center}.um-logo,.cenar-logo{height:80px;width:auto}.fp-hero-section{position:relative;height:90vh;min-height:700px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-neutral-white);padding:var(--spacing-8);background:linear-gradient(-45deg,#065f46,#059669,#1e40af,#2563eb);background-size:400% 400%;animation:fp-gradientBG 15s ease infinite;overflow:hidden}@keyframes fp-gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.fp-hero-content{max-width:800px;z-index:2;animation:fp-fadeIn 1s ease-out .2s forwards;opacity:0;display:flex;flex-direction:column;align-items:center}.fp-hero-logo-container{display:flex;align-items:center;gap:var(--spacing-4);margin:0;margin-bottom:var(--spacing-2);animation:fp-fadeInAndRise .8s ease-out .2s forwards;opacity:0;font-size:inherit;font-weight:400;line-height:inherit}.fp-hero-leaf{color:var(--color-primary-400);filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));animation:fp-leaf-sway 10s ease-in-out infinite;transform-origin:bottom center}@keyframes fp-leaf-sway{0%{transform:rotate(0)}25%{transform:rotate(6deg)}50%{transform:rotate(-4deg)}75%{transform:rotate(2deg)}to{transform:rotate(0)}}.fp-hero-logo-container .fp-hero-logo-text{font-size:4rem;font-weight:var(--font-bold);color:var(--color-neutral-white);text-shadow:0 2px 4px rgba(0,0,0,.3);line-height:1}.fp-hero-logo-um{color:var(--color-primary-400)}.fp-hero-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-neutral-300);line-height:1.2;margin-bottom:var(--spacing-4);animation:fp-fadeInAndRise .8s ease-out .5s forwards;opacity:0}.fp-hero-subtitle{font-size:var(--text-xl);color:var(--color-neutral-300);line-height:var(--leading-relaxed);margin-bottom:var(--spacing-8);animation:fp-fadeInAndRise .8s ease-out .8s forwards;opacity:0}.fp-hero-cta{padding:var(--spacing-4) var(--spacing-12);font-size:var(--text-lg);background-color:var(--color-neutral-white);color:var(--color-neutral-800);box-shadow:var(--shadow-xl);transition:transform .2s ease,box-shadow .2s ease;animation:fp-fadeInAndRise .8s ease-out 1.1s forwards;opacity:0}.fp-hero-cta:hover{transform:translateY(-4px);box-shadow:0 25px 30px -10px #0003}.fp-hero-credit{position:absolute;bottom:var(--spacing-8);left:0;right:0;text-align:center;color:var(--color-neutral-300);z-index:2;animation:fp-fadeInAndRise .8s ease-out 1.4s forwards;opacity:0}.fp-hero-credit p{margin:0;line-height:var(--leading-normal)}.fp-hero-credit .credit-line-1{font-size:var(--text-base)}.fp-hero-credit .credit-line-2{font-size:var(--text-lg);font-weight:500}@keyframes fp-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fp-fadeInAndRise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fp-section-title{font-size:var(--text-3xl);font-weight:var(--font-bold);text-align:center;margin-bottom:var(--spacing-2)}.fp-section-subtitle{font-size:var(--text-2xl);font-weight:var(--font-bold);text-align:center;margin-bottom:var(--spacing-8)}.fp-section-description{font-size:var(--text-lg);color:var(--color-neutral-600);max-width:65ch;margin-left:auto;margin-right:auto;margin-bottom:var(--spacing-8);text-align:center;line-height:var(--leading-relaxed)}.fp-stats-section{background-color:var(--color-neutral-50);padding:var(--spacing-16) var(--spacing-8)}.fp-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-8);max-width:1200px;margin:0 auto}.fp-stat-card{text-align:center;background-color:var(--color-neutral-white);padding:var(--spacing-8);border-radius:var(--border-radius-lg);border:1px solid var(--color-neutral-200)}.fp-stat-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-4)}.fp-stat-icon svg{width:36px;height:36px}.fp-stat-icon.plants{background-color:var(--color-success-100);color:var(--color-success-800)}.fp-stat-icon.compounds{background-color:var(--color-info-100);color:var(--color-info-800)}.fp-stat-icon.publications{background-color:#ede9fe;color:#7e22ce}.fp-stat-icon.researchers{background-color:var(--color-neutral-200);color:var(--color-neutral-600)}.fp-stat-value{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-neutral-800);margin:0}.fp-stat-label{font-size:var(--text-base);color:var(--color-neutral-500);margin:0}.fp-network-section{padding:var(--spacing-16) var(--spacing-8);background-color:var(--color-neutral-white);text-align:center}.fp-network-graph-container{position:relative;width:100%;max-width:1200px;height:600px;margin:0 auto;background-color:var(--color-neutral-800);border:1px solid var(--color-neutral-700);border-radius:var(--border-radius-lg)}.fp-network-graph-container svg .links line{stroke:var(--color-neutral-600);stroke-opacity:.8}.fp-network-graph-container svg .node-circle{stroke:var(--color-neutral-900);stroke-width:1.5px}.fp-network-graph-container svg .node-circle.type-plant{fill:var(--color-success-500)}.fp-network-graph-container svg .node-circle.type-compound{fill:var(--color-info-800)}.fp-network-graph-container svg .node-circle.type-publication{fill:#8b5cf6}.network-legend{position:absolute;top:var(--spacing-4);right:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-2);font-size:var(--text-xs);color:var(--color-neutral-white);background-color:#1c1917b3;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius-md);pointer-events:none;text-align:left}.network-legend span{display:flex;align-items:center}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:var(--spacing-2)}.legend-dot.plant{background-color:var(--color-success-500)}.legend-dot.compound{background-color:var(--color-info-800)}.legend-dot.publication{background-color:#8b5cf6}.network-controls{position:absolute;top:var(--spacing-4);left:var(--spacing-4);display:flex;flex-direction:column;gap:4px}.network-controls button{width:32px;height:32px;background-color:#1c1917b3;color:var(--color-neutral-white);border:1px solid var(--color-neutral-700);border-radius:var(--border-radius-sm);cursor:pointer;font-size:1.2rem;font-weight:700}.network-controls button:hover{background-color:#393532b3}.fp-features-section{padding:var(--spacing-16) var(--spacing-8);text-align:center}.fp-features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-8);max-width:1000px;margin:0 auto}.fp-feature-card{text-align:center;padding:var(--spacing-8)}.fp-feature-icon{color:var(--color-primary-500);margin-bottom:var(--spacing-4);display:inline-flex}.fp-feature-icon svg{width:48px;height:48px}.fp-feature-title{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--spacing-2)}.fp-feature-description{color:var(--color-neutral-600);line-height:var(--leading-relaxed)}.fp-about-section{padding:var(--spacing-16) var(--spacing-8);background-color:var(--color-neutral-white);text-align:center}.fp-about-content>p{font-size:var(--text-lg);color:var(--color-neutral-600);max-width:800px;margin:0 auto var(--spacing-12);line-height:var(--leading-relaxed)}.fp-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-8);max-width:1000px;margin:0 auto}.fp-team-member{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);text-decoration:none;color:inherit;transition:transform .2s ease}.fp-team-member:hover{transform:translateY(-4px)}.fp-team-member img{width:120px;height:120px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-md);border:4px solid var(--color-neutral-white)}.fp-team-name{font-weight:600;margin-top:var(--spacing-2);font-size:var(--text-sm)}.fp-collaborators-section{padding:var(--spacing-16) var(--spacing-8);background-color:var(--color-neutral-50)}.fp-partner-category h3{font-size:var(--text-xl);font-weight:600;text-align:center;color:var(--color-neutral-700);margin-bottom:var(--spacing-8)}.fp-logo-grid{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--spacing-12);max-width:1200px;margin:0 auto}.fp-logo-grid.second-row{margin-top:var(--spacing-12)}.fp-logo-grid a{display:block;transition:transform .3s ease}.fp-logo-grid a:hover{transform:scale(1.1)}.fp-logo-grid img{max-height:80px;max-width:150px;object-fit:contain;filter:grayscale(100%);opacity:.7;transition:filter .3s ease,opacity .3s ease}.fp-logo-grid a:hover img{filter:grayscale(0%);opacity:1}.fp-info-section{padding:var(--spacing-16) var(--spacing-8);background-color:var(--color-neutral-white)}.fp-accordion{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-4)}.fp-accordion-item{background-color:var(--color-neutral-white);border-radius:var(--border-radius-md);border:1px solid var(--color-neutral-200);overflow:hidden}.fp-accordion-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);background:none;border:none;cursor:pointer;text-align:left}.fp-accordion-title{display:flex;align-items:center;gap:var(--spacing-4);font-size:var(--text-lg);font-weight:600;color:var(--color-neutral-800)}.fp-accordion-title svg{color:var(--color-primary-500);flex-shrink:0}.fp-accordion-chevron{color:var(--color-neutral-500);transition:transform .3s ease}.fp-accordion-item.open .fp-accordion-chevron{transform:rotate(180deg)}.fp-accordion-content{max-height:0;overflow:hidden;transition:max-height .4s ease-out}.fp-accordion-item.open .fp-accordion-content{max-height:500px;transition:max-height .5s ease-in}.fp-accordion-content-inner{padding:0 var(--spacing-6) var(--spacing-6);color:var(--color-neutral-600);line-height:var(--leading-relaxed)}.fp-accordion-content-inner ul{list-style-position:inside;margin-top:var(--spacing-4)}.fp-citation-box{background-color:var(--color-neutral-100);padding:var(--spacing-4);border-radius:var(--border-radius-sm);border-left:4px solid var(--color-primary-500);font-family:monospace;margin-top:var(--spacing-4);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-4)}.fp-citation-box p{margin:0;word-break:break-all}.copy-citation-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);background-color:var(--color-neutral-200);color:var(--color-neutral-700);border:none;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .2s;flex-shrink:0}.copy-citation-btn:hover{background-color:var(--color-neutral-300)}.copy-citation-btn.copied{background-color:var(--color-success-100);color:var(--color-success-800)}.copy-citation-btn svg{width:16px;height:16px}.fp-policy-links{margin-top:var(--spacing-4);display:flex;gap:var(--spacing-6)}.fp-policy-links a{color:var(--color-primary-600);font-weight:600;text-decoration:none}.fp-policy-links a:hover{text-decoration:underline}.fp-footer{background-color:var(--color-neutral-800);color:var(--color-neutral-400);text-align:center;padding:var(--spacing-8);font-size:var(--text-sm)}.front-page-auth-wrapper{position:relative;min-height:100vh}.back-to-home-btn{position:absolute;top:var(--spacing-6);left:var(--spacing-8);z-index:10;background-color:#ffffffe6;border:1px solid var(--color-neutral-300);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--border-radius-md);font-weight:600;color:var(--color-neutral-700);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.back-to-home-btn:hover{background-color:#fff;box-shadow:var(--shadow-md);transform:translateY(-1px)}.fp-footer-info{position:absolute;bottom:var(--spacing-4);left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1);opacity:0;transition:opacity .3s ease-in-out}.front-page-auth-wrapper:has(.auth-card:hover) .fp-footer-info{opacity:1}.fp-status-indicator{position:static;top:auto;right:auto;z-index:auto;background-color:transparent;border:none;padding:0;border-radius:0;font-weight:400;color:var(--color-neutral-500);box-shadow:none;display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-sm)}.status-dot-fp{width:12px;height:12px;border-radius:50%}.status-dot-fp.online{background-color:var(--color-success-500)}.status-dot-fp.maintenance{background-color:var(--color-error-500)}.fp-last-updated{position:static;transform:none;color:var(--color-neutral-500);font-size:var(--text-sm)}.fp-accordion-content-inner .faq-list{list-style:none;padding-left:0;margin-top:var(--spacing-4)}.fp-accordion-content-inner .faq-list li{margin-bottom:var(--spacing-4)}.fp-accordion-content-inner .faq-list li strong{display:block;margin-bottom:var(--spacing-1);color:var(--color-neutral-800)}.fp-accordion-content-inner .faq-list li p{margin:0}@media(max-width:768px){.fp-features-grid{grid-template-columns:1fr}}
