:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{min-width:320px;margin:0}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.auth-page{background:radial-gradient(circle at 0 0,#22c55e1f,#0000 45%),radial-gradient(circle at 100% 100%,#16a34a1a,#0000 40%),linear-gradient(135deg,#f3fbf5,#ecf8f0);justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.auth-card{text-align:left;background-color:#fff;border:1px solid #d3e9da;border-radius:20px;width:min(460px,100%);padding:28px;box-shadow:0 20px 45px #0e2d2024}.auth-card__eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#15803d;margin:0 0 8px;font-size:.74rem;font-weight:700}.auth-card__title{color:#163020;margin:0;font-size:1.6rem}.auth-card__subtitle{color:#4b6655;margin:10px 0 0;font-size:.95rem;line-height:1.45}.auth-tabs{background-color:#edf8f1;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:18px;padding:4px;display:grid}.auth-tabs__button{color:#4b6655;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px;font-size:.92rem;font-weight:600}.auth-tabs__button.active{color:#166534;background-color:#fff;box-shadow:0 6px 14px #15803d29}.auth-form{flex-direction:column;gap:12px;margin-top:18px;display:flex}.auth-form__field{flex-direction:column;gap:7px;display:flex}.auth-form__field span{color:#2f5a41;font-size:.82rem;font-weight:600}.auth-form__field input{color:#163020;background:#fff;border:1px solid #c4decf;border-radius:10px;padding:11px 12px;font-size:.95rem}.auth-form__field input:focus{border-color:#22c55e;outline:2px solid #86efac}.auth-form__notice{border-radius:10px;margin:2px 0 0;padding:10px 12px;font-size:.84rem}.auth-form__notice.is-error{color:#b3261e;background-color:#ffe9e6;border:1px solid #ffcdc5}.auth-form__notice.is-success{color:#0a6640;background-color:#e2f8eb;border:1px solid #b9e9ce}.auth-form__submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#16a34a,#15803d);border:0;border-radius:10px;margin-top:4px;padding:12px 14px;font-size:.95rem;font-weight:700;transition:transform .12s,box-shadow .12s}.auth-form__submit:hover:enabled{transform:translateY(-1px);box-shadow:0 10px 16px #16a34a40}.auth-form__submit:disabled{opacity:.7;cursor:not-allowed}@media (width<=600px){.auth-page{padding:14px}.auth-card{border-radius:16px;padding:20px}.auth-card__title{font-size:1.35rem}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{content:"";border:3px solid #ccc;border-width:3px 3px 0 0;width:9px;height:9px;display:block;position:absolute;top:6px}.react-datepicker__sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker-wrapper{border:0;padding:0;display:inline-block}.react-datepicker{color:#000;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:initial;background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-right-radius:.375em;border-bottom-left-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-top:1px solid #aeaeae;border-bottom:none;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{margin:0 15px;display:inline-block}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;background-color:#0000;border:1px solid #aeaeae;border-radius:.3rem;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:1px auto}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:#000;margin-top:0;font-size:.944rem;font-weight:700}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{text-align:center;cursor:pointer;z-index:1;text-indent:-999em;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:2px;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{margin-left:auto;margin-right:auto;display:block;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{width:0;font-size:20px;position:relative;top:-1px}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{text-align:center;margin:.5em}.react-datepicker__year-wrapper{flex-wrap:wrap;max-width:180px;display:flex}.react-datepicker__year .react-datepicker__year-text{width:5em;margin:2px;display:inline-block}.react-datepicker__month{text-align:center;margin:.5em}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{width:5em;margin:2px;display:inline-block}.react-datepicker__input-time-container{clear:both;float:left;text-align:left;width:100%;margin:5px 0 10px 15px}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{margin-left:10px;display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.375em;display:inline;position:absolute;top:0;right:-87px}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.375em;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{text-align:center;border-bottom-right-radius:.375em;width:85px;margin:0 auto;overflow-x:hidden}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;width:100%;height:calc(195px + 1.0625em);margin:0;padding-left:0;padding-right:0;list-style:none;overflow-y:scroll}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{white-space:nowrap;height:30px;padding:5px 10px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{color:#fff;background-color:#216ba5;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:#0000}.react-datepicker__week-number{color:#ccc;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{color:#fff;background-color:#3dcc4a;border-radius:.3rem}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{color:#fff;background-color:#ff6803;border-radius:.3rem;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{color:#000;background-color:#bad9f1;border-radius:.3rem}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{color:#fff;background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){color:#000;background-color:#f0f0f0}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:70%;left:50%;transform:translate(-50%)}.react-datepicker__input-container{width:100%;display:inline-block;position:relative}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.625em;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{top:0;right:-16px;transform:rotate(135deg)}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{z-index:1;text-align:center;background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;width:50%;position:absolute;top:30px;left:25%}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{width:100%;margin-left:auto;margin-right:auto;line-height:20px;display:block}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;user-select:none;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;vertical-align:middle;background-color:#0000;border:0;outline:0;height:100%;padding:0 6px 0 0;display:table-cell;position:absolute;top:0;right:0}.react-datepicker__close-icon:after{cursor:pointer;color:#fff;text-align:center;vertical-align:middle;content:"×";background-color:#216ba5;border-radius:50%;width:16px;height:16px;padding:2px;font-size:12px;line-height:1;display:table-cell}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{cursor:pointer;text-align:center;clear:left;background:#f0f0f0;border-top:1px solid #aeaeae;padding:5px 0;font-weight:700}.react-datepicker__portal{z-index:2147483647;background-color:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.react-datepicker__children-container{width:17.25em;height:auto;margin:.5em;padding-left:.25em;padding-right:.25em}.react-datepicker__aria-live{clip-path:circle(0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker__calendar-icon{vertical-align:-.125em;width:1em;height:1em}.react-datepicker-popper-offset{margin-top:-.7em}.home-manual{gap:14px;display:grid}.home-manual__intro{color:#2f5a41;margin:0;font-size:14px;line-height:1.6}.home-manual__status{flex-wrap:wrap;gap:8px;display:flex}.home-manual__status-chip{color:#1f5a3e;background:#eff8f3;border:1px solid #cce8d7;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.home-manual__card{background:#fff;border:1px solid #d3e9da;border-radius:16px;padding:16px;box-shadow:0 10px 18px #0e2d2014}.home-manual__subheading{color:#1f3b2a;margin:14px 0 8px;font-size:15px}.home-manual__list{color:#2f5a41;gap:6px;margin:0;padding-left:18px;font-size:14px;line-height:1.5;display:grid}@media (width<=640px){.home-manual__card{padding:14px}.home-manual__list{gap:5px;font-size:13px}}:root{--brand-green:#16a34a;--brand-green-hover:#15803d;--brand-green-soft:#dcfce7}.dashboard-layout{--brand-green:#16a34a;--brand-green-hover:#15803d;--brand-green-soft:#dcfce7;--sidebar-width:clamp(220px, 18vw, 280px);background:linear-gradient(#f3fbf5 0%,#e7f5ec 100%);width:100%;min-height:100svh;display:block}.dashboard-sidebar{width:var(--sidebar-width);color:#dcfce7;box-sizing:border-box;z-index:20;background:linear-gradient(#0e2d20 0%,#114733 100%);min-height:100svh;padding:22px;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.dashboard-sidebar__brand{color:#fff;text-align:left;margin:0 0 20px;font-size:20px;font-weight:700}.dashboard-sidebar__menu{gap:8px;display:grid}.dashboard-sidebar__item{text-align:left;color:#bbf7d0;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:11px 12px;font-size:14px;transition:background-color .2s,color .2s}.dashboard-sidebar__item:hover{color:#fff;background:#4ade8029}.dashboard-sidebar__item--active{color:#fff;background:#22c55e4d}.dashboard-main{margin-left:var(--sidebar-width);flex:1;min-width:0;min-height:100svh;padding:28px 28px 40px}.dashboard-title{text-align:left;color:#163020;margin:0 0 16px;font-size:clamp(26px,2.4vw,34px)}.dashboard-title-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.dashboard-title-row .dashboard-title{margin-bottom:0}.dashboard-page-datetime{color:#1f3b2a;font-size:16px;font-weight:700;line-height:1;display:inline-block}.dashboard-status-area{gap:10px;margin-bottom:18px;display:grid}.dashboard-status-area .auth-form__notice{margin:0}.dashboard-section-title{text-align:left;color:#1f3b2a;margin:0 0 12px;font-size:18px}.dashboard-device-list{margin-bottom:24px}.dashboard-device-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;display:flex}.dashboard-device-filter{min-width:240px;margin-bottom:0}.dashboard-device-count{color:#4b6655;margin:0;font-size:12px;font-weight:600}.dashboard-device-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.dashboard-group-panel{background:#f8fdf9;border:1px solid #d3e9da;border-radius:14px;margin-bottom:12px;padding:12px}.dashboard-group-panel__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.dashboard-group-panel__title{color:#1f3b2a;margin:0;font-size:14px;font-weight:800}.dashboard-group-panel__count{color:#2f5a41;background:#ecf8f0;border:1px solid #cde7d7;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.device-card{text-align:left;cursor:pointer;background:linear-gradient(165deg,#fff 0%,#f3fbf5 100%);border:1px solid #d3e9da;border-radius:16px;padding:16px;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:0 10px 20px #0e2d2014}.device-card--switch{background:radial-gradient(circle at 90% -10%,#16a34a24 0%,#16a34a00 45%),linear-gradient(165deg,#fff 0%,#f0faf4 100%);border-color:#b9e2c8}.device-card--camera{background:radial-gradient(circle at 90% -10%,#0ea5e924 0%,#0ea5e900 45%),linear-gradient(165deg,#fff 0%,#eff8fb 100%);border-color:#bfdbe6}.device-card:hover{border-color:#73d4a1;transform:translateY(-2px);box-shadow:0 16px 26px #0e2d2024}.device-card--selected{border:2px solid #16a34a;box-shadow:0 16px 28px #16a34a33}.device-card__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.device-card__id{color:#4b6655;margin:0;font-size:12px}.device-card__name{color:#163020;margin:4px 0 0;font-size:17px;font-weight:700}.device-card__groups{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.device-card__group-chip{color:#2f5a41;background:#eff8f3;border:1px solid #cde7d7;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.device-card__status{border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.device-card__status-dot{border-radius:50%;width:8px;height:8px}.device-card__status.is-online{color:#15803d;background:#dcfce7}.device-card__status.is-online .device-card__status-dot{background:#16a34a}.device-card__status.is-offline{color:#b91c1c;background:#fee2e2}.device-card__status.is-offline .device-card__status-dot{background:#ef4444}.device-card__updated{color:#4b6655;margin:10px 0 12px;font-size:12px}.device-card__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.device-card__camera-thumb{background:#0e2230;border:1px solid #d6e7ee;border-radius:12px;width:100%;min-height:132px;overflow:hidden}.device-card__camera-image{object-fit:cover;width:100%;height:132px;display:block}.device-card__camera-empty{text-align:center;place-items:center;gap:4px;min-height:132px;padding:10px;display:grid}.device-card__camera-empty strong{color:#e2f5ff;font-size:14px}.device-card__camera-empty span{color:#9ec8d8;font-size:12px}.device-card__metric-chip{background:#f6fcf8;border:1px solid #dcefe3;border-radius:10px;gap:4px;margin:0;padding:8px;display:grid}.device-card__metric-chip--switch,.device-card__metric-chip--power{background:linear-gradient(#f8fdf9 0%,#edf8f1 100%);border-color:#cde7d7}.device-card__metric-chip--power strong{color:#163020}.device-card__iaq-bar{border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;display:flex}.device-card__iaq-label{font-size:12px;font-weight:700}.device-card__iaq-value{font-size:16px;line-height:1}.device-card__iaq-bar.is-good{color:#166534;background:#dcfce7;border-color:#86efac}.device-card__iaq-bar.is-moderate{color:#854d0e;background:#fef9c3;border-color:#fde047}.device-card__iaq-bar.is-poor{color:#9a3412;background:#ffedd5;border-color:#fdba74}.device-card__iaq-bar.is-bad{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.device-card__iaq-bar.is-hazardous{color:#6b21a8;background:#f3e8ff;border-color:#d8b4fe}.device-card__iaq-bar.is-unknown{color:#374151;background:#f3f4f6;border-color:#d1d5db}.device-card__metric-chip span{color:#4b6655;font-size:11px;font-weight:600}.device-card__metric-chip strong{color:#163020;font-size:13px;font-weight:700}.device-card__quick-switch{background:#f4fbf6;border:1px solid #cfe5d7;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:12px;padding:10px 0 10px 12px;display:grid}.device-card__quick-status{color:#1f3b2a;margin:0;font-size:12px;font-weight:700}.device-card__quick-scope{color:#166534;background:#dcfce7;border-radius:999px;align-items:center;margin:4px 0 0;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.device-card__quick-dimmer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:8px;display:grid}.device-card__quick-dimmer-slider{width:100%}.device-card__quick-dimmer-value{color:#166534;text-align:right;min-width:34px;font-size:11px;font-weight:800}.switch-toggle{cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0;display:inline-flex}.device-card__quick-switch .switch-toggle{justify-content:flex-end;justify-self:end;min-width:96px;margin-right:0}.settings-row--switch .switch-toggle{margin-left:auto}.switch-toggle:disabled{opacity:.6;cursor:not-allowed}.switch-toggle__track{background:#cdd4dc;border-radius:999px;width:44px;height:24px;transition:background-color .16s,box-shadow .16s;position:relative;box-shadow:inset 0 0 0 1px #00000014}.switch-toggle__thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #0f172a4d}.switch-toggle.is-on .switch-toggle__track{background:linear-gradient(#22c55e 0%,#16a34a 100%);box-shadow:inset 0 0 0 1px #16a34a59,0 0 0 3px #22c55e33}.switch-toggle.is-on .switch-toggle__thumb{left:23px}.switch-toggle__label{color:#1f3b2a;text-align:left;letter-spacing:.2px;min-width:60px;font-size:12px;font-weight:900}.switch-toggle--lg .switch-toggle__track{width:52px;height:28px}.switch-toggle--lg .switch-toggle__thumb{width:22px;height:22px}.switch-toggle--lg.is-on .switch-toggle__thumb{left:27px}.data-logs-page{text-align:left}.data-logs-toolbar{margin-bottom:12px;display:block}.data-logs-select{width:100%;min-width:0}.data-logs-notice{margin-bottom:14px}.data-logs-table-wrap{background:#fff;border:1px solid #d3e9da;border-radius:14px;overflow:auto;box-shadow:0 10px 20px #0e2d2014}.data-logs-table{border-collapse:collapse;width:100%;min-width:680px}.data-logs-table th,.data-logs-table td{text-align:left;color:#1f3b2a;border-bottom:1px solid #e4f0e8;padding:10px 12px;font-size:13px}.data-logs-table th{color:#2f5a41;text-transform:uppercase;letter-spacing:.4px;background:#edf8f1;font-size:12px}.data-logs-table tr:last-child td{border-bottom:none}.device-share-table th:first-child,.device-share-table td:first-child{white-space:normal;word-break:break-word;min-width:320px}.sensor-log-table th:first-child,.sensor-log-table td:first-child,.sensor-log-table th:nth-child(3),.sensor-log-table td:nth-child(3),.sensor-log-table th:nth-child(4),.sensor-log-table td:nth-child(4),.sensor-log-table th:nth-child(5),.sensor-log-table td:nth-child(5),.sensor-log-table th:nth-child(6),.sensor-log-table td:nth-child(6){text-align:center}.sensor-log-table th:first-child,.sensor-log-table td:first-child{width:70px}.sensor-log-table th:nth-child(2),.sensor-log-table td:nth-child(2){width:130px}.sensor-log-table th:nth-child(3),.sensor-log-table td:nth-child(3){width:120px}.sensor-log-table th:nth-child(7),.sensor-log-table td:nth-child(7){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.data-logs-empty{text-align:center;color:#4b6655;padding:24px 12px}.dashboard-empty{text-align:left;color:#4b6655}.dashboard-detail-panel{background:#fff;border:1px solid #d3e9da;border-radius:16px;padding:18px;box-shadow:0 12px 22px #0e2d201a}.dashboard-placeholder{color:#2f5a41;text-align:center;background:#dcf3e4b8;border:1px dashed #7ab88f;border-radius:16px;padding:28px 18px}.instant-metrics{margin-bottom:0}.instant-metrics__title{text-align:left;color:#163020;margin:0 0 12px;font-size:18px}.instant-metrics__grid{flex-wrap:wrap;gap:10px;padding:2px 2px 0;display:flex}.instant-metric-card{background:#f6fcf8;border:1px solid #dcefe3;border-radius:12px;flex:150px;min-width:145px;max-width:200px;padding:12px}.instant-metric-card__title{color:#4b6655;margin:0;font-size:11px;font-weight:600}.instant-metric-card__value{color:var(--metric-color,#111827);white-space:nowrap;margin:7px 0 0;font-size:20px;font-weight:700;line-height:1}.user-page{text-align:left}.user-page--modern{flex-direction:column;gap:0;display:flex}.user-hero{background:radial-gradient(120% 140% at 100% 0,#16a34a24 0%,#16a34a00 52%),linear-gradient(#fff 0%,#f7fcf9 100%);border:1px solid #d3e9da;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:4px;padding:16px 18px;display:flex;box-shadow:0 12px 26px #0e2d2014}.user-hero__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#3c6f54;margin:0;font-size:11px;font-weight:700}.user-hero__name{color:#163020;margin:4px 0 2px;font-size:24px;line-height:1.2}.user-hero__subline{color:#4b6655;margin:0;font-size:14px}.user-hero__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.user-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.user-grid--overview{margin-top:14px}.user-card{background:#fff;border:1px solid #d3e9da;border-radius:14px;padding:16px;box-shadow:0 10px 20px #0e2d2014}.user-card--full{grid-column:1/-1}.user-card--accent{background:radial-gradient(110% 170% at 100% 0,#16a34a1f 0%,#16a34a00 55%),#fff;border-color:#bde7cb}.user-card--token{border-style:dashed}.user-card__label{color:#4b6655;margin:0 0 6px;font-size:13px;font-weight:600}.user-card__value{color:#163020;margin:0;font-size:18px;font-weight:700}.user-card__value--small{font-size:15px;font-weight:600}.user-card__value--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px}.user-card__meta{color:#577160;margin:6px 0 0;font-size:12px}.user-section-card{overflow:hidden}.user-section-card--backend{margin-top:30px!important}.user-dual-frames{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:16px 24px;margin-top:16px;margin-bottom:26px;display:grid}.user-dual-frames .user-section-card{height:100%;margin-top:0}.user-profile-actions{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.user-profile-grid,.user-password-grid{grid-template-columns:minmax(0,1fr)}.user-chip-list{flex-wrap:wrap;gap:8px;display:flex}.user-chip{color:#1f5a3e;background:#f4fbf7;border:1px solid #cce8d7;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.user-kv-table-wrap{width:100%;overflow-x:auto}.user-kv-table td:first-child{color:#466150;width:220px;font-weight:600}.device-settings-page{text-align:left}.settings-card{background:#fff;border:1px solid #d3e9da;border-radius:16px;padding:18px;box-shadow:0 10px 20px #0e2d2014}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.settings-grid.user-profile-grid,.settings-grid.user-password-grid{grid-template-columns:minmax(0,1fr)}.settings-grid--rule-form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start}.settings-grid--rule-form .settings-row{min-width:0;margin-bottom:0}.settings-grid--rule-form .settings-input{width:100%;min-width:0}.settings-grid--rule-form .settings-row--rule-action-device,.settings-grid--rule-form .settings-row--rule-action,.settings-grid--rule-form .settings-row--rule-channel,.settings-grid--rule-form .settings-row--rule-action-value,.settings-grid--rule-form .settings-row--rule-cooldown{grid-column:auto}.settings-grid--device-edit{grid-template-columns:repeat(3,minmax(220px,1fr));align-items:start;gap:10px 12px}.device-share-grid{grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) minmax(130px,180px);align-items:start;gap:10px 18px}.device-share-grid .settings-row{margin-bottom:0}.device-share-grid .settings-row--permission{justify-self:end;width:100%;max-width:180px}.group-member-grid{grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) minmax(130px,180px);align-items:start;gap:10px 18px}.group-member-grid .settings-row{margin-bottom:0}.group-member-grid .group-member-grid__role{justify-self:end;width:100%;max-width:180px}.settings-row{gap:6px;margin-bottom:12px;display:grid}.settings-row--switch{background:#f6fcf8;border:1px solid #dcefe3;border-radius:12px;justify-content:space-between;align-items:center;padding:12px;display:flex}.dimmer-row{align-items:stretch}.dimmer-row__actions{gap:10px;width:min(360px,100%);margin-left:auto;display:grid}.dimmer-row__slider-wrap{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.dimmer-row__slider{width:100%}.dimmer-row__brightness{color:#166534;text-align:right;min-width:40px;font-size:12px;font-weight:800}.settings-label{color:#4b6655;font-size:13px;font-weight:600}.settings-input{color:#163020;box-sizing:border-box;background:#fff;border:1px solid #c4decf;border-radius:10px;padding:10px 12px;font-size:14px}.settings-input:focus{border-color:#22c55e;outline:none;box-shadow:0 0 0 3px #22c55e26}.settings-input[type=datetime-local],.settings-input[type=date],.settings-input[type=time]{accent-color:#16a34a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.settings-input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;filter:hue-rotate(62deg)saturate(120%)brightness(.9)}.settings-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:hue-rotate(62deg)saturate(120%)brightness(.9)}.settings-input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;filter:hue-rotate(62deg)saturate(120%)brightness(.9)}.settings-input[type=date]::-webkit-datetime-edit{color:#163020}.settings-input[type=time]::-webkit-datetime-edit{color:#163020}.switch-datetime-inline{width:100%;min-width:0;display:block}.switch-datetime-inline .switch-datetime-input{width:100%;min-width:0;max-width:100%}.switch-datetime-inline .react-datepicker-wrapper,.switch-datetime-inline .react-datepicker__input-container{width:100%;min-width:0;display:block}.switch-datetime-inline--with-now{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.switch-datetime-inline--with-now .fan-preset-btn{white-space:nowrap;flex:none;height:40px}.switch-datetime-popper{z-index:40}.switch-datetime-calendar{border:1px solid #cfe5d7!important;border-radius:12px!important;font-family:inherit!important;box-shadow:0 12px 24px #0e2d2024!important}.switch-datetime-calendar .react-datepicker__header{background:#edf8f1!important;border-bottom:1px solid #d7ebdf!important}.switch-datetime-calendar .react-datepicker__day--selected,.switch-datetime-calendar .react-datepicker__day--keyboard-selected,.switch-datetime-calendar .react-datepicker__time-list-item--selected,.switch-datetime-calendar .react-datepicker__time-list-item[aria-selected=true]{background-color:var(--brand-green,#16a34a)!important;color:#fff!important;box-shadow:none!important;border:1px solid var(--brand-green-hover,#15803d)!important;border-radius:8px!important;font-weight:700!important}.switch-datetime-calendar .react-datepicker__day--selected,.switch-datetime-calendar .react-datepicker__day--keyboard-selected{background-color:var(--brand-green,#16a34a)!important;color:#fff!important;border-color:var(--brand-green,#16a34a)!important}.switch-datetime-calendar .react-datepicker__day:hover,.switch-datetime-calendar .react-datepicker__time-list-item:hover{background-color:var(--brand-green-soft,#dcfce7)!important;color:#166534!important;border-radius:8px!important}.switch-datetime-calendar .react-datepicker__current-month,.switch-datetime-calendar .react-datepicker-time__header,.switch-datetime-calendar .react-datepicker__day-name,.switch-datetime-calendar .react-datepicker__navigation-icon:before,.switch-datetime-calendar .react-datepicker__day,.switch-datetime-calendar .react-datepicker__time-list-item:not(.react-datepicker__time-list-item--selected),.switch-datetime-calendar .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{color:#1f3b2a!important}.switch-datetime-calendar .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:var(--brand-green,#16a34a)!important;color:#fff!important}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item.react-datepicker__time-list-item--selected,.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item[aria-selected=true]{background-color:var(--brand-green,#16a34a)!important;color:#fff!important;border:1px solid var(--brand-green-hover,#15803d)!important;border-radius:8px!important}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item.react-datepicker__time-list-item--selected:hover,.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item[aria-selected=true]:hover{background-color:var(--brand-green-hover,#15803d)!important;color:#fff!important}.switch-datetime-calendar .react-datepicker__today-button,.switch-datetime-calendar .react-datepicker__close-icon:after{background:var(--brand-green,#16a34a)!important;color:#fff!important}.settings-field-title{color:#163020;margin:0;font-size:14px;font-weight:700}.settings-field-helper{color:#4b6655;margin:4px 0 0;font-size:12px}.settings-switch{color:#163020;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.settings-actions{margin-top:12px}.settings-actions--rule-editor{align-items:center;gap:10px;margin-bottom:14px;display:flex}.settings-save-btn{background:var(--brand-green);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:700}.settings-save-btn:hover{background:var(--brand-green-hover)}.settings-save-btn--secondary{color:#166534;background:#fff;border:1px solid #86efac}.settings-save-btn--secondary:hover{background:#f0fdf4;border-color:#4ade80}.settings-save-btn--danger{background:#dc2626}.settings-save-btn--danger:hover{background:#b91c1c}.control-panel{background:linear-gradient(#f7fcf8 0%,#eef7f1 100%);border:1px solid #d3e9da;border-radius:14px;margin-bottom:14px;padding:14px}.sensor-panel{padding:16px}.sensor-panel .control-panel__title{margin-bottom:12px}.sensor-panel .instant-metrics__title{margin-bottom:14px}.sensor-chart-panel{overflow:hidden}.sensor-chart-wrap{height:340px}.sensor-chart-wrap>div{height:100%!important}.sensor-summary-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;margin-top:12px;display:grid}.sensor-summary-card{background:#f8fdf9;border:1px solid #d9ebe0;border-radius:12px;padding:10px}.sensor-summary-card__title{color:#163020;margin:0 0 8px;font-size:13px;font-weight:700}.sensor-summary-card__current,.sensor-summary-card__range,.sensor-summary-card__avg{color:#385442;margin:0;font-size:12px}.sensor-summary-card__range{margin-top:4px}.sensor-summary-card__avg{color:#235a3a;margin-top:4px;font-weight:700}.control-panel__title{color:#163020;margin:0;font-size:16px;font-weight:700}.control-panel__subtitle{color:#4b6655;margin:4px 0 12px;font-size:12px}.switch-summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0 0 12px;display:grid}.switch-bulk-actions{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.camera-preview-frame{background:#0e2d20;border:1px solid #cfe5d7;border-radius:12px;margin-bottom:12px;overflow:hidden}.camera-preview-media{object-fit:contain;background:#0e2d20;width:100%;max-height:520px;display:block}.camera-player{gap:6px;display:grid}.camera-player__error{color:#b91c1c;background:#ef44441f;border-radius:8px;margin:0;padding:6px 10px;font-size:12px}.camera-stream-fields{gap:10px;display:grid}.report-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:10px 0 0;display:flex}.switch-log-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(120px,160px) auto;grid-template-areas:"from to limit apply";align-items:end;gap:10px;margin-bottom:10px;display:grid}.switch-log-toolbar .settings-row{min-width:0;margin-bottom:0}.switch-log-toolbar .settings-actions{margin-top:0}.switch-log-field--from{grid-area:from}.switch-log-field--to{grid-area:to}.switch-log-field--limit{grid-area:limit}.switch-log-field--apply{grid-area:apply}.switch-log-toolbar--events{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(130px,160px) auto;grid-template-areas:"device from to limit apply";margin-bottom:0}.switch-log-toolbar--events .switch-log-field--device{grid-area:device}.switch-log-toolbar--events .switch-log-field--from,.switch-log-toolbar--events .switch-log-field--to,.switch-log-toolbar--events .switch-log-field--limit,.switch-log-toolbar--events .switch-log-field--apply{grid-area:auto}.switch-log-toolbar--events .settings-input,.switch-log-toolbar--events .switch-log-apply .settings-save-btn{height:42px}.switch-log-apply{align-items:end;display:flex}.switch-log-apply .settings-save-btn{white-space:nowrap;height:42px}.switch-log-pagination{color:#2f5a41;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:12px;font-weight:600;display:flex}@media (width<=1080px){.settings-grid--device-edit{grid-template-columns:repeat(2,minmax(220px,1fr))}.switch-log-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"from to""limit apply"}.switch-log-toolbar--events{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"device device""from to""limit apply"}.switch-log-apply{justify-content:flex-start}.switch-datetime-inline{width:100%}.device-share-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-share-grid .settings-row--permission{justify-self:stretch;max-width:none}.group-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-member-grid .group-member-grid__role{justify-self:stretch;max-width:none}.settings-grid--rule-form{grid-template-columns:repeat(3,minmax(180px,1fr))}.settings-grid--rule-form .settings-row--rule-action-device,.settings-grid--rule-form .settings-row--rule-action,.settings-grid--rule-form .settings-row--rule-channel,.settings-grid--rule-form .settings-row--rule-action-value,.settings-grid--rule-form .settings-row--rule-cooldown{grid-column:auto}.settings-grid--rule-form .settings-row--rule-channel .settings-input,.settings-grid--rule-form .settings-row--rule-cooldown .settings-input{max-width:none}}@media (width<=780px){.user-hero{flex-direction:column;align-items:stretch}.user-hero__actions{justify-content:flex-start}.user-dual-frames,.settings-grid--device-edit{grid-template-columns:minmax(0,1fr)}.settings-grid--rule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.switch-log-toolbar{grid-template-columns:minmax(0,1fr);grid-template-areas:"from""to""limit""apply"}.switch-log-toolbar--events{grid-template-columns:minmax(0,1fr);grid-template-areas:"device""from""to""limit""apply"}}.settings-range{accent-color:#16a34a;width:100%}.fan-presets{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.fan-preset-btn{color:#2f5a41;cursor:pointer;background:#fff;border:1px solid #c4decf;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.fan-preset-btn:hover{color:#166534;border-color:#22c55e}.fan-preset-btn--active{color:#fff;background:#16a34a;border-color:#16a34a}.fan-preset-btn--danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.fan-preset-btn--danger:hover{color:#991b1b;background:#fee2e2;border-color:#ef4444}.fan-preset-btn:disabled{opacity:.5;cursor:not-allowed}.group-device-panel__actions{margin-top:10px;margin-bottom:12px}.group-device-panel__table-wrap{margin-top:8px}.group-device-action-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.group-device-icon-btn{color:#2f5a41;cursor:pointer;background:#fff;border:1px solid #b7d8c4;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:inline-flex}.group-device-icon-btn:hover{color:#166534;background:#f4fff7;border-color:#22c55e}.group-device-icon-btn:disabled{opacity:.55;cursor:not-allowed}.group-device-icon-btn--move{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.group-device-icon-btn--move:hover{color:#fff;background:#16a34a;border-color:#22c55e}.group-device-icon-btn--danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.group-device-icon-btn--danger:hover{color:#fff;background:#dc2626;border-color:#ef4444}.switch-action-btn{color:#fff;letter-spacing:.2px;cursor:pointer;border:1px solid #0000;border-radius:999px;min-width:70px;padding:6px 14px;font-size:12px;font-weight:800;transition:transform .14s,filter .14s,box-shadow .14s;box-shadow:0 6px 12px #0f172a24}.switch-action-btn:hover:enabled{filter:brightness(1.04);transform:translateY(-1px)}.switch-action-btn:disabled{opacity:.65;cursor:not-allowed}.switch-action-btn--on{background:linear-gradient(#16a34a 0%,#15803d 100%)}.switch-action-btn--off{background:linear-gradient(#ef4444 0%,#dc2626 100%)}.switch-action-btn.is-active{box-shadow:0 0 0 2px #ffffffb8,0 10px 16px #0f172a33}@media (width<=960px){.dashboard-layout{flex-direction:column;min-height:100svh}.dashboard-sidebar{z-index:auto;width:100%;height:auto;min-height:auto;padding:16px;position:static;top:auto;bottom:auto;left:auto;overflow:visible}.dashboard-sidebar__brand{margin-bottom:12px}.dashboard-sidebar__menu{flex-wrap:nowrap;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.dashboard-sidebar__item{white-space:nowrap;flex:none}.dashboard-main{margin-left:0;padding:18px 18px 28px}.dashboard-device-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-device-filter{min-width:100%}.device-card__metrics{grid-template-columns:1fr}.sensor-chart-wrap{height:300px}}@media (width<=640px){.dashboard-main{padding:14px 14px 22px}.dashboard-detail-panel{padding:14px}.dashboard-placeholder{padding:20px 12px}.settings-row--switch{flex-direction:column;align-items:flex-start;gap:10px}.dimmer-row__actions{width:100%;margin-left:0}.settings-save-btn{width:100%}.sensor-chart-wrap{height:260px}.settings-grid--rule-form,.device-share-grid,.group-member-grid{grid-template-columns:minmax(0,1fr)}}
