@import url(https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap);@media screen and (min-width:968px){:root{--biggest-font-size:2.5rem;--normal-font-size:1.75rem;--smaller-font-size:1.16rem;--smallest-font-size:0.90rem}}.custom-close-icon{color:#fff}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--body-color);color:var(--text-color);font-family:var(--body-font);margin:0;transition:background-color .3s ease,color .3s ease}.header-normal,body{font-size:var(--normal-font-size)}.header-normal{font-weight:400}.App{display:flex;flex-direction:column;height:100vh;text-align:center}.App-content{flex:1 1;transition:margin-left .3s ease}.App-header{align-items:center;background-color:#282c34;color:var(--text-color);display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.normal-button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:2rem}.normal-button:hover i{color:var(--exit-color)}.action-range{align-items:center;background-color:red;display:flex;flex-direction:row}.action-wrapper-container{height:100%;justify-content:center;width:100%}.action,.action-wrapper-container{align-items:center;display:flex;flex-direction:column}.action{background-color:var(--card-background);border-radius:8px;border-style:solid;border-width:2px;box-shadow:0 4px 8px #0003;height:250px;justify-content:space-between;margin:.5rem;min-width:200px;overflow:hidden;padding:1rem;position:relative;text-align:center;transition:background-color .3s,transform .3s,box-shadow .3s}.action:hover{background-color:#333;transform:scale(1.02)}@media screen and (max-width:400px){.action{margin-left:-2.25rem}}.action .card-image-container{height:120px;margin-bottom:.5rem;width:120px}.action .card-image{border-radius:50%;height:100%;object-fit:contain;width:100%}.action .card-description{font-size:clamp(.7rem,2.5vw,1rem);margin-bottom:.5rem}.action .card-data{width:100%}.action .card-data,.action .card-temp-data{align-items:center;display:flex;flex-direction:column}.action .action-range{align-items:center;background-color:initial;display:flex;flex-direction:row;gap:.5rem;justify-content:center}.action .card-delete-button{background-color:initial;border:none;opacity:0;position:absolute;right:10px;top:10px;transition:opacity .3s}.action:hover .card-delete-button{opacity:1}.action .card-delete-button i:hover{color:var(--exit-color)}.actions-group-container{display:flex;flex-direction:row;gap:2rem}.sensor-action-group{display:flex;flex-direction:column;justify-content:center;margin-bottom:1.5rem;padding:2rem}.sensor-action-group h2{margin-bottom:.75rem;text-align:center;width:100%}.sensor-actions{background-color:var(--body-color-alt);border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;padding:1.16rem}.sensor-action-display-p{color:var(--text-color);font-size:var(--smaller-font-size)}@media (max-width:800px){.action-tabs{gap:.2rem;margin:1rem 0;padding:.2rem}.action-tab{font-size:.85rem;min-height:32px;padding:.5rem .75rem}.action-tab:first-child{min-width:100px}.action-tab:last-child{min-width:140px}.action-tab i{font-size:.9rem}.actions-group-container{display:flex;flex-direction:column}.sensor-action-group{margin-bottom:1rem;padding:1rem}.sensor-action-group h2{font-size:1.2rem;margin-bottom:.5rem}.sensor-actions{gap:.75rem;padding:.75rem}.action{height:220px;margin:.25rem;min-width:180px}.action .card-image-container{height:100px;width:100px}.action .card-description{font-size:.8rem}}@media (max-width:600px){.action-tabs{gap:.15rem;margin:.75rem 0;padding:.15rem}.action-tab{font-size:.8rem;min-height:28px;padding:.5rem .625rem}.action-tab:first-child{min-width:90px}.action-tab:last-child{min-width:120px}.action-tab i{font-size:.85rem}.sensor-action-group{padding:.5rem}.sensor-action-group h2{font-size:1.05rem;margin-bottom:.5rem}.sensor-actions{gap:.4rem;justify-content:center;padding:.4rem}.action{height:175px;margin:.15rem;min-width:145px;padding:.8rem}.action .card-image-container{height:75px;margin-bottom:.4rem;width:75px}.action .card-description{font-size:.7rem;margin-bottom:.4rem}.action .card-delete-button{padding:.2rem;right:6px;top:6px}.action .card-delete-button i{font-size:.85rem}}@media (max-width:480px){.action-tabs{gap:.1rem;margin:.4rem 0;padding:.1rem}.action-tab{font-size:.75rem;min-height:26px;padding:.4rem .5rem}.action-tab:first-child{min-width:75px}.action-tab:last-child{min-width:105px}.action-tab i{font-size:.8rem}.sensor-action-group{padding:.4rem}.sensor-action-group h2{font-size:.95rem;margin-bottom:.4rem}.sensor-actions{gap:.3rem;padding:.3rem}.action{height:155px;margin:.1rem;min-width:125px;padding:.6rem}.action .card-image-container{height:65px;margin-bottom:.3rem;width:65px}.action .card-description{font-size:.65rem;margin-bottom:.3rem}.action .card-delete-button{padding:.15rem;right:4px;top:4px}.action .card-delete-button i{font-size:.75rem}}@media (max-width:360px){.sensor-action-group{padding:.3rem}.sensor-action-group h2{font-size:.9rem;margin-bottom:.3rem}.sensor-actions{gap:.25rem;justify-content:space-around;padding:.25rem}.action{height:140px;margin:.08rem;min-width:110px;padding:.5rem}.action .card-image-container{height:55px;margin-bottom:.25rem;width:55px}.action .card-description{font-size:.6rem;line-height:1.1;margin-bottom:.25rem}.action .card-delete-button{padding:.1rem;right:3px;top:3px}.action .card-delete-button i{font-size:.7rem}.action .card-data{font-size:.6rem}}@media (max-width:320px){.sensor-actions{align-items:center;flex-direction:column;justify-content:center}.action{height:125px;margin:.05rem;min-width:95px;padding:.4rem}.action .card-image-container{height:50px;margin-bottom:.2rem;width:50px}.action .card-description{font-size:.55rem;line-height:1.05;margin-bottom:.2rem}}.action-tabs{background:#0000004d;border:1px solid #ffffff26;border-radius:4px;display:flex;gap:.25rem;margin:1.5rem 0;padding:.25rem}.action-tab{align-items:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;min-height:36px;overflow:hidden;padding:.625rem 1rem;position:relative;transition:all .15s ease;white-space:nowrap}.action-tab:first-child{flex:0 0 auto;min-width:120px}.action-tab:last-child{flex:1 1;min-width:160px}.action-tab:hover{background:#ffffff14;border-color:#ffffff26;color:var(--text-color)}.action-tab.active{background:linear-gradient(135deg,#4a8a2a,#3ccf00);border-color:#4a8a2a66;box-shadow:0 1px 4px #4a8a2a4d;color:#fff;font-weight:600}.action-tab i{font-size:1rem;transition:transform .15s ease}.action-tab:hover i{transform:scale(1.05)}.chart-display-paragraphs{display:flex;flex-direction:column;justify-content:center;text-align:left}.chart-display-paragraph{margin:0}.chart-display-controls{display:flex;flex-direction:row;gap:1rem;justify-content:center;margin:.5rem}.chart-submit-container{display:flex;justify-content:center;margin-bottom:1.5rem;margin-top:1.5rem;width:100%}.chart-submit-button{align-items:center;background:linear-gradient(135deg,#4a8a2a,#3ccf00);border:1px solid #4a8a2a4d;border-radius:4px;box-shadow:0 2px 4px #4a8a2a4d;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.4rem;justify-content:center;letter-spacing:.3px;line-height:1.2;max-width:160px;min-width:140px;outline:none;padding:.5rem 1rem;text-align:center;transition:all .2s ease;white-space:normal;width:auto}.chart-submit-button:hover,.chart-submit-button:hover:not(:disabled){background:linear-gradient(135deg,#5a9a3a,#4cdf10);border-color:#4a8a2a80;box-shadow:0 4px 8px #4a8a2a66;transform:translateY(-1px)}.chart-overlay-toggle-container{align-items:center;display:flex;justify-content:center;margin:1.5rem 0 1rem}.chart-overlay-toggle-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:2px solid #fff3;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:var(--text-color);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;min-width:140px;outline:none;padding:.75rem 1.25rem;transition:all .3s ease}.chart-overlay-toggle-btn:hover{background:#ffffff1a;border-color:#ffffff4d;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.chart-overlay-toggle-btn.active{background:linear-gradient(135deg,#4a8a2a,#3ccf00);border-color:#4a8a2a99;box-shadow:0 3px 10px #4a8a2a66;color:#fff}.chart-overlay-toggle-btn.active:hover{background:linear-gradient(135deg,#5a9a3a,#4cdf10);border-color:#4a8a2acc;box-shadow:0 4px 12px #4a8a2a80}.chart-overlay-toggle-btn i{font-size:1.1rem;transition:transform .2s ease}.chart-overlay-toggle-btn:hover i{transform:scale(1.1)}.overlay-chart{margin:1rem 0;position:relative}.overlay-chart .MuiTypography-root{margin-bottom:.5rem}.mqtt-chart-box.overlay-chart{min-height:500px}.chart-container-wrapper{opacity:1;transition:all .4s ease-in-out}.chart-container-wrapper.switching{opacity:.7;transform:scale(.98)}.chart-submit-button:active:not(:disabled){background:linear-gradient(135deg,#3a7a1a,#2cbf00);box-shadow:0 2px 4px #4a8a2a4d;transform:translateY(0)}.chart-submit-button:disabled{background:linear-gradient(135deg,#2a5a0a,#1c8f00);border-color:#4a8a2a33;box-shadow:0 1px 2px #4a8a2a33;cursor:not-allowed;opacity:.6;transform:none}.chart-submit-button:disabled span[style*=lightgreen]{color:#4ade80!important;font-weight:600;text-shadow:0 0 5px #4ade8080}.chart-submit-button:disabled span[style*=red]{color:#ef4444!important;font-weight:600;text-shadow:0 0 5px #ef444480}.chart-submit-button:disabled span[style*=lightblue]{color:#38bdf8!important;font-weight:600;text-shadow:0 0 5px #38bdf880}.chart-submit-button:disabled span[style*=lightyellow]{color:#fde047!important;font-weight:600;text-shadow:0 0 5px #fde04780}.chart-submit-button:focus{outline:2px solid #4a8a2a99;outline-offset:2px}.chart-dropdown-selector-container{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:center;padding:.5rem;width:100%}.chart-dropdown-selector{flex:0 0 auto;margin:0;position:relative;text-align:center}.chart-dropdown-selector-inner{align-items:flex-start;display:flex;flex-direction:column;position:relative}.chart-dropdown-selector-inner label{margin-bottom:4px}.chart-dropdown-selector-inner .duration-input-container,.chart-dropdown-selector-inner .time-range-dropdown{box-sizing:border-box;height:36px}.chart-dropdown-loading-container{align-items:center;display:flex;gap:.5rem;padding:.25rem;position:absolute;right:-4rem;top:.92rem;z-index:10}.chart-dropdown-loading-text{color:var(--text-color);font-size:var(--smaller-font-size)}.time-range-dropdown{background-color:#262626;border:1px solid #ccc;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s}.time-range-dropdown:hover{border-color:#888}.time-range-dropdown:focus{border-color:#fff;box-shadow:0 0 0 2px #007bff40}.light-action-time-input::-webkit-calendar-picker-indicator{appearance:none!important;color:#fff!important;filter:brightness(0) invert(1)!important}.duration-input-container{align-items:center;background-color:#262626;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;display:flex;gap:.25rem;height:36px;min-width:120px;padding:7px 11px;width:fit-content}.duration-btn{align-items:center;background-color:initial;border:none;border-radius:2px;color:#fff;cursor:pointer;display:flex;height:22px;justify-content:center;min-width:20px;padding:2px 4px;transition:background-color .2s}.duration-btn:hover:not(:disabled){background-color:#ffffff1a}.duration-btn:disabled{cursor:not-allowed;opacity:.5}.duration-btn i{font-size:12px}.duration-input{background-color:initial;border:none;border-radius:2px;box-sizing:border-box;color:#fff;font-size:14px;height:22px;outline:none;padding:2px 4px;text-align:center;width:50px}.duration-input:focus{background-color:#ffffff0d}.duration-input::-webkit-inner-spin-button,.duration-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.duration-input[type=number]{-moz-appearance:textfield}:root{--breakpoint-small-mobile:320px;--breakpoint-mobile:480px;--breakpoint-large-mobile:600px;--breakpoint-tablet:768px;--breakpoint-desktop:992px;--breakpoint-large-desktop:1440px;--font-size-card-paragraph:clamp(1.1rem,2.5vw,1.2rem);--font-size-card-paragraph-small:clamp(0.75em,2.5vw,1.0rem);--font-size-card-paragraph-smaller:clamp(0.8em,2.5vw,0.95rem);--font-size-card-paragraph-desktop:0.9rem;--gradient-color-red:linear-gradient(90deg,#de250d 15%,#f97d62);--gradient-color-orange:linear-gradient(90deg,#de590d 15%,#dac50b);--gradient-color-yellow:linear-gradient(90deg,#dec90d 15%,#6cda0b);--gradient-color-green:linear-gradient(90deg,#6ede0d 15%,#a9f764);--gradient-color-blue:linear-gradient(90deg,#0dccde 15%,#1f5be5);--font-family:"Montserrat",sans-serif;--main-theme-color-rgb:50,118,31;--gradient-blue-to-green:linear-gradient(90deg,#adc3e759,#9ac6aa59);--exit-color:#ff5f5f;--body-font:"Montserrat",sans-serif;--biggest-font-size:2.25em;--normal-font-size:1.80rem;--smaller-font-size:1.0rem;--smallest-font-size:0.75rem;background-color:#0a0a0a;color:#fff}:root,[data-theme=dark]{--text-color:#fff;--body-color:#030712;--body-color-alt:#030c12;--container-color:#fff;--main-theme-color:#32761f;--secondary-theme-color:#29bf00;--level-container-color:#171717;--card-background:#000;--card-theme-color:#193a21;--card-font-color:#fff;--card-theme-color-mqtt:#4e3772;--card-secondary-theme-color:#2a7d03;--header-bg:#000;--sidebar-bg:#000;--button-hover:#444;--button-active:#555;--modal-bg:#030712;--modal-border:#333;--background-color:#030712;--border-color:#333;--text-secondary:#ccc;--primary-color:#32761f;--primary-hover-color:#29bf00;--hover-color:#ffffff1a}[data-theme=light]{--text-color:#333;--body-color:#0a0a0a;--body-color-alt:#1a1a1a;--container-color:#1a1a1a;--main-theme-color:#32761f;--secondary-theme-color:#29bf00;--level-container-color:#1a1a1a;--card-background:#141414;--card-theme-color:#193a21;--card-font-color:#fff;--card-theme-color-mqtt:#4e3772;--card-secondary-theme-color:#2a7d03;--header-bg:#1a1a1a;--sidebar-bg:#1a1a1a;--button-hover:#333;--button-active:#444;--modal-bg:#1a1a1a;--modal-border:#333;--background-color:#0a0a0a;--border-color:#333;--text-secondary:#ccc;--primary-color:#32761f;--primary-hover-color:#29bf00;--hover-color:#ffffff1a}.fixed-grid{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;gap:20px;justify-content:flex-start;padding:20px;width:100%}.chart-container{align-items:center;background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;flex-shrink:0;height:auto;justify-content:center;margin:0 auto;max-height:700px;max-width:800px;min-height:416px;padding:15px;transition:all .3s ease;width:90%}canvas.chart{width:600px}.chart-display-wrapper{width:100%}.chart-display-container,.chart-display-wrapper{align-items:center;display:flex;flex-direction:column}.chart-display-container{background-color:var(--body-color);padding:1.16em}.chart-display-container.with-modal{width:calc(100% - 500px)}.chart-display-settings-container{align-items:center;display:flex;justify-content:right;width:100%}.chart-display-header-container{align-items:center;display:flex;justify-content:center;width:100%}.chart-display-header{font-weight:400}.chart-display-level-container{display:flex;flex-direction:row;gap:1.16rem}.chart-display-p{align-items:center;color:var(--text-color);display:flex;font-size:var(--smaller-font-size);gap:10px}.chart-display-download{align-items:center;background:none;border:none;cursor:pointer;display:flex;margin-left:10px;padding:0}.chart-display-download i{color:#ffffffb3;font-size:24px;transition:color .3s ease}.chart-display-download i:hover{color:#fff}.chart-display-download:hover{background-color:gray}.chart-display-download img{height:24px;margin:.5em;width:24px}.chart-time-range-selector{background-color:#262626;border-radius:8px;margin-bottom:1rem;max-width:250px;overflow:hidden}.time-range-button{background-color:initial;flex:1 1;max-width:164px;padding:.5rem 1rem;transition:background-color .3s,color .3s}.time-range-button:hover{background-color:#ffffff1a}.time-range-button.active{background-color:var(--main-theme-color);color:#000}.chart-settings-container{border-radius:12px;box-shadow:0 4px 12px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;flex-wrap:nowrap;margin:0 auto;max-width:500px;overflow-x:hidden;padding:2rem;width:90%}.chart-settings-title{font-size:var(--normal-font-size);font-weight:700;margin-bottom:-1.2rem}.chart-settings-form{align-items:center;box-sizing:border-box;gap:2.4rem;justify-content:center;width:100%}.chart-settings-output{display:flex;flex-direction:column;gap:1.5rem;width:50%}.chart-settings-input textarea{flex:1 1;gap:1.5rem;margin-bottom:1.25em;max-width:100%;resize:none}.chart-settings-input textarea,.input-group{box-sizing:border-box;display:flex;flex-direction:column;width:100%}.input-group{gap:.5rem}.input-group-content{display:flex;gap:1rem;justify-content:space-between;position:relative}.input-group label{font-size:var(--smaller-font-size);font-weight:400}.input-group-content label{font-size:var(--smallest-font-size);font-weight:400}.input-group input{background-color:#fff;border:1px solid #ccc;border-radius:8px;font-size:1rem;max-width:100%;padding:.5rem;transition:border-color .2s ease;width:100%}.input-group input:focus{border-color:#007bff;outline:none}.input-highs,.input-lows{font-size:var(--smallest-font-size)}.section-label{align-items:center;display:flex;font-size:var(--smaller-font-size);font-weight:700;gap:.5rem}.dashboard-container{background-color:var(--body-color);box-sizing:border-box;display:flex;flex-direction:column;margin:1rem 2rem;min-height:100vh;padding-bottom:60px}.dashboard-cards-container{grid-gap:2.64em;align-items:stretch;box-sizing:border-box;display:grid;gap:2.64em;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));justify-content:center;margin:0 auto;padding:20px;width:100%}.dashboard-header-container{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:0;padding:1rem;position:relative}.chart-dropdown-loading-indicator{align-items:center;display:flex;position:absolute;right:-60px;top:50%;transform:translateY(-50%);z-index:1}.status-icon{align-items:center;border-radius:50%;display:flex;font-size:1.2rem;font-weight:700;height:20px;justify-content:center;margin-right:10px;width:20px}.status-icon.success{background-color:#4caf501a;border:2px solid #4caf50;color:#4caf50}.status-icon.error{background-color:#3131311a;border:2px solid #999898}@media screen and (max-width:900px){.chart-dropdown-loading-indicator{align-items:center;display:flex;position:absolute;right:20%;top:50%;transform:translateY(-50%);z-index:1}}.dashboard-loading-container{align-items:center;display:flex;gap:10px;left:0;position:fixed}.dashboard-loading-indicator{align-items:center;display:flex;left:0;position:absolute}.dashboard-loading-text{color:var(--main-theme-color);font-size:var(--smaller-font-size);margin-left:2rem}.dashboard-last-updated{align-items:center;display:flex;margin-top:.5rem;position:relative}.dashboard-last-updated,.dashboard-last-updated-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-last-updated-text{color:var(--text-color-secondary);font-size:var(--smaller-font-size);margin:0}.loading-spinner{border:3px solid #ffffff4d;border-top-color:#0f0;height:20px;width:20px}.card-modal{align-items:center;background:linear-gradient(180deg,#000000d9,#000000e6);box-shadow:0 4px 20px #000c;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:850}.card-modal-label{font-size:var(--smaller-font-size)}.card-modal-header{font-size:var(--normal-font-size)}.card-modal-content{background:#000;border:4px solid #0000;border-image:var(--gradient-blue-to-green);border-image-slice:1;border-radius:8px;padding:20px;position:relative;width:300px}.card-form-group{align-items:center;display:flex;flex-direction:column;margin-bottom:15px}.file-input{display:none}.card-form-actions{display:flex;justify-content:center}@media screen and (max-width:400px){.card{margin-left:-1.75rem}}.dashboard-footer{align-items:center;bottom:0;display:flex;justify-content:space-between;left:0;max-height:40px;padding:1rem 0;position:fixed;width:100%}.dashboard-mode-toggle{align-items:center;display:flex;flex-direction:column;margin-left:2rem}.toggle-switch{display:inline-block;height:32px;position:relative;width:64px}.toggle-switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:24px;left:4px;width:24px}input:checked+.slider{background-color:var(--main-theme-color)}input:checked+.slider:before{transform:translateX(32px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.toggle-label{color:#fff;font-size:14px}.chart-container{display:flex;flex-direction:column;height:100%;position:relative}.chart-footer{bottom:0;display:flex;justify-content:flex-end;padding:10px;position:absolute;right:0;z-index:10}@media (max-width:768px){.chart-container{height:250px;width:95%}.chart-settings-form{flex-direction:column;gap:1.25rem}.chart-settings-input,.chart-settings-output{width:100%}.input-group-content{flex-direction:column;gap:1rem}.input-group-content label{display:none}.dashboard-header-container{align-items:center;flex-direction:column;gap:.5rem;justify-content:center;margin-top:0;padding:.75rem;text-align:center}.dashboard-last-updated{align-items:center;box-sizing:border-box;display:flex;justify-content:center;margin-top:.5rem;padding:0 1rem;position:relative;width:100%}.dashboard-last-updated-text{font-size:.8rem;line-height:1.3;text-align:center;white-space:normal}}@media (max-width:var(--breakpoint-mobile )){.chart-container{flex-direction:column;height:220px}chart-settings-title{margin-bottom:1.2rem}}@media(max-width:var(--breakpoint-desktop )){.chart-display-container.with-modal{width:100%}}@media (max-width:var(--breakpoint-large-mobile )){.dashboard-header-container{align-items:center;flex-direction:column;gap:.25rem;justify-content:center;margin-top:0;padding:.5rem;text-align:center}.dashboard-last-updated{align-items:center;box-sizing:border-box;display:flex;justify-content:center;margin-top:.25rem;padding:0 .75rem;position:relative;width:100%}.dashboard-last-updated-text{font-size:.75rem;line-height:1.2;text-align:center;white-space:normal}.chart-settings-container{padding:1rem}.save-button{width:100%}.save-button,.section-label{font-size:1rem}}@media (max-width:480px){.dashboard-header-container{gap:.25rem;margin-top:0;padding:.5rem}.dashboard-last-updated{margin-top:.25rem;padding:0 .5rem}.dashboard-last-updated-text{font-size:.7rem;line-height:1.1}}@media (max-width:360px){.dashboard-header-container{gap:.125rem;margin-top:0;padding:.25rem}.dashboard-last-updated{margin-top:.125rem;padding:0 .25rem}.dashboard-last-updated-text{font-size:.65rem;line-height:1.1}}@media (min-width:768px){.dashboard-header-container{align-items:center;flex-direction:column!important;gap:.75rem;justify-content:center;text-align:center}.dashboard-last-updated{align-items:center;display:flex;justify-content:center;margin-top:.5rem;width:100%}.dashboard-last-updated-text{line-height:1.4;text-align:center;white-space:normal}}.card-paragraph{margin:.64em}.card-paragraph,.card-paragraph-small{font-size:var(--font-size-card-paragraph)}.card-paragraph-small{margin:auto}.card-paragraph-smaller{font-size:var(--font-size-card-paragraph-smaller);margin:auto}.header-container{align-items:center;background-color:var(--header-bg);box-sizing:border-box;color:var(--text-color);display:flex;flex-wrap:wrap;justify-content:space-between;min-height:84px;padding:16px;transition:background-color .3s ease,color .3s ease;width:100%}.header-logo-container{align-items:center;display:flex;left:50%;max-width:80%;position:absolute;transform:translateX(-50%)}.header-right{align-items:center;display:flex;margin-left:auto}.header-paragraph{font-size:var(--smaller-font-size);margin:0;padding-right:16px;white-space:nowrap}.header-logo-img{height:64px;max-width:100%;object-fit:contain}.header-link{align-items:center;color:inherit;display:flex;margin-left:10px;max-width:100%;overflow:hidden;text-decoration:none}.header-link:hover{color:#02ec02}.header-name{box-sizing:border-box;font-size:2rem;margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-container{background-color:var(--sidebar-bg);border-right:4px solid var(--body-color);border-top:4px solid var(--body-color);box-shadow:2px 0 12px #0000004d;color:var(--text-color);display:flex;flex-direction:column;height:100vh;justify-content:flex-start;left:0;padding:1.5rem;position:fixed;top:0;transition:width .3s ease,padding .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease;z-index:1000}.sidebar-open{width:250px}.sidebar-close{display:none;overflow:hidden;padding:0;width:0}.sidebar-header{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:2rem;text-align:left}.sidebar-container ul{list-style-type:none;padding:0}.sidebar-container li{margin:1rem 0}.sidebar-container a{border-radius:8px;color:var(--text-color);display:block;font-size:1.2rem;margin:2px 0;overflow:hidden;padding:.75rem 1rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-container a:before{background:linear-gradient(90deg,#0000,#29bf001a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.sidebar-container a:hover{background-color:var(--button-hover);color:var(--secondary-theme-color);transform:translateX(4px)}.sidebar-container a:hover:before{left:100%}.sidebar-container a:focus-visible{outline:2px solid var(--secondary-theme-color);outline-offset:2px}.sidebar-container a.active{background-color:var(--button-active)}.sidebar-open .App-content{margin-left:250px}.sidebar-close .App-content{margin-left:0}.toggle-sidebar-button{background-color:initial;border:none;color:#fff;cursor:pointer;font-size:var(--normal-font-size);left:10px;padding:.5rem 1rem;position:fixed;top:10px;z-index:1001}.modal-container{align-items:center;background-color:#00000080;display:flex;height:100vh;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100vw;width:100%;z-index:950}.gradient-border{border:4px solid #0000;border-image:var(--gradient-blue-to-green);border-image-slice:1}.modal-content{background-color:var(--body-color);border:4px solid #0000;border-image:var(--gradient-blue-to-green);border-image-slice:1;border-radius:16px;box-shadow:0 4px 8px #0003;margin:1rem;max-width:650px;overflow:visible;padding:2rem;position:relative;width:auto}@media screen and (max-width:768px){.modal-content{max-width:none;padding:1.5rem;width:75%}}@media screen and (max-width:480px){.modal-content{margin:.5rem;padding:1rem;width:calc(100% - 1rem)}}.modal-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;padding:8px;position:absolute;right:25px;top:25px;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.modal-close-button:hover{background-color:#ef44441a;color:#ef4444;transform:scale(1.1)}.modal-close-button:active{transform:scale(.95)}.modal-close-button:focus-visible{outline:2px solid #ef4444;outline-offset:2px}.not-found-container{align-items:center}.not-found-header{font-size:var(--normal-font-size);font-weight:400;margin-bottom:2.25em}.not-found-p{font-size:var(--smaller-font-size)}.profile-container{background-color:var(--body-color);color:var(--text-color);display:flex;flex-direction:column;min-height:100vh}.profile-hero{background:#0003;border:1px solid #ffffff1a;border-radius:8px;margin:1.5rem auto;max-width:900px;padding:1.5rem;text-align:center;transition:all .3s ease}.profile-hero:hover{border-color:#fff3;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.profile-hero-content{margin:0 auto;max-width:800px}.profile-image-container{margin-bottom:1rem}.profile-image{border:3px solid var(--main-theme-color);border-radius:50%;box-shadow:0 8px 25px #0003;height:120px;object-fit:cover;transition:transform .3s ease;width:120px}.profile-image:hover{transform:scale(1.05)}.profile-title{color:var(--main-theme-color);font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.profile-subtitle{color:var(--text-color);font-size:1.2rem;margin-bottom:0;opacity:.9}.profile-content{background:var(--card-background);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:900px;padding:1.25rem 1.5rem}.profile-form{width:100%}.profile-form-content{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1rem}.profile-section{margin-bottom:1rem}.profile-section-title{color:var(--text-color);font-size:1.5rem;font-weight:600;margin-bottom:1rem;position:relative;text-align:center}.profile-section-title:after{background:var(--gradient-blue-to-green);border-radius:2px;bottom:-10px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.profile-fields-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:800px}.profile-field{background-color:#0003;border:2px solid #ffffff1a;box-shadow:0 2px 4px #0003}.profile-field:hover{border-color:#48c774;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.profile-field label{color:var(--text-color);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.profile-field input[type=text],.profile-field textarea{background:#0003;border:2px solid #ffffff1a;border-radius:8px;box-sizing:border-box;color:var(--text-color);font-size:.9rem;padding:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.profile-field input[type=text]:hover,.profile-field textarea:hover{background:#00000040;border-color:#48c7744d}.profile-field input[type=text]:focus,.profile-field textarea:focus{background:#0000004d;border-color:#48c774;box-shadow:0 0 0 3px #48c7741a;outline:none;transform:translateY(-1px)}.profile-field input::placeholder,.profile-field textarea::placeholder{color:var(--text-color-secondary);font-size:.9rem;opacity:.7}.profile-checkbox-field{align-items:center;display:flex;justify-content:space-between}.profile-checkbox-field label{flex:1 1;margin-bottom:0;margin-right:1rem}.profile-checkbox-field input[type=checkbox]{accent-color:#48c774;cursor:pointer;height:1.25rem;width:1.25rem}.profile-actions{display:flex;justify-content:center;margin-top:1.5rem;width:100%}.profile-actions .green-button{background:linear-gradient(135deg,#48c774,#3bb18f);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-width:180px;padding:.75rem 1.5rem;transition:all .2s ease}@media screen and (max-width:768px){.profile-hero{margin:1rem auto;padding:1rem}.profile-title{font-size:2rem}.profile-subtitle{font-size:1rem}.profile-content{padding:1rem}.profile-section-title{font-size:1.3rem}.profile-fields-grid{gap:1rem;grid-template-columns:1fr}.profile-field{padding:1rem}}@media screen and (max-width:480px){.profile-hero{margin:.75rem auto;padding:.75rem}.profile-title{font-size:1.8rem}.profile-subtitle{font-size:.9rem}.profile-image{height:80px;width:80px}.profile-content{padding:.75rem}.profile-section-title{font-size:1.2rem}.profile-field{padding:.75rem}.profile-actions .green-button{font-size:.9rem;min-width:150px;padding:.75rem 1.5rem}}.settings-icon{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;justify-content:center;margin:0;padding:0;position:relative;right:25px;top:25px}.settings-icon i{color:#fff;font-size:24px;transition:color .3s ease}.settings-icon:hover i{color:var(--main-theme-color)}.settings-icon:focus{outline:none}:root{--chat-bg-primary:#080808;--chat-bg-secondary:#222;--chat-accent-green:#00ffa6;--chat-accent-green-hover:#00d4a1;--chat-text-primary:#e0e0e0;--chat-text-secondary:#a0a0a0;--chat-border-color:#eee6e633;--chat-message-ai-bg:#20d6924d;--chat-message-user-bg:#3c3c3c}.chat-modal-overlay{align-items:center;background:linear-gradient(180deg,#0006,#0000004d);background:#0000;box-shadow:0 4px 20px #000c;display:flex;height:100%;justify-content:center;left:0;pointer-events:none;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:1900}.chat-modal-overlay .chat-modal{pointer-events:auto}.chat-modal-overlay.position-left{justify-content:flex-start;padding-left:20px}.chat-modal-overlay.position-right{justify-content:flex-end;padding-right:20px}.chat-modal-overlay.position-top{align-items:flex-start;padding-top:20px}.chat-modal-overlay.position-bottom{align-items:flex-end;padding-bottom:20px}.chat-modal-overlay.position-center-left{align-items:center;justify-content:flex-start;padding-left:20px}.chat-modal-overlay.position-center-right{align-items:center;justify-content:flex-end;padding-right:20px}.chat-modal-overlay.modal{box-sizing:border-box;max-width:90vw;min-width:300px;overflow:auto;resize:horizontal;scrollbar-color:#ffffff4d #0000;scrollbar-width:thin;width:500px}.chat-modal-overlay.modal:hover{cursor:col-resize;overflow:auto;resize:horizontal}.chat-modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#080808;background-color:var(--chat-bg-primary);border:none;border-radius:16px;box-shadow:0 20px 60px #0000004d,0 0 1px #00f5a033;cursor:grab;display:flex;flex-direction:column;max-height:750px;overflow:hidden;position:relative;transition:transform .1s ease,box-shadow .3s ease;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;width:520px;will-change:transform}.chat-modal:active{cursor:grabbing}.chat-modal:hover{box-shadow:0 25px 70px #00000059,0 0 2px #00f5a04d}.chat-modal-body,.chat-modal-input{pointer-events:auto}.chat-modal-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#20d69214,#00f5a00d);border-bottom:1px solid #20d69226;border-radius:16px 16px 0 0;color:#00ffa6;color:var(--chat-accent-green);cursor:move;display:flex;justify-content:space-between;padding:16px 20px;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.chat-modal .chat-messages,.chat-modal .chat-modal-input,.chat-modal button,.chat-modal input,.chat-modal textarea{cursor:default;user-select:text;-moz-user-select:text;-webkit-user-select:text;-ms-user-select:text}.chat-modal button{cursor:pointer}.chat-modal input,.chat-modal textarea{cursor:text}.chat-modal-header h3{align-items:center;color:#e0e0e0;color:var(--chat-text-primary);display:flex;font-size:1.1rem;font-weight:600;gap:8px;letter-spacing:.3px;margin:0}.chat-modal-header button{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#a0a0a0;color:var(--chat-text-secondary);cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.chat-modal-header button:hover{background:#20d69226;border-color:#20d6924d;color:var(--exit-color);transform:scale(1.05)}.chat-modal-body{flex-grow:1;min-height:500px;overflow-y:auto;padding:15px}.chat-messages{display:flex;flex-direction:column;gap:20px;max-height:500px;overflow-x:hidden;overflow-y:auto;padding:20px 16px;scrollbar-color:#fff3 #0000;scrollbar-width:thin}.chat-message-wrapper{animation:messageSlideIn .3s ease-out;display:flex;gap:12px;width:100%}.chat-message-wrapper.user{flex-direction:row-reverse}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{align-items:flex-start;display:flex;flex-shrink:0;padding-top:2px}.avatar-icon{align-items:center;border-radius:50%;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.avatar-icon.ai-avatar{background:linear-gradient(135deg,var(--secondary-theme-color),var(--exit-color));box-shadow:0 2px 8px #00f5a04d;color:#fff}.avatar-icon.user-avatar{background:linear-gradient(135deg,#4a5568,#2d3748);box-shadow:0 2px 8px #0003;color:#fff}.chat-message{word-wrap:break-word;border-radius:18px;font-size:15px;line-height:1.6;max-width:85%;overflow-wrap:break-word;padding:12px 16px;position:relative;transition:all .2s ease}.chat-message.ai{background-color:#20d69226;border:1px solid #20d69233}.chat-message.ai,.chat-message.user{box-shadow:0 2px 8px #00000014;color:#e0e0e0;color:var(--chat-text-primary)}.chat-message.user{background-color:#222;background-color:var(--chat-bg-secondary);border:1px solid #ffffff1a}.chat-message:hover{box-shadow:0 4px 12px #0000001f}.message-content{margin:0;white-space:pre-wrap;word-break:break-word}.message-content p{line-height:1.6;margin:0 0 8px}.message-content p:last-child{margin-bottom:0}.typing-cursor{animation:blink 1s infinite;color:var(--exit-color);display:inline-block;font-weight:700;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.chat-modal-input{border-top:1px solid #eee6e633;border-top:1px solid var(--chat-border-color);display:flex;padding:15px}.chat-modal-input input{color:#e0e0e0;color:var(--chat-text-primary)}.chat-modal-input input,.chat-modal-input textarea{background-color:#080808;background-color:var(--chat-bg-primary);border:1px solid #eee6e633;border:1px solid var(--chat-border-color);border-radius:8px 0 0 8px;flex-grow:1;padding:10px}.chat-modal-input textarea{color:#e0e0e0;max-height:150px;min-height:50px;resize:vertical}.chat-modal-input button{background-color:#00ffa6;background-color:var(--chat-accent-green);border:none;border-radius:0 8px 8px 0;color:#080808;color:var(--chat-bg-primary);cursor:pointer;padding:10px 15px;transition:background-color .3s ease}.chat-modal-input button:hover{background-color:#00d4a1;background-color:var(--chat-accent-green-hover)}.chat-header{align-items:center;background-color:#f0f0f0;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:10px}.chat-header-actions{display:flex;gap:10px}.clear-chat-btn,.close-chat-btn{background:none}.dashboard-mode-chat{bottom:20px;position:fixed;right:20px;z-index:10}.dashboard-mode-chat img{cursor:pointer;height:50px;transition:transform .3s ease;width:50px}.dashboard-mode-chat img:hover{transform:scale(1.1)}.thinking-dots{align-items:center;display:flex;gap:6px;justify-content:flex-start;padding:4px 8px}.thinking-dots .dot{animation:thinking-pulse 1.4s ease-in-out infinite;background:linear-gradient(135deg,var(--secondary-theme-color),var(--exit-color));border-radius:50%;height:8px;opacity:.4;width:8px}.thinking-dots .dot:first-child{animation-delay:0s}.thinking-dots .dot:nth-child(2){animation-delay:.2s}.thinking-dots .dot:nth-child(3){animation-delay:.4s}@keyframes thinking-pulse{0%,80%,to{opacity:.4;transform:scale(1)}40%{opacity:1;transform:scale(1.3)}}.chat-message.thinking{align-items:center;background-color:#20d6921a;border:1px solid #20d69233;display:flex;max-width:fit-content;min-width:70px;padding:10px 14px}.chat-modal-overlay.modal{z-index:10}.confirmation-modal-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.confirmation-modal{background-color:#000;border:1px solid gray;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:20px;text-align:center}.confirmation-actions{display:flex;gap:15px;justify-content:center;margin-top:15px}.cancel-btn,.confirm-btn{border:none;border-radius:4px;cursor:pointer;padding:8px 15px}.confirm-btn{background-color:#ff4d4d;color:#fff}.cancel-btn{background-color:#f0f0f0;color:#000}.confirm-btn:hover{background-color:#f33}.cancel-btn:hover{background-color:#e0e0e0}.mqtt-test-table{border:1px solid #ccc;border-collapse:collapse;margin-top:10px;width:100%}.mqtt-test-table td,.mqtt-test-table th{border:1px solid #ccc;padding:8px;text-align:left}.green-button-container{display:inline-block;justify-content:center;margin-top:2rem}.green-button{background-color:var(--secondary-theme-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;overflow:hidden;padding:10px 20px;position:relative;right:10px;top:10px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:100}.green-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.green-button:hover{background-color:var(--main-theme-color);box-shadow:0 4px 12px #29bf0066;transform:translateY(-2px)}.green-button:hover:before{left:100%}.green-button:active{box-shadow:0 2px 8px #29bf004d;transform:translateY(0)}.green-button:focus-visible{outline:2px solid var(--secondary-theme-color);outline-offset:2px}.green-button-absolute{align-items:center;background-color:var(--secondary-theme-color);border:none;border-radius:50%;box-shadow:0 4px 8px #0000004d;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;height:50px;justify-content:center;max-height:50px;max-width:50px;min-height:50px;min-width:50px;overflow:hidden;padding:0!important;position:fixed;right:20px;top:80px;transition:all .3s cubic-bezier(.4,0,.2,1);width:50px;z-index:999}.green-button-absolute:before{background:linear-gradient(90deg,#0000,#fff3,#0000);border-radius:50%;content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.green-button-absolute:hover{background-color:var(--main-theme-color);box-shadow:0 8px 16px #0006,0 0 8px #29bf004d;transform:scale(1.1) translateY(-2px)}.green-button-absolute:hover:before{left:100%}.green-button-absolute:active{box-shadow:0 4px 8px #0000004d;transform:scale(1.05) translateY(0)}.green-button-absolute:focus-visible{outline:2px solid var(--secondary-theme-color);outline-offset:2px}.green-button-absolute i{align-items:center;display:flex;font-size:1.2rem;height:100%;justify-content:center;line-height:1;margin:0;padding:0;width:100%}button.green-button.green-button-absolute{align-items:center!important;border-radius:50%!important;display:flex!important;height:50px!important;justify-content:center!important;max-height:50px!important;max-width:50px!important;min-height:50px!important;min-width:50px!important;padding:0!important;width:50px!important}@media (max-width:768px){.green-button-absolute{height:45px;max-height:45px;max-width:45px;min-height:45px;min-width:45px;padding:0;right:15px;top:70px;width:45px}button.green-button.green-button-absolute{height:45px!important;max-height:45px!important;max-width:45px!important;min-height:45px!important;min-width:45px!important;padding:0!important;width:45px!important}}@media (max-width:480px){.green-button-absolute{height:40px;max-height:40px;max-width:40px;min-height:40px;min-width:40px;padding:0;right:10px;top:65px;width:40px}button.green-button.green-button-absolute{height:40px!important;max-height:40px!important;max-width:40px!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}}.delete-button{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.2rem;padding:8px;position:absolute;right:10px;top:10px;transition:all .3s cubic-bezier(.4,0,.2,1)}.delete-button:hover{background-color:#ef44441a;color:#ef4444;transform:scale(1.1)}.delete-button:active{transform:scale(.95)}.delete-button:focus-visible{outline:2px solid #ef4444;outline-offset:2px}input,select,textarea{background:#ffffff0d;border:2px solid #0000;border-radius:8px;box-sizing:border-box;color:var(--text-color);font-size:1rem;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1)}input:hover,select:hover,textarea:hover{background:#ffffff14;border-color:#29bf004d}input:focus,select:focus,textarea:focus{background:#ffffff1a;border-color:var(--secondary-theme-color);box-shadow:0 0 0 3px #29bf001a;outline:none;transform:translateY(-1px)}.file-upload-container{align-items:center;display:flex;gap:10px;margin-top:5px}.custom-file-upload{align-items:center;background:linear-gradient(135deg,#5f5f5f,#4a4a4a);border:2px solid #0000;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:var(--smallest-font-size);font-weight:500;gap:8px;justify-content:center;min-width:140px;overflow:hidden;padding:10px 16px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.custom-file-upload:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.custom-file-upload:hover{background:linear-gradient(135deg,#4a4a4a,#3a3a3a);box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.custom-file-upload:hover:before{left:100%}.custom-file-upload:active{transform:translateY(0);transition:all .1s ease}.custom-file-upload:focus-visible{outline:2px solid var(--secondary-theme-color);outline-offset:2px}.custom-file-upload.uploaded{background:linear-gradient(135deg,#4caf50,#45a049);border-color:#4caf50}.custom-file-upload.uploaded:hover{background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 4px 12px #4caf504d}.custom-file-upload.uploading{background:linear-gradient(135deg,#2196f3,#1976d2);border-color:#2196f3;cursor:not-allowed}.custom-file-upload.uploading:hover{background:linear-gradient(135deg,#1976d2,#1565c0)}.upload-icon{font-size:1.1rem;transition:all .3s ease}.upload-icon.success{animation:success-pulse .5s ease;color:#4caf50}.upload-icon.loading{animation:spin 1s linear infinite;color:#2196f3}@keyframes success-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.remove-image-btn{align-items:center;background:linear-gradient(135deg,#f44336,#d32f2f);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;min-width:40px;padding:10px 12px;transition:all .3s ease}.remove-image-btn:hover{background:linear-gradient(135deg,#d32f2f,#c62828);box-shadow:0 4px 12px #f443364d;transform:translateY(-1px)}.remove-image-btn:active{transform:translateY(0);transition:all .1s ease}.remove-image-btn:focus-visible{outline:2px solid #f44336;outline-offset:2px}.file-info{animation:fadeIn .3s ease;border:1px solid #4caf504d;color:#4caf50;font-size:.9rem;gap:8px;margin-top:8px;padding:8px 12px}.file-info i{color:#4caf50;font-size:1rem}.file-name{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-error{animation:fadeIn .3s ease;border:1px solid #f443364d;font-size:.9rem;gap:8px;margin-top:8px;padding:8px 12px}.upload-error i{color:#f44336;font-size:1rem}@media (max-width:480px){.file-upload-container{align-items:stretch;flex-direction:column;gap:8px}.custom-file-upload{justify-content:center;min-width:auto}.remove-image-btn{align-self:center}.file-name{max-width:150px}}@media screen and (min-width:var(--breakpoint-small-mobile )){.card{aspect-ratio:1/1;padding:10px}.card-description{font-size:clamp(.7rem,3.5vw,1rem)}.card-paragraph-small{font-size:var(--font-size-card-paragraph-small)}}@media (max-width:var(--breakpoint-large-mobile )){.header-container{align-items:center;flex-direction:column;gap:.5rem;padding:.5rem}.header-logo{margin-bottom:10px;margin-right:0}.header-name{word-wrap:break-word;font-size:1.6rem;line-height:1.2;max-width:100%;overflow-wrap:break-word;text-align:center;white-space:normal}.header-logo-img{width:52px}.modal-content{height:320px;padding:1rem;width:75%}}@media screen and (max-width:600px){.header-name{font-size:1.4rem;line-height:1.1;text-align:center;white-space:normal}}@media screen and (max-width:500px){.header-name{font-size:1.2rem;line-height:1.1;text-align:center;white-space:normal}}@media screen and (max-width:400px){.header-name{font-size:1.1rem;line-height:1.1;text-align:center;white-space:normal}}@media screen and ((min-width:var(--breakpoint-small-mobile )) and (max-width:var(--breakpoint-tablet ))){.dashboard-container{padding-top:60px}}@media screen and (max-width:600px){.header-name{font-size:var(--small-font-size)}}@media screen and (max-width:500px){.header-name{font-size:24px}}@media screen and (min-width:var(--breakpoint-desktop )){.card-paragraph{font-size:.9rem}}.mqtt-chart-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:0 10px}.mqtt-chart-box{box-sizing:border-box;height:600px;margin:auto;position:relative;width:64%}@media (max-width:1024px){.mqtt-chart-box{height:500px;width:85%}}@media (max-width:768px){.mqtt-chart-box{height:400px;width:95%}.mqtt-chart-container h3{font-size:1.3rem}.mqtt-chart-container p{font-size:.85rem}}@media (max-width:600px){.mqtt-chart-box{height:350px;touch-action:pan-y;width:100%}.mqtt-chart-container h3{font-size:1.2rem}.mqtt-chart-container p{font-size:.8rem}}@media (max-width:480px){.mqtt-chart-box{height:300px;touch-action:pan-y;width:100%}.mqtt-chart-container h3{font-size:1.1rem}.mqtt-chart-container p{font-size:.75rem}}@media (max-width:360px){.mqtt-chart-box{height:280px;touch-action:pan-y;width:100%}.mqtt-chart-container h3{font-size:1rem}.mqtt-chart-container p{font-size:.7rem}}.theme-toggle-container{margin-right:20px;position:relative}.theme-toggle-button{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-color);cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:8px;transition:background-color .2s ease,transform .2s ease}.theme-toggle-button:hover{background-color:#ffffff1a;transform:scale(1.1)}.theme-toggle-button i{font-size:1.5rem}[data-theme=light] .theme-toggle-button{color:var(--text-color-light)}[data-theme=light] .theme-toggle-button:hover{background-color:#0000001a}.dashboard-cards-container .card{align-items:center;background-color:var(--card-background);border-color:var(--card-theme-color);border-style:solid;border-width:2px;box-shadow:0 0 10px var(--card-theme-color);cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:space-between;min-height:400px;padding-bottom:10px;transition:all .3s cubic-bezier(.4,0,.2,1)}.dashboard-cards-container .card:hover{box-shadow:0 8px 25px -8px #0003,0 0 15px var(--card-theme-color),0 0 8px #32761f4d;transform:translateY(-4px)}.dashboard-cards-container .card:focus-visible{outline:2px solid var(--secondary-theme-color);outline-offset:2px;transform:translateY(-2px)}.dashboard-cards-container .card-mqtt{border-color:var(--card-theme-color-mqtt);box-shadow:0 0 10px var(--card-theme-color),0 0 6px var(--card-theme-color-mqtt)}.dashboard-cards-container .card-mqtt:hover{box-shadow:0 8px 25px -8px #0003,0 0 15px var(--card-theme-color),0 0 12px var(--card-theme-color-mqtt),0 0 8px #4e37724d;transform:translateY(-4px)}.dashboard-cards-container .card-mqtt:focus-visible{outline:2px solid var(--card-theme-color-mqtt);outline-offset:2px;transform:translateY(-2px)}.dashboard-cards-container .card-mqtt .card-description{padding-right:12px;position:relative}.dashboard-cards-container .card-mqtt .card-description:after{border-radius:50%;content:"";display:inline-block;height:8px;margin-left:4px;position:absolute;right:4px;top:50%;transform:translateY(-50%);vertical-align:middle;width:8px}.dashboard-cards-container .card-mqtt.online .card-description:after{animation:pulse 2s infinite;background-color:#4ade80;box-shadow:0 0 5px #4ade80}.dashboard-cards-container .card-mqtt.offline .card-description:after{animation:pulse 2s infinite;background-color:#ef4444;box-shadow:0 0 5px #ef4444}.dashboard-cards-container .card-description{align-items:center;color:var(--card-font-color);display:flex;font-size:1.35rem;font-weight:600;height:2em;justify-content:center;line-height:1.3;margin:0 0 8px;overflow:hidden;padding:0 8px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.dashboard-cards-container .card-image-container{border-radius:50%;flex-shrink:0;height:min(164px,45vw);margin:8px auto;overflow:hidden;position:relative;width:min(164px,45vw)}.dashboard-cards-container .card-image-container:after{display:none!important}.dashboard-cards-container .card-image{background-color:initial;border-radius:50%;height:100%;object-fit:cover;width:100%}.dashboard-cards-container .card-data{display:flex;flex-direction:row;justify-content:space-around;padding:8px 0;width:100%}.dashboard-cards-container .card-humidity-data,.dashboard-cards-container .card-temp-data{align-items:center;display:flex;flex-direction:column;padding:0 8px}.dashboard-cards-container .card-paragraph{font-size:1.52rem;font-weight:700;line-height:1.2;margin:0 0 4px}.dashboard-cards-container .temp-data:after{color:#fff;content:"Temperature";display:block;font-size:.8rem;font-weight:400;margin-top:2px}.dashboard-cards-container .humidity-data:after{color:#fff;content:"Humidity";display:block;font-size:.8rem;font-weight:400;margin-top:2px}.dashboard-cards-container .card-paragraph-smaller{display:flex;font-size:1rem;justify-content:center;margin:2px 0;text-align:center;width:100%}.dashboard-cards-container .card-paragraph-smaller span{font-weight:500;margin:0 3px}.dashboard-cards-container .card-paragraph-smaller span[style*="color: #ADD8E6"]{color:#add8e6!important}.dashboard-cards-container .card-paragraph-smaller span[style*="color: red"]{color:#ff6b6b!important}.dashboard-cards-container .threshold-low{color:#add8e6;margin-right:4px}.dashboard-cards-container .threshold-high{color:#ff6b6b;margin-right:4px}.dashboard-cards-container .thresholds-container{display:flex;justify-content:center;margin:4px 0;width:100%}.dashboard-cards-container .threshold-item{align-items:center;display:flex;margin:0 6px;white-space:nowrap}.dashboard-cards-container .threshold-item span{font-size:1.24rem;font-weight:500}.dashboard-cards-container .sparkline-container{align-items:center;display:flex;height:20px;justify-content:center;margin:2px auto 4px;width:80px}.dashboard-cards-container .sparkline-placeholder{background:#ffffff1a;border-radius:1px;height:3px;width:100%}.dashboard-cards-container .card-humidity-data,.dashboard-cards-container .card-temp-data{margin-bottom:2px}.dashboard-cards-container .card-timestamp{border-top:1px solid #ffffff1a;bottom:0;font-size:.9rem;margin-top:8px;padding:8px 0 4px;position:relative;text-align:center;width:100%}.dashboard-cards-container .card-delete-button{align-items:center;background-color:#00000080;border:1px solid var(--card-theme-color);border-radius:50%;color:var(--card-theme-color);cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;position:absolute;right:8px;top:8px;transition:all .2s ease;width:24px;z-index:10}.dashboard-cards-container .card-delete-button:hover{background-color:#000c;box-shadow:0 0 5px var(--card-theme-color);transform:scale(1.1)}.dashboard-cards-container .card{position:relative}.dashboard-cards-container .card:before{background-color:#28a745;content:"";height:0;height:var(--battery-level,0);position:absolute;right:0;top:0;transition:height .5s ease-in-out;width:4px}.speech-to-text-container{display:flex;flex-direction:column;gap:10px}.speech-toggle{align-items:center;background:none;border:none;border-radius:50%;color:#888;cursor:pointer;display:flex;justify-content:center;padding:5px;transition:all .2s ease}.speech-toggle:hover{background-color:#0000000d!important;border-color:#0000!important;box-shadow:none!important;color:#888!important;outline:none!important}.speech-toggle.active{background-color:#e74c3c1a;color:#e74c3c}.transcript-container{word-wrap:break-word;background-color:#f8f8f8;border-radius:4px;max-width:100%;padding:10px}.aggregated-text-container{background-color:#f0f0f0;border-radius:4px;display:flex;flex-direction:column;gap:5px;padding:10px;position:relative}.reset-text-button{background:none;border:none;color:#888;cursor:pointer;font-size:.9rem;position:absolute;right:5px;top:5px}.browser-not-supported{color:#e74c3c;font-size:.9rem;padding:5px}.notifications-console-container{align-items:flex-end;bottom:0;display:flex;flex-direction:column;position:fixed;right:0;z-index:999}.notifications-toggle-button{align-items:center;background:linear-gradient(135deg,var(--main-theme-color),var(--secondary-theme-color));border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;height:60px;justify-content:center;margin:0 5px 5px 0;position:fixed;right:90px;transition:all .3s ease;width:60px;z-index:1001}.notifications-toggle-button:hover{box-shadow:0 6px 16px #0006;transform:scale(1.05)}.notifications-toggle-button i{color:#fff;font-size:24px;transition:all .3s ease}.notifications-toggle-button:hover i{transform:scale(1.1)}.notification-badge{align-items:center;animation:pulse 2s infinite;background:var(--exit-color);border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-5px;top:-5px;width:20px}.notifications-panel{background:var(--body-color);bottom:0;box-shadow:0 -4px 20px #0000004d;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;transform:translateY(100%);transition:all .4s cubic-bezier(.4,0,.2,1);width:100%;z-index:998}.notifications-panel.open{transform:translateY(0)}.notifications-header{background:#000;color:#fff;cursor:grab;flex-shrink:0;padding:15px 20px;position:relative}.notifications-header:active{cursor:grabbing}.notifications-header-content{align-items:center;display:flex;justify-content:space-between}.notifications-title{align-items:center;display:flex;font-size:18px;font-weight:600;gap:10px;margin:0}.notifications-title i{font-size:20px}.notifications-header-actions{align-items:center;display:flex;gap:15px}.notifications-count{font-size:14px;opacity:.9}.notifications-filter-toggle-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:20px;padding:5px;position:relative;transition:all .2s ease}.notifications-filter-toggle-btn:hover{background:#ffffff1a;transform:scale(1.1)}.notifications-close-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:20px;padding:5px;transition:all .2s ease}.notifications-close-btn:hover{background:#ffffff1a;transform:scale(1.1)}.notifications-drag-handle{bottom:5px;display:flex;justify-content:center;left:50%;position:absolute;transform:translateX(-50%)}.notifications-filters{animation:slideDown .3s ease-out;background:var(--level-container-color);border-bottom:2px solid #ffffff1a;flex-shrink:0;padding:15px 20px}.filters-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:10px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{align-items:center;color:var(--text-color);display:flex;font-size:12px;font-weight:600;gap:5px;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.filter-group label i{font-size:14px;opacity:.8}.filter-input,.filter-select{background:var(--body-color);border:1px solid #fff3;border-radius:6px;color:var(--text-color);font-size:13px;outline:none;padding:8px 12px;transition:all .2s ease}.filter-input:hover,.filter-select:hover{border-color:#ffffff4d}.filter-input:focus,.filter-select:focus{border-color:var(--main-theme-color);box-shadow:0 0 0 2px #65b96733;box-shadow:0 0 0 2px rgba(var(--main-theme-color-rgb,101,185,103),.2)}.filter-select{cursor:pointer}.filter-select option{background:var(--body-color);color:var(--text-color);padding:8px}.filter-input::placeholder{color:#fff6;font-style:italic}.filter-search{grid-column:span 2}.filter-search-row{align-items:center;display:flex;gap:8px}.filter-search-row .filter-input{flex:1 1}.clear-filters-btn{align-items:center;background:#ff5f5f26;border:1px solid #ff5f5f4d;border-radius:6px;color:var(--exit-color);cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.clear-filters-btn:hover{background:#ff5f5f40;border-color:#ff5f5f80;transform:translateY(-1px)}.clear-filters-btn i{font-size:16px}.notifications-content{background:var(--body-color);flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto}.notifications-content,.notifications-table-container{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.notifications-table-container{overflow-x:auto;padding:0}.notifications-table{border-collapse:collapse;color:var(--text-color);font-size:14px;width:100%}.notifications-table thead{background:var(--level-container-color);box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:10}.notifications-table th{color:var(--text-color);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 8px;text-align:left;text-transform:uppercase}.notifications-table td{border-bottom:1px solid #ffffff1a;padding:12px 8px;transition:background-color .2s ease;vertical-align:middle}.notifications-table tbody tr{transition:background-color .2s ease,transform .1s ease}.notifications-table tbody tr:hover{background:#ffffff0d;transform:translateX(2px)}.notifications-table tbody tr:not(:last-child){border-bottom:1px solid #ffffff0d}.notification-time{color:#fff;font-family:Courier New,monospace;font-size:12px;font-weight:700;opacity:1;text-shadow:0 0 1px #ffffff4d;white-space:nowrap}.notification-actuator,.notification-sensor{font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-type{font-weight:500;text-transform:capitalize}.actuator-type-badge{border:1px solid #fff3;box-shadow:0 2px 4px #0003;display:inline-block;min-width:80px;text-align:center;transition:all .2s ease}.actuator-type-badge:hover{box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.notification-status{border-radius:12px;font-size:12px;font-weight:600;min-width:60px;padding:4px 8px;text-align:center;text-transform:uppercase}.status-on{background:#29bf0033;border:1px solid #29bf004d;color:#29bf00}.status-off{background:#80808033;border:1px solid #8080804d;color:grey}.status-triggered{background:#ffa50033;border:1px solid #ffa5004d;color:orange}.status-default{background:#80808033;border:1px solid #8080804d;color:grey}.notification-proportion{font-family:Courier New,monospace;font-weight:600;text-align:center}.notification-severity{border-radius:8px;font-size:11px;font-weight:600;min-width:50px;padding:3px 6px;text-align:center;text-transform:uppercase}.severity-critical{background:#ff5f5f33;border:1px solid #ff5f5f4d;color:var(--exit-color)}.severity-warning{background:#ffa50033;border:1px solid #ffa5004d;color:orange}.severity-info{background:#29bf0033;border:1px solid #29bf004d;color:#29bf00}.notification-message{font-style:italic;max-width:200px;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifications-empty{align-items:center;color:var(--text-color);display:flex;flex-direction:column;justify-content:center;opacity:.6;padding:40px 20px}.notifications-empty i{font-size:48px;margin-bottom:15px;opacity:.5}.notifications-empty p{font-size:16px;margin:0}.notifications-empty-row{border:none}.notifications-empty-cell{background:#0000;border:none;padding:0}.notifications-loading{align-items:center;color:var(--text-color);display:flex;flex-direction:column;justify-content:center;opacity:.8;padding:40px 20px}.notifications-loading i{animation:spin 1s linear infinite;color:var(--main-theme-color);font-size:32px;margin-bottom:15px}.notifications-loading p{font-size:14px;margin:0}.notifications-error{align-items:center;color:var(--exit-color);display:flex;flex-direction:column;justify-content:center;opacity:.8;padding:40px 20px}.notifications-error i{color:var(--exit-color);font-size:32px;margin-bottom:15px}.notifications-error p{font-size:14px;margin:0;text-align:center}.notifications-content::-webkit-scrollbar{width:8px}.notifications-content::-webkit-scrollbar-track{background:var(--level-container-color);border-radius:4px}.notifications-content::-webkit-scrollbar-thumb{background:var(--main-theme-color);border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.notifications-content::-webkit-scrollbar-thumb:hover{background:var(--secondary-theme-color)}.notifications-content{scrollbar-color:var(--main-theme-color) var(--level-container-color);scrollbar-width:thin}.notifications-table-container::-webkit-scrollbar{height:6px}.notifications-table-container::-webkit-scrollbar-track{background:var(--level-container-color);border-radius:3px}.notifications-table-container::-webkit-scrollbar-thumb{background:var(--main-theme-color);border-radius:3px;-webkit-transition:background .2s ease;transition:background .2s ease}.notifications-table-container::-webkit-scrollbar-thumb:hover{background:var(--secondary-theme-color)}.notifications-table-container{scrollbar-color:var(--main-theme-color) var(--level-container-color);scrollbar-width:thin}@media (max-width:1200px){.notifications-table{font-size:13px}.notifications-table td,.notifications-table th{padding:8px 6px}.notification-actuator,.notification-sensor{max-width:120px}.notification-message{max-width:150px}}@media (max-width:768px){.notifications-toggle-button{bottom:15px;height:55px;margin:0 5px 5px 0;right:75px;width:55px}.notifications-toggle-button i{font-size:22px}.notifications-panel{max-height:70vh}.notifications-table{font-size:12px}.notifications-table td,.notifications-table th{padding:6px 4px}.notification-actuator,.notification-sensor{max-width:100px}.notification-message{max-width:120px}.notifications-header{padding:12px 15px}.notifications-title{font-size:16px}.notifications-count{font-size:12px}.notifications-filters{padding:12px 15px}.filters-row{gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.filter-group label{font-size:11px}.filter-input,.filter-select{font-size:12px;padding:6px 10px}.clear-filters-btn{font-size:12px;padding:6px 12px}.filter-search-row{gap:6px}}@media (max-width:480px){.notifications-toggle-button{bottom:10px;height:50px;margin:0 5px 5px 0;right:65px;width:50px}.notifications-toggle-button i{font-size:20px}.notifications-panel{max-height:80vh}.notifications-table{font-size:11px}.notifications-table td,.notifications-table th{padding:4px 2px}.notification-actuator,.notification-sensor{max-width:80px}.notification-message{max-width:100px}.notifications-header{padding:10px 12px}.notifications-title{font-size:14px}.notifications-count{font-size:11px}.notification-badge{font-size:11px;height:18px;width:18px}.notifications-filters{padding:10px 12px}.filters-row{gap:8px;grid-template-columns:1fr}.filter-search{grid-column:span 1}.filter-group label{font-size:10px}.filter-input,.filter-select{font-size:11px;padding:6px 8px}.clear-filters-btn{font-size:11px;padding:6px 10px}.clear-filters-btn i{font-size:14px}.filter-search-row{align-items:stretch;flex-direction:column}.clear-filters-btn{justify-content:center;width:100%}}.notifications-content:focus{outline:2px solid var(--main-theme-color);outline-offset:-2px}.mqtt-viewer-container{align-items:flex-end;bottom:0;display:flex;flex-direction:column;position:fixed;right:0;z-index:999}.mqtt-toggle-button{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;height:60px;justify-content:center;margin:0 5px 5px 0;position:fixed;position:relative;right:160px;transition:all .3s ease;width:60px;z-index:1001}.mqtt-toggle-button:hover{box-shadow:0 6px 16px #0006;transform:scale(1.05)}.mqtt-toggle-button i{color:#fff;font-size:24px;transition:all .3s ease}.mqtt-toggle-button:hover i{transform:scale(1.1)}.mqtt-badge{align-items:center;animation:pulse 2s infinite;background:#ff5722;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;top:-5px;width:20px}.mqtt-badge,.mqtt-connection-indicator{border-radius:50%;position:absolute;right:-5px}.mqtt-connection-indicator{border:2px solid #fff;bottom:-5px;height:12px;width:12px}.mqtt-connection-indicator.offline{background:#f44336}.mqtt-connection-indicator.online{background:#4caf50}.mqtt-panel{background:var(--body-color);bottom:0;box-shadow:0 -4px 20px #0000004d;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;transform:translateY(100%);transition:all .4s cubic-bezier(.4,0,.2,1);width:100%;z-index:998}.mqtt-panel.open{transform:translateY(0)}.mqtt-header{background:#000;color:#fff;cursor:grab;flex-shrink:0;padding:15px 20px;position:relative}.mqtt-header:active{cursor:grabbing}.mqtt-header-content{align-items:center;display:flex;justify-content:space-between}.mqtt-title{align-items:center;display:flex;font-size:18px;font-weight:600;gap:10px;margin:0}.mqtt-title i{font-size:20px}.mqtt-header-actions{align-items:center;display:flex;gap:15px}.mqtt-count{font-size:14px;opacity:.9}.mqtt-connection-status{align-items:center;background:#ffffff1a;border-radius:12px;display:flex;font-size:14px;gap:5px;padding:4px 8px}.mqtt-connection-status.connected{background:#4caf5033}.mqtt-connection-status.disconnected{background:#f4433633}.mqtt-filter-toggle-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:20px;padding:5px;position:relative;transition:all .2s ease}.mqtt-filter-toggle-btn:hover{background:#ffffff1a;transform:scale(1.1)}.filter-active-indicator{animation:pulse 2s infinite;background:var(--main-theme-color);border:1px solid #fff;border-radius:50%;height:8px;position:absolute;right:2px;top:2px;width:8px}.mqtt-close-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:20px;padding:5px;transition:all .2s ease}.mqtt-close-btn:hover{background:#ffffff1a;transform:scale(1.1)}.mqtt-drag-handle{bottom:5px;display:flex;justify-content:center;left:50%;position:absolute;transform:translateX(-50%)}.mqtt-filters{animation:slideDown .3s ease-out;background:var(--level-container-color);border-bottom:2px solid #ffffff1a;flex-shrink:0;padding:15px 20px}@keyframes slideDown{0%{max-height:0;opacity:0;padding-bottom:0;padding-top:0}to{max-height:200px;opacity:1;padding-bottom:15px;padding-top:15px}}.mqtt-filters .filters-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:10px}.mqtt-filters .filter-group{display:flex;flex-direction:column;gap:6px}.mqtt-filters .filter-group label{align-items:center;color:var(--text-color);display:flex;font-size:12px;font-weight:600;gap:5px;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.mqtt-filters .filter-group label i{font-size:14px;opacity:.8}.mqtt-filters .filter-input,.mqtt-filters .filter-select{background:var(--body-color);border:1px solid #fff3;border-radius:6px;color:var(--text-color);font-size:13px;outline:none;padding:8px 12px;transition:all .2s ease}.mqtt-filters .filter-input:hover,.mqtt-filters .filter-select:hover{border-color:#ffffff4d}.mqtt-filters .filter-input:focus,.mqtt-filters .filter-select:focus{border-color:var(--main-theme-color);box-shadow:0 0 0 2px #65b96733;box-shadow:0 0 0 2px rgba(var(--main-theme-color-rgb,101,185,103),.2)}.mqtt-filters .filter-select{cursor:pointer}.mqtt-filters .filter-select option{background:var(--body-color);color:var(--text-color);padding:8px}.mqtt-filters .filter-input::placeholder{color:#fff6;font-style:italic}.mqtt-filters .filter-search{grid-column:span 2}.mqtt-filters .filter-search-row{align-items:center;display:flex;gap:8px}.mqtt-filters .filter-search-row .filter-input{flex:1 1}.mqtt-filters .clear-filters-btn{align-items:center;background:#ff5f5f26;border:1px solid #ff5f5f4d;border-radius:6px;color:var(--exit-color);cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.mqtt-filters .clear-filters-btn:hover{background:#ff5f5f40;border-color:#ff5f5f80;transform:translateY(-1px)}.mqtt-filters .clear-filters-btn i{font-size:16px}.mqtt-content{background:var(--body-color);flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto}.mqtt-content,.mqtt-table-container{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.mqtt-table-container{overflow-x:auto;padding:0}.mqtt-table{border-collapse:collapse;color:var(--text-color);font-size:14px;width:100%}.mqtt-table thead{background:var(--card-background);position:sticky;top:0;z-index:10}.mqtt-table th{border-bottom:2px solid var(--border-color);color:var(--text-color);font-weight:600;padding:12px 8px;text-align:left;white-space:nowrap}.mqtt-table td{border-bottom:1px solid var(--border-color);padding:10px 8px;vertical-align:top}.mqtt-table tbody tr{transition:background-color .2s ease}.mqtt-table tbody tr:hover{background-color:var(--hover-color)}.mqtt-table tbody tr:not(:last-child){border-bottom:1px solid var(--border-color)}.mqtt-time{color:var(--text-muted);font-family:Courier New,monospace;font-size:12px;white-space:nowrap}.mqtt-message-type{text-align:center}.message-type-badge{border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:600;min-width:60px;padding:4px 8px;text-align:center;text-transform:uppercase}.message-type-sensor{background:linear-gradient(135deg,#2196f3,#1976d2)}.message-type-actuator{background:linear-gradient(135deg,#ff9800,#f57c00)}.message-type-default{background:linear-gradient(135deg,#9e9e9e,#757575)}.mqtt-mac{color:var(--text-color);font-family:Courier New,monospace;font-size:12px}.mqtt-mac code{background:var(--card-background);border:1px solid var(--border-color);border-radius:4px;padding:2px 4px}.mqtt-device-name{color:var(--text-color);font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mqtt-distance,.mqtt-humidity,.mqtt-light,.mqtt-moisture,.mqtt-temperature{font-family:Courier New,monospace;font-size:12px;font-weight:600;min-width:80px;text-align:center}.mqtt-temperature{color:#ff5722}.mqtt-humidity{color:#2196f3}.mqtt-light{color:#ffc107}.mqtt-distance{color:#4caf50}.mqtt-moisture{color:#8bc34a}.mqtt-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.mqtt-empty i{font-size:48px;margin-bottom:16px;opacity:.5}.mqtt-empty p{font-size:16px;font-weight:500;margin:0 0 8px}.mqtt-empty small{font-size:14px;opacity:.7}.mqtt-error{align-items:center;color:#f44336;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.mqtt-error i{font-size:48px;margin-bottom:16px}.mqtt-error p{font-size:16px;font-weight:500;margin:0}.mqtt-content::-webkit-scrollbar{width:8px}.mqtt-content::-webkit-scrollbar-track{background:var(--card-background)}.mqtt-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.mqtt-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.mqtt-content{scrollbar-color:var(--border-color) var(--card-background);scrollbar-width:thin}.mqtt-table-container::-webkit-scrollbar{height:8px}.mqtt-table-container::-webkit-scrollbar-track{background:var(--card-background)}.mqtt-table-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.mqtt-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.mqtt-table-container{scrollbar-color:var(--border-color) var(--card-background);scrollbar-width:thin}@media (max-width:1200px){.mqtt-table{font-size:13px}.mqtt-table td,.mqtt-table th{padding:8px 6px}.mqtt-device-name{max-width:120px}.mqtt-distance,.mqtt-humidity,.mqtt-light,.mqtt-moisture,.mqtt-temperature{font-size:11px;min-width:70px}}@media (max-width:768px){.mqtt-toggle-button{bottom:15px;height:50px;right:140px;width:50px}.mqtt-toggle-button i{font-size:20px}.mqtt-panel{max-height:60vh}.mqtt-table{font-size:12px}.mqtt-table td,.mqtt-table th{padding:6px 4px}.mqtt-device-name{max-width:80px}.mqtt-distance,.mqtt-humidity,.mqtt-light,.mqtt-moisture,.mqtt-temperature{font-size:10px;min-width:60px}.mqtt-header{padding:12px 15px}.mqtt-title{font-size:16px}.mqtt-count{font-size:12px}.mqtt-filters{padding:12px 15px}.mqtt-filters .filters-row{gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.mqtt-filters .filter-group label{font-size:11px}.mqtt-filters .filter-input,.mqtt-filters .filter-select{font-size:12px;padding:6px 10px}.mqtt-filters .clear-filters-btn{font-size:12px;padding:6px 12px}.mqtt-filters .filter-search-row{gap:6px}}@media (max-width:480px){.mqtt-toggle-button{bottom:10px;height:45px;right:120px;width:45px}.mqtt-toggle-button i{font-size:18px}.mqtt-panel{max-height:70vh}.mqtt-table{font-size:11px}.mqtt-table td,.mqtt-table th{padding:4px 2px}.mqtt-device-name{max-width:60px}.mqtt-distance,.mqtt-humidity,.mqtt-light,.mqtt-moisture,.mqtt-temperature{font-size:9px;min-width:50px}.mqtt-header{padding:10px 12px}.mqtt-title{font-size:14px}.mqtt-count{font-size:11px}.mqtt-badge{font-size:10px;height:16px;width:16px}.mqtt-filters{padding:10px 12px}.mqtt-filters .filters-row{gap:8px;grid-template-columns:1fr}.mqtt-filters .filter-search{grid-column:span 1}.mqtt-filters .filter-group label{font-size:10px}.mqtt-filters .filter-input,.mqtt-filters .filter-select{font-size:11px;padding:6px 8px}.mqtt-filters .clear-filters-btn{font-size:11px;padding:6px 10px}.mqtt-filters .clear-filters-btn i{font-size:14px}.mqtt-filters .filter-search-row{align-items:stretch;flex-direction:column}.mqtt-filters .clear-filters-btn{justify-content:center;width:100%}}.mqtt-content:focus{outline:2px solid var(--main-theme-color);outline-offset:-2px}.care-plan-activity-container{align-items:flex-end;bottom:0;display:flex;flex-direction:column;position:fixed;right:0;z-index:999}.care-plan-activity-toggle-button{align-items:center;background:linear-gradient(135deg,#9c27b0,#7b1fa2);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;height:60px;justify-content:center;margin:0 5px 5px 0;position:fixed;right:230px;transition:all .3s ease;width:60px;z-index:1001}.care-plan-activity-toggle-button:hover{box-shadow:0 6px 16px #0006;transform:scale(1.05)}.care-plan-activity-toggle-button i{color:#fff;font-size:24px;transition:all .3s ease}.care-plan-activity-toggle-button:hover i{transform:scale(1.1)}.care-plan-activity-badge{align-items:center;animation:pulse 2s infinite;background:#ff9800;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-5px;top:-5px;width:20px}.care-plan-activity-panel{background:var(--body-color);bottom:0;box-shadow:0 -4px 20px #0000004d;left:0;overflow:hidden;position:fixed;right:0;transform:translateY(100%);transition:all .4s cubic-bezier(.4,0,.2,1);width:100%;z-index:998}.care-plan-activity-panel.open{transform:translateY(0)}.care-plan-activity-header{background:#000;color:#fff;cursor:grab;padding:15px 20px;position:relative}.care-plan-activity-header:active{cursor:grabbing}.care-plan-activity-header-content{align-items:center;display:flex;justify-content:space-between}.care-plan-activity-title{align-items:center;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0}.care-plan-activity-title i{color:#9c27b0;font-size:20px}.care-plan-activity-header-actions{align-items:center;display:flex;gap:15px}.care-plan-activity-count{color:#ccc;font-size:14px}.care-plan-activity-close-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:20px;padding:5px;transition:background-color .2s ease}.care-plan-activity-close-btn:hover{background-color:#ffffff1a}.care-plan-activity-drag-handle{bottom:5px;display:flex;justify-content:center;left:50%;position:absolute;transform:translateX(-50%)}.drag-indicator{background:#ffffff4d}.care-plan-activity-content{background:var(--body-color);color:var(--text-color);height:calc(100% - 60px);max-height:calc(60vh - 60px);overflow-y:auto;padding:0}.care-plan-activity-table-container{height:100%;overflow-y:auto}.care-plan-activity-table{border-collapse:collapse;font-size:14px;width:100%}.care-plan-activity-table thead{background:var(--level-container-color);position:sticky;top:0;z-index:10}.care-plan-activity-table th{background:var(--level-container-color);border-bottom:2px solid var(--border-color);color:var(--text-color);font-weight:600;padding:12px 15px;text-align:left}.care-plan-activity-table td{border-bottom:1px solid var(--border-color);padding:12px 15px;vertical-align:top}.care-plan-activity-table tbody tr{transition:background-color .2s ease}.care-plan-activity-table tbody tr:hover{background-color:var(--hover-color)}.care-plan-activity-table tbody tr:not(:last-child){border-bottom:1px solid var(--border-color)}.care-plan-activity-time{color:var(--text-muted);font-family:Courier New,monospace;font-size:13px;white-space:nowrap}.care-plan-activity-plan{min-width:150px}.plan-info{display:flex;flex-direction:column;gap:4px}.plan-name{color:var(--text-color);font-weight:500}.care-plan-activity-action{min-width:120px}.action-type-badge{align-items:center;border-radius:12px;color:#fff;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 8px;text-transform:capitalize}.action-type-badge i{font-size:14px}.care-plan-activity-change{min-width:200px}.change-details{display:flex;flex-direction:column;gap:6px}.change-type{color:var(--text-color);font-size:13px;font-weight:500}.change-values{align-items:center;display:flex;font-size:13px;gap:8px}.old-value{color:#f44336;font-weight:500}.new-value{color:#4caf50;font-weight:500}.change-description,.change-values i{color:var(--text-muted);font-size:12px}.change-description{line-height:1.4}.care-plan-activity-effective-date{color:var(--text-color);font-size:13px;white-space:nowrap}.care-plan-activity-status{min-width:100px}.care-plan-status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-active{background-color:#4caf50;color:#fff}.status-pending{background-color:#ff9800}.status-completed{background-color:#2196f3}.status-executing{animation:executing-pulse 2s infinite;background-color:#4a8a2a;color:#fff}.status-default{background-color:#9e9e9e;color:#fff}.care-plan-activity-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.care-plan-activity-empty i{color:#9c27b0;font-size:48px;margin-bottom:16px;opacity:.5}.care-plan-activity-empty p{color:var(--text-color);font-size:16px;margin:0 0 8px}.care-plan-activity-empty small{color:var(--text-muted);font-size:14px}.care-plan-activity-error{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.care-plan-activity-error i{color:#f44336;font-size:32px;margin-bottom:16px}.care-plan-activity-error p{color:var(--text-color);font-size:16px;margin:0}.care-plan-activity-content::-webkit-scrollbar{width:8px}.care-plan-activity-content::-webkit-scrollbar-track{background:var(--level-container-color)}.care-plan-activity-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.care-plan-activity-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.care-plan-activity-content{scrollbar-color:var(--border-color) var(--level-container-color);scrollbar-width:thin}.care-plan-activity-table-container::-webkit-scrollbar{width:8px}.care-plan-activity-table-container::-webkit-scrollbar-track{background:var(--level-container-color)}.care-plan-activity-table-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.care-plan-activity-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.care-plan-activity-table-container{scrollbar-color:var(--border-color) var(--level-container-color);scrollbar-width:thin}@media (max-width:1200px){.care-plan-activity-table{font-size:13px}.care-plan-activity-table td,.care-plan-activity-table th{padding:8px 6px}.care-plan-activity-plan{min-width:120px}.care-plan-activity-change{min-width:150px}}@media (max-width:768px){.care-plan-activity-toggle-button{bottom:15px;height:55px;right:200px;width:55px}.care-plan-activity-toggle-button i{font-size:22px}.care-plan-activity-panel{max-height:70vh}.care-plan-activity-content{max-height:calc(70vh - 60px)}.care-plan-activity-table{font-size:12px}.care-plan-activity-table td,.care-plan-activity-table th{padding:6px 4px}.care-plan-activity-plan{min-width:100px}.care-plan-activity-change{min-width:120px}.care-plan-activity-header{padding:12px 15px}.care-plan-activity-title{font-size:16px}.care-plan-activity-count{font-size:12px}}@media (max-width:480px){.care-plan-activity-toggle-button{bottom:10px;height:50px;right:170px;width:50px}.care-plan-activity-toggle-button i{font-size:20px}.care-plan-activity-panel{max-height:80vh}.care-plan-activity-content{max-height:calc(80vh - 60px)}.care-plan-activity-table{font-size:11px}.care-plan-activity-table td,.care-plan-activity-table th{padding:4px 2px}.care-plan-activity-plan{min-width:80px}.care-plan-activity-change{min-width:100px}.care-plan-activity-header{padding:10px 12px}.care-plan-activity-title{font-size:14px}.care-plan-activity-count{font-size:11px}.care-plan-activity-badge{font-size:11px;height:18px;width:18px}}.care-plan-activity-content:focus{outline:2px solid var(--main-theme-color);outline-offset:-2px}.care-events-container{align-items:flex-end;bottom:0;display:flex;flex-direction:column;position:fixed;right:0;z-index:998}.care-events-toggle-button{align-items:center;background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;height:60px;justify-content:center;margin:0 5px 5px 0;position:fixed;position:relative;right:230px;transition:all .3s ease;width:60px;z-index:1001}.care-events-toggle-button:hover{box-shadow:0 6px 16px #0006;transform:scale(1.05)}.care-events-toggle-button i{color:#fff;font-size:24px;transition:all .3s ease}.care-events-toggle-button:hover i{transform:scale(1.1)}.care-events-badge{align-items:center;animation:pulse 2s infinite;background:#ff9800;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-5px;top:-5px;width:20px}.care-events-panel{background:var(--body-color);bottom:0;box-shadow:0 -4px 20px #0000004d;left:0;overflow:hidden;position:fixed;right:0;transform:translateY(100%);transition:all .4s cubic-bezier(.4,0,.2,1);width:100%;z-index:998}.care-events-panel.open{transform:translateY(0)}.care-events-header{background:var(--card-color);border-bottom:1px solid var(--border-color);cursor:ns-resize;padding:16px 20px;-webkit-user-select:none;user-select:none}.care-events-header:active{background:var(--hover-color)}.care-events-header-content{align-items:center;display:flex;justify-content:space-between}.care-events-title{align-items:center;color:var(--text-color);display:flex;font-size:18px;font-weight:600;gap:10px;margin:0}.care-events-title i{color:#2196f3;font-size:20px}.care-events-header-actions{align-items:center;display:flex;gap:12px}.care-events-count{color:var(--text-secondary);font-size:14px}.care-events-close-btn,.care-events-refresh-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s ease}.care-events-close-btn:hover,.care-events-refresh-btn:hover{background:var(--hover-color);color:var(--text-color)}.care-events-close-btn i,.care-events-refresh-btn i{font-size:18px}.care-events-drag-handle{display:flex;justify-content:center;margin-top:8px}.drag-indicator{background:#444;border-radius:2px;height:4px;width:40px}.care-events-content{background:var(--body-color);max-height:400px;overflow-y:auto;padding:20px}.care-events-table-container{background:var(--card-color);border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.care-events-table{border-collapse:collapse;color:var(--text-color);font-size:14px;width:100%}.care-events-table thead{background:var(--header-color);position:sticky;top:0;z-index:10}.care-events-table th{border-bottom:2px solid var(--border-color);color:var(--text-color);font-weight:600;padding:12px 8px;text-align:left;white-space:nowrap}.care-events-table td{border-bottom:1px solid var(--border-color);padding:8px;vertical-align:top}.care-events-table tbody tr{transition:background-color .2s ease}.care-events-table tbody tr:hover{background:var(--hover-color)}.care-events-table tbody tr:not(:last-child){border-bottom:1px solid var(--border-color)}.care-events-time{color:#ccc;font-family:Courier New,monospace;font-size:12px;white-space:nowrap}.care-events-care-plan{color:#2196f3;font-weight:500}.care-events-action-plan,.care-events-care-plan{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.care-events-device{font-family:Courier New,monospace;font-size:12px}.care-events-device code{background:var(--code-bg);border-radius:4px;color:#4caf50;font-family:Courier New,monospace;padding:2px 6px}.care-events-change-type{text-align:center}.change-type-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.change-type-badge.photoperiod{background:#ff9800;color:#fff}.change-type-badge.watering_frequency{background:#2196f3;color:#fff}.change-type-badge.humidity_level{background:#4caf50;color:#fff}.change-type-badge.temperature_level{background:#f44336;color:#fff}.care-events-new-value,.care-events-old-value{font-family:Courier New,monospace;font-size:12px;text-align:center}.care-events-old-value{color:#ff9800}.care-events-new-value{color:#4caf50}.care-events-status{text-align:center}.execution-status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-completed{background:#4caf50;color:#fff}.status-failed{background:#f44336;color:#fff}.status-timeout{background:#ff9800;color:#fff}.status-pending{background:#9e9e9e;color:#fff}.care-events-device-response{text-align:center}.device-response-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.response-success{background:#4caf50;color:#fff}.response-fail{background:#f44336;color:#fff}.response-unknown{background:#9e9e9e;color:#fff}.care-events-empty{color:var(--text-secondary);padding:40px 20px;text-align:center}.care-events-empty i{color:var(--text-tertiary);display:block;font-size:48px;margin-bottom:16px}.care-events-empty p{color:var(--text-secondary);font-size:16px;font-weight:500;margin:0 0 8px}.care-events-empty small{color:var(--text-tertiary);font-size:14px}.care-events-empty-row{border:none}.care-events-empty-cell{background:#0000;border:none;padding:0}.care-events-loading{color:var(--text-secondary);padding:40px 20px;text-align:center}.care-events-loading i{animation:spin 1s linear infinite;color:#2196f3;display:block;font-size:32px;margin-bottom:16px}.care-events-loading p{color:var(--text-secondary);font-size:16px;margin:0}.care-events-error{background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;color:var(--error-color);margin:16px;padding:20px;text-align:center}.care-events-error i{color:var(--error-color);display:block;font-size:24px;margin-bottom:8px}.care-events-error p{color:var(--error-color);font-size:14px;margin:0}.care-events-content::-webkit-scrollbar{width:8px}.care-events-content::-webkit-scrollbar-track{background:var(--scrollbar-track)}.care-events-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.care-events-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.care-events-content{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.care-events-table-container::-webkit-scrollbar{height:8px}.care-events-table-container::-webkit-scrollbar-track{background:var(--scrollbar-track)}.care-events-table-container::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.care-events-table-container::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.care-events-table-container{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}@media (max-width:1200px){.care-events-table{font-size:12px}.care-events-table td,.care-events-table th{padding:6px 4px}.care-events-action-plan,.care-events-care-plan{max-width:120px}}@media (max-width:768px){.care-events-toggle-button{bottom:10px;height:50px;right:200px;width:50px}.care-events-toggle-button i{font-size:20px}.care-events-panel{width:100%}.care-events-content{padding:12px}.care-events-table{font-size:11px}.care-events-table td,.care-events-table th{padding:4px 2px}.care-events-action-plan,.care-events-care-plan{max-width:80px}.care-events-header{padding:8px 12px}.care-events-title{font-size:14px}.care-events-count{font-size:12px}}@media (max-width:480px){.care-events-toggle-button{bottom:5px;height:45px;right:180px;width:45px}.care-events-toggle-button i{font-size:18px}.care-events-panel{width:100%}.care-events-content{padding:8px}.care-events-table{font-size:10px}.care-events-table td,.care-events-table th{padding:2px 1px}.care-events-action-plan,.care-events-care-plan{max-width:60px}.care-events-header{padding:6px 8px}.care-events-title{font-size:12px}.care-events-count{font-size:10px}.care-events-badge{font-size:10px;height:16px;width:16px}}.care-events-content:focus{outline:2px solid #2196f3;outline-offset:-2px}.chatbot-toggle-button{align-items:center;background-color:initial;border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 8px #0003;cursor:pointer;display:flex;height:60px;justify-content:center;margin:0 5px 5px 0;position:fixed;right:20px;transition:all .3s ease;width:60px;z-index:1000}.chatbot-toggle-button:hover{box-shadow:0 6px 12px #0000004d;transform:scale(1.05)}.chatbot-icon{height:36px;object-fit:contain;width:36px}.chat-modal.bottom-right{bottom:90px;position:fixed;right:20px;z-index:2000}.chat-modal-input{background:linear-gradient(180deg,#0000,#20d69205);border-top:1px solid #20d6921a;padding:16px 20px 20px;position:relative}.chat-modal-input .input-controls{align-items:flex-end;background:linear-gradient(135deg,#ffffff0d,#20d69208);border:1px solid #20d69233;border-radius:24px;box-shadow:0 2px 12px #0000001f,0 0 0 1px #20d69226;display:flex;min-height:56px;overflow:visible;padding:8px 12px;position:relative;transition:all .2s ease;width:100%}.chat-modal-input .input-controls:focus-within{border-color:#20d69266;box-shadow:0 4px 16px #20d69233,0 0 0 2px #20d6924d}.chat-modal-input textarea{background-color:initial;border:none;color:var(--chat-text-primary);flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:15px;line-height:1.5;max-height:200px;min-height:40px;outline:none;padding:10px 12px;resize:none}.chat-modal-input textarea::placeholder{color:#fff6;font-weight:400}.chat-modal-input .speech-output-toggle,.chat-modal-input .speech-toggle{align-items:center;background:#0000;border:none;border-radius:8px;color:#ffffff80;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;min-width:36px;padding:8px;transition:all .2s ease}.chat-modal-input .speech-output-toggle:hover,.chat-modal-input .speech-toggle:hover{background-color:#20d69226!important;border-color:#0000!important;box-shadow:none!important;color:var(--exit-color)!important;outline:none!important}.chat-modal-input .speech-output-toggle.active,.chat-modal-input .speech-toggle.active{background-color:#20d69233;color:var(--exit-color)}.chat-modal-input .send-controls{align-items:center;display:flex;gap:4px;margin-left:4px}.chat-modal-input .send-button{align-items:center;background:linear-gradient(135deg,var(--secondary-theme-color),var(--exit-color));border:none;border-radius:50%;box-shadow:0 2px 8px #20d6924d;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.chat-modal-input .send-button:hover:not(:disabled){box-shadow:0 4px 12px #20d69280;transform:scale(1.1) rotate(5deg)}.chat-modal-input .send-button:active:not(:disabled){transform:scale(.95)}.chat-modal-input .send-button:disabled{background:#ffffff1a;box-shadow:none;color:#ffffff4d;cursor:not-allowed}@media (max-width:768px){.chatbot-toggle-button{bottom:15px;height:55px;right:15px;width:55px}.chatbot-icon{height:32px;width:32px}.chat-modal.bottom-right{bottom:75px;left:5%;max-height:80vh;max-width:90vw;right:5%;width:90%}.chat-modal-input .input-controls{flex-wrap:nowrap}.chat-modal-input textarea{font-size:13px;min-height:40px;padding:8px}.chat-modal-input .speech-output-toggle,.chat-modal-input .speech-toggle{font-size:15px;padding:6px}.chat-modal-input .send-button{height:32px;margin-left:3px;margin-right:3px;width:32px}}@media (max-width:480px){.chatbot-toggle-button{bottom:10px;height:50px;right:10px;width:50px}.chatbot-icon{height:30px;width:30px}.chat-modal.bottom-right{bottom:65px;left:4%;max-height:70vh;max-width:96vw;position:fixed;right:4%;width:96%}.chat-modal-input{padding:8px}.chat-modal-input .input-controls{flex-wrap:nowrap}.chat-modal-input textarea{font-size:12px;min-height:38px;padding:6px}.chat-modal-input .speech-output-toggle,.chat-modal-input .speech-toggle{font-size:14px;padding:4px}.chat-modal-input .send-button{height:30px;margin-left:2px;margin-right:2px;width:30px}@media (max-width:360px){.chat-modal-input .send-controls{flex-direction:column;margin-right:2px}.chat-modal-input .speech-output-toggle{margin-bottom:4px}}}.automation-summary-wrapper{background:var(--card-background);border:1px solid #ffffff14;border-radius:12px;display:flex;flex-direction:column;margin:1.5rem 0;min-height:200px;padding:1rem}.automation-summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.automation-count{background:#48c7741a;border:1px solid #48c77433;border-radius:4px;color:var(--text-color-secondary);font-size:.85rem;padding:.25rem .5rem}.automation-summary-list{display:flex;flex-direction:column;gap:.75rem}.automation-summary-item{align-items:center;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.automation-summary-item:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translateY(-1px)}.automation-summary-icon{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.automation-summary-content{flex:1 1;min-width:0}.automation-name{color:var(--text-color);font-size:1rem;font-weight:500;margin:0 0 .5rem}.automation-details{display:flex;flex-wrap:wrap;gap:1rem}.automation-details .care-plan-label,.automation-details .current-value,.automation-details .threshold-range,.automation-details .tracking-status{align-items:center;background:#ffffff08;border-radius:4px;color:var(--text-color-secondary);display:flex;font-size:.8rem;gap:.25rem;padding:.25rem .5rem}.automation-details .care-plan-label{background:#48c7741a;border:1px solid #48c77433;color:#48c774}.automation-summary-actions{align-items:center;display:flex;gap:.5rem}.automation-delete-btn{align-items:center;background:none;border:none;border-radius:4px;color:#ff6b6b;cursor:pointer;display:flex;font-size:1rem;justify-content:center;opacity:0;padding:.5rem;transition:all .2s ease}.automation-summary-item:hover .automation-delete-btn{opacity:1}.automation-delete-btn:hover{background:#ff6b6b1a;color:#ff5252;transform:scale(1.1)}.automation-summary-arrow{color:var(--text-color-secondary);font-size:1.2rem;opacity:.6;transition:opacity .2s ease}.automation-summary-item:hover .automation-summary-arrow{opacity:1}.no-automations{align-items:center;color:var(--text-color-secondary);display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:0 auto;max-width:600px;padding:2rem 1rem;text-align:center}.no-automations-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.no-automations h4{color:var(--text-color);font-size:1rem;margin:0 0 .4rem}.no-automations p{font-size:.85rem;line-height:1.4;margin:0}.delete-confirmation-modal{max-width:400px;padding:1.5rem;text-align:center}.delete-confirmation-modal h3{color:var(--text-color);font-size:1.25rem;font-weight:600;margin:0 0 1rem}.delete-confirmation-modal p{color:var(--text-color);font-size:.9rem;line-height:1.5;margin:0 0 1rem}.delete-confirmation-modal .warning-text{background:#ff6b6b1a;border:1px solid #ff6b6b33;border-radius:6px;color:#ff6b6b;font-weight:500;padding:.75rem}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.modal-actions .cancel-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:var(--text-color);cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .2s ease}.modal-actions .cancel-btn:hover{background:#ffffff26}.modal-actions .delete-btn{background:#ff6b6b;border:1px solid #ff6b6b;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.modal-actions .delete-btn:hover{background:#ff5252;border-color:#ff5252}.modal-actions .cancel-btn:disabled,.modal-actions .delete-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.automation-summary-wrapper{min-height:180px;padding:.75rem}.no-automations{max-width:350px;padding:1.5rem .75rem}.no-automations-icon{font-size:2.2rem}}.automation-summary-item{gap:.75rem;padding:.75rem}.automation-summary-icon{font-size:1.25rem;height:35px;width:35px}.automation-name{font-size:.9rem}.automation-details{gap:.5rem}.automation-details .current-value,.automation-details .threshold-range,.automation-details .tracking-status{font-size:.75rem;padding:.2rem .4rem}@media (max-width:480px){.automation-summary-header{align-items:flex-start;flex-direction:column;gap:.5rem}.automation-summary-item{align-items:flex-start;flex-direction:column;gap:.75rem}.automation-summary-content{width:100%}.automation-details{flex-direction:column;gap:.5rem}.automation-summary-arrow{align-self:flex-end}}.automation-tab{align-items:center;background:var(--card-background);border:1px solid #ffffff14;border-radius:12px;display:flex;flex-direction:column;margin-top:1rem;padding:1.5rem}.active-plan-summary{background:linear-gradient(135deg,#4a8a2a1a,#3ccf001a);border:1px solid #4a8a2a33;border-radius:8px;box-sizing:border-box;margin-bottom:1.5rem;padding:1rem;width:400px}.active-plan-summary.has-execution{background:linear-gradient(135deg,#4a8a2a26,#3ccf0026);border-color:#4a8a2a66;box-shadow:0 0 0 2px #4a8a2a1a}.active-plan-header{align-items:center;color:#4a8a2a;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:.75rem;position:relative}.execution-indicator-badge{align-items:center;animation:pulse 2s infinite;background:#4a8a2a26;border:1px solid #4a8a2a4d;border-radius:12px;color:#4a8a2a;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .5rem;position:absolute;right:0;top:0}.execution-indicator-badge i{color:#4a8a2a;font-size:.8rem}.active-plan-content h4{color:var(--text-color);font-size:1.1rem;margin:0 0 .5rem}.active-plan-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.current-value,.next-update{align-items:center;background:#ffffff0d;border-radius:4px;color:var(--text-color-secondary);display:flex;font-size:.85rem;gap:.25rem;padding:.25rem .5rem}.deactivate-plan-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.deactivate-plan-btn:hover{background:#ffffff26;transform:translateY(-1px)}.automation-actions{display:flex;justify-content:center;margin-bottom:1.5rem}.add-automation-btn{align-items:center;background:linear-gradient(135deg,#48c774,#3bb18f);border:none;border-radius:8px;box-shadow:0 2px 8px #48c7744d;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.add-automation-btn:hover{box-shadow:0 4px 12px #48c77466;transform:translateY(-2px)}.add-automation-btn:active{transform:translateY(0)}.automation-plans{margin-bottom:2rem}.no-plans-state{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.no-plans-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-plans-state h4{color:var(--text-color);font-size:1.1rem;margin:0 0 .5rem}.no-plans-state p{font-size:.9rem;margin:0 0 1.5rem}.create-first-plan-btn{align-items:center;background:linear-gradient(135deg,#4a8a2a,#3ccf00);border:none;border-radius:8px;box-shadow:0 2px 8px #4a8a2a4d;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.create-first-plan-btn:hover{box-shadow:0 4px 12px #4a8a2a66;transform:translateY(-2px)}.plans-list{display:flex;flex-direction:column;gap:1rem}.plans-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.plans-header h4{color:var(--text-color);font-size:1.1rem;margin:0}.add-plan-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.add-plan-btn:hover{background:#ffffff26;transform:translateY(-1px)}.plan-card{background:#0003;border:1px solid #ffffff1a;border-radius:8px;box-sizing:border-box;padding:1rem;transition:all .3s ease;width:400px}.plan-card:hover{border-color:#fff3;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.plan-card.active{background:#48c7740d;border-color:#48c7744d}.plan-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.plan-info h5{color:var(--text-color);font-size:1rem;margin:0 0 .25rem}.plan-type{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:var(--text-color-secondary);font-size:.8rem;padding:.2rem .5rem}.plan-actions{display:flex;gap:.5rem}.delete-plan-btn,.edit-plan-btn,.toggle-plan-btn{align-items:center;background:#ffffff1a;border:none;border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.delete-plan-btn:hover,.edit-plan-btn:hover,.toggle-plan-btn:hover{transform:translateY(-1px)}.edit-plan-btn:hover,.toggle-plan-btn.active{background:#4a8a2a33;color:#4a8a2a}.delete-plan-btn:hover{background:#f1466833;color:#f14668}.plan-details{display:flex;flex-wrap:wrap;gap:1rem}.care-plan-indicator,.plan-annual,.plan-recurrence{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:var(--text-color-secondary);display:flex;font-size:.8rem;gap:.25rem;padding:.2rem .5rem}.care-plan-indicator{background:#48c7741a;border:1px solid #48c77433;color:#48c774}.automation-timeline{background:#0003;border:1px solid #ffffff1a;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.timeline-header{margin-bottom:1.5rem}.timeline-header h4{align-items:center;color:var(--text-color);display:flex;font-size:1.1rem;gap:.5rem;margin:0}.current-execution-indicator{align-items:center;background:#4a8a2a26;border:1px solid #4a8a2a4d;border-radius:6px;color:#4a8a2a;display:flex;font-size:.85rem;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem}.current-execution-indicator i{animation:pulse 2s infinite;color:#4a8a2a}.timeline-container{padding-left:2rem;position:relative}.timeline-container:before{background:#ffffff1a;bottom:0;content:"";left:1rem;position:absolute;top:0;width:2px}.timeline-event{margin-bottom:1.5rem;padding-left:1rem;position:relative}.timeline-event:last-child{margin-bottom:0}.timeline-marker{align-items:center;border-radius:50%;box-shadow:0 2px 8px #0000004d;color:#fff;display:flex;font-size:.9rem;height:2rem;justify-content:center;left:-1.5rem;position:absolute;top:.5rem;width:2rem}.timeline-event.active .timeline-marker{box-shadow:0 0 0 4px #48c7744d}.timeline-event.currently-executing .timeline-marker{animation:executing-pulse 1.5s infinite;box-shadow:0 0 0 6px #4a8a2a66}@keyframes executing-pulse{0%{box-shadow:0 0 0 6px #4a8a2a66}50%{box-shadow:0 0 0 8px #4a8a2a33}to{box-shadow:0 0 0 6px #4a8a2a66}}.execution-indicator{align-items:center;animation:pulse 1s infinite;background:#4a8a2a;border-radius:50%;color:#fff;display:flex;font-size:.6rem;height:16px;justify-content:center;position:absolute;right:-2px;top:-2px;width:16px}.timeline-content{background:#ffffff05;border:1px solid #ffffff1a;border-radius:6px;padding:1rem;transition:all .2s ease}.timeline-event.active .timeline-content{background:#48c7740d;border-color:#48c7744d}.timeline-event.currently-executing .timeline-content{background:#4a8a2a1a;border-color:#4a8a2a80;box-shadow:0 0 0 2px #4a8a2a33}.timeline-content:hover{border-color:#fff3;transform:translateY(-1px)}.event-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.event-plan{color:var(--text-color);font-size:.9rem;font-weight:600}.event-status{border-radius:12px;font-size:.75rem;font-weight:500;padding:.2rem .5rem}.event-status.active{background:#4a8a2a33;color:#4a8a2a}.event-status.inactive{background:#ffffff1a;color:var(--text-color-secondary)}.event-status.executing{animation:status-pulse 2s infinite;background:#4a8a2a40;color:#4a8a2a;font-weight:600}@keyframes status-pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.event-details{display:flex;flex-wrap:wrap;gap:1rem}.event-date,.event-description,.event-time,.event-value{align-items:center;background:#ffffff0d;border-radius:4px;color:var(--text-color-secondary);display:flex;font-size:.8rem;gap:.25rem;padding:.25rem .5rem}.execution-status-indicator{align-items:center;animation:pulse 2s infinite;background:#4a8a2a26;border:1px solid #4a8a2a4d;border-radius:4px;color:#4a8a2a;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.25rem .5rem}.execution-status-indicator i{color:#4a8a2a;font-size:.8rem}.timeline-footer{border-top:1px solid #ffffff1a;margin-top:1rem;padding-top:1rem}.timeline-footer p{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.8rem;gap:.5rem;margin:0}.automation-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.automation-modal{animation:modalSlideIn .3s ease-out;background:var(--card-background);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.automation-modal-header{align-items:center;background:linear-gradient(135deg,#ffffff05,#ffffff03);border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1.5rem}.automation-modal-header h3{color:var(--text-color);font-size:1.3rem;font-weight:600;margin:0}.automation-modal-close{background:none;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;font-size:1.5rem;padding:.5rem;transition:all .2s ease}.automation-modal-close:hover{background:#ffffff1a;color:var(--text-color)}.automation-form{padding:1.5rem}.automation-form-content{display:flex;flex-direction:column;gap:1.5rem}.automation-error-message{background:#f146681a;border:1px solid #f1466833;border-radius:6px;color:#f14668;font-size:.9rem;padding:1rem}.form-group{gap:.5rem}.form-group.full-width{grid-column:1/-1}.form-group label{font-size:.9rem;font-weight:600}.form-group input,.form-group select{background:#0003;border:2px solid #ffffff1a;border-radius:6px;color:var(--text-color);font-size:.9rem;padding:.75rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{border-color:#4a8a2a;box-shadow:0 0 0 3px #4a8a2a1a;outline:none}.form-group input.error,.form-group select.error{border-color:#f14668}.error-message{color:#f14668}.error-message,.info-message{font-size:.8rem;margin-top:.25rem}.info-message{color:#4caf50;display:block;font-weight:500}.care-plan-selection{margin-top:.5rem}.radio-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.radio-label{align-items:center;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;transition:all .2s ease}.radio-label:hover{background:#ffffff0d;border-color:#ffffff1a}.radio-label input[type=radio]{accent-color:var(--primary-color);cursor:pointer;height:18px;width:18px}.radio-text{color:var(--text-color);font-size:.9rem;font-weight:500}.existing-care-plan-selector{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;margin-top:1rem;padding:1rem}.existing-care-plan-selector select{background:var(--input-background);border:1px solid #ffffff1a;border-radius:6px;color:var(--text-color);font-size:.9rem;padding:.75rem;transition:all .2s ease;width:100%}.existing-care-plan-selector select:hover{border-color:#fff3}.existing-care-plan-selector select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #48c77433;outline:none}.new-care-plan-input{background:#48c7740d;border:1px solid #48c7741a;border-radius:8px;margin-top:1rem;padding:1rem}.new-care-plan-input label{color:var(--text-color);display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.new-care-plan-input input{background:var(--input-background);border:1px solid #ffffff1a;border-radius:6px;color:var(--text-color);font-size:.9rem;padding:.75rem;transition:all .2s ease;width:100%}.new-care-plan-input input:hover{border-color:#fff3}.new-care-plan-input input:focus,.new-care-plan-input textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #48c77433;outline:none}.new-care-plan-input textarea{background:var(--input-background);border:1px solid #ffffff1a;border-radius:6px;color:var(--text-color);font-family:inherit;font-size:.9rem;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.new-care-plan-input textarea:hover{border-color:#fff3}.existing-care-plan-selector label{color:var(--text-color);display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.checkbox-group{margin-top:.5rem}.checkbox-label{align-items:center;color:var(--text-color);cursor:pointer;display:flex;font-size:.9rem;gap:.75rem}.checkbox-label input[type=checkbox]{display:none}.checkmark{background:#0003;border:2px solid #fff3;border-radius:4px;height:20px;position:relative;transition:all .2s ease;width:20px}.checkbox-label input[type=checkbox]:checked+.checkmark{background:#4a8a2a;border-color:#4a8a2a}.checkbox-label input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:.8rem;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox-text{align-items:center;display:flex;gap:.5rem}.events-section{background:#0003;border:1px solid #ffffff1a;border-radius:8px;padding:1.5rem}.events-header{justify-content:space-between}.events-header,.events-hint{align-items:center;display:flex;margin-bottom:1rem}.events-hint{color:var(--text-color-secondary);font-size:.8rem;gap:.5rem;opacity:.7}.events-hint i{font-size:.9rem}.events-header h4{color:var(--text-color);font-size:1rem;margin:0}.events-actions{display:flex;gap:.75rem}.add-event-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.add-event-btn:hover{background:#ffffff26;transform:translateY(-1px)}.add-event-btn{background:#4a8a2a33;border-color:#4a8a2a4d;color:#4a8a2a}.add-event-btn:hover{background:#4a8a2a4d}.events-list{display:flex;flex-direction:column;gap:1rem}.event-item{grid-gap:1rem;align-items:end;background:#ffffff05;border:1px solid #ffffff1a;border-radius:6px;cursor:grab;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr auto;padding:1rem;position:relative;transition:all .2s ease}.event-item:hover{background:#ffffff0d;border-color:#fff3}.event-item:active{cursor:grabbing}.event-item.dragging{box-shadow:0 4px 8px #0000004d;opacity:.5;transform:rotate(2deg)}.event-item.drag-over{background:#4a8a2a1a;border-color:#4a8a2a80;transform:scale(1.02)}.event-item:before{color:var(--text-color-secondary);content:"⋮⋮";font-size:.8rem;left:.5rem;opacity:.5;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s ease}.event-item:hover:before{opacity:.8}.event-field{display:flex;flex-direction:column;gap:.25rem}.event-field label{color:var(--text-color-secondary);font-size:.8rem;font-weight:500}.event-field input,.event-field select{background:#0003;border:1px solid #ffffff1a;border-radius:4px;color:var(--text-color);font-size:.85rem;padding:.5rem}.date-input-wrapper{align-items:center;display:flex;position:relative}.date-input{background:#0003;border:1px solid #ffffff1a;border-radius:4px;color:var(--text-color);cursor:pointer;font-size:.85rem;padding:.5rem 2.5rem .5rem .5rem;transition:all .2s ease;width:100%}.date-input:hover{background:#00000040;border-color:#4a8a2a4d}.date-input:focus{border-color:#4a8a2a80;box-shadow:0 0 0 2px #4a8a2a1a;outline:none}.date-picker-icon{color:var(--text-color-secondary);font-size:1rem;pointer-events:none;position:absolute;right:.75rem;transition:color .2s ease}.date-input:focus+.date-picker-icon,.date-input:hover+.date-picker-icon{color:#4a8a2a}.time-input-wrapper{align-items:center;display:flex;position:relative}.time-input{background:#0003;border:1px solid #ffffff1a;border-radius:4px;color:var(--text-color);cursor:pointer;font-size:.85rem;padding:.5rem 2.5rem .5rem .5rem;transition:all .2s ease;width:100%}.time-input:hover{background:#00000040;border-color:#4a8a2a4d}.time-input:focus{border-color:#4a8a2a80;box-shadow:0 0 0 2px #4a8a2a1a;outline:none}.time-picker-icon{color:var(--text-color-secondary);font-size:1rem;pointer-events:none;position:absolute;right:.75rem;transition:color .2s ease}.time-input:focus+.time-picker-icon,.time-input:hover+.time-picker-icon{color:#4a8a2a}.date-input::-webkit-calendar-picker-indicator{background:#0000;color:#0000;cursor:pointer;height:100%;opacity:0;position:absolute;right:0;top:0;width:100%}.date-input::-webkit-calendar-picker-indicator:hover{background:#4a8a2a1a}.time-input::-webkit-calendar-picker-indicator{background:#0000;color:#0000;cursor:pointer;height:100%;opacity:0;position:absolute;right:0;top:0;width:100%}.time-input::-webkit-calendar-picker-indicator:hover{background:#4a8a2a1a}.remove-event-btn{align-items:center;background:#f1466833;border:none;border-radius:4px;color:#f14668;cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.remove-event-btn:hover{background:#f146684d;transform:translateY(-1px)}.automation-modal-actions{border-top:1px solid #ffffff1a;display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem}.automation-modal-cancel{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:var(--text-color);cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.automation-modal-cancel:hover{background:#ffffff26}.automation-modal-save{background:linear-gradient(135deg,#4a8a2a,#3ccf00);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.automation-modal-save:hover{box-shadow:0 4px 12px #48c7744d;transform:translateY(-1px)}.automation-modal-save:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.automation-tab{margin-top:.75rem;padding:1rem}.active-plan-summary{margin-bottom:1rem;padding:.75rem;width:350px}.plan-card{width:350px}.active-plan-details{flex-direction:column;gap:.5rem}.plan-header,.plans-header{align-items:flex-start;flex-direction:column;gap:.75rem}.plan-actions{align-self:flex-end}.timeline-container{padding-left:1.5rem}.timeline-container:before{left:.75rem}.timeline-marker{font-size:.8rem;height:1.5rem;left:-1.25rem;width:1.5rem}.event-details{flex-direction:column;gap:.5rem}.automation-modal{max-height:95vh;width:95%}.automation-modal-header{padding:1.25rem}.automation-modal-header h3{font-size:1.2rem}.automation-form{padding:1.25rem}.form-row{gap:1rem}.event-item,.form-row{grid-template-columns:1fr}.event-item{gap:.75rem}.events-header{align-items:flex-start;flex-direction:column;gap:.75rem}.events-actions{justify-content:space-between;width:100%}.automation-modal-actions{flex-direction:column;gap:.75rem}.automation-modal-cancel,.automation-modal-save{padding:.875rem 1.5rem;width:100%}}@media (max-width:480px){.automation-tab{margin-top:.5rem;padding:.75rem}.active-plan-summary{margin-bottom:.75rem;max-width:320px;padding:.6rem;width:calc(100vw - 2rem)}.active-plan-content h4{font-size:1rem}.add-automation-btn{font-size:.85rem;padding:.6rem 1.2rem}.plan-card{max-width:320px;padding:.75rem;width:calc(100vw - 2rem)}.plan-info h5{font-size:.9rem}.delete-plan-btn,.edit-plan-btn,.toggle-plan-btn{font-size:.8rem;height:28px;width:28px}.timeline-container{padding-left:1.25rem}.timeline-container:before{left:.625rem}.timeline-marker{font-size:.7rem;height:1.25rem;left:-1rem;width:1.25rem}.timeline-content{padding:.75rem}.event-header{align-items:flex-start;flex-direction:column;gap:.5rem}.automation-modal{border-radius:0;height:100%;max-height:100vh;width:100%}.automation-modal-header{padding:1rem}.automation-modal-header h3{font-size:1.1rem}.automation-form{padding:1rem}.form-group input,.form-group select{font-size:1rem;padding:.875rem}.events-section{padding:1rem}.automation-modal-cancel,.automation-modal-save{font-size:1rem;padding:1rem 1.5rem}}.calendar-picker-container{position:relative;width:100%}.calendar-input-wrapper{align-items:center;display:flex;position:relative}.calendar-input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:var(--text-color);cursor:pointer;font-size:.9rem;padding:.75rem 2.5rem .75rem 1rem;transition:all .2s ease;width:100%}.calendar-input:hover{background:#ffffff14;border-color:#fff3}.calendar-input:focus{background:#48c7740d;border-color:#48c77480;box-shadow:0 0 0 2px #48c77433;outline:none}.calendar-input.error{background:#f443360d;border-color:#f4433680}.calendar-picker-icon{background:none;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;font-size:1rem;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:all .2s ease}.calendar-picker-icon:hover{background:#ffffff1a;color:var(--text-color)}.calendar-dropdown{animation:calendarSlideIn .2s ease;background:var(--card-background);border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 8px 32px #0000004d;left:0;margin-top:.25rem;min-width:280px;padding:1rem;position:absolute;right:0;top:100%;z-index:1000}@keyframes calendarSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.calendar-nav-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;color:var(--text-color);cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.calendar-nav-btn:hover{background:#ffffff1a;border-color:#fff3}.calendar-month-year{color:var(--text-color);font-size:.9rem;font-weight:600}.calendar-days-header{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.calendar-day-header{color:var(--text-color-secondary);font-size:.75rem;font-weight:500;padding:.25rem;text-align:center}.calendar-days{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;color:var(--text-color);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;justify-content:center;transition:all .2s ease}.calendar-day:hover:not(.disabled){background:#ffffff1a;border-color:#fff3;transform:scale(1.05)}.calendar-day.today{background:#48c77433;border-color:#48c77466;color:#4a8a2a;font-weight:600}.calendar-day.selected{background:#48c7744d;border-color:#48c77499;color:#fff;font-weight:600}.calendar-day.selected:hover{background:#48c77466}.calendar-day.disabled{background:#ffffff05;border-color:#ffffff0d;color:var(--text-color-secondary);cursor:not-allowed;opacity:.5}.calendar-day.empty{background:#0000;border:none;cursor:default}@media (max-width:768px){.calendar-dropdown{min-width:260px;padding:.75rem}.calendar-day{font-size:.75rem}.calendar-month-year{font-size:.85rem}}@media (max-width:480px){.calendar-dropdown{min-width:240px;padding:.5rem}.calendar-day{font-size:.7rem}}.camera-wrapper{background:var(--background-color);margin:0 auto;max-width:1400px;min-height:100vh;padding:1rem}.camera-header{align-items:center;background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem}.camera-back-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.camera-back-btn:hover{background:var(--hover-color);transform:translateX(-2px)}.camera-header-main{flex:1 1;margin:0 2rem;text-align:center}.camera-title-row{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem}.camera-title{color:var(--text-color);font-size:1.5rem;font-weight:600;margin:0}.camera-title i{color:var(--accent-color)}.camera-description,.camera-updated{color:var(--text-secondary);font-size:.875rem;margin:0}.camera-description{font-style:italic}.camera-controls{display:flex;gap:1rem}.camera-capture-btn{align-items:center;background:var(--accent-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.camera-capture-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.camera-capture-btn:disabled{cursor:not-allowed;opacity:.6}.camera-main-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;height:calc(100vh - 200px)}.camera-left-column,.camera-right-column{display:flex;flex-direction:column;gap:1rem}.camera-snapshot-section{background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative}.edit-mode-btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#404040cc;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 2px 8px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;left:1rem;padding:.5rem 1rem;position:absolute;top:1rem;transition:all .2s ease;z-index:10}.edit-mode-btn:hover{background:#505050e6;box-shadow:0 4px 12px #0006;transform:translateY(-1px)}.edit-mode-btn.active{background:#4caf50;border-color:#4caf50;color:#fff}.edit-mode-btn.active:hover{background:#45a049}.edit-mode-btn i{font-size:1rem}.snapshot-container,.snapshot-viewer{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.snapshot-image{border-radius:8px;max-height:100%;max-width:100%;object-fit:contain}.no-snapshot{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:1.25rem;height:100%;justify-content:center}.no-snapshot i{font-size:3rem;margin-bottom:1rem;opacity:.5}.bounding-boxes-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.bounding-box{background:#39ff1414;border:3px solid #39ff14;border-radius:4px;box-shadow:0 0 8px #39ff1499,inset 0 0 8px #39ff1433;cursor:pointer;pointer-events:auto;position:absolute;transition:all .3s ease,transform .1s ease;will-change:transform}.snapshot-loading .bounding-box{transition:none!important}.bounding-box.constrained{border-color:#f60;box-shadow:0 0 12px #ff6600e6,inset 0 0 8px #ff66004d}.snapshot-container.edit-mode{overflow:hidden;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.snapshot-container.edit-mode .snapshot-image{pointer-events:none}.snapshot-container.edit-mode *{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}.bounding-box:hover{background:#39ff1426;border-color:#39ff14;box-shadow:0 0 12px #39ff14cc,inset 0 0 12px #39ff144d;transform:scale(1.02)}.bounding-box.selected{background:#ff14931f;border-color:#ff1493;box-shadow:0 0 15px #ff1493e6,inset 0 0 12px #ff14934d}.bounding-box-label{background:var(--accent-color);border-radius:4px;color:#fff;font-weight:500;left:0;padding:2px 8px;white-space:nowrap}.bounding-box-health,.bounding-box-label{font-size:.75rem;pointer-events:none;position:absolute;top:-25px}.bounding-box-health{align-items:center;background:var(--card-background);border-radius:50%;display:flex;height:20px;justify-content:center;right:0;width:20px}.bounding-box-health.excellent{color:#4caf50}.bounding-box-health.good{color:#ff9800}.bounding-box-health.warning{color:#f44336}.bounding-box.editable{cursor:move}.bounding-box.editable>:not(.bounding-box-delete):not(.resize-handle){pointer-events:none}.bounding-box.editable .bounding-box-delete,.bounding-box.editable .resize-handle{pointer-events:auto}.bounding-box.drawing{animation:draw-pulse 1s ease-in-out infinite alternate;background:#4caf501a;border-style:dashed;border-width:2px}.bounding-box.dragging{border-color:#0ff;box-shadow:0 0 16px #00ffffe6,inset 0 0 12px #00ffff4d;opacity:.85;transform:scale(1.05);transform-origin:center;will-change:transform;z-index:10}.bounding-box.resizing{border-color:#f0f;box-shadow:0 0 16px #ff00ffe6,inset 0 0 12px #ff00ff4d;opacity:.9;will-change:transform;z-index:10}@keyframes draw-pulse{0%{opacity:.6}to{opacity:1}}.bounding-box-delete{align-items:center;background:#f44336;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;opacity:0;position:absolute;right:-8px;top:-8px;transition:all .2s ease;width:24px;z-index:5}.bounding-box.editable:hover .bounding-box-delete{opacity:1}.bounding-box-delete:hover{background:#d32f2f;transform:scale(1.1)}.resize-handles{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.resize-handle{background:#4caf50;border:1px solid #fff;border-radius:2px;height:8px;opacity:0;pointer-events:auto;position:absolute;transition:opacity .2s ease;width:8px}.bounding-box.editable:hover .resize-handle{opacity:1}.resize-handle.nw{cursor:nw-resize;left:-4px;top:-4px}.resize-handle.ne{cursor:ne-resize;right:-4px;top:-4px}.resize-handle.sw{bottom:-4px;cursor:sw-resize;left:-4px}.resize-handle.se{bottom:-4px;cursor:se-resize;right:-4px}.resize-handle:hover{background:#45a049;transform:scale(1.2)}.plant-metadata-modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.plant-metadata-modal{background:var(--card-background);border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between}.modal-header h3{color:var(--text-color);font-size:1.25rem;margin:0}.modal-close-btn{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:.5rem;transition:all .2s ease}.modal-close-btn:hover{background:var(--hover-color);color:var(--text-color)}.plant-metadata-form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group label{color:var(--text-color);display:block;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #4caf5033;outline:none}.form-group textarea{min-height:60px}.health-select{position:relative}.health-indicator{border-radius:50%;height:12px;pointer-events:none;position:absolute;right:2.5rem;top:50%;transform:translateY(-50%);width:12px}.form-actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-secondary{background:var(--background-color);border:1px solid var(--border-color);color:var(--text-color)}.btn-secondary:hover{background:var(--hover-color)}.btn-primary{background:var(--accent-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}@media (max-width:600px){.plant-metadata-modal{margin:1rem;width:95%}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}}.sensor-data-overlay{align-items:center;background:#000000b3;border-radius:12px;color:#fff;display:flex;flex-direction:row;flex-wrap:wrap;gap:2rem;justify-content:center;margin:0 1rem 1rem;padding:1rem 2rem}.sensor-data-item{font-size:.875rem;gap:.5rem}.sensor-data-item i{color:var(--accent-color);width:16px}.camera-sidebar{display:flex;flex-direction:column;gap:1.5rem}.camera-sidebar,.plant-details-panel{background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;height:100%;overflow-y:auto;padding:1.5rem}.plant-details-placeholder{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.plant-details-placeholder i{font-size:3rem;margin-bottom:1rem;opacity:.5}.plant-header{margin-bottom:1rem}.plant-header h5{color:var(--text-color);font-size:1.25rem;margin:0 0 .25rem}.plant-species{color:var(--text-secondary);font-size:.875rem;font-style:italic}.care-history h6,.plant-care h6,.plant-notes h6{color:var(--text-color);font-size:.875rem;font-weight:600;margin:0 0 .5rem}.plant-care p,.plant-notes p{color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:0 0 1rem}.care-list{display:flex;flex-direction:column;gap:.5rem}.care-item{background:var(--background-color);border-radius:6px;padding:.5rem}.care-date{font-weight:500}.care-action{display:flex;flex-direction:column;gap:.25rem}.care-action-type{color:var(--text-color);font-weight:600}.care-notes{color:var(--text-secondary);font-size:.7rem}.plant-actions{flex-direction:column;margin-top:1rem}.plant-action-btn{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem;transition:all .2s ease}.plant-action-btn:hover{background:var(--hover-color);transform:translateY(-1px)}.timeline-sensors{display:flex;gap:.5rem;margin-top:.25rem}.sensor-mini{align-items:center;color:var(--text-secondary);display:flex;font-size:.7rem;gap:.25rem}.sensor-mini i{font-size:.6rem}.sensor-data-timestamp{align-items:center;border-top:1px solid #fff3;display:flex;font-size:.75rem;gap:.5rem;margin-top:.5rem;opacity:.8;padding-top:.5rem}.time-range-selector h4{color:var(--text-color);font-size:1rem;font-weight:600;margin:0 0 1rem}.time-range-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.time-range-btn{background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.time-range-btn:hover{background:var(--hover-color)}.time-range-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.plant-details h4{color:var(--text-color);font-size:1rem;font-weight:600;margin:0 0 1rem}.plant-zoom-view{animation:zoomViewFadeIn .3s ease-in-out;background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;flex-shrink:0;overflow:hidden;padding:1rem}@keyframes zoomViewFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.zoom-view-header{align-items:center;color:var(--text-color);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.zoom-view-header i{color:var(--accent-color);font-size:1.125rem}.zoom-canvas-container{align-items:center;background:var(--background-color);border-radius:8px;display:flex;justify-content:center;min-height:200px;padding:.5rem;width:100%}.plant-zoom-canvas{border-radius:8px;box-shadow:0 4px 12px #00000026;display:block;height:auto;max-width:100%;transition:transform .2s ease;width:100%}.plant-zoom-canvas:hover{box-shadow:0 6px 16px #0003;transform:scale(1.02)}.plant-info{background:var(--background-color);border-radius:8px}.plant-info h5{color:var(--text-color);font-size:1.125rem;margin:0 0 .5rem}.plant-status{display:flex;gap:1rem;margin-bottom:1rem}.health-indicator{border-radius:4px;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.health-indicator.excellent{background:#4caf5033;color:#4caf50}.health-indicator.good{background:#ff980033;color:#ff9800}.health-indicator.warning{background:#f4433633;color:#f44336}.growth-stage{background:#2196f333;border-radius:4px;color:#2196f3;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.plant-notes{color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:0 0 1rem}.care-history h6{color:var(--text-color);font-size:.875rem;font-weight:600;margin:0 0 .5rem}.care-item{border-bottom:1px solid var(--border-color);font-size:.75rem;justify-content:space-between;padding:.25rem 0}.care-item:last-child{border-bottom:none}.care-date{color:var(--text-secondary)}.care-action{color:var(--text-color);font-weight:500}.snapshot-timeline h4{color:var(--text-color);font-size:1rem;font-weight:600;margin:0 0 1rem}.timeline-container{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.timeline-item{align-items:center;background:var(--background-color);border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.timeline-item:hover{background:var(--hover-color);transform:translateX(2px)}.timeline-item.current{background:#4caf501a;border-color:var(--accent-color)}.timeline-thumbnail{border-radius:4px;height:45px;object-fit:cover;width:60px}.timeline-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.timeline-date{color:var(--text-color);font-size:.875rem;font-weight:500}.timeline-time{color:var(--text-secondary);font-size:.75rem}@media (max-width:1200px){.camera-main-content{gap:1rem;grid-template-columns:1fr 1fr}.sensor-data-overlay{gap:1.5rem;padding:.75rem 1.5rem}}@media (min-width:1201px){.camera-header-main{text-align:center}.camera-title-row{justify-content:center}}@media (max-width:768px){.camera-main-content{grid-template-columns:1fr;height:auto}.camera-left-column,.camera-right-column{order:0}.camera-header{flex-direction:column;gap:1rem;text-align:center}.camera-header-main{margin:0}.camera-controls{justify-content:center;width:100%}.camera-description{display:none}.sensor-data-overlay{gap:1rem;margin:0 .5rem 1rem;padding:.75rem 1rem}}@media (prefers-color-scheme:dark){.sensor-data-overlay{background:#000c}.bounding-box{background:#4caf5026}.bounding-box:hover{background:#4caf5040}.bounding-box.selected{background:#ffd70040}}.action-wrapper-demo{background:var(--background-color);margin:0 auto;max-width:1400px;min-height:100vh;padding:1rem}.demo-header{background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem;text-align:center}.demo-header h2{color:var(--text-color);margin-bottom:.5rem}.demo-header p{color:var(--text-secondary);margin:0}.device-selector{background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1rem}.device-selector h3{color:var(--text-color);margin-bottom:1rem}.device-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.device-btn{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.device-btn:hover{background:var(--hover-color);transform:translateY(-1px)}.device-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.device-info{background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1rem}.device-header{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1rem}.device-header h3{align-items:center;color:var(--text-color);display:flex;gap:.5rem;margin-bottom:.5rem}.device-header p{color:var(--text-secondary);margin:0}.sample-image-section,.sensor-data-section,.timeline-preview{margin-bottom:2rem}.sample-image-section h4,.sensor-data-section h4,.timeline-preview h4{color:var(--text-color);margin-bottom:1rem}.sample-image-container{align-items:flex-start;display:flex;gap:1rem}.sample-image{border:1px solid var(--border-color);border-radius:8px;max-height:200px;max-width:300px;object-fit:cover}.image-info{flex:1 1}.image-info p{color:var(--text-secondary);margin:.5rem 0}.sensor-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sensor-item{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;padding:1rem;text-align:center}.sensor-item i{color:var(--accent-color);font-size:1.5rem;margin-bottom:.5rem}.sensor-item span{color:var(--text-color);font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.sensor-item label{color:var(--text-secondary);font-size:.875rem}.timeline-thumbnails{display:flex;gap:1rem;overflow-x:auto;padding:.5rem 0}.timeline-thumbnail{flex-shrink:0;text-align:center;width:120px}.timeline-thumbnail img{border:1px solid var(--border-color);border-radius:8px;height:80px;margin-bottom:.5rem;object-fit:cover;width:100%}.thumbnail-info{display:flex;flex-direction:column;gap:.25rem}.thumbnail-date,.thumbnail-time{color:var(--text-secondary);font-size:.75rem}.layout-info{background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1rem}.layout-info h4{color:var(--text-color);margin-bottom:1rem}.layout-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.layout-section h5{color:var(--text-color);margin-bottom:.75rem}.layout-section ul{color:var(--text-secondary);margin:0;padding-left:1.5rem}.layout-section li{margin-bottom:.5rem}.layout-info p{color:var(--text-secondary);font-style:italic;margin:0}@media (max-width:768px){.sample-image-container{align-items:center;flex-direction:column}.sample-image{max-width:100%}.layout-grid{gap:1rem;grid-template-columns:1fr}.device-buttons{justify-content:center}}.card{align-items:center;aspect-ratio:1/1.1;background:#0003;border:1px solid #ffffff1a;border-radius:8px;display:flex;flex-direction:column;height:auto;justify-content:space-between;margin:0 auto;padding:1rem;position:relative;transition:all .3s ease;width:clamp(300px,100%,350px);will-change:transform}.dashboard-cards-container .card{background:#000}.card:hover{border-color:#fff3;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.card.active,.card.online{background:#48c7740d;border-color:#48c7744d}.dashboard-cards-container .card.online{background:#000!important}.card.error,.card.offline{background:#f146680d;border-color:#f146684d}.dashboard-cards-container .card.error,.dashboard-cards-container .card.offline{background:#000!important}.card.warning{background:#ffc1070d;border-color:#ffc1074d}.dashboard-cards-container .card.warning{background:#000!important}.card.info{background:#667eea0d;border-color:#667eea4d}.dashboard-cards-container .card.info{background:#000!important}.card-image-container{align-items:center;border-radius:50%;display:flex;height:min(164px,45vw);justify-content:center;margin-bottom:min(16px,3vw);overflow:hidden;position:relative;width:min(164px,45vw)}.card-image-container:after{animation:batteryProgress .5s ease forwards;background:conic-gradient(green 0 100%,red 0 100%);border-radius:50%;content:"";height:100%;left:-5px;-webkit-mask:radial-gradient(circle,#0000 77px,#000 0);mask:radial-gradient(circle,#0000 77px,#000 0);padding:5px;pointer-events:none;position:absolute;top:-5px;width:100%}@keyframes batteryProgress{0%{background:conic-gradient(var(--card-secondary-theme-color) 0 100%,red 0 100%)}25%{background:conic-gradient(var(--card-secondary-theme-color) 0 calc(var(--battery-level)*1),red 0 calc(var(--battery-level)*.25))}50%{background:conic-gradient(var(--card-secondary-theme-color) 0 calc(var(--battery-level)*1),red 0 calc(var(--battery-level)*.5))}75%{background:conic-gradient(var(--card-secondary-theme-color) 0 calc(var(--battery-level)*1),red 0 calc(var(--battery-level)*.75))}to{background:conic-gradient(var(--card-secondary-theme-color) 0 var(--battery-level),red var(--battery-level) 100%)}}.card-image{border-radius:50%;height:100%;object-fit:contain;position:relative;width:100%}.card-data{display:flex;flex-direction:row;width:100%}.card-description{color:var(--text-color);font-size:clamp(.7rem,2.5vw,1rem);margin-bottom:.5rem;text-align:center}.card-timestamp{color:var(--text-color-secondary);font-size:.8rem;margin-top:.5rem}.card-delete-button{background-color:initial;border:none;border-radius:4px;color:var(--text-color);cursor:pointer;opacity:0;padding:.5rem;position:absolute;right:10px;top:10px;transition:opacity .3s}.card:hover .card-delete-button{opacity:1}.card-delete-button:hover{background:#f1466833;color:#f14668}.card-status{border:2px solid #ffffff1a;border-radius:50%;height:12px;left:10px;position:absolute;top:10px;width:12px}.card-status.online{background:#48c774;box-shadow:0 0 8px #48c77480}.card-status.offline{background:#f14668;box-shadow:0 0 8px #f1466880}.card-status.warning{background:#ffc107;box-shadow:0 0 8px #ffc10780}.about-section{background:#0003;border:1px solid #ffffff1a;border-radius:8px;padding:1.5rem;transition:all .3s ease}.about-section:hover{border-color:#fff3;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.hardware-item{background:#0003;border:1px solid #ffffff1a;border-radius:8px;padding:1.5rem}.hardware-item:hover{border-color:#fff3;box-shadow:0 4px 12px #0003}.contact-card,.social-card{background:#0003;border:1px solid #ffffff1a;border-radius:8px;padding:1.5rem}.contact-card:hover,.social-card:hover{border-color:#fff3;box-shadow:0 4px 12px #0003}.profile-section{background:#0003;border:1px solid #ffffff1a;border-radius:8px;margin-bottom:2rem;padding:1.5rem;transition:all .3s ease}.profile-section:hover{border-color:#fff3;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.profile-field{background:#0003;border:1px solid #ffffff1a;border-radius:6px;padding:1rem;transition:all .3s ease}.profile-field:hover{border-color:#fff3}.profile-field input:focus{border-color:#48c774;box-shadow:0 0 0 3px #48c7741a}@media (max-width:768px){.card{padding:.75rem;width:clamp(280px,100%,320px)}.about-section,.profile-section{margin-bottom:1.5rem;padding:1rem}.contact-card,.hardware-item,.social-card{padding:1rem}}@media (max-width:480px){.card{padding:.6rem;width:clamp(260px,100%,300px)}.about-section,.profile-section{margin-bottom:1rem;padding:.75rem}.contact-card,.hardware-item,.social-card{padding:.75rem}.card-delete-button{padding:.4rem;right:8px;top:8px}.card-status{height:10px;left:8px;top:8px;width:10px}}.about-container{background-color:var(--body-color);color:var(--text-color);display:flex;flex-direction:column;min-height:100vh}.about-hero{background:#0003;border:1px solid #ffffff1a;border-radius:8px;margin:1.5rem auto;max-width:900px;padding:1.5rem;text-align:center;transition:all .3s ease}.about-hero:hover{border-color:#fff3;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.about-hero-content{margin:0 auto;max-width:800px}.about-logo{filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));height:100px;margin-bottom:1rem;width:100px}.about-title{color:var(--main-theme-color);font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.about-subtitle{color:var(--text-color);font-size:1.2rem;margin-bottom:0;opacity:.9}.about-content{background:var(--card-background);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:900px;padding:1.25rem 1.5rem}.about-section{margin-bottom:2rem}.about-section-title{color:var(--text-color);font-size:1.5rem;font-weight:600;margin-bottom:1rem;position:relative;text-align:center}.about-section-title:after{background:var(--gradient-blue-to-green);border-radius:2px;bottom:-10px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.about-section-content{margin:0 auto;max-width:800px}.about-text{color:var(--text-color);font-size:1rem;line-height:1.6;margin-bottom:1rem;opacity:.9}.about-mission-grid{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:800px}.mission-content{flex-direction:column}.mission-content,.mission-image{display:flex;justify-content:center}.mission-image{align-items:center}.setup-image{border-radius:16px;box-shadow:0 8px 25px #0003;height:auto;max-width:400px;transition:transform .3s ease;width:100%}.setup-image:hover{transform:scale(1.02)}.grow-shelf-placeholder{align-items:center;border:3px dashed var(--main-theme-color);border-radius:16px;color:var(--main-theme-color);display:flex;flex-direction:column;height:400px;justify-content:center;overflow:hidden;position:relative;width:300px}.grow-shelf-placeholder:before{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.grow-shelf-placeholder i{font-size:4rem;margin-bottom:1rem;position:relative;z-index:1}.grow-shelf-placeholder p{font-size:1.2rem;font-weight:600;margin:0 0 .5rem;position:relative;z-index:1}.grow-shelf-placeholder span{font-size:.9rem;opacity:.8;position:relative;z-index:1}.about-hardware-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1.5rem}.hardware-item{background-color:#0003;border:2px solid #ffffff1a;border-radius:6px;box-shadow:0 2px 4px #0003;padding:1rem;text-align:center;transition:all .3s ease}.hardware-item:hover{border-color:#48c774;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.hardware-image{align-items:center;background-color:var(--card-background);border-radius:12px;display:flex;height:150px;justify-content:center;margin:0 auto 1.5rem;overflow:hidden;width:150px}.hardware-img{border-radius:12px;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.hardware-img:hover{transform:scale(1.05)}.hardware-image-placeholder{align-items:center;border:2px dashed var(--main-theme-color);border-radius:12px;color:var(--main-theme-color);display:flex;flex-direction:column;height:150px;justify-content:center;margin:0 auto 1.5rem;width:150px}.hardware-image-placeholder i{font-size:3rem;margin-bottom:.5rem}.hardware-image-placeholder p{font-size:.9rem;font-weight:500;margin:0}.hardware-item h3{color:var(--text-color);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.hardware-item p{color:var(--text-color);font-size:1rem;line-height:1.6;opacity:.8}.demo-video-container{border-top:1px solid #ffffff1a;margin-top:1.5rem;padding-top:1.5rem}.demo-video-container h4{color:var(--main-theme-color);font-size:1.2rem;font-weight:600;margin-bottom:1rem;text-align:center}.video-wrapper{background:var(--card-background);box-shadow:0 4px 12px #0000004d;margin:0 auto 1rem;max-width:400px;overflow:hidden;position:relative}.demo-video,.video-wrapper{border-radius:12px;width:100%}.demo-video{display:block;height:auto;transition:transform .3s ease}.demo-video:hover{transform:scale(1.02)}.video-description{color:var(--text-color);font-size:.9rem;font-style:italic;line-height:1.5;margin:0;opacity:.8;text-align:center}.about-social-column{display:flex;flex-direction:column;gap:3rem;margin:0 auto;max-width:800px}.contact-card,.social-card{background-color:#0003;border:2px solid #ffffff1a;border-radius:6px;box-shadow:0 2px 4px #0003;padding:2rem;text-align:center;transition:all .3s ease}.contact-card:hover,.social-card:hover{border-color:#48c774;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.contact-card h3,.social-card h3{color:var(--text-color);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.social-card p{color:var(--text-color);font-size:1.1rem;line-height:1.6;margin-bottom:2rem;opacity:.8}.qr-codes{gap:4rem;justify-content:center;margin-top:2rem}.qr-codes,.qr-item{align-items:center;display:flex}.qr-item{flex-direction:column;text-align:center}.qr-code{border:4px solid var(--main-theme-color);border-radius:16px;box-shadow:0 8px 20px #0000004d;height:280px;margin-bottom:1.5rem;transition:transform .3s ease;width:280px}.qr-code:hover{transform:scale(1.05)}.qr-item p{color:var(--text-color);font-size:1.4rem;font-weight:600;margin:0}.contact-info{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:400px}.contact-item{align-items:center;border-radius:12px;display:flex;gap:1rem;justify-content:center;padding:1rem;transition:background-color .3s ease}.contact-item:hover{background-color:#0000000d}.contact-item i{color:var(--main-theme-color);font-size:1.4rem;width:24px}.contact-item span{color:var(--text-color);font-size:1.1rem}@media screen and (max-width:768px){.about-hero{margin:1rem auto;padding:1rem}.about-title{font-size:2rem}.about-subtitle{font-size:1rem}.about-content{padding:1rem}.about-section-title{font-size:1.3rem}.about-mission-grid{gap:2rem;grid-template-columns:1fr}.grow-shelf-placeholder{height:300px;width:250px}.setup-image{max-width:300px}.about-hardware-grid{gap:1.5rem;grid-template-columns:1fr}.hardware-image{height:120px;width:120px}.video-wrapper{max-width:300px}.demo-video-container h4{font-size:1.1rem}.about-social-column{gap:2rem}.contact-card,.social-card{padding:2rem}.qr-codes{align-items:center;flex-direction:column;gap:3rem}.qr-code{height:220px;width:220px}.qr-item p{font-size:1.2rem}}@media screen and (max-width:480px){.about-hero{margin:.75rem auto}.about-content,.about-hero{padding:.75rem}.about-logo{height:80px;width:80px}.about-title{font-size:1.3rem}.about-subtitle{font-size:1rem}.about-section-title{font-size:1.2rem}.about-text{font-size:1rem}.grow-shelf-placeholder{height:250px;width:200px}.setup-image{max-width:250px}.hardware-image{height:100px;width:100px}.video-wrapper{max-width:250px}.demo-video-container h4{font-size:1rem}.contact-card,.hardware-item,.social-card{padding:1.5rem}.hardware-image-placeholder{height:120px;width:120px}.hardware-image-placeholder i{font-size:2rem}.qr-code{height:180px;width:180px}.qr-item p{font-size:1rem}.contact-item{padding:.75rem}.contact-item i{font-size:1.2rem}.contact-item span{font-size:1rem}}.login-container{align-items:center;background:#000;color:#fff;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;position:relative;width:100%}.animated-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.gradient-orb{border-radius:50%;filter:blur(60px);opacity:.6;position:absolute;transition:transform .1s ease-out}.orb-1{animation:float 8s ease-in-out infinite;background:radial-gradient(circle,#4caf50 0,#0000 70%);height:400px;left:10%;top:10%;width:400px}.orb-2{animation:float 10s ease-in-out infinite reverse;background:radial-gradient(circle,#2196f3 0,#0000 70%);height:300px;right:15%;top:60%;width:300px}.orb-3{animation:float 12s ease-in-out infinite;background:radial-gradient(circle,#9c27b0 0,#0000 70%);bottom:20%;height:250px;left:20%;width:250px}.floating-elements{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.floating-sensor{align-items:center;animation:sensorFloat 6s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;display:flex;height:60px;justify-content:center;position:absolute;width:60px}.sensor-1{animation-delay:0s;left:15%;top:20%}.sensor-2{animation-delay:1.5s;left:25%;top:70%}.sensor-3{animation-delay:3s;right:20%;top:35%}.sensor-4{animation-delay:4.5s;bottom:25%;right:15%}.sensor-icon{font-size:24px;z-index:1}.sensor-pulse{animation:pulse 2s ease-in-out infinite;border:2px solid #4caf50;border-radius:50%}.connection-lines,.sensor-pulse{height:100%;position:absolute;width:100%}.connection-lines{left:0;pointer-events:none;top:0;z-index:1}.login-content{align-items:center;animation:slideUp 1s ease-out;display:flex;flex-direction:column;max-width:500px;padding:6rem 3rem 3rem;position:relative;text-align:center;transition:transform .1s ease-out;z-index:10}.logo-container{margin-bottom:2rem;position:relative}.main-logo{animation:logoGlow 3s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(76,175,80,.5));height:80px;width:80px}.logo-glow{animation:glowPulse 3s ease-in-out infinite;background:radial-gradient(circle,#4caf504d 0,#0000 70%);border-radius:50%;height:120px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:120px}.welcome-section{margin-bottom:2.5rem}.welcome-title{font-size:3rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.title-line{animation:fadeInUp .8s ease-out forwards;display:block;opacity:0}.title-line:nth-child(2){animation-delay:.2s}.highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4caf50,#45a049);-webkit-background-clip:text;background-clip:text}.welcome-subtitle{animation:fadeInUp .8s ease-out .4s forwards;color:#fffc;font-size:1.1rem;line-height:1.6;opacity:0}.features-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:3rem;width:100%}.feature-item{align-items:center;animation:fadeInUp .8s ease-out .6s forwards;background:#ffffff0d;border-radius:12px;display:flex;flex-direction:column;opacity:0;padding:1rem}.feature-item:nth-child(2){animation-delay:.8s}.feature-item:nth-child(3){animation-delay:1s}.feature-item:hover{background:#ffffff1a;border-color:#4caf504d;transform:translateY(-5px)}.feature-icon{font-size:2rem;margin-bottom:.5rem}.feature-item span{color:#ffffffe6;font-size:.9rem;font-weight:500}.login-button-container{margin-bottom:2rem}.login-button{align-items:center;animation:fadeInUp .8s ease-out 1.2s forwards;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:50px;box-shadow:0 8px 25px #4caf504d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:12px;opacity:0;overflow:hidden;padding:16px 48px;position:relative;transition:all .3s ease}.login-button:hover{background:linear-gradient(135deg,#45a049,#4caf50);box-shadow:0 12px 35px #4caf5066;transform:translateY(-3px)}.login-button.hovered .button-icon{transform:translateX(5px)}.button-icon,.button-text{position:relative;z-index:2}.button-icon{transition:transform .3s ease}.button-ripple{background:#ffffff4d;border-radius:50%;height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.login-button:active .button-ripple{height:300px;width:300px}.login-footer{animation:fadeInUp .8s ease-out 1.4s forwards;opacity:0}.login-footer p{color:#fff9;font-size:.9rem;font-style:italic}.particles{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:1}.particle{animation:particleFloat linear infinite;background:#4caf5099;border-radius:50%;height:4px;position:absolute;width:4px}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(180deg)}}@keyframes sensorFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.05)}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 20px rgba(76,175,80,.5))}50%{filter:drop-shadow(0 0 30px rgba(76,175,80,.8))}}@keyframes glowPulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.1)}}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh) rotate(0deg)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100px) rotate(1turn)}}@media (max-width:768px){.login-content{margin:1rem;max-width:90%;padding:5rem 2rem 2rem}.welcome-title{font-size:2.5rem}.features-grid{gap:1rem;grid-template-columns:1fr}.floating-sensor{height:50px;width:50px}.sensor-icon{font-size:20px}.orb-1,.orb-2,.orb-3{height:200px;width:200px}}@media (max-width:480px){.login-content{padding:4.5rem 1.5rem 1.5rem}.welcome-title{font-size:2rem}.login-button,.welcome-subtitle{font-size:1rem}.login-button{padding:14px 36px}}.mqtt-chart-container{box-sizing:border-box;padding:1rem;width:100%}.zone-header{border-bottom:1px solid #ffffff1a;margin:0 -1rem 1rem;overflow:visible;padding:0 1rem .5rem;position:relative;text-align:center;width:calc(100% + 2rem)}.zone-header,.zone-header-main{align-items:center;display:flex;justify-content:center}.zone-header-main{flex-direction:column;margin:0 auto;max-width:calc(100% - 200px);width:100%}.zone-controls{flex-wrap:nowrap;gap:.25rem;justify-content:flex-end;max-width:200px;min-width:max-content;position:absolute;right:2.75rem;top:0;z-index:10}.zone-control-btn,.zone-controls{align-items:center;display:flex;flex-shrink:0;white-space:nowrap}.zone-control-btn{background:#0003;border:1px solid #ffffff1a;border-radius:6px;color:var(--text-color);cursor:pointer;font-size:.9rem;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.zone-header .zone-control-btn:first-child{left:1.25rem;position:absolute;top:0;z-index:10}.zone-header .zone-controls .zone-control-btn{flex-shrink:0;font-size:.85rem;min-width:max-content;overflow:hidden;padding:.5rem;position:relative;text-overflow:ellipsis;white-space:nowrap}.zone-control-btn i{font-size:1.1rem}.zone-control-btn:hover{background:#ffffff1a;transform:translateY(-2px)}.zone-control-btn.refresh{background:var(--primary-color-light);color:#fff}.zone-control-btn.refresh:hover{background:var(--primary-color)}.zone-title-row{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:.25rem;width:100%}.zone-title{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.zone-title,.zone-updated{text-align:center;width:100%}.zone-updated{color:var(--text-color-secondary);font-size:1.08rem;margin:0;opacity:.8}.zone-vitals-summary{align-items:stretch;background:#0003;border:1px solid #ffffff0d;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:row;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;padding:1rem}.vitals-title{color:var(--text-color);display:none;font-size:1.1rem;font-weight:600;margin:0}.vital-item{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;flex:1 1;gap:.5rem;justify-content:center;max-width:200px;min-width:140px;padding:.75rem 1rem;transition:all .2s ease;white-space:nowrap}.vital-icon{flex-shrink:0;font-size:1.2rem;margin-right:.25rem}.vital-label{color:var(--text-color-secondary);flex-shrink:0;font-size:.9rem;font-weight:600}.vital-value{color:var(--text-color);font-size:1.1rem}.vital-alert,.vital-value{flex-shrink:0;font-weight:700}.vital-alert{animation:pulse 2s infinite;font-size:1.2rem;margin-left:.25rem}.vital-alert.high{color:#ff6b6b}.vital-alert.low{color:#74c0fc}.zone-status{align-items:center;border-radius:20px;display:flex;font-size:.8rem;font-weight:600;gap:.5rem;padding:.25rem .75rem}.zone-status.normal{background-color:#48c77426;color:#48c774}.zone-status.alert{animation:pulse 2s infinite;background-color:#f1466826;color:#f14668}.zone-status.unknown{background-color:#ffffff1a;color:var(--text-color-light)}.status-indicator{background-color:currentColor;border-radius:50%;height:8px;width:8px}.zone-title{color:var(--text-color);font-size:1.8rem;font-weight:600;margin:0}.zone-actions-wrapper{background-color:#00000026;border:1px solid #ffffff0d;border-radius:8px;margin:1.5rem 0;padding:.75rem 1rem}.actions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-title{color:var(--text-color);font-size:1.2rem;font-weight:500;margin:0}.no-actions{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.chart-time-range-selector{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1rem 0}.time-range-button{background:#ffffff1a;border:none;border-radius:4px;color:var(--text-color);cursor:pointer;padding:.5rem .75rem;transition:all .2s ease}.time-range-button:hover{background:#fff3}.time-range-button.active{background:var(--primary-color);color:#fff;font-weight:600}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@media (max-width:1024px){.zone-vitals-summary{gap:1rem;padding:.875rem}.vital-item{max-width:180px;min-width:120px;padding:.875rem .75rem}.vital-icon{font-size:1.1rem}.vital-label{font-size:.85rem}.vital-value{font-size:1rem}}@media (max-width:900px){.zone-vitals-summary{gap:.875rem;padding:.75rem}.vital-item{max-width:160px;min-width:110px;padding:.75rem .625rem}.vital-icon{font-size:1rem}.vital-label{font-size:.8rem}.vital-value{font-size:.95rem}}@media (max-width:768px){.zone-header{align-items:flex-start;flex-direction:row;gap:.5rem;justify-content:space-between;margin:0 -.5rem 1rem;padding:1rem .5rem;text-align:center;width:calc(100% + 1rem)}.zone-header-main{flex:1 1;margin-bottom:0;order:2}.zone-controls{flex-direction:row;gap:.5rem;justify-content:flex-end;margin-left:0;margin-top:0;max-width:none;min-width:auto;order:3;position:relative;right:auto;top:auto;width:auto}.zone-header .zone-control-btn:first-child{align-self:flex-start;left:auto;order:1;position:relative;top:auto}.zone-control-btn{font-size:.9rem;min-width:44px;padding:.75rem 1rem}.zone-control-btn span{display:none}.zone-header .zone-controls .zone-control-btn span{display:inline}.zone-header .zone-controls .zone-control-btn{flex-shrink:0;min-width:max-content;white-space:nowrap}.zone-control-btn i{font-size:1.2rem}.zone-title-row{flex-wrap:wrap;gap:.5rem}.zone-title{font-size:1.5rem;margin-bottom:.25rem}.zone-updated{font-size:.9rem}.zone-vitals-summary{align-items:stretch;flex-direction:column;gap:.75rem;justify-content:flex-start;margin:1rem .5rem;padding:.75rem}.vital-item{word-wrap:break-word;box-sizing:border-box;flex:none;justify-content:space-between;max-width:none;min-height:60px;min-width:0;min-width:auto;overflow-wrap:break-word;padding:1rem;white-space:normal;width:100%}.vital-icon{flex-shrink:0;font-size:1.4rem}.vital-label{flex-shrink:0;font-size:.85rem}.vital-value{flex-shrink:0;font-size:1rem}.chart-time-range-selector{gap:.25rem;justify-content:flex-start;margin:.75rem .5rem;overflow-x:auto;padding-bottom:.5rem}.time-range-button{font-size:.85rem;min-width:44px;padding:.6rem .8rem;white-space:nowrap}.zone-actions-wrapper{margin:1rem .5rem;padding:.75rem}.actions-header{align-items:center;flex-direction:column;gap:.75rem}.section-title{font-size:1.1rem}.add-action-button{font-size:.9rem;min-height:44px;min-width:44px;padding:.75rem 1rem}.sensor-actions{gap:.75rem;padding:.75rem}.no-actions{padding:1.5rem 1rem}.no-actions p{font-size:.9rem;margin-bottom:1rem}}@media (max-width:480px){.zone-header{padding:.75rem .5rem}.zone-title{font-size:1.3rem}.zone-updated{font-size:.8rem}.zone-vitals-summary{align-items:stretch;gap:.5rem;margin:.75rem .25rem;padding:.5rem}.vital-item{box-sizing:border-box;gap:.375rem;max-width:100%;min-height:50px;padding:.75rem;width:100%}.vital-icon{flex-shrink:0;font-size:1.2rem;margin-right:.125rem}.vital-label{flex-shrink:0;font-size:.8rem}.vital-value{flex-shrink:0;font-size:.9rem}.vital-alert{flex-shrink:0;font-size:1.1rem;margin-left:.125rem}.chart-time-range-selector{gap:.2rem;margin:.5rem .25rem}.time-range-button{font-size:.8rem;padding:.5rem .6rem}.zone-actions-wrapper{margin:.75rem .25rem;padding:.5rem}.section-title{font-size:1rem}.sensor-actions{gap:.4rem;padding:.4rem}.no-actions{padding:1rem .75rem}.no-actions p{font-size:.85rem}}@media (max-width:360px){.zone-vitals-summary{align-items:stretch;gap:.375rem;margin:.5rem .125rem;padding:.375rem}.vital-item{box-sizing:border-box;gap:.25rem;max-width:100%;min-height:45px;padding:.625rem;width:100%}.vital-icon{flex-shrink:0;font-size:1.1rem;margin-right:.125rem}.vital-label{flex-shrink:0;font-size:.75rem}.vital-value{flex-shrink:0;font-size:.85rem}.vital-alert{flex-shrink:0;font-size:1rem;margin-left:.125rem}}@media print{.chart-time-range-selector,.settings-icon-container,.zone-controls{display:none!important}body{background:#fff!important;color:#000!important}.zone-vitals-summary{background:#fff!important;border:1px solid #ddd!important;box-shadow:none!important}.vital-label,.vital-value,.vitals-title,.zone-title{color:#000!important}}.threshold-update-modal{background:var(--card-background);border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:600px;overflow:hidden;width:100%}.modal-header{align-items:center;background:linear-gradient(135deg,#48c7741a,#4caf501a);border-bottom:1px solid #ffffff1a;display:flex;gap:1rem;padding:1.5rem}.modal-icon{font-size:2rem}.modal-icon.success{color:#4caf50}.modal-icon.error{color:#f44336}.modal-title{color:var(--text-color);font-size:1.4rem;font-weight:600;margin:0}.modal-content{max-height:70vh;overflow-y:auto;padding:1.5rem}.update-summary{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1rem}.summary-item{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.summary-item .label{color:var(--text-color);font-size:.9rem;font-weight:600;min-width:140px}.summary-item .value{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.summary-item .value.sensor{background:#ffffff1a;border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;padding:.25rem .5rem}.threshold-badge{border-radius:20px;font-size:.8rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.threshold-badge.humidity{background:#4caf5033;border:1px solid #4caf5066;color:#4caf50}.threshold-badge.temperature{background:#ff4c4c33;border:1px solid #ff4c4c66;color:#ff4c4c}.threshold-badge.water{background:#87cefa33;border:1px solid #87cefa66;color:#87cefa}.type-badge{background:#ffffff1a;border:1px solid #fff3;border-radius:20px;color:var(--text-color);font-size:.8rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.type-badge.missing{background:#ff980033;border:1px solid #ff980066;color:#ff9800}.device-summary{margin-bottom:1.5rem}.summary-stats{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;display:flex;gap:1rem;justify-content:space-around;padding:1rem}.stat-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.25rem}.stat-number{color:var(--text-color);font-size:1.8rem;font-weight:700}.stat-item.success .stat-number{color:#4caf50}.stat-item.error .stat-number{color:#f44336}.stat-label{color:#ffffffb3;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.device-details{display:flex;flex-direction:column;gap:1.5rem}.device-section{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;padding:1rem}.section-title{align-items:center;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.section-title.success{color:#4caf50}.section-title.error{color:#f44336}.section-title.skipped,.section-title.warning{color:#ff9800}.device-list{display:flex;flex-direction:column;gap:.75rem}.device-item{align-items:center;background:#ffffff05;border:1px solid #ffffff0d;border-radius:6px;display:flex;gap:.75rem;padding:.75rem}.success-list .device-item{border-left:3px solid #4caf50}.error-list .device-item{border-left:3px solid #f44336}.skipped-list .device-item{border-left:3px solid #ff9800}.device-item i{font-size:1.1rem}.success-list .device-item i{color:#4caf50}.error-list .device-item i{color:#f44336}.skipped-list .device-item i{color:#ff9800}.device-name{color:var(--text-color);flex:1 1;font-weight:500}.device-type{color:#ffffffb3;font-size:.85rem;font-style:italic}.device-reason{color:#fff9;font-size:.8rem}.missing-types-content{background:#ff98000d;border:1px solid #ff98001a;border-radius:6px;padding:1rem}.missing-message,.missing-suggestion{color:var(--text-color);font-size:.9rem;margin:0 0 1rem}.missing-types-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.modal-footer{background:#ffffff05;border-top:1px solid #ffffff1a;display:flex;justify-content:flex-end;padding:1rem 1.5rem}.close-button{background:linear-gradient(135deg,#48c774cc,#4caf50cc);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 2rem;transition:all .2s ease}.close-button:hover{background:linear-gradient(135deg,#48c774,#4caf50);box-shadow:0 4px 12px #48c7744d;transform:translateY(-1px)}@media (max-width:768px){.threshold-update-modal{margin:1rem;max-width:95vw}.modal-header{padding:1rem}.modal-title{font-size:1.2rem}.modal-content{padding:1rem}.summary-stats{flex-wrap:wrap;gap:.5rem}.stat-item{min-width:80px}.summary-item{align-items:flex-start;flex-direction:column;gap:.5rem}.summary-item .label{min-width:auto}.device-item{flex-wrap:wrap;gap:.5rem}}@media (max-width:480px){.modal-header{flex-direction:column;gap:.5rem;text-align:center}.summary-stats{gap:.75rem;grid-template-columns:repeat(2,1fr)}.stat-number{font-size:1.5rem}.close-button{width:100%}}.chart-settings-container{background:var(--card-background);border-radius:8px;max-height:95vh;max-width:420px;overflow:visible;padding:.75rem;width:100%}.chart-settings-title{color:var(--text-color);font-size:1.2rem;font-weight:600;margin-bottom:.5rem;text-align:center}.chart-settings-form{display:flex;flex-direction:column;gap:.75rem}.description-section{display:flex;flex-direction:column;gap:.5rem}.description-label{align-items:center;color:var(--text-color);display:flex;font-size:.9rem;font-weight:600;gap:.4rem}.description-textarea{background:#ffffffe6;border:2px solid #ffffff1a;border-radius:6px;color:#000!important;font-family:inherit;font-size:.9rem;max-height:65px;min-height:45px;padding:.6rem;resize:vertical;transition:all .2s ease;width:100%}.description-textarea::placeholder{color:#000!important;opacity:.7!important}.description-textarea:hover{background:#fffffff2;border-color:#48c77480}.description-textarea:focus{background:#fff;border-color:#48c774b3;box-shadow:0 0 0 3px #48c7741a;outline:none}.metrics-section{display:flex;flex-direction:column;gap:.75rem}.metric-row{gap:1.5rem;justify-content:space-between}.metric-label,.metric-row{align-items:center;display:flex}.metric-label{color:var(--text-color);font-size:.85rem;font-weight:600;gap:.4rem;min-width:100px}.metric-inputs{gap:1.5rem}.input-pair,.metric-inputs{align-items:center;display:flex}.input-pair{gap:.5rem}.input-label{color:var(--text-color);font-size:.9rem;font-weight:500;min-width:40px}.threshold-input{background:#ffffffe6;border:2px solid #ffffff1a;border-radius:6px;color:#000!important;font-size:.9rem;padding:.5rem;transition:all .2s ease;width:85px}.threshold-input::placeholder{color:#000!important;opacity:.7!important}.threshold-input::-webkit-input-placeholder{color:#000!important;opacity:.7!important}.threshold-input::-moz-placeholder{color:#000!important;opacity:.7!important}.threshold-input:-ms-input-placeholder{color:#000!important;opacity:.7!important}.threshold-input:hover{background:#fffffff2;border-color:#48c77480}.threshold-input:focus{background:#fff;border-color:var(--secondary-theme-color);box-shadow:0 0 0 3px #48c7741a;outline:none}.image-section{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;margin-top:.75rem;padding:.75rem}.image-label{color:var(--text-color);font-size:.9rem;font-weight:600;margin-bottom:.5rem}.image-buttons,.image-label{align-items:center;display:flex;gap:.5rem}.image-buttons{flex-wrap:wrap}.upload-button{align-items:center;border:2px solid #ffffff1a;border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;justify-content:center;min-width:110px;overflow:hidden;padding:.6rem .8rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.upload-button:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.upload-button:hover:before{left:100%}.upload-button.default{background:linear-gradient(135deg,#48c77433,#4caf5033);border-color:#48c7744d}.upload-button.uploading{background:linear-gradient(135deg,#ffc10733,#ff980033);border-color:#ffc1074d;cursor:not-allowed}.upload-button.uploaded{background:linear-gradient(135deg,#4caf504d,#8bc34a4d);border-color:#4caf5080}.upload-button:hover:not(.uploading){border-color:#4caf50b3;box-shadow:0 4px 12px #4caf504d;transform:translateY(-1px)}.remove-button{align-items:center;background:linear-gradient(135deg,#f4433633,#d32f2f33);border:2px solid #f443364d;border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;height:38px;justify-content:center;min-width:38px;overflow:hidden;padding:.6rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.remove-button:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.remove-button:hover:before{left:100%}.remove-button:hover{background:linear-gradient(135deg,#f443364d,#d32f2f4d);border-color:#f4433699;box-shadow:0 4px 12px #f443364d;transform:translateY(-1px)}.file-info{background:#4caf501a;border:1px solid #4caf5033;border-radius:6px;color:var(--text-color)}.file-info,.upload-error{align-items:center;display:flex;font-size:.85rem;gap:.5rem;margin-top:.5rem;padding:.5rem}.upload-error{background:#f443361a;border:1px solid #f4433633;border-radius:6px;color:#f44336}.save-section{border-top:1px solid #ffffff1a;display:flex;justify-content:center;margin-top:1rem;padding-top:.75rem}.save-button{font-size:.95rem;font-weight:600;min-width:140px;padding:.65rem 2rem}@media (max-width:768px){.chart-settings-container{max-width:380px;padding:.6rem}.metric-inputs{gap:1.2rem}.threshold-input{padding:.45rem;width:75px}.input-label{font-size:.85rem;min-width:35px}.metric-label{font-size:.8rem;min-width:90px}.upload-button{font-size:.8rem;min-width:100px;padding:.5rem .7rem}.remove-button{height:36px;min-width:36px}}@media (max-width:480px){.chart-settings-container{max-width:100%;padding:.5rem}.chart-settings-title{font-size:1.1rem;margin-bottom:.4rem}.chart-settings-form,.metrics-section{gap:.5rem}.metric-row{flex-wrap:wrap;gap:.75rem}.metric-inputs{gap:.6rem}.input-pair{gap:.25rem}.threshold-input{font-size:.8rem;padding:.4rem;width:65px}.input-label{font-size:.8rem;min-width:30px}.metric-label{font-size:.75rem;min-width:80px}.upload-button{font-size:.75rem;min-width:90px;padding:.45rem .6rem}.remove-button{height:34px;min-width:34px}.save-button{font-size:.9rem;min-width:110px;padding:.55rem 1.5rem}}.navbar{background:#0000;left:0;padding:1rem 0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;padding:1rem 0}.navbar-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.navbar-container,.navbar-logo{align-items:center;display:flex}.navbar-logo{color:#fff;font-size:1.5rem;font-weight:700;text-decoration:none}.logo-img{height:40px;margin-right:.5rem;width:auto}.logo-text{color:#fff}.version-text{color:#ccc;font-size:.8rem;font-style:italic;font-weight:400;margin-left:.5rem;opacity:.8}.navbar-menu{align-items:center;display:flex;gap:2rem}.nav-link{border-radius:6px;color:#fff;font-size:1.35rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:color .3s ease}.nav-link:hover{background:#ffffff1a;color:#29bf00}.login-btn{background:#32761f;border-radius:6px;color:#fff;padding:.5rem 1.5rem;transition:background-color .3s ease}.login-btn:hover{background:#29bf00;color:#fff}.navbar-toggle{cursor:pointer;display:none;flex-direction:column}.hamburger{background:#fff;height:3px;margin:3px 0;transition:.3s;width:25px}.hamburger.active:first-child{transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active:nth-child(2){opacity:0}.hamburger.active:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}@media (max-width:768px){.navbar-menu{align-items:center;background:#000000f2;flex-direction:column;height:calc(100vh - 70px);justify-content:flex-start;left:-100%;padding-top:2rem;position:fixed;top:70px;transition:left .3s ease;width:100%}.navbar-menu.active{left:0}.navbar-toggle{display:flex}.nav-link{font-size:1.2rem;margin:1rem 0}.version-text{font-size:.7rem;margin-left:.3rem}}@media (max-width:480px){.navbar-logo{font-size:1.2rem}.logo-img{height:32px}.version-text{font-size:.65rem;margin-left:.25rem}}.nav-link.active{border-bottom:2px solid #29bf00;color:#29bf00}.hero-container{align-items:center;display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative;width:100%}.hero-background{overflow:hidden}.hero-background,.hero-bg-video{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.hero-bg-video{object-fit:cover}.hero-bg-img{object-fit:cover;z-index:0}.hero-bg-img,.hero-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.hero-overlay{background:linear-gradient(135deg,#000000e6,#000000b3),#00000080;z-index:2}.hero-content{color:#fff;margin:0 auto;max-width:1200px;padding:0 2rem;position:relative;text-align:center;z-index:3}.hero-title{font-size:3rem;font-weight:700;line-height:1.2;margin-bottom:1rem;text-shadow:2px 2px 4px #000c}.hero-subtitle{color:#29bf00}.hero-description{font-size:1.3rem;line-height:1.6;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9;text-shadow:1px 1px 3px #000c}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-btn{border:2px solid #0000;border-radius:8px;font-size:1.1rem;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.hero-btn.primary{background:#32761f;border-color:#32761f;color:#fff}.hero-btn.primary:hover{background:#29bf00;border-color:#29bf00;transform:translateY(-2px)}.hero-btn.secondary{background:#0000;border-color:#fff;color:#fff}.hero-btn.secondary:hover{background:#fff;color:#333;transform:translateY(-2px)}@media (max-width:768px){.hero-title{font-size:2rem}.hero-description{font-size:1.1rem}.hero-buttons{align-items:center;flex-direction:column}.hero-btn{text-align:center;width:200px}}@media (max-width:480px){.hero-title{font-size:1.5rem}.hero-description{font-size:1rem}}.info-section{background:var(--background-color);color:#fff;padding:5rem 0}.info-container{margin:0 auto;max-width:1200px;padding:0 2rem}.info-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.info-card{background:#0003;border:1px solid #ffffff1a;border-radius:8px;padding:2rem;text-align:center;transition:all .3s ease}.info-card:hover{border-color:#fff3;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.info-icon{align-items:center;background:linear-gradient(135deg,#32761f,#29bf00);border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.info-icon i{color:#fff;font-size:2rem}.info-card h3{color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.info-card p{color:#ccc;font-size:1rem;line-height:1.6}@media (max-width:768px){.info-section{padding:3rem 0}.info-grid{gap:1.5rem;grid-template-columns:1fr}.info-card{padding:1.5rem}}.work-section{background:var(--background-color);color:#fff;padding:5rem 0}.work-container{margin:0 auto;max-width:1200px;padding:0 2rem}.work-header{margin-bottom:3rem;text-align:center}.work-header h2{color:#fff;font-size:2.5rem;font-weight:600;margin-bottom:1rem}.work-header p{color:#ccc;font-size:1.2rem;line-height:1.6;margin:0 auto;max-width:600px}.work-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.work-card{border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.work-image{height:250px;overflow:hidden;position:relative}.work-image img{height:100%;object-fit:cover;width:100%}.work-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;opacity:1;position:absolute;right:0;top:0;transition:opacity .3s ease}.work-content{color:#fff;padding:1rem;text-align:center}.work-content h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.work-content p{font-size:1rem;line-height:1.5;opacity:.9}@media (max-width:768px){.work-section{padding:3rem 0}.work-header h2{font-size:2rem}.work-header p{font-size:1rem}.work-grid{gap:1.5rem;grid-template-columns:1fr}.work-image{height:200px}}.footer{background-color:#131313cc;padding:2rem 0;width:100%}.footer-container{grid-gap:20px;display:grid;grid-template-columns:repeat(2,1fr);margin:auto;max-width:1140px}.left{display:flex;flex-direction:column;height:100%;max-width:100%;padding:1rem}.location{align-items:flex-start;display:flex;margin-bottom:.5rem}.location p{line-height:30px}.email,.phone{align-items:center;display:flex;margin-bottom:.5rem}.contact-icon{color:#fff;flex-shrink:0;margin-right:1rem}.right{display:flex;flex-direction:column;height:100%;max-width:100%;padding:1rem}.social{margin-top:1rem}h4{padding-bottom:.5rem}h4,p{font-size:1rem}.footer-copyright{margin-top:1.16rem}@media screen and (max-width:640px){.footer-container{grid-template-columns:1fr}.contact-icon{margin-right:1rem}.left,.right{padding:.5rem}}.demo-container{min-height:100vh}.demo-hero{align-items:center;display:flex;height:60vh;justify-content:center;overflow:hidden;position:relative}.demo-hero-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.demo-hero-background img{height:100%;object-fit:cover;width:100%;z-index:1}.demo-hero-overlay{background:linear-gradient(135deg,#000c,#0009),#0000004d;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.demo-hero-content{color:#fff;max-width:800px;padding:0 2rem;position:relative;text-align:center;z-index:3}.demo-hero-content h1{font-size:3.5rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px #000c}.demo-hero-content p{font-size:1.3rem;line-height:1.6;opacity:.9;text-shadow:1px 1px 3px #000c}.demo-content{background:var(--background-color);color:#fff;padding:4rem 0}.demo-section{margin:0 auto 4rem;max-width:1200px;padding:0 2rem}.demo-section h2{color:#fff;font-size:2.5rem;font-weight:600;margin-bottom:1rem;text-align:center}.demo-section>p{color:#ccc;font-size:1.2rem;line-height:1.6;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.demo-videos{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}@media (max-width:768px){.demo-videos{gap:1.5rem;grid-template-columns:1fr}.demo-video-card{padding:1.5rem}.demo-setup-image-container,.youtube-embed-container{max-width:350px}}@media (max-width:480px){.demo-video-card{padding:1rem}.demo-setup-image-container,.youtube-embed-container{max-width:300px}.demo-video-card h3{font-size:1.3rem}}@media (max-width:360px){.demo-setup-image-container,.youtube-embed-container{max-width:250px}}.demo-video-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:2rem;text-align:center}.demo-video-card h3{color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.demo-video-card video{border-radius:8px;margin-bottom:1rem;width:100%}.demo-setup-image-container{height:0;margin-bottom:1rem;margin-left:auto;margin-right:auto;max-width:400px;padding-bottom:177.78%;position:relative;width:100%}.demo-setup-image{border-radius:8px;height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.youtube-embed-container{height:0;margin-bottom:1rem;margin-left:auto;margin-right:auto;max-width:400px;padding-bottom:177.78%;position:relative;width:100%}.youtube-iframe{border-radius:8px;height:100%;left:0;position:absolute;top:0;width:100%}.demo-video-card p{color:#ccc;line-height:1.6}.demo-features{margin:0 auto;max-width:1200px;padding:0 2rem}.demo-features h2{color:#fff;font-size:2.5rem;font-weight:600;margin-bottom:3rem;text-align:center}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-item{background:#0003;border:1px solid #ffffff1a;border-radius:8px;padding:2rem;text-align:center;transition:all .3s ease}.feature-item:hover{border-color:#fff3;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.feature-icon{align-items:center;background:linear-gradient(135deg,#32761f,#29bf00);border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.feature-icon i{color:#fff;font-size:2rem}.feature-item h3{color:#fff;font-size:1.3rem;font-weight:600;margin-bottom:1rem}.feature-item p{color:#ccc;line-height:1.6}@media (max-width:768px){.demo-hero-content h1{font-size:2.5rem}.demo-hero-content p{font-size:1.1rem}.demo-features h2,.demo-section h2{font-size:2rem}.demo-videos,.features-grid{grid-template-columns:1fr}.demo-content{padding:2rem 0}}.news-container{background:var(--background-color);color:#fff;min-height:100vh}.news-hero{align-items:center;display:flex;height:50vh;justify-content:center;overflow:hidden;position:relative}.news-hero-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.news-hero-background img{height:100%;object-fit:cover;width:100%;z-index:1}.news-hero-overlay{background:linear-gradient(135deg,#000c,#0009),#0000004d;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.news-hero-content{color:#fff;margin:0 auto;max-width:800px;padding:0 2rem;position:relative;text-align:center;z-index:3}.news-hero-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px #000c}.news-hero-content p{font-size:1.2rem;line-height:1.6;opacity:.9;text-shadow:1px 1px 3px #000c}.news-content{margin:0 auto;max-width:1200px;padding:4rem 2rem}@media (max-width:768px){.news-hero-content h1{font-size:2.5rem}.news-hero-content p{font-size:1rem}.shop-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.plant-image{height:220px}.plant-actions{flex-direction:row;gap:.5rem;justify-content:center}.buy-btn,.notify-btn,.wishlist-btn{flex:1 1;font-size:.75rem;max-width:110px;padding:.5rem .6rem}.contact-buttons{align-items:center;flex-direction:column}.contact-btn{max-width:280px;width:100%}}@media (max-width:480px){.news-hero{height:40vh}.news-hero-content h1{font-size:2rem}.plant-actions{flex-direction:row;gap:.4rem;justify-content:center}.buy-btn,.notify-btn,.wishlist-btn{flex:1 1;font-size:.7rem;letter-spacing:.3px;max-width:90px;padding:.4rem .5rem}.plant-info{padding:.8rem}.plant-image{height:220px}.shop-cta{padding:2rem 1rem}}.image-carousel{-webkit-user-select:none;user-select:none}.carousel-image-container,.image-carousel{height:100%;overflow:hidden;position:relative;width:100%}.carousel-image-container{background:#000}.carousel-image{display:block;height:100%;object-fit:cover;transition:opacity .3s ease;width:100%}.carousel-loading{align-items:center;background:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:1}.carousel-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #333;border-radius:50%;border-top-color:#29bf00;height:40px;width:40px}.carousel-arrow{align-items:center;animation:fadeIn .3s ease forwards;background:#0009;border:2px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;line-height:1;opacity:0;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:40px;z-index:10}@keyframes fadeIn{0%{opacity:0;transform:translateY(-50%) scale(.8)}to{opacity:1;transform:translateY(-50%) scale(1)}}.carousel-arrow:hover{background:#29bf00e6;border-color:#29bf00;transform:translateY(-50%) scale(1.1)}.carousel-arrow-left{left:10px}.carousel-arrow-right{right:10px}.carousel-counter{animation:fadeIn .3s ease forwards;background:#000000b3;border:1px solid #fff3;border-radius:15px;color:#fff;font-size:12px;font-weight:600;opacity:0;padding:5px 12px;position:absolute;right:10px;top:10px;z-index:10}.carousel-dots{background:#00000080;border-radius:20px;bottom:10px;display:flex;gap:8px;left:50%;padding:5px 10px;position:absolute;transform:translateX(-50%);z-index:10}.carousel-dot{background:#ffffff80;border:1px solid #ffffff4d;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:all .3s ease;width:8px}.carousel-dot:hover{background:#fffc;transform:scale(1.2)}.carousel-dot.active{background:#29bf00;border-color:#29bf00;border-radius:4px;width:24px}@media (max-width:768px){.carousel-arrow{font-size:20px;height:35px;width:35px}.carousel-arrow-left{left:5px}.carousel-arrow-right{right:5px}.carousel-counter{font-size:11px;padding:4px 10px}.carousel-dots{gap:6px;padding:4px 8px}.carousel-dot{height:6px;width:6px}.carousel-dot.active{width:20px}}@media (max-width:480px){.carousel-arrow{font-size:18px;height:30px;width:30px}.carousel-counter{font-size:10px;padding:3px 8px}}.shop-container{background:var(--background-color);color:#fff;min-height:100vh}.shop-hero{align-items:center;display:flex;height:50vh;justify-content:center;overflow:hidden;position:relative}.shop-hero-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.shop-hero-background img{height:100%;object-fit:cover;width:100%;z-index:1}.shop-hero-overlay{background:linear-gradient(135deg,#000c,#0009),#0000004d;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.shop-hero-content{color:#fff;margin:0 auto;max-width:800px;padding:0 2rem;position:relative;text-align:center;z-index:3}.shop-hero-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px #000c}.shop-hero-content p{font-size:1.2rem;line-height:1.6;opacity:.9;text-shadow:1px 1px 3px #000c}.shop-content{margin:0 auto;max-width:1200px;padding:4rem 2rem}.shop-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:4rem}.shop-item{background:#000;border:2px solid #333;border-radius:0;overflow:hidden;position:relative;transition:all .3s ease}.shop-item:hover{border-color:#fff;transform:translateY(-2px)}.shop-item.soldout{border-color:#666;opacity:.7}.plant-image{height:240px;overflow:hidden;position:relative}.plant-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.shop-item:hover .plant-image img{transform:scale(1.02)}.availability-badge{border-radius:4px;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1rem;position:absolute;right:1rem;text-transform:uppercase;top:1rem}.availability-badge.available{background:#4caf50e6;color:#fff}.availability-badge.soldout{background:#f44336e6;color:#fff}.plant-info{background:#000;padding:1rem;text-align:center}.plant-name{color:#fff;font-size:1.1rem;font-weight:600;line-height:1.3;margin-bottom:.5rem}.plant-price{color:#29bf00;font-size:1.3rem;font-weight:700;margin-bottom:.4rem}.plant-availability{color:#ccc;font-size:.85rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.plant-description{color:#aaa;font-size:.85rem;line-height:1.3;margin-bottom:1rem;text-align:center}.plant-actions{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:center}.buy-btn,.notify-btn,.wishlist-btn{border:2px solid;border-radius:4px;cursor:pointer;flex:1 1;font-size:.8rem;font-weight:500;letter-spacing:.5px;max-width:120px;padding:.5rem .8rem;text-transform:uppercase;transition:all .3s ease}.buy-btn.primary{background:#29bf00;border-color:#29bf00;color:#000}.buy-btn.primary:hover{background:#0000;color:#29bf00}.buy-btn.disabled{background:#333;border-color:#333;color:#666;cursor:not-allowed}.notify-btn.secondary,.wishlist-btn.secondary{background:#0000;border-color:#29bf00;color:#29bf00}.notify-btn.secondary:hover,.wishlist-btn.secondary:hover{background:#29bf00;color:#000}.shop-empty,.shop-error,.shop-loading{margin-bottom:2rem;padding:3rem 2rem;text-align:center}.shop-loading{background:#ffffff0d;border:1px solid #333;border-radius:8px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #333;border-radius:50%;border-top-color:#29bf00;height:40px;margin:0 auto 1rem;width:40px}.shop-error{background:#f443361a;border:1px solid #f443364d;border-radius:8px;color:#ff6b6b}.shop-empty{background:#ffffff0d;border:1px solid #333;border-radius:8px;color:#ccc}.refresh-btn,.retry-btn{background:#29bf00;border:2px solid #29bf00;border-radius:4px;color:#000;cursor:pointer;font-weight:600;letter-spacing:.5px;margin-top:1rem;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.refresh-btn:hover,.retry-btn:hover{background:#0000;color:#29bf00}.shop-cta{background:#000;border:2px solid #333;border-radius:0;padding:3rem;text-align:center}.shop-cta h2{color:#fff;font-size:2rem;font-weight:600;margin-bottom:1rem}.shop-cta p{color:#ccc;font-size:1.1rem;margin-bottom:2rem}.contact-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.contact-btn.primary,.contact-btn.secondary{border:2px solid #29bf00}@media (max-width:768px){.shop-hero-content h1{font-size:2.5rem}.shop-hero-content p{font-size:1rem}.shop-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.plant-image{height:220px}.plant-actions{flex-direction:row;gap:.5rem;justify-content:center}.buy-btn,.notify-btn,.wishlist-btn{flex:1 1;font-size:.75rem;max-width:110px;padding:.5rem .6rem}.contact-buttons{align-items:center;flex-direction:column}.contact-btn{max-width:280px;width:100%}}@media (max-width:480px){.shop-hero{height:40vh}.shop-hero-content h1{font-size:2rem}.plant-actions{flex-direction:row;gap:.4rem;justify-content:center}.buy-btn,.notify-btn,.wishlist-btn{flex:1 1;font-size:.7rem;letter-spacing:.3px;max-width:90px;padding:.4rem .5rem}.plant-info{padding:.8rem}.plant-image{height:220px}.shop-cta{padding:2rem 1rem}}.gallery-container{background-color:#000;color:#fff;min-height:100vh}.gallery-hero{align-items:center;display:flex;height:50vh;justify-content:center;overflow:hidden;position:relative}.gallery-hero-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.gallery-hero-background img{height:100%;object-fit:cover;width:100%;z-index:1}.gallery-hero-overlay{background:linear-gradient(135deg,#000c,#0009),#0000004d;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.gallery-hero-content{color:#fff;margin:0 auto;max-width:800px;padding:0 2rem;position:relative;text-align:center;z-index:3}.gallery-title{color:#fff;font-size:3rem;font-weight:700;letter-spacing:2px;margin-bottom:1rem;text-shadow:2px 2px 4px #000c;text-transform:uppercase}.gallery-subtitle{color:#fff;font-size:1.2rem;line-height:1.6;opacity:.9;text-shadow:1px 1px 3px #000c}.gallery-empty,.gallery-error,.gallery-loading{margin-bottom:2rem;padding:3rem 2rem;text-align:center}.gallery-loading{background:#ffffff0d;border:1px solid #333;border-radius:8px}.gallery-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #333;border-radius:50%;border-top-color:#29bf00;height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.gallery-error{background:#f443361a;border:1px solid #f443364d;border-radius:8px;color:#ff6b6b}.gallery-empty{background:#ffffff0d;border:1px solid #333;border-radius:8px;color:#ccc}.gallery-empty .refresh-btn,.gallery-error .retry-btn,.gallery-loading .retry-btn{background:#29bf00;border:2px solid #29bf00;border-radius:4px;color:#000;cursor:pointer;font-weight:600;letter-spacing:.5px;margin-top:1rem;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.gallery-empty .refresh-btn:hover,.gallery-error .retry-btn:hover,.gallery-loading .retry-btn:hover{background:#0000;color:#29bf00}.gallery-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px;padding:0 2rem 2rem}.gallery-item{background-color:#000;border:3px solid #000;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease}.gallery-item:hover{transform:scale(1.02)}.gallery-image-container{aspect-ratio:1;border:2px solid #000;overflow:hidden;position:relative;width:100%}.gallery-image{display:block;height:100%;object-fit:cover;width:100%}.gallery-label{background-color:#000;border-top:2px solid #000;padding:1rem;text-align:center}.gallery-title-text{display:block;font-size:1rem;font-weight:700;letter-spacing:1px;margin-bottom:.5rem;text-transform:uppercase}.gallery-location-text{color:#ccc;display:block;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}@media (max-width:1024px){.gallery-title{font-size:2.5rem}.gallery-subtitle{font-size:1.1rem}}@media (max-width:768px){.gallery-hero{height:40vh}.gallery-hero-content{padding:0 1.5rem}.gallery-title{font-size:2rem;letter-spacing:1px}.gallery-subtitle{font-size:1rem}.gallery-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:0 1rem 1rem}.gallery-image-container{aspect-ratio:1}.gallery-title-text{font-size:.9rem}.gallery-location-text{font-size:.8rem}}@media (max-width:480px){.gallery-hero{height:35vh}.gallery-hero-content{padding:0 1rem}.gallery-title{font-size:1.75rem;letter-spacing:1px}.gallery-subtitle{font-size:.95rem}.gallery-grid{grid-template-columns:1fr;padding:0 1rem 1rem}.gallery-image-container{aspect-ratio:1}}.contact-container{min-height:100vh}.contact-hero{align-items:center;display:flex;height:50vh;justify-content:center;overflow:hidden;position:relative}.contact-hero-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.contact-hero-background img{height:100%;object-fit:cover;width:100%;z-index:1}.contact-hero-overlay{background:linear-gradient(135deg,#000c,#0009),#0000004d;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.contact-hero-content{color:#fff;max-width:800px;padding:0 2rem;position:relative;text-align:center;z-index:3}.contact-hero-content h1{font-size:3.5rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px #000c}.contact-hero-content p{font-size:1.3rem;line-height:1.6;opacity:.9;text-shadow:1px 1px 3px #000c}.contact-content{background:#000;color:#fff;padding:4rem 0}.contact-grid{display:flex;justify-content:center;margin:0 auto;max-width:800px;padding:0 2rem}.contact-form-section{max-width:600px;width:100%}.contact-form-section h2{color:#fff;font-size:2rem;font-weight:600;margin-bottom:2rem;text-align:center}.contact-form{gap:1.5rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group label{color:#fff;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{background:#1a1a1a;border:2px solid #333;border-radius:6px;color:#fff;font-family:inherit;font-size:1rem;outline:none;padding:.75rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{border-color:#32761f}.form-group textarea{min-height:120px;resize:vertical}.submit-btn{background:#32761f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem 2rem;transition:background-color .3s ease}.submit-btn:hover{background:#29bf00}@media (max-width:768px){.contact-hero-content h1{font-size:2.5rem}.contact-hero-content p{font-size:1.1rem}.contact-grid{padding:0 1rem}.contact-content{padding:2rem 0}.contact-form-section h2{font-size:1.8rem}}@media (max-width:480px){.contact-hero-content h1{font-size:2rem}.contact-hero-content p{font-size:1rem}.contact-grid{padding:0 .5rem}.contact-form-section{max-width:100%}.contact-form-section h2{font-size:1.5rem}}.checkout-container{background:var(--background-color);color:#fff;min-height:100vh}.checkout-hero{align-items:center;display:flex;height:40vh;justify-content:center;overflow:hidden;position:relative}.checkout-hero-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.checkout-hero-background img{height:100%;object-fit:cover;width:100%;z-index:1}.checkout-hero-overlay{background:linear-gradient(135deg,#000c,#0009),#0000004d;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.checkout-hero-content{color:#fff;margin:0 auto;max-width:800px;padding:0 2rem;position:relative;text-align:center;z-index:3}.checkout-hero-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px #000c}.checkout-hero-content p{font-size:1.2rem;line-height:1.6;opacity:.9;text-shadow:1px 1px 3px #000c}.checkout-content{margin:0 auto;max-width:800px;padding:4rem 2rem}.checkout-placeholder{background:#000;border:2px solid #333;border-radius:0;padding:3rem;text-align:center}.placeholder-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.8}.checkout-placeholder h2{color:#fff;font-size:2.5rem;font-weight:600;margin-bottom:1rem}.checkout-placeholder>p{color:#ccc;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.placeholder-features{background:#111;border:1px solid #333;border-radius:4px;margin:2rem 0;padding:2rem}.placeholder-features h3{color:#29bf00;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.placeholder-features ul{list-style:none;margin:0 auto;max-width:300px;padding:0;text-align:left}.placeholder-features li{color:#ccc;font-size:1rem;padding:.5rem 0}.temporary-contact{background:#111;border:1px solid #333;border-radius:4px;margin-top:2rem;padding:2rem}.temporary-contact h3{color:#29bf00;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.temporary-contact p{color:#ccc;font-size:1rem;margin-bottom:1.5rem}.contact-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.contact-btn{border:2px solid;border-radius:4px;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.75rem 2rem;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.contact-btn.primary{background:#29bf00;border-color:#29bf00;color:#000}.contact-btn.primary:hover,.contact-btn.secondary{background:#0000;color:#29bf00}.contact-btn.secondary{border-color:#29bf00}.contact-btn.secondary:hover{background:#29bf00;color:#000}@media (max-width:768px){.checkout-hero-content h1{font-size:2.5rem}.checkout-hero-content p{font-size:1rem}.checkout-content,.checkout-placeholder{padding:2rem 1rem}.checkout-placeholder h2{font-size:2rem}.placeholder-icon{font-size:3rem}.contact-actions{align-items:center;flex-direction:column}.contact-btn{max-width:280px;width:100%}}@media (max-width:480px){.checkout-hero{height:30vh}.checkout-hero-content h1{font-size:2rem}.placeholder-features,.temporary-contact{padding:1.5rem}}.plant-description-container,.plant-description-page{background-color:#000;color:#fff;min-height:100vh}.plant-description-container{padding:2rem}.plant-description-header{margin-bottom:3rem;position:relative;text-align:center}.back-button{background:none;border:2px solid #fff;border-radius:8px;color:#fff;cursor:pointer;font-family:Courier New,monospace;font-size:.9rem;left:0;letter-spacing:1px;padding:.75rem 1.5rem;position:absolute;text-transform:uppercase;top:50%;transform:translateY(-50%);transition:all .3s ease}.back-button:hover{background-color:#fff;color:#000;transform:translateY(-50%) scale(1.05)}.plant-description-title{font-family:Courier New,monospace;font-size:3rem;font-weight:700;letter-spacing:2px;margin-bottom:1rem;text-transform:uppercase}.plant-description-subtitle{color:#ccc;font-size:1.2rem;font-style:italic;margin-bottom:0}.plant-description-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 2fr;margin:0 auto;max-width:1400px}.plant-card-section{align-items:center}.plant-card,.plant-card-section{display:flex;flex-direction:column}.plant-card{background-color:#000;border:3px solid #fff;border-radius:0;max-width:400px;overflow:hidden;position:sticky;top:2rem;width:100%}.plant-card-image-container{border-bottom:2px solid #fff;height:300px;overflow:hidden;position:relative;width:100%}.plant-card-image{display:block;height:100%;object-fit:cover;width:100%}.plant-card-label{background-color:#000;border-bottom:2px solid #fff;padding:1.5rem;text-align:center}.plant-card-title{font-size:1.2rem;font-weight:700;letter-spacing:1px}.plant-card-location,.plant-card-title{display:block;font-family:Courier New,monospace;margin-bottom:.5rem;text-transform:uppercase}.plant-card-location{color:#ccc;font-size:1rem;letter-spacing:.5px}.plant-card-scientific{color:#999;display:block;font-family:Courier New,monospace;font-size:.9rem;font-style:italic}.plant-sensor-data{background-color:#000;padding:1.5rem}.sensor-data-item{align-items:center;border-bottom:1px solid #333;display:flex;font-family:Courier New,monospace;justify-content:space-between;padding:.75rem 0}.sensor-data-item:last-child{border-bottom:none}.sensor-label{color:#ccc;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.sensor-value{color:#fff;font-size:1rem;font-weight:700}.plant-details-section{display:flex;flex-direction:column;gap:2.5rem}.plant-detail-block{background-color:#000;border:2px solid #333;border-radius:0;padding:2rem;transition:border-color .3s ease}.plant-detail-block:hover{border-color:#fff}.detail-heading{border-bottom:2px solid #fff;color:#fff;font-family:Courier New,monospace;font-size:1.8rem;font-weight:700;letter-spacing:1px;margin-bottom:1.5rem;padding-bottom:.5rem;text-transform:uppercase}.plant-description-text{color:#ccc;font-size:1.1rem;line-height:1.6;margin-bottom:1rem}.plant-common-names{color:#999;font-family:Courier New,monospace;font-size:1rem}.care-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.care-item{background-color:#111;border:1px solid #333;border-radius:0;display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all .3s ease}.care-item:hover{background-color:#1a1a1a;border-color:#fff}.care-label{color:#999;font-family:Courier New,monospace;font-size:.85rem;letter-spacing:.5px;text-transform:uppercase}.care-value{color:#fff;font-size:1rem;font-weight:400}.care-tips-list,.common-issues-list{list-style:none;margin:0;padding:0}.care-tip,.common-issue{background-color:#111;border:1px solid #333;border-radius:0;color:#ccc;line-height:1.5;margin-bottom:.75rem;padding:1rem 1rem 1rem 2.5rem;position:relative;transition:all .3s ease}.care-tip:hover,.common-issue:hover{background-color:#1a1a1a;border-color:#fff;color:#fff}.care-tip:before{color:#0f0;content:"•";font-size:1.2rem;font-weight:700;left:1rem;position:absolute;top:1rem}.common-issue:before{color:#f90;content:"⚠";font-size:1rem;left:1rem;position:absolute;top:1rem}.care-tip:last-child,.common-issue:last-child{margin-bottom:0}.plant-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.plant-loading p{color:#ccc;font-family:Courier New,monospace;font-size:1.2rem;margin-top:1rem}.plant-not-found{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.plant-not-found h1{font-family:Courier New,monospace;font-size:2.5rem;margin-bottom:1rem}.plant-not-found p{color:#ccc;font-size:1.2rem;margin-bottom:2rem}@media (max-width:1200px){.plant-description-content{gap:2rem;grid-template-columns:1fr 1.5fr}.plant-description-container{padding:1.5rem}}@media (max-width:900px){.plant-description-content{gap:2rem;grid-template-columns:1fr}.plant-card{max-width:100%;position:relative;top:auto}.care-grid{grid-template-columns:1fr}.plant-description-title{font-size:2.5rem}.back-button{margin-bottom:1rem;position:relative;transform:none}.plant-description-header{text-align:center}}@media (max-width:600px){.plant-description-container{padding:1rem}.plant-description-title{font-size:2rem}.plant-detail-block{padding:1.5rem}.detail-heading{font-size:1.5rem}.care-item{padding:.75rem}.care-tip,.common-issue{padding:.75rem .75rem .75rem 2rem}}
/*# sourceMappingURL=main.b71e2a95.css.map*/