@import"https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Manrope:wght@200;300;400;500;600;700;800&display=swap";:root{--blue-color: #475be8;--green-color: #4ce13f;--orange-color: #f29a2e;--red-color: #ef0606;--dark-color: #292929;--light-color: #ffffff;--font-family-lato: "Lato", sans-serif;--font-family-manrope: "Manrope", sans-serif;--font-size: 16px;--line-height: 1.6;--font-weight: 400;--default-transition: all .3s ease-in-out;--chart-primary-color: #03856d;--chart-secondary-color: #e6e6e6;--light-shadow1: rgba(0, 0, 0, .02) 0px 4px 12px}*{padding:0;margin:0;box-sizing:border-box;font-family:inherit}body{font-family:var(--font-family-lato);font-size:var(--font-size);font-weight:var(--font-weight);--primary-color: #03856d;--secondary-color: #fff;--background-color: #fafafa;--side-link-hover-color: #f6f6f6;--side-text-color: #808191;--logo-color: #0000;--xl-text-color: #292929;--lg-text-color: #525252;--base-text-color: #676767;--text-color: #292929;--text-color-inverted: #292929;--bg-color-inverted: #ffffff;--border-color-inverted: #f6f6f6;--toggle-btn-border-color: #f3f3f3;--toggle-btn-bg-color: #fff;--toggle-btn-icon-color: var(--primary-color);--thead-bg-color: #f2f4ff;--tbl-border-color: #f2f4ff;--scroll-track-bg-color: #fff;--scroll-thumb-bg-color: #d0f6ce;--overview-card-bg-color: #eafaf1}body.dark-mode{--primary-color:#03856d;--secondary-color: #0f221e77;--background-color: #000000;--side-link-hover-color: #000000;--side-text-color: #e1e1e1;--logo-color: #fff;--xl-text-color: #ffff;--lg-text-color: #f3f3f3;--base-text-color: #e0e0e0;--text-color: #ffffff;--text-color-inverted: #fff;--bg-color-inverted: #292929;--border-color-inverted: #575777;--toggle-btn-border-color: #525270;--toggle-btn-bg-color: #525270;--toggle-btn-icon-color: #bdbdbd;--thead-bg-color: #20202e;--tbl-border-color: ##383854;--scroll-track-bg-color: #041d0d;--scroll-thumb-bg-color: #0c3223;--overview-card-bg-color: #0f221e6f}a{text-decoration:none}button{background-color:transparent;border:none;outline:0;cursor:pointer}ul{list-style-type:none}.theme-toggle-btn{background-color:var(--bg-color-inverted);position:fixed;right:0;top:20px;width:48px;height:40px;border-top-left-radius:30px;border-bottom-left-radius:30px;display:flex;align-items:center;justify-content:center;border:none;outline:0;z-index:999;cursor:pointer;box-shadow:#64646f33 0 7px 29px}.theme-toggle-btn .theme-icon{width:24px}.page-wrapper{background-color:var(--background-color);min-height:100vh;overflow:hidden}.content-wrapper{background-color:var(--background-color);min-height:100vh;padding:50px 58px;margin-left:260px}@media (max-width: 1400px){.content-wrapper{padding:32px}}@media (max-width: 1200px){.content-wrapper{margin-left:56px}}@media (max-width: 768px){.content-wrapper{margin-left:0;padding:24px}}@media (max-width: 576px){.content-wrapper{margin-left:0;padding:16px}}.content-area>section{margin-bottom:16px}.content-area>section:last-child{margin-bottom:0}.products-page{padding:20px;background-color:var(--background-color);min-height:100vh}.products-page h1{font-size:2.5em;margin-bottom:20px;color:var(--primary-color);text-align:center;animation:fadeIn 1s ease-in-out}.products-page .product-list{list-style:none;padding:0;display:flex;flex-direction:column;align-items:center}.products-page .product-item{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:8px;padding:15px 20px;margin:10px 0;width:80%;max-width:500px;box-shadow:0 4px 8px #0000001a;font-size:1.2em;color:var(--text-color);transition:transform .3s ease-in-out,box-shadow .3s ease-in-out;animation:slideIn .5s ease-in-out forwards}.products-page .product-item:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0003}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{--icon-color-light: black;--icon-color-dark: white}body.light-mode{--icon-color: var(--icon-color-light)}body.dark-mode{--icon-color: var(--icon-color-dark)}.install-pwa-btn{position:fixed;bottom:20px;right:20px;padding:12px 16px;font-weight:700;font-size:1rem;border-radius:8px;background-color:#03856d;color:#fff;border:none;box-shadow:0 4px 10px #0003;z-index:999}.install-pwa-btn:hover{background-color:#026e57;transform:scale(1.03)}.sidebar{--sidebar-width: 260px;--collapsed-width: 72px;--mobile-width: 82vw;position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background-color:var(--secondary-color);box-shadow:0 4px 16px #00000014;z-index:999;transition:transform .3s ease;padding:1.5rem 1rem;display:flex;flex-direction:column;overflow-y:auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:var(--scroll-thumb-bg-color);border-radius:100vh}.sidebar.sidebar-show{transform:translate(0)}@media (max-width: 768px){.sidebar{width:var(--mobile-width);transform:translate(-100%)}.sidebar.sidebar-show{transform:translate(0)}}.sidebar .sidebar-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color-inverted);margin-bottom:1.5rem;padding-bottom:.8rem}.sidebar .sidebar-brand{display:flex;align-items:center;gap:.75rem}.sidebar .sidebar-brand .sidebar-logo{width:2.4rem}.sidebar .sidebar-brand .sidebar-brand-text{font-weight:700;font-size:1.2rem;color:var(--text-color)}.sidebar .sidebar-close-btn{display:none;background:none;border:none;color:var(--text-color);cursor:pointer}@media (max-width: 768px){.sidebar .sidebar-close-btn{display:block}}.sidebar .sidebar-body{flex:1;display:flex;flex-direction:column;justify-content:space-between}.sidebar .sidebar-menu .menu-list{list-style:none;padding:0;margin:0}.sidebar .sidebar-menu .menu-list .menu-item{margin-bottom:.5rem}.sidebar .sidebar-menu .menu-list .menu-item .menu-link{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-radius:10px;text-decoration:none;color:var(--text-color);font-weight:500;transition:.3s ease}.sidebar .sidebar-menu .menu-list .menu-item .menu-link:hover{background-color:var(--side-link-hover-color)}.sidebar .sidebar-menu .menu-list .menu-item .menu-link.active{background-color:var(--primary-color);color:#fff;font-weight:600}.sidebar .sidebar-menu .menu-list .menu-item .menu-link .menu-link-icon{display:flex;align-items:center;justify-content:center}.sidebar .sidebar-menu .menu-list .menu-item .menu-link .menu-link-text{font-size:.95rem}.sidebar .sidebar-menu2{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color-inverted)}.sidebar-open-btn{position:fixed;top:1rem;left:1rem;background:var(--primary-color);color:#fff;border:none;padding:.5rem;border-radius:8px;z-index:1001;display:none}@media (max-width: 768px){.sidebar-open-btn{display:block}}.loading-spinner{display:flex;justify-content:center;align-items:center;height:100vh}.content-area-cards{padding:0 2rem;background:var(--background);color:var(--text-primary)}.content-area-cards .dropdown-container{margin-bottom:20px;display:flex;justify-content:center;padding:10px}.content-area-cards .dropdown-container .MuiFormControl-root{width:100%;max-width:500px;background:#fff;border-radius:12px;box-shadow:0 1px 8px #03856d1a}.content-area-cards .dropdown-container .css-1435mur-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input{padding-right:32px;background-color:var(--bg-color-inverted)}.content-area-cards .area-cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:1rem}.content-area-cards .area-cards-row .area-card{background-color:var(--secondary-color);border-left:5px solid #03856d;border-radius:12px;padding:1rem 1.2rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--light-shadow1);transition:all .3s ease-in-out}.content-area-cards .area-cards-row .area-card:hover{transform:translateY(-3px);box-shadow:0 6px 12px #03856d33}.content-area-cards .area-cards-row .area-card .card-icon{font-size:2rem;color:#03856d}.content-area-cards .area-cards-row .area-card .info-title{font-size:.95rem;color:var(--text-secondary);font-weight:500;margin-bottom:2px}.content-area-cards .area-cards-row .area-card .info-value{font-size:1.4rem;font-weight:700;color:var(--xl-text-color)}.content-area-cards .area-cards-row .area-card .mode-toggle{display:flex;align-items:center;gap:.6rem;font-weight:700}.content-area-cards .control-panel{margin-top:1.5rem}.content-area-cards .control-panel .MuiAccordion-root{border-radius:12px;background:transparent;box-shadow:none}.content-area-cards .control-panel .MuiAccordionSummary-root{min-height:48px;border-radius:12px;background-color:#e6f5f2;padding-left:12px}.content-area-cards .control-panel .MuiAccordionSummary-root:hover{background-color:#d4f0e9}.content-area-cards .control-panel .MuiAccordionDetails-root{padding:1rem 1.5rem;background:transparent}.content-area-cards .control-panel .no-controls-msg{padding:1rem;font-weight:500;color:#888}.content-area-cards .control-panel .controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.content-area-cards .control-panel .controls-grid .control-card{background:var(--secondary-color);border-radius:10px;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.8rem;box-shadow:var(--light-shadow1);border:1px solid #c2e5db}.content-area-cards .control-panel .controls-grid .control-card h5{font-size:1rem;font-weight:700}.content-area-cards .control-panel .controls-grid .control-card input[type=number]{width:100%;padding:.5rem;font-size:1rem;text-align:center;border:1px solid #ccc;border-radius:8px}.content-area-cards .control-panel .controls-grid .control-card input[type=number]:focus{border-color:#03856d;outline:none}.content-area-cards .control-panel .controls-grid .control-card .MuiButton-root{font-weight:700;border-radius:8px}.content-area-cards .control-panel .controls-grid .control-card .control-power-status{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;margin-bottom:.5rem}.content-area-cards .control-panel .controls-grid .control-card .control-power-status .power-toggle-btn{font-size:.75rem;text-transform:uppercase;color:#03856d;border-color:#03856d}.content-area-cards .control-panel .controls-grid .control-card .control-power-status .power-toggle-btn:hover{background-color:#03856d;color:#fff}.content-area-cards .loading-container{display:flex;justify-content:center;margin:2rem auto}.dark-mode .content-area-cards .area-card,.dark-mode .content-area-cards .control-card{background-color:#2c2c2c;color:#f1f1f1}.dark-mode .content-area-cards input[type=number]{background-color:#3a3a3a;color:#fff;border-color:#555}.dark-mode .content-area-cards .MuiButton-root{background-color:#03856d}.dark-mode .content-area-cards .MuiButton-root:hover{background-color:#016c55}.dark-mode .content-area-cards .MuiAccordionSummary-root{background-color:#083c33}.dark-mode .content-area-cards .MuiAccordionDetails-root{background-color:#0c4740}.dark-mode .content-area-cards .power-toggle-btn{border-color:#03c49e;color:#03c49e}.dark-mode .content-area-cards .power-toggle-btn:hover{background-color:#03c49e;color:#111}.content-area-charts h2{text-align:center;color:var(--primary-color);margin-bottom:24px}.content-area-charts .loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:40px 0}.content-area-charts .loading-spinner .MuiCircularProgress-root{margin-bottom:12px}.content-area-charts .loading-spinner p,.content-area-charts .loading-spinner span,.content-area-charts .loading-spinner div{color:var(--text-color);font-size:.95rem}.chart-pair{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:var(--secondary-color);border-radius:12px;box-shadow:var(--light-shadow1);transition:box-shadow .3s ease}.chart-pair:hover{box-shadow:0 4px 12px #0000001a}@media (max-width: 768px){.chart-pair{flex-direction:column}}.chart-pair .chart-current,.chart-pair .chart-history{flex:1;width:100%;max-width:100%}.chart-pair.full-history{flex-direction:column}.chart-pair.full-history .chart-current{display:none}.chart-pair.full-history .chart-history{flex:1;width:100%}.chart-pair .progress-bar,.chart-pair .chart-item{background-color:var(--secondary-color);padding:16px;border-radius:8px;box-shadow:var(--light-shadow1);width:100%}.chart-pair .progress-bar h4,.chart-pair .progress-bar h3,.chart-pair .chart-item h4,.chart-pair .chart-item h3{color:var(--primary-color)}.sensor-error{background-color:#ff00001a;padding:16px;border:1px solid red;border-radius:6px;color:red;font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center;height:100%}.history-loading{display:flex;align-items:center;justify-content:center;padding:32px;background-color:var(--secondary-color);border-radius:8px;box-shadow:var(--light-shadow1);min-height:120px;color:var(--text-color);font-size:.95rem}.history-loading .MuiCircularProgress-root{color:var(--primary-color)}.bar-chart{background-color:var(--secondary-color);padding:16px;border-radius:6px;box-shadow:var(--light-shadow1);transition:background .3s ease,transform .3s ease}.bar-chart .bar-chart-title{font-weight:600;color:var(--text-color);margin-bottom:8px}.bar-chart .chart-wrapper-center{display:flex;justify-content:center;align-items:center}.bar-chart .timestamp-label{font-size:13px;text-align:right;margin-top:8px;color:var(--text-color)}.area-chart{background-color:var(--secondary-color);padding:16px;border-radius:6px;box-shadow:var(--light-shadow1);transition:background .3s ease,transform .3s ease}.area-chart .bar-chart-title{font-weight:600;color:var(--text-color);margin-bottom:8px}.area-chart .timestamp-label{font-size:13px;text-align:right;margin-top:8px;color:var(--text-color)}.no-data-container{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--secondary-color);padding:40px 32px;border-radius:10px;box-shadow:var(--light-shadow1);max-width:700px;margin:0 auto;transition:all .3s ease}.no-data-image{max-width:220px;height:auto;margin-bottom:24px;animation:floatUpDown 3s ease-in-out infinite}@keyframes floatUpDown{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.no-data-container h2{color:var(--text-color);font-size:26px;font-weight:700;margin-bottom:12px}.no-data-timestamp{margin:10px 0;font-size:1rem;color:var(--text-color);opacity:.8}.no-data-container p{color:var(--text-color);font-size:1rem;margin-bottom:16px;max-width:90%;line-height:1.5}.show-history-button{margin-top:16px;padding:12px 28px;font-size:1rem;font-weight:600;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .3s ease,transform .2s ease}.device-status-banner{padding:12px 20px;margin-bottom:16px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;font-size:14px;background-color:var(--secondary-color);box-shadow:var(--light-shadow1);transition:background .3s ease}.device-status-banner.online{border-left:3px solid #03856d}.device-status-banner.offline{border-left:3px solid #dc3545}.device-status-banner .status-text{color:var(--text-color);font-weight:700}.device-status-banner .last-seen{font-style:italic;color:var(--text-color)}.area-table{background-color:var(--secondary-color);padding:16px;border-radius:6px;box-shadow:var(--light-shadow1);overflow-x:auto}.area-table table{width:100%;border-collapse:collapse}.area-table table th,.area-table table td{padding:10px;text-align:left;color:var(--text-color);font-size:14px;white-space:nowrap}.area-table table th{background-color:var(--primary-color);color:#fff}.area-table table tr:nth-child(2n){background-color:#ffffff05}.area-table .dt-status{display:flex;align-items:center;gap:8px}.area-table .dt-status .dt-status-dot{width:10px;height:10px;border-radius:50%}.area-table .dt-status .dt-status-dot.dot-active{background-color:#28a745}.area-table .dt-status .dt-status-dot.dot-stale{background-color:#ffc107}.area-table .dt-status .dt-status-dot.dot-error{background-color:#dc3545}.area-table .dt-status .dt-status-dot.dot-inactive{background-color:#6c757d}.area-table .dt-status .dt-status-text{font-weight:500;text-transform:capitalize}.area-table .loading-spinner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px;color:var(--text-color)}.content-area-top{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;flex-wrap:wrap;gap:1rem}.content-area-top .area-top-left{display:flex;align-items:center}.content-area-top .area-top-left .area-top-logo{height:42px;object-fit:contain}.content-area-top .area-top-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 768px){.content-area-top{flex-direction:column;align-items:center}.content-area-top .area-top-left,.content-area-top .area-top-right{width:100%;justify-content:center}.content-area-top .area-top-right{gap:.5rem}}.dark-mode .content-area-top .clock-chip{background-color:#063f37;color:#d4f6ed}.home-icon{transition:color .3s ease;font-size:2rem;cursor:pointer}.clock-chip{font-size:.85rem;background-color:#e6f5f1;color:#034438;font-weight:600;padding:.5rem 1rem;border-radius:20px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clock-chip .MuiChip-icon{color:inherit}.settings-button{position:fixed;bottom:20px;right:20px;padding:12px;background-color:#03856d;color:#fff;border-radius:50%;box-shadow:0 4px 8px #0003;font-size:16px;cursor:pointer;z-index:1000}.settings-button:hover{background-color:#02684e}.products-page{padding:16px}.products-page h2{margin-bottom:16px}.products-page .products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.products-page .product-card{border:1px solid var(--border-color, #ccc);border-radius:8px;padding:16px;background-color:var(--secondary-color);display:flex;flex-direction:column;justify-content:space-between;height:180px;box-shadow:var(--light-shadow1)}.products-page .product-card h3{margin:0 0 8px;color:var(--primary-color);font-size:1.1rem;font-weight:600}.products-page .product-card .product-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px}.profile-page{padding:2rem;color:var(--text-color)}.profile-page .profile-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:2.5rem}.profile-page .profile-header .profile-picture{width:100px;height:100px;object-fit:contain;border-radius:50%;border:3px solid var(--primary-color);margin-bottom:1rem}.profile-page .profile-header .profile-name{font-size:1.8rem;font-weight:700;color:var(--text-color)}.profile-page .profile-header .profile-location{color:var(--text-color);font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.4rem;opacity:.9}.profile-page .profile-sections{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.profile-page .profile-sections .profile-card{flex:1 1 280px;background-color:var(--secondary-color);padding:1.5rem;border-radius:12px;box-shadow:0 2px 6px #0000000d;transition:.3s ease}.profile-page .profile-sections .profile-card:hover{box-shadow:0 4px 12px #0000001a}.profile-page .profile-sections .profile-card h3{margin-bottom:1rem;color:var(--primary-color);font-weight:700}.profile-page .profile-sections .profile-card p{font-size:1rem;margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem;color:var(--text-color)}.profile-page .profile-sections .profile-card p svg{color:var(--primary-color)}.profile-page .change-password-btn{display:flex;justify-content:center;margin-top:2rem}.profile-page .change-password-btn .MuiButton-root{font-weight:700;text-transform:none;color:var(--primary-color);border-color:var(--primary-color)}.profile-page .change-password-btn .MuiButton-root:hover{background-color:#03856d1a}.profile-page .profile-loading,.profile-page .profile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:4rem}.profile-page .profile-loading button,.profile-page .profile-error button{margin-top:1rem;background:var(--primary-color);color:#fff;padding:.6rem 1.2rem;border:none;border-radius:6px;cursor:pointer}.notifications-page{padding:20px;min-height:100vh;background:var(--background);color:var(--text-color)}.notifications-page .notifications-header{text-align:center;margin-bottom:30px}.notifications-page .notifications-header h1{font-size:2rem;color:var(--primary-color);font-weight:700}.notifications-page .notifications-header p{margin-top:6px;color:var(--text-color)}.notifications-page .notifications-header .notification-actions{margin-top:1rem;display:flex;justify-content:center;gap:1rem}.notifications-page .notifications-header .notification-actions button{padding:8px 14px;font-size:.9rem;background-color:var(--primary-color);border:none;color:#fff;border-radius:25px;cursor:pointer;transition:.3s}.notifications-page .notifications-header .notification-actions button:hover{background-color:#016c55}.notifications-page .notifications-list{display:flex;flex-direction:column;gap:1rem;max-width:800px;margin:0 auto}.notifications-page .notifications-list .notification-card{background-color:var(--card-background-color);border-radius:12px;display:flex;gap:16px;align-items:flex-start;padding:1.2rem;position:relative;animation:fadeIn .6s ease;transition:.3s}.notifications-page .notifications-list .notification-card.unread{border-left:5px solid var(--primary-color)}.notifications-page .notifications-list .notification-card .notification-icon{font-size:2rem;color:var(--primary-color)}.notifications-page .notifications-list .notification-card .notification-content{flex:1}.notifications-page .notifications-list .notification-card .notification-content .notification-message{font-size:1.1rem;font-weight:500}.notifications-page .notifications-list .notification-card .notification-content .notification-time{font-size:.85rem;color:gray;margin-top:4px}.notifications-page .notifications-list .notification-card .notification-content .mark-as-read-btn{margin-top:.5rem;padding:6px 12px;font-size:.8rem;border-radius:16px;border:none;color:#fff;background-color:var(--primary-color);cursor:pointer;transition:.2s}.notifications-page .notifications-list .notification-card .notification-content .mark-as-read-btn:hover{background-color:#016c55}.notifications-page .notifications-list .notification-card .notification-badge{background:var(--primary-color);color:#fff;font-size:.7rem;padding:4px 10px;border-radius:20px;align-self:start;font-weight:700}.notifications-page .notifications-list .empty-state{text-align:center;color:var(--text-color);opacity:.7;padding:4rem 0}.notifications-page .notifications-list .empty-state .empty-icon{font-size:3rem;color:var(--primary-color);margin-bottom:1rem}.enquiries-page{padding:2rem;background-color:var(--background-color);min-height:100vh;display:flex;flex-direction:column;align-items:center}.enquiries-page .enquiries-header{text-align:center;margin-bottom:2rem}.enquiries-page .enquiries-header h1{font-size:2.2rem;margin-bottom:10px;color:var(--primary-color)}.enquiries-page .enquiries-header p{font-size:1.1rem;color:var(--text-color);font-weight:500}.enquiries-page .enquiries-form{background-color:var(--card-background-color);padding:2rem;border-radius:12px;box-shadow:0 4px 16px #0000000f;width:100%;max-width:600px}.enquiries-page .enquiries-form form{display:flex;flex-direction:column;gap:1.5rem}.enquiries-page .enquiries-form form .form-group{display:flex;align-items:center;position:relative}.enquiries-page .enquiries-form form .form-group .form-icon{position:absolute;left:12px;font-size:1.3rem;color:var(--primary-color)}.enquiries-page .enquiries-form form .form-group input,.enquiries-page .enquiries-form form .form-group textarea{width:100%;padding:10px 12px 10px 40px;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background-color:var(--input-background-color);color:var(--text-color);transition:border-color .3s ease}.enquiries-page .enquiries-form form .form-group input:focus,.enquiries-page .enquiries-form form .form-group textarea:focus{border-color:var(--primary-color);outline:none}.enquiries-page .enquiries-form form .form-group textarea{resize:vertical;height:120px}.enquiries-page .enquiries-form form .form-button{display:flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;padding:12px;font-size:1rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:.3s ease}.enquiries-page .enquiries-form form .form-button:hover{background-color:#02725b}.enquiries-page .enquiries-form form .form-status{margin-top:1rem;font-size:1rem;text-align:center}.enquiries-page .enquiries-form form .form-status.success{color:var(--primary-color)}.logout-page{display:flex;justify-content:center;align-items:center;height:100dvh;animation:fadeIn .8s ease-in-out;background:var(--background-color)}.logout-page .logout-container{background-color:var(--card-background-color);padding:40px;border-radius:14px;box-shadow:0 8px 24px #0000001a;text-align:center;max-width:400px;width:90%;animation:slideIn .5s ease-in-out}.logout-page .logout-container .logout-icon{margin-bottom:20px;color:#ff6b6b}.logout-page .logout-container .logout-title{font-size:1.8rem;margin-bottom:10px;color:var(--text-color)}.logout-page .logout-container .logout-description{font-size:1rem;color:var(--text-color);opacity:.8;margin-bottom:30px}.logout-page .logout-container .logout-actions{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.logout-page .logout-container .logout-actions .logout-confirm-button,.logout-page .logout-container .logout-actions .logout-cancel-button{padding:12px 24px;font-size:1rem;border:none;border-radius:10px;cursor:pointer;font-weight:600;transition:background-color .3s ease-in-out}.logout-page .logout-container .logout-actions .logout-confirm-button.logout-confirm-button,.logout-page .logout-container .logout-actions .logout-cancel-button.logout-confirm-button{background-color:#ff6b6b;color:#fff}.logout-page .logout-container .logout-actions .logout-confirm-button.logout-confirm-button:hover,.logout-page .logout-container .logout-actions .logout-cancel-button.logout-confirm-button:hover{background-color:#e05555}.logout-page .logout-container .logout-actions .logout-confirm-button.logout-cancel-button,.logout-page .logout-container .logout-actions .logout-cancel-button.logout-cancel-button{background-color:#4caf50;color:#fff}.logout-page .logout-container .logout-actions .logout-confirm-button.logout-cancel-button:hover,.logout-page .logout-container .logout-actions .logout-cancel-button.logout-cancel-button:hover{background-color:#43a047}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}body{font-family:Poppins,sans-serif;margin:0;padding:0;height:100vh;background:url(/assets/bg-Jps2tYNA.jpg) no-repeat center center fixed;background-size:cover;position:relative;transition:background-color .3s ease}body:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff3;z-index:-1}body.dark-mode:before{background:#0009}.login-page{display:flex;justify-content:center;align-items:center;height:100dvh}.login-container{width:100%;display:flex;justify-content:center}.login-box{background:#ffffff1a;padding:2rem;border-radius:16px;box-shadow:0 8px 32px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:420px;text-align:center;animation:fadeIn .8s ease-in-out}.login-box:hover{transform:translateY(-4px);transition:.3s ease}body.dark-mode .login-box{background:#2222224d;color:#fff}.logo{width:80%;margin-bottom:1.5rem}h2{font-size:2rem;font-weight:700;margin-bottom:2rem;color:var(--text-color)}.login-input{margin-bottom:1.5rem}.login-input input{width:100%;padding:.75rem 1rem;font-size:1rem;border-radius:8px;border:1px solid rgba(255,255,255,.4);background:#fff3;color:var(--text-color);transition:all .3s ease}.login-input input::placeholder{color:#fff9}.login-input input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 10px var(--primary-color)}body.dark-mode .login-input input{background:#4444444d}.password-input{position:relative}.password-input .eye-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#ffffffb3;cursor:pointer;transition:color .3s ease}.password-input .eye-icon:hover{color:var(--primary-color)}.login-remember{display:flex;align-items:center;font-size:.95rem;color:var(--text-color);gap:8px;margin-bottom:1.5rem}.login-remember input{accent-color:var(--primary-color)}.login-button{width:100%;padding:.75rem;font-size:1rem;font-weight:600;border:none;background-color:var(--primary-color);color:#fff;border-radius:10px;cursor:pointer;transition:.3s ease}.login-button:hover{filter:brightness(90%);transform:scale(1.03)}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.loader-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#ffffffe6;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.loader-image{width:150px;height:auto;filter:brightness(0) saturate(100%) invert(23%) sepia(58%) saturate(805%) hue-rotate(142deg) brightness(96%) contrast(94%);animation:spin 3s linear infinite}.loader-text{margin-top:20px;font-size:18px;color:#555;font-family:Arial,sans-serif;text-align:center}@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color: #ebebeb;--highlight-color: #f5f5f5;--animation-duration: 1.5s;--animation-direction: normal;--pseudo-element-display: block;background-color:var(--base-color);width:100%;border-radius:.25rem;display:inline-flex;line-height:1;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:var( --custom-highlight-background, linear-gradient( 90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100% ) );transform:translate(-100%);animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display: none}}.products-overview{padding:30px;background-color:var(--background-color);font-family:var(--font-family-lato),var(--font-family-manrope),Arial,sans-serif;color:var(--text-color)}h2{font-size:26px;font-weight:700;color:var(--primary-color);text-align:center;margin-bottom:30px}.sensor-list{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-evenly}.sensor-card{background-color:var(--secondary-color);border-radius:12px;box-shadow:var(--light-shadow1);padding:25px;width:100%;max-width:330px;transition:transform .3s ease,box-shadow .3s ease;border-left:4px solid var(--primary-color);cursor:pointer;text-align:center;overflow:hidden;color:var(--text-color)}.sensor-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px #00000026}.sensor-card h3{font-size:22px;font-weight:700;color:var(--primary-color);margin-bottom:15px;text-transform:uppercase}.sensor-info-item{margin-top:20px;padding:10px;background-color:var(--background-color);border-radius:8px;box-shadow:inset 0 0 10px #0000000d}.sensor-info-item h4{font-size:15px;font-weight:700;color:var(--base-text-color);margin-bottom:8px}.sensor-info-item p{font-size:20px;color:var(--red-color);font-weight:700;margin:0;padding:12px;border-radius:6px;background-color:var(--overview-card-bg-color);box-shadow:inset 0 0 5px #0000001a;text-align:center;transition:var(--default-transition)}.sensor-info-item p.normal{color:var(--primary-color);background-color:var(--overview-card-bg-color)}.sensor-info-item p.normal:hover{background-color:#d4f8e7;transform:scale(1.05)}.error-text{color:var(--red-color);font-weight:700;font-size:18px;text-transform:uppercase;background-color:#f8d7da;padding:12px;border-radius:5px;box-shadow:inset 0 0 5px #0000000d;text-align:center;margin-top:10px}.loading-spinner{display:flex;justify-content:center;align-items:center;height:200px;width:100%}button{background-color:var(--primary-color);color:var(--light-color);border:none;padding:12px 25px;border-radius:6px;cursor:pointer;transition:background-color .3s;font-size:16px}button:hover{background-color:#026a4d}button:active{background-color:#014c36}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.home-icon{transition:color .3s ease;font-size:2rem;cursor:pointer;color:var(--icon-color)}.product-data-page{padding:20px;font-family:Nunito,sans-serif;color:var(--text-color)}.product-data-page h2{font-size:1.8rem;font-weight:700;margin-bottom:16px;text-align:center}.product-data-page .view-toggle{color:var(--text-color);display:flex;justify-content:center;margin-bottom:20px}.product-data-page .view-toggle .MuiToggleButton-root{background-color:var(--background-color);font-weight:600;padding:8px 16px}.product-data-page .filter-controls{color:var(--text-color);display:flex;flex-wrap:wrap;gap:16px;margin:20px 0;align-items:center;justify-content:center}.product-data-page .filter-controls .MuiTextField-root,.product-data-page .filter-controls .MuiSelect-root{min-width:180px;background-color:var(--background-color)}.product-data-page .filter-controls .MuiButton-root{height:40px;font-weight:600}.product-data-page .sticky-controls{position:sticky;top:70px;background:var(--background-color);padding:12px 16px;z-index:10;box-shadow:0 2px 8px #0000000d;border-radius:8px;border:1px solid var(--border-color-inverted)}.product-data-page .info-message{text-align:center;font-size:1rem;font-weight:500;color:var(--primary-color);margin:16px 0;background-color:var(--background-color);border:1px solid var(--border-color-inverted);border-radius:6px;padding:10px 16px}.product-data-page .charts-container{display:flex;flex-direction:column;gap:20px;animation:fadeIn .6s ease-in-out}.product-data-page .sensor-container{border:1px solid var(--border-color-inverted);border-radius:8px;background-color:var(--background-color);box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .4s ease-in-out}.product-data-page .sensor-container .MuiAccordionSummary-root{background-color:var(--side-link-hover-color);padding:0 16px}.product-data-page .sensor-container .MuiAccordionSummary-root .MuiTypography-root{font-size:1rem}.product-data-page .sensor-container .MuiAccordionDetails-root{padding:16px;background-color:var(--background-color)}.product-data-page .chart-date-range{font-size:.9rem;color:var(--base-text-color);margin-bottom:12px;text-align:center}.product-data-page .loading-spinner{display:flex;justify-content:center;margin:40px 0}@media (max-width: 768px){.product-data-page .filter-controls{flex-direction:column;align-items:stretch}.product-data-page .charts-container{padding-bottom:60px}.product-data-page .sticky-controls{top:60px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-in-out}.ai-assistant-page{padding:2rem}.ai-assistant-page .welcome-header{margin-bottom:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.ai-assistant-page .welcome-header h2{font-size:1.8rem;color:var(--text-color);margin-bottom:.25rem}.ai-assistant-page .welcome-header h2 .highlight{color:#03856d;font-weight:800}.ai-assistant-page .welcome-header .subtitle{font-size:1rem;color:#6b7280;margin-top:.25rem}.ai-assistant-page .welcome-header .header-logo-wrapper{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.75rem}.ai-assistant-page .product-list{margin-bottom:2rem}.ai-assistant-page .product-list h3{font-size:1.3rem;margin-bottom:1rem;color:var(--text-color)}.ai-assistant-page .product-list .product-cards{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.ai-assistant-page .product-list .no-products-msg{color:#6b7280;font-size:.95rem}.ai-assistant-page .loading-indicator{display:flex;align-items:center;gap:.75rem;font-size:1rem;color:#4b5563;margin:1.5rem 0}.ai-assistant-page .loading-indicator .spinner{width:18px;height:18px;border:3px solid #d1d5db;border-top:3px solid #10b981;border-radius:50%;animation:spin .6s linear infinite}.ai-assistant-page .error-msg{color:#dc2626;font-weight:500;margin-top:1rem}@keyframes spin{to{transform:rotate(360deg)}}.grobo-loading{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;margin-top:2rem}.grobo-logo{width:100px;height:auto;will-change:transform,filter}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}@keyframes glow{0%,to{filter:drop-shadow(0 0 0px #00c67f)}50%{filter:drop-shadow(0 0 12px #00c67f)}}.grobo-logo{-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.product-card.enhanced{background-color:var(--secondary-color);border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;box-shadow:0 4px 12px #0000000f;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease,box-shadow .2s ease}.product-card.enhanced:hover{transform:translateY(-4px);box-shadow:0 6px 20px #00000014}.product-card.enhanced .product-card-header{margin-bottom:1rem}.product-card.enhanced .product-card-header .product-title{font-size:1.2rem;font-weight:600;margin-bottom:.3rem;color:var(--text-color)}.product-card.enhanced .product-card-header .product-type{font-size:.85rem;color:#6b7280}.product-card.enhanced .product-card-header .product-type .label{font-weight:500;color:#374151;margin-right:4px}.product-card.enhanced .product-card-actions{display:flex;justify-content:flex-end}.product-card.enhanced .product-card-actions .generate-btn{display:flex;align-items:center;gap:.5rem;background-color:#03856d;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.product-card.enhanced .product-card-actions .generate-btn:hover{background-color:#059669}.product-card.enhanced .product-card-actions .generate-btn .icon{margin-bottom:1px}.report-section{background-color:var(--secondary-color);padding:1.5rem;border-radius:12px;box-shadow:0 4px 10px #00000014;margin-top:2rem}.report-section .report-header{display:flex;justify-content:space-between;align-items:center}.report-section .report-header .download-btn{background-color:var(--primary-color);color:#fff;padding:.5rem 1rem;border:none;border-radius:8px;cursor:pointer;font-weight:500}.report-section .report-header .download-btn:hover{background-color:#045a4a}.report-section .report-content{background:var(--background-light);padding:2rem;border-radius:10px;box-shadow:0 4px 12px #0000000d;color:#1f2937}.report-section .report-content .report-block{margin-bottom:1rem}.report-section .report-content .report-block h4{margin-bottom:.3rem;font-size:1rem;color:var(--text-color)}.report-section .report-content .report-block p{font-size:.95rem;color:var(--text-color)}.report-section .report-content .report-block.success{background-color:var(--scroll-thumb-bg-color);padding:.5rem;border-radius:8px;font-weight:700;color:#218838}.chatbot-section{margin-top:2rem;padding:1.5rem;background-color:var(--secondary-color);border-radius:12px;box-shadow:0 6px 18px #0000000d}.chatbot-section h3{font-size:1.2rem;font-weight:600;margin-bottom:1rem;color:var(--text-color)}.chatbot-section .chat-window{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding:1rem;background:var(--background-light);border-radius:10px;margin-bottom:1rem}.chatbot-section .chat-window .chat-message{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .9rem;border-radius:12px;max-width:75%;font-size:.95rem;line-height:1.4;box-shadow:0 2px 6px #0000000d}.chatbot-section .chat-window .chat-message.user{background-color:#daf1ff;align-self:flex-end;margin-left:auto}.chatbot-section .chat-window .chat-message.grobo{background-color:#f3f4f6;align-self:flex-start;margin-right:auto;position:relative}.chatbot-section .chat-window .chat-message .grobo-avatar{width:32px;height:32px;border-radius:50%;object-fit:contain}.chatbot-section .chat-window .typing-dots{display:flex;gap:4px}.chatbot-section .chat-window .typing-dots span{width:8px;height:8px;background-color:#6b7280;border-radius:50%;animation:bounce 1.2s infinite ease-in-out}.chatbot-section .chat-window .typing-dots span:nth-child(2){animation-delay:.2s}.chatbot-section .chat-window .typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(1)}40%{transform:scale(1.5)}}.chat-input{background-color:var(--secondary-color);padding:1rem;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;align-items:center;gap:.75rem}.chat-input input{flex:1;background-color:#fff;padding:.6rem 1rem;border:1px solid #d1d5db;border-radius:9999px;font-size:.95rem;transition:all .3s ease;color:#111827}.chat-input input::placeholder{color:#9ca3af}.chat-input input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98133;outline:none}.chat-message.grobo .grobo-avatar{width:28px;height:28px;border-radius:50%;object-fit:contain;margin-top:2px}.chat-message.grobo .grobo-avatar{width:34px;height:34px;border-radius:50%;object-fit:contain;flex-shrink:0;animation:none}.chat-message.grobo.typing-indicator .dots{font-size:1.5rem;display:flex;gap:3px;color:#6b7280}.chat-message.grobo.typing-indicator .dots span{animation:bounce 1s infinite ease-in-out}.chat-message.grobo.typing-indicator .dots span:nth-child(2){animation-delay:.15s}.chat-message.grobo.typing-indicator .dots span:nth-child(3){animation-delay:.3s}.chat-message.grobo .grobo-avatar.blinking{animation:blinkEyes 2s steps(1) infinite}@keyframes blinkEyes{0%,to{transform:scaleY(1)}48%,52%{transform:scaleY(.1)}}.chat-message.thinking{background-color:#fdf6b2;color:#92400e;font-style:italic;font-weight:500;opacity:.95;animation:pulseThink 1s ease-in-out infinite}@keyframes pulseThink{0%,to{opacity:.85}50%{opacity:1}}.sensor-insight-wrapper{margin-top:2rem;display:flex;flex-direction:column;gap:2rem;padding:1rem}.interval-toggle{display:flex;gap:1rem;margin-bottom:1rem}.interval-toggle button{padding:.5rem 1.2rem;background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-weight:500;color:var(--text-color);transition:all .2s ease}.interval-toggle button.active{background-color:var(--primary-color);color:#fff;font-weight:600}.sensor-chart-container{background-color:var(--secondary-color);padding:1rem 1.5rem;border-radius:1rem;box-shadow:0 0 6px #0000000f;margin-bottom:2rem}.chart-header{display:flex;justify-content:space-between;align-items:center}.chart-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-color)}.chart-header .optimal-range-label{font-size:.85rem;font-weight:500;color:#065f46}.legend{color:var(--text-color);margin-top:1rem;font-size:.85rem;display:flex;gap:1rem;align-items:center}.legend .dot{width:12px;height:12px;display:inline-block;border-radius:50%;margin-right:6px}.legend .optimal{background-color:#4ade80}.legend .above{background-color:#fbbf24}.legend .below{background-color:#f87171}.insight-summary{margin:.25rem 0 1rem;font-size:.9rem;color:var(--text-color);font-weight:500}
