@charset "UTF-8";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.sensor-status-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 8px #0000001a;min-width:280px;width:100%;min-height:200px;height:100%;display:flex;flex-direction:column}.sensor-status-spacer{flex:1;min-height:0px;display:flex;flex-direction:column;justify-content:space-between;border-bottom:2px dotted #050505;padding-bottom:1px}.sensor-status-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-bottom:8px;border-bottom:2px solid #f0f0f0}.sensor-status-title{font-size:18px;font-weight:600;color:#2c3e50;margin:0;font-family:Courier New,monospace}.sensor-status-summary{display:flex;gap:8px;font-size:12px;font-weight:500;flex-wrap:wrap}.online-count{color:#27ae60;background:#e8f5e8;padding:2px 6px;border-radius:3px}.offline-count{color:#e74c3c;background:#fdeaea;padding:2px 6px;border-radius:3px}.sensor-status-content{flex:1;display:flex;flex-direction:column;justify-content:space-evenly}.sensor-locations{display:flex;flex-direction:column;height:100%;justify-content:space-between}.sensor-location-row{display:flex;align-items:center;font-size:14px;padding:5px;font-family:Courier New,monospace;flex:1;flex-wrap:wrap;gap:4px;justify-content:space-between}.location-name-sensor-status{min-width:100px;font-weight:500;color:#2c3e50;margin-right:8px;text-decoration:none;border-bottom:none;box-shadow:none;display:flex;align-items:center}.status-dots{flex:1;color:#bdc3c7;font-family:monospace;font-size:12px;margin-right:8px;min-width:60px}.status-indicator{font-size:16px;margin-right:8px;font-weight:700}.status-indicator.online{color:#27ae60}.status-indicator.offline{color:#e74c3c}.status-text{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:50px}.status-indicator.online+.status-text{color:#27ae60}.status-indicator.offline+.status-text{color:#e74c3c}@media (max-width: 768px){.sensor-status-card{min-width:250px;padding:12px;min-height:180px}.sensor-status-header{flex-direction:column;align-items:flex-start;gap:6px}.sensor-status-title{font-size:16px}.sensor-status-summary{font-size:11px}.sensor-location-row{font-size:13px;padding:4px;flex-direction:column;align-items:flex-start;gap:2px}.location-name-sensor-status{min-width:auto;margin-right:0;font-size:14px}.status-dots{display:none}.status-indicator{font-size:14px;margin-right:6px}.status-text{font-size:11px;min-width:auto}}@media (max-width: 480px){.sensor-status-card{min-width:200px;padding:10px;min-height:160px}.sensor-status-title{font-size:15px}.sensor-location-row{font-size:12px;padding:3px}.location-name-sensor-status{font-size:13px}.status-indicator{font-size:12px}.status-text{font-size:10px}}.single-value-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000001a;border:1px solid #e0e0e0;min-width:300px;max-width:400px;display:flex;align-items:center;justify-content:space-between}.single-value-content{display:flex;flex-direction:column;align-items:flex-end;width:100%}.single-value-text-container{display:flex;width:90%;flex-direction:column}.single-value-desc-text{font-size:14px;font-family:Courier New,monospace}.single-value-text{font-size:32px;font-weight:700;font-family:Courier New,monospace}.single-value-icon{filter:invert(40%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0%) contrast(100%);opacity:.7;transition:opacity .2s ease}.single-value-icon:hover{opacity:1}.trend-arrow{display:inline-block;font-weight:700;margin-left:4px;transition:all .2s ease}.trend-up{color:#ef4444}.trend-down{color:#22c55e}.trend-small{font-size:.8em}.trend-medium{font-size:1em}.trend-large{font-size:1.2em}.trend-arrow{animation:trendPulse .5s ease-in-out}@keyframes trendPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.current-page{background-color:#f5f5f5;color:#333}.current-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.current-header h1{margin:0;color:#2c3e50;font-size:1.8rem;font-weight:600}.last-update{font-size:.9rem;color:#7f8c8d}.header-actions{display:flex;gap:1rem;align-items:center}.refresh-button,.retry-button{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9rem}.refresh-button{background:#3498db;color:#fff}.refresh-button:hover{background:#2980b9;transform:translateY(-1px)}.refresh-button:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}.refresh-button:disabled:hover{background:#bdc3c7;transform:none}.updating-indicator{color:#3498db;font-weight:500;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.retry-button{background:#f39c12;color:#fff}.retry-button:hover{background:#e67e22;transform:translateY(-1px)}.current-content{padding:1rem;margin:0;height:100vh;display:flex;flex-direction:column}.loading,.error,.no-data{text-align:center;padding:3rem;background:#fffffff2;border-radius:12px;margin:2rem auto;max-width:500px;font-size:1.1rem;color:#2c3e50}.error{color:#e74c3c}.card-desc-text{margin-top:.5rem;color:#2c3e50b3;font-style:italic;font-size:.9rem;line-height:1.4}@media (max-width: 1649px){.card-desc-text{display:none}.sensor-status-card-container-inner .sensor-status-card{flex:1;height:100%}}.sensor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.sensor-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);transition:transform .3s ease,box-shadow .3s ease}.sensor-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.location-name{margin:0 0 1.5rem;color:#2c3e50;font-size:1.4rem;font-weight:600;text-align:center;padding-bottom:1rem;border-bottom:2px solid #ecf0f1}.sensor-readings{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.reading-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#f8f9fa;border-radius:12px;border:2px solid transparent;transition:all .2s ease}.reading-item:hover{transform:scale(1.02)}.reading-label{font-size:.9rem;font-weight:600;color:#7f8c8d;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.reading-value{font-size:1.8rem;font-weight:700;margin-bottom:.5rem;font-family:Courier New,monospace}.reading-value.good{color:#27ae60}.reading-value.moderate{color:#f39c12}.reading-value.poor{color:#e74c3c}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.good{background:#d5f4e6;color:#27ae60}.status-badge.moderate{background:#fef5e7;color:#f39c12}.status-badge.poor{background:#fadbd8;color:#e74c3c}.sensor-timestamp{margin-top:1.5rem;text-align:center;font-size:.85rem;color:#95a5a6;padding-top:1rem;border-top:1px solid #ecf0f1}@media (max-width: 768px){.current-header{flex-direction:column;gap:1rem;text-align:center}.header-actions{width:100%;justify-content:center}.current-content{padding:.5rem;height:auto}.sensor-grid,.sensor-readings{grid-template-columns:1fr;gap:1rem}.reading-value{font-size:1.5rem}}@media (max-width: 480px){.current-header h1{font-size:1.5rem}.sensor-card{padding:1rem}.reading-value{font-size:1.3rem}}.quadrant-layout{display:flex;flex-direction:column;height:95%;width:99%;gap:1rem;flex:1}.top-quadrant{display:flex;gap:1rem;height:50%;width:100%;min-height:400px}.bottom-quadrant{display:flex;gap:1rem;height:50%;flex:1}.climate-cards-section{flex:0 0 45%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);min-height:400px;overflow-y:auto}.climate-cards-section .single-val-grid-climate-cards{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);overflow-y:auto;gap:1rem;height:100%;min-height:350px}@media (max-width: 1649px){.climate-cards-section .single-val-grid-climate-cards{grid-template-columns:1fr;grid-template-rows:repeat(6,1fr)}}.climate-cards-section .single-value-card{min-width:unset;max-width:unset;width:100%;height:100%;min-height:100px}.bar-chart-section{flex:0 0 55%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);height:100%;width:55%;min-height:400px}.tvoc-chart-section{flex:0 0 60%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);height:100%;width:60%}.sensor-status-card-container{display:flex;flex-direction:column;height:100%}.sensor-status-card-container-inner{display:flex;flex-direction:column;height:100%;flex:1}.sensor-status-card-container-inner .sensor-status-card{flex:1;height:100%}.sensor-status-section{flex:0 0 40%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);display:flex;height:100%;width:40%;flex-direction:column}.tvoc-chart-section h3{margin:0 0 1rem;color:#2c3e50;font-size:1.2rem;font-weight:600}@media (max-width: 768px){.current-content{padding:.5rem;height:auto}.quadrant-layout{gap:.5rem}.top-quadrant,.bottom-quadrant{flex-direction:column;height:auto;min-height:auto}.climate-cards-section,.bar-chart-section,.tvoc-chart-section,.sensor-status-section{flex:none;width:100%;height:auto;min-height:300px}.climate-cards-section .single-val-grid-climate-cards{grid-template-columns:1fr;grid-template-rows:repeat(6,1fr)}}.navigation{background:#fff;border-right:1px solid #e0e0e0;position:fixed;left:0;top:0;height:100vh;width:250px;z-index:1000;transition:transform .3s ease-in-out}.hide-nav-button{position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:8px;height:120px;background:#e7e5e5;border:1px solid #e0e0e0;border-left:none;cursor:w-resize;display:flex;align-items:center;justify-content:center;font-size:3px;color:#999;z-index:1001;transition:all .2s ease;outline:none}.hide-nav-button:hover,.hide-nav-button:focus{outline:none;border:1px solid #e0e0e0;border-left:none}.navigation-hidden{transform:translate(-100%)}.navigation-hidden:before{content:"";position:fixed;top:0;left:0;bottom:0;width:10px;z-index:999}.nav-container{height:100%;padding:1rem;display:flex;flex-direction:column;gap:1rem}.nav-brand{width:100%;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.nav-brand h2{margin:0;color:#333;font-size:1.2rem;font-weight:500}.nav-links{display:flex;flex-direction:column;gap:.5rem;width:100%;flex:1}.nav-section{width:100%}.nav-section-header{background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;color:#666;font-weight:400;padding:.5rem 0}.nav-section-header.active{color:#333;font-weight:500}.expand-icon{transition:transform .2s ease;font-size:.8rem;color:#999}.expand-icon.expanded{transform:rotate(180deg)}.nav-sub-links{max-height:0;overflow:hidden;transition:max-height .3s ease;margin-left:1rem}.nav-sub-links.expanded{max-height:200px}.nav-sub-link{font-size:.9rem;padding:.5rem 0;margin:.25rem 0;color:#666}.nav-sub-link.active{color:#333;font-weight:500}.nav-sub-link:hover{color:#333}.nav-link{text-decoration:none;color:#666;font-weight:400;padding:.5rem 0;display:flex;align-items:center;width:100%}.nav-link:hover{color:#333}.nav-link.active{color:#333;font-weight:500}.nav-actions{display:flex;align-items:center;width:100%;padding-top:1rem;border-top:1px solid #e0e0e0}.logout-button{width:100%;padding:.5rem;background:#666;color:#fff;border:none;font-weight:400;cursor:pointer}.logout-button:hover{background:#333}@media (max-width: 768px){.navigation{width:200px}.nav-container{padding:1rem .75rem}}@media (max-width: 480px){.navigation{width:180px}.nav-container{padding:.75rem .5rem}.nav-brand h2{font-size:1.1rem}}.logo-container,.titlebar{display:flex;justify-content:center}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.date-range-picker{position:relative;display:flex;align-items:center;justify-content:flex-end}.calendar-icon-button{background:none;border:none;padding:8px;cursor:pointer;color:#646cff;border-radius:4px;transition:background-color .2s}.calendar-icon-button:hover{background-color:#646cff1a}.calendar-popup{position:absolute;top:100%;right:0;margin-top:8px;z-index:1000;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026}.react-datepicker{font-family:inherit;border:none;box-shadow:none}.react-datepicker__header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;border-top-left-radius:8px;border-top-right-radius:8px}.react-datepicker__day--selected,.react-datepicker__day--in-range{background-color:#646cff!important;color:#fff!important}.react-datepicker__day--in-selecting-range{background-color:#646cff33!important}.react-datepicker__day:hover{background-color:#646cff1a!important}.metric-card{background-color:#fff;border-radius:8px;width:100%;padding:1rem;box-shadow:0 2px 4px #0000001a;margin-right:.5rem}.metric-card-title{color:#333;font-size:1.1rem;margin-bottom:1rem;font-weight:600}.metric-card-content{display:flex;flex-direction:column;gap:.75rem}.metric{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.metric:last-child{border-bottom:none}.metric-label{color:#666;font-size:.9rem}.metric-value{color:#646cff;font-weight:600;font-size:1.1rem}.metrics-toggle-btn{margin-bottom:0rem}.metrics-toggle-arrow{padding:0;background:none;border:none;cursor:pointer;outline:none;display:flex;align-items:flex-start;justify-content:flex-start;font-size:1.5rem;width:24px;min-width:24px;height:100%;box-sizing:border-box;top:0}.metrics-toggle-arrow-img{width:24px;height:24px;display:inline-block;filter:invert(0);transition:transform .2s}.metrics-toggle-arrow-img.rotated{transform:rotate(180deg)}.metrics-container-inner{display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;min-width:0}.metrics-container{display:flex;flex-direction:row;align-items:center;width:100%;height:100%}.metrics-button-container{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end}.app{min-height:100vh;width:100vw;background-color:#f5f5f5;display:flex;flex-direction:column}.app-header{background-color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;z-index:1;height:60px;display:flex;justify-content:space-between;align-items:center}.app-header h1{margin:0;color:#333;font-size:1.5rem}.last-update{color:#666;font-size:.9rem}.dashboard{flex:1;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:2rem;overflow:hidden;min-height:500px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;width:100%;color:#333}.dashboard-header-title{width:100%}.dashboard-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:95%;height:100%;min-height:700px;min-width:100px;margin-bottom:60px}.chart-container{background-color:#fff;padding:1.5rem 1.5rem .5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;width:100%;height:100%;min-height:500px;display:flex;flex-direction:column;margin-bottom:1rem}.controls{margin-bottom:.2rem;display:flex;justify-content:flex-end;width:100%}.chart-container>div{flex:1;min-height:0}.login-container{display:flex;min-height:100vh;align-items:center;justify-content:center;background-color:#f5f5f5}.login-box{width:100%;max-width:400px;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.login-title{margin:1.5rem 0;text-align:center;font-size:1.875rem;font-weight:700;color:#333}.login-form{margin-top:2rem}.form-group{margin-bottom:1.5rem}.password-input{display:block;width:100%;padding:.5rem;border:1px solid #ccc;background-color:#f5f5f5;border-radius:4px;font-size:1rem;color:#333}.password-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.error-message{margin-top:.5rem;color:#dc3545;font-size:.875rem}.login-button{display:block;width:100%;padding:.75rem;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s}.login-button:hover{background-color:#357abd}.login-button:focus{outline:none;box-shadow:0 0 0 2px #4a90e266}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}.app-layout{min-height:100vh;display:flex;background-color:#f0f0f0}.main-content{flex:1;transition:margin-left .3s ease-in-out;margin-left:250px;min-height:100vh}.app-layout.nav-hidden .main-content{margin-left:0}.logout-button{background-color:#646cff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}@media (max-width: 768px){.main-content{margin-left:200px}}@media (max-width: 480px){.main-content{margin-left:180px}}.forms-page{background-color:#f5f5f5;color:#333;height:100%;width:100%;padding:20px;margin:0}.forms-container{max-width:800px;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:30px}.forms-title{color:#333;margin-bottom:10px;font-size:2rem;font-weight:600;text-align:center}.form-select,.form-input-small .form-input{color:#333}.form-input-time-small{color:#333;align-self:center;text-align:center}.form-input-small,.time-of-occurrence-container{width:50%}.form-textarea{color:#333}.forms-page h1{color:#333;margin-bottom:10px;font-size:2rem;font-weight:600}.forms-description{color:#666;margin-bottom:30px;font-size:1.1rem;line-height:1.5;text-align:center}.data-form{display:flex;flex-direction:column;gap:5px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.time-picker-group{flex:1}.form-group.time-picker-group label{min-width:40px;margin-bottom:0;flex:1}.form-group.time-picker-group-production{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;flex:1}.form-group.time-picker-group-production label{min-width:40px;margin-bottom:0;flex:1}.form-row{display:flex}.time-arrow{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#666;margin-bottom:8px;font-weight:600}.form-group label{font-weight:600;color:#333;font-size:1rem}.form-group input,.form-group select,.form-group textarea{padding:12px;border:2px solid #e1e5e9;border-radius:6px;font-size:1rem;transition:border-color .2s ease;background-color:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group textarea{resize:vertical;min-height:120px;font-family:inherit}.customer-interactions-section{border:2px solid #e1e5e9;border-radius:8px;padding:20px;background-color:#fafafa}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e1e5e9}.section-header h3{margin:0;color:#333;font-size:1.3rem;font-weight:600}.add-interaction-btn{background-color:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.add-interaction-btn:hover{background-color:#218838}.no-interactions{text-align:center;color:#666;font-style:italic;padding:20px;background-color:#f8f9fa;border-radius:6px;border:2px dashed #dee2e6}.interaction-card{background-color:#fff;border:2px solid #e1e5e9;border-radius:8px;padding:20px;margin-bottom:15px;box-shadow:0 2px 4px #0000000d}.interaction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #e1e5e9}.interaction-header h4{margin:0;color:#333;font-size:1.1rem;font-weight:600}.remove-interaction-btn{background-color:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.remove-interaction-btn:hover{background-color:#c82333}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:10px}.submit-button,.reset-button{padding:14px 28px;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.submit-button{background-color:#007bff;color:#fff}.submit-button:hover:not(:disabled){background-color:#0056b3}.submit-button:disabled{background-color:#6c757d;cursor:not-allowed}.reset-button{background-color:#6c757d;color:#fff}.reset-button:hover:not(:disabled){background-color:#545b62}.reset-button:disabled{background-color:#adb5bd;cursor:not-allowed}.submit-button:active:not(:disabled),.reset-button:active:not(:disabled){transform:translateY(1px)}.form-select,.form-input,.form-input-time,.form-input-time-small .form-textarea{color:#333}.form-input-time-small{width:90%;margin-left:10%;justify-content:center;align-content:center}.radio-group{display:flex;flex-direction:column;gap:12px;margin-top:8px}.radio-option{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 12px;border:2px solid #e1e5e9;border-radius:6px;transition:all .2s ease;background-color:#fff}.radio-option:hover{border-color:#007bff;background-color:#f8f9fa}.radio-input{width:18px;height:18px;accent-color:#007bff;cursor:pointer}.radio-label{font-weight:500;color:#333;font-size:1rem;cursor:pointer}.radio-option:has(.radio-input:checked){border-color:#007bff;background-color:#e3f2fd}.large-textarea{min-height:200px;font-size:1rem;line-height:1.5}.form-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.form-input-time{width:90%;flex:1;margin-left:0;margin-right:0;display:flex;justify-content:center;align-items:center;text-align:center}@media (max-width: 768px){.forms-container{margin:0 10px;padding:20px}.forms-title{font-size:1.5rem}.forms-description{font-size:1rem}.form-row{flex-direction:column;gap:15px;align-items:stretch}.time-arrow{display:none}.form-group.time-picker-group{flex-direction:column;gap:8px}.form-group.time-picker-group-production{display:flex;flex-direction:row}.form-group.time-picker-group label{min-width:auto;margin-bottom:0}.form-row .form-group:first-child,.form-row .form-group:last-child{grid-column:1}.section-header{flex-direction:column;gap:10px;align-items:stretch}.add-interaction-btn{width:100%}.interaction-header{flex-direction:column;gap:10px;align-items:stretch}.remove-interaction-btn{align-self:flex-end}.form-actions{flex-direction:column}.submit-button,.reset-button{width:100%}}
