:root{--swal2-outline:0 0 0 3px #6496c880;--swal2-container-padding:.625em;--swal2-backdrop:#0006;--swal2-backdrop-transition:background-color .15s;--swal2-width:32em;--swal2-padding:0 0 1.25em;--swal2-border:none;--swal2-border-radius:.3125rem;--swal2-background:white;--swal2-color:#545454;--swal2-show-animation:swal2-show .3s;--swal2-hide-animation:swal2-hide .15s forwards;--swal2-icon-zoom:1;--swal2-title-padding:.8em 1em 0;--swal2-html-container-padding:1em 1.6em .3em;--swal2-input-border:1px solid #d9d9d9;--swal2-input-border-radius:.1875em;--swal2-input-box-shadow:inset 0 1px 1px #0000000f, 0 0 0 3px transparent;--swal2-input-background:transparent;--swal2-input-transition:border-color .2s, box-shadow .2s;--swal2-input-hover-box-shadow:inset 0 1px 1px #0000000f, 0 0 0 3px transparent;--swal2-input-focus-border:1px solid #b4dbed;--swal2-input-focus-box-shadow:inset 0 1px 1px #0000000f, 0 0 0 3px #6496c880;--swal2-progress-step-background:#add8e6;--swal2-validation-message-background:#f0f0f0;--swal2-validation-message-color:#666;--swal2-footer-border-color:#eee;--swal2-footer-background:transparent;--swal2-footer-color:inherit;--swal2-timer-progress-bar-background:#0000004d;--swal2-close-button-position:initial;--swal2-close-button-inset:auto;--swal2-close-button-font-size:2.5em;--swal2-close-button-color:#ccc;--swal2-close-button-transition:color .2s, box-shadow .2s;--swal2-close-button-outline:initial;--swal2-close-button-box-shadow:inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow:inset var(--swal2-outline);--swal2-close-button-hover-transform:none;--swal2-actions-justify-content:center;--swal2-actions-width:auto;--swal2-actions-margin:1.25em auto 0;--swal2-actions-padding:0;--swal2-actions-border-radius:0;--swal2-actions-background:transparent;--swal2-action-button-transition:background-color .2s, box-shadow .2s;--swal2-action-button-hover:black 10%;--swal2-action-button-active:black 10%;--swal2-confirm-button-box-shadow:none;--swal2-confirm-button-border-radius:.25em;--swal2-confirm-button-background-color:#7066e0;--swal2-confirm-button-color:#fff;--swal2-deny-button-box-shadow:none;--swal2-deny-button-border-radius:.25em;--swal2-deny-button-background-color:#dc3741;--swal2-deny-button-color:#fff;--swal2-cancel-button-box-shadow:none;--swal2-cancel-button-border-radius:.25em;--swal2-cancel-button-background-color:#6e7881;--swal2-cancel-button-color:#fff;--swal2-toast-show-animation:swal2-toast-show .5s;--swal2-toast-hide-animation:swal2-toast-hide .1s forwards;--swal2-toast-border:none;--swal2-toast-box-shadow:0 0 1px #00000013, 0 1px 2px #00000013, 1px 2px 4px #00000013, 1px 3px 8px #00000013, 2px 4px 16px #00000013}[data-swal2-theme=dark]{--swal2-dark-theme-black:#19191a;--swal2-dark-theme-white:#e1e1e1;--swal2-background:var(--swal2-dark-theme-black);--swal2-color:var(--swal2-dark-theme-white);--swal2-footer-border-color:#555;--swal2-input-background:color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background:color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-color:var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background:#ffffffb3}@media (prefers-color-scheme:dark){[data-swal2-theme=auto]{--swal2-dark-theme-black:#19191a;--swal2-dark-theme-white:#e1e1e1;--swal2-background:var(--swal2-dark-theme-black);--swal2-color:var(--swal2-dark-theme-white);--swal2-footer-border-color:#555;--swal2-input-background:color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background:color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-color:var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background:#ffffffb3}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{pointer-events:none;background-color:#0000!important}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:auto}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;pointer-events:none;background-color:#0000;width:360px;max-width:100%}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translate(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translate(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static!important}}div:where(.swal2-container){z-index:1060;box-sizing:border-box;height:100%;padding:var(--swal2-container-padding);transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch;grid-template-rows:minmax(min-content,auto) minmax(min-content,auto) minmax(min-content,auto);grid-template-areas:"top-start top top-end""center-start center center-end""bottom-start bottom-center bottom-end";display:grid;position:fixed;inset:0;overflow-x:hidden}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:0 0!important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0,1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0,1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0,1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-area:2/2;place-self:center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-area:2/3;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-area:3/1;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-area:3/2;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-area:3/3;place-self:end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none!important}div:where(.swal2-container)[popover]{border:0;width:auto}div:where(.swal2-container) div:where(.swal2-popup){box-sizing:border-box;width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);grid-template-columns:minmax(0,100%);font-family:inherit;font-size:1rem;display:none;position:relative}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable,div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging,div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){max-width:100%;padding:var(--swal2-title-padding);color:inherit;text-align:center;text-transform:none;overflow-wrap:break-word;cursor:initial;margin:0;font-size:1.875em;font-weight:600;position:relative}div:where(.swal2-container) div:where(.swal2-actions){z-index:1;box-sizing:border-box;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background);flex-wrap:wrap;display:flex}div:where(.swal2-container) div:where(.swal2-loader){border:.25em solid #2778c4;border-color:#2778c4 #0000;border-radius:100%;justify-content:center;align-items:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:1.5s linear infinite swal2-rotate-loading;display:none}div:where(.swal2-container) button:where(.swal2-styled){transition:var(--swal2-action-button-transition);border:none;margin:.3125em;padding:.625em 1.1em;font-weight:500;box-shadow:0 0 0 3px #0000}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{box-shadow:var(--swal2-action-button-focus-box-shadow);outline:none}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);text-align:center;cursor:initial;margin:1em 0 0;padding:1em 1em 0;font-size:1em}div:where(.swal2-container) .swal2-timer-progress-bar-container{border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius);position:absolute;bottom:0;left:0;right:0;overflow:hidden;grid-column:auto!important}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){background:var(--swal2-timer-progress-bar-background);width:100%;height:.25em}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;cursor:initial;margin:2em auto 1em}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;width:1.2em;height:1.2em;transition:var(--swal2-close-button-transition);border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;background:0 0;border:none;justify-content:center;justify-self:end;align-items:center;margin-top:0;margin-bottom:-1.2em;margin-right:0;padding:0;overflow:hidden}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);color:#f27474;background:0 0}div:where(.swal2-container) button:where(.swal2-close):focus-visible{box-shadow:var(--swal2-close-button-focus-box-shadow);outline:none}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;padding:var(--swal2-html-container-padding);color:inherit;text-align:center;overflow-wrap:break-word;word-break:break-word;cursor:initial;justify-content:center;margin:0;font-size:1.125em;font-weight:400;line-height:normal;overflow:auto}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);box-shadow:var(--swal2-input-focus-box-shadow);outline:none}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{background:var(--swal2-background);margin:1em 2em 3px}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;text-align:center;font-weight:600}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{background:var(--swal2-input-background);width:75%;margin-left:auto;margin-right:auto;font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{background:var(--swal2-input-background);min-width:50%;max-width:100%;color:inherit;padding:.375em .625em;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{background:var(--swal2-background);color:inherit;justify-content:center;align-items:center}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){justify-content:center;margin:1em auto 0;display:flex}div:where(.swal2-container) div:where(.swal2-validation-message){background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);justify-content:center;align-items:center;margin:1em 0 0;padding:.625em;font-size:1em;font-weight:300;overflow:hidden}div:where(.swal2-container) div:where(.swal2-validation-message):before{content:"!";color:#fff;text-align:center;background-color:#f27474;border-radius:50%;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;font-weight:600;line-height:1.5em;display:inline-block}div:where(.swal2-container) .swal2-progress-steps{background:0 0;flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;color:#fff;text-align:center;background:#2778c4;border-radius:2em;flex-shrink:0;width:2em;height:2em;line-height:2em}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;background:#2778c4;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px}div:where(.swal2-icon){box-sizing:content-box;zoom:var(--swal2-icon-zoom);cursor:default;-webkit-user-select:none;user-select:none;border:.25em solid #000;border-radius:50%;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;font-family:inherit;line-height:5em;position:relative}div:where(.swal2-icon) .swal2-icon-content{align-items:center;font-size:3.75em;display:flex}div:where(.swal2-icon).swal2-error{color:#f27474;border-color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{flex-grow:1;position:relative}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{background-color:#f27474;border-radius:.125em;width:2.9375em;height:.3125em;display:block;position:absolute;top:2.3125em}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:.5s swal2-animate-error-icon}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:.5s swal2-animate-error-x-mark}div:where(.swal2-icon).swal2-warning{color:#f8bb86;border-color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:.5s swal2-animate-error-icon}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:.5s swal2-animate-i-mark}div:where(.swal2-icon).swal2-info{color:#3fc3ee;border-color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:.5s swal2-animate-error-icon}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:.8s swal2-animate-i-mark}div:where(.swal2-icon).swal2-question{color:#87adbd;border-color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:.5s swal2-animate-error-icon}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:.8s swal2-animate-question-mark}div:where(.swal2-icon).swal2-success{color:#a5dc86;border-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{border-radius:50%;width:3.75em;height:7.5em;position:absolute}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em;top:-.4375em;left:-2.0635em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0;top:-.6875em;left:1.875em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success .swal2-success-ring{z-index:2;box-sizing:content-box;border:.25em solid #a5dc864d;border-radius:50%;width:100%;height:100%;position:absolute;top:-.25em;left:-.25em}div:where(.swal2-icon).swal2-success .swal2-success-fix{z-index:1;width:.4375em;height:5.625em;position:absolute;top:.5em;left:1.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{z-index:2;background-color:#a5dc86;border-radius:.125em;height:.3125em;display:block;position:absolute}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{width:1.5625em;top:2.875em;left:.8125em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{width:2.9375em;top:2.375em;right:.5em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:.75s swal2-animate-success-line-tip}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:.75s swal2-animate-success-line-long}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:4.25s ease-in swal2-rotate-success-circular-line}[class^=swal2]{-webkit-tap-highlight-color:#0000}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{width:50px;height:50px;position:absolute;top:-9999px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{left:auto;right:0}.swal2-toast{box-sizing:border-box;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:auto;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;grid-area:1/1/4/4!important}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){text-align:initial;margin:.5em 1em;padding:0;font-size:1em}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-area:1/3/99/3;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){overflow:initial;text-align:initial;margin:.5em 1em;padding:0;font-size:1em}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-area:1/1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-area:1/1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{align-items:center;font-size:1.8em;font-weight:700;display:flex}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{width:1.375em;top:.875em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:.5em 0 0;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{border-radius:50%;width:1.6em;height:3em;position:absolute}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{transform-origin:2em 2em;border-radius:4em 0 0 4em;top:-.8em;left:-.5em;transform:rotate(-45deg)}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{transform-origin:0 1.5em;border-radius:0 4em 4em 0;top:-.25em;left:.9375em}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{width:.4375em;height:2.6875em;top:0;left:.4375em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{width:.75em;top:1.125em;left:.1875em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{width:1.375em;top:.9375em;right:.1875em}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:.75s swal2-toast-animate-success-line-tip}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:.75s swal2-toast-animate-success-line-long}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{opacity:0;transform:translateY(-50px)scale(.9)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes swal2-hide{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translateY(-50px)scale(.9)}}@keyframes swal2-animate-success-line-tip{0%{width:0;top:1.1875em;left:.0625em}54%{width:0;top:1.0625em;left:.125em}70%{width:3.125em;top:2.1875em;left:-.375em}84%{width:1.0625em;top:3em;left:1.3125em}to{width:1.5625em;top:2.8125em;left:.8125em}}@keyframes swal2-animate-success-line-long{0%{width:0;top:3.375em;right:2.875em}65%{width:0;top:3.375em;right:2.875em}84%{width:3.4375em;top:2.1875em;right:0}to{width:2.9375em;top:2.375em;right:.5em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{opacity:0;margin-top:1.625em;transform:scale(.4)}50%{opacity:0;margin-top:1.625em;transform:scale(.4)}80%{margin-top:-.375em;transform:scale(1.15)}to{opacity:1;margin-top:0;transform:scale(1)}}@keyframes swal2-animate-error-icon{0%{opacity:0;transform:rotateX(100deg)}to{opacity:1;transform:rotateX(0)}}@keyframes swal2-rotate-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}to{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{opacity:0;transform:rotate(45deg)}25%{opacity:.4;transform:rotate(-25deg)}50%{opacity:.8;transform:rotate(15deg)}75%{opacity:1;transform:rotate(-5deg)}to{opacity:1;transform:rotateX(0)}}@keyframes swal2-toast-show{0%{transform:translateY(-.625em)rotate(2deg)}33%{transform:translateY(0)rotate(-2deg)}66%{transform:translateY(.3125em)rotate(2deg)}to{transform:translateY(0)rotate(0)}}@keyframes swal2-toast-hide{to{opacity:0;transform:rotate(1deg)}}@keyframes swal2-toast-animate-success-line-tip{0%{width:0;top:.5625em;left:.0625em}54%{width:0;top:.125em;left:.125em}70%{width:1.625em;top:.625em;left:-.25em}84%{width:.5em;top:1.0625em;left:.75em}to{width:.75em;top:1.125em;left:.1875em}}@keyframes swal2-toast-animate-success-line-long{0%{width:0;top:1.625em;right:1.375em}65%{width:0;top:1.25em;right:.9375em}84%{width:1.125em;top:.9375em;right:0}to{width:1.375em;top:.9375em;right:.1875em}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--page);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}body,html,#root{background:var(--page);min-height:100%;margin:0}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.dashboard-shell{min-height:100vh}.sidebar{z-index:10;background:linear-gradient(#111827,#0b1221);border-right:1px solid #94a3b81f;width:280px;height:100vh;padding:32px 24px;position:fixed;top:0;left:0}.brand{margin-bottom:32px;font-size:1.25rem;font-weight:700}.sidebar nav{gap:12px;display:grid}.sidebar a{color:var(--secondary);border-radius:14px;padding:13px 16px;transition:background .18s;display:block}.sidebar a.active,.sidebar a:hover{color:var(--heading);background:#3b82f629}.dashboard-main{min-width:0;margin-left:280px;padding:24px 28px}.topbar{background:var(--surface);border-radius:24px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;padding:22px 28px;display:flex}.topbar-heading{align-items:center;gap:14px;min-width:0;display:flex}.topbar-copy{gap:6px;min-width:0;display:grid}.topbar-label{color:var(--text);font-size:1rem;font-weight:700}.topbar-subtext{color:var(--muted);margin-top:0}.topbar-right{align-items:center;gap:12px;min-width:0;display:flex}.mobile-nav-toggle,.mobile-nav{display:none}.status-chip{align-items:center;gap:8px;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px #94a3b81a}.status-chip,.profile-chip{border-radius:999px;padding:10px 14px;font-size:.95rem;font-weight:600}.status-chip.online{color:var(--positive);background:#22c55e29}.status-chip.offline{color:var(--negative);background:#ef444426}.profile-chip{color:var(--text);background:#94a3b829}.dashboard-content{gap:24px;display:grid}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.section-header h2{margin:0}.timestamp-chip{background:var(--page);color:var(--secondary);border:1px solid #94a3b824;border-radius:999px;padding:10px 14px;font-size:.9rem;font-weight:700}.cards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.actuator-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}@media (width<=1100px){.actuator-dashboard-grid{grid-template-columns:1fr}}.latest-activity-card strong{font-size:1.2rem}@media (width<=1200px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.cards-grid{grid-template-columns:1fr}}.prediction-grid{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.prediction-intro{color:var(--secondary);max-width:760px;margin-top:6px;line-height:1.7}.form-group{gap:10px;min-width:220px;display:grid}.form-group label{color:var(--secondary);font-size:.95rem}.form-group input,.form-group select{background:var(--page);width:100%;min-width:160px;color:var(--text);border:1px solid #94a3b829;border-radius:16px;padding:14px 16px}.form-group input:focus,.form-group select:focus{border-color:#3b82f6cc;outline:none}.prediction-card,.prediction-summary{background:var(--page);border:1px solid #94a3b81f;border-radius:24px;padding:24px}.prediction-card{gap:18px;display:grid}.prediction-controls{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.prediction-open-button{width:fit-content}.prediction-generate-button{justify-content:center;align-items:center;gap:10px;min-height:44px;display:inline-flex}.prediction-limit-status{color:var(--positive);background:#34d39914;border:1px solid #34d3993d;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.prediction-limit-status.limit-active{color:var(--warning);background:#fbbf2414;border-color:#fbbf244d}.prediction-limit-status span{color:inherit}.prediction-countdown{text-align:right;flex:none;gap:2px;display:grid}.prediction-countdown span{font-size:.78rem}.prediction-countdown strong{font-variant-numeric:tabular-nums}.prediction-message{color:var(--accent-text);background:#60a5fa14;border:1px solid #60a5fa42;border-radius:8px;margin-bottom:12px;padding:12px 14px;line-height:1.5}.prediction-message.limit-message{color:var(--warning);background:#fbbf2414;border-color:#fbbf244d}.button-spinner,.prediction-loading-spinner{border:3px solid #e2e8f059;border-top-color:var(--heading);border-radius:999px;animation:.8s linear infinite prediction-spin;display:inline-block}.button-spinner{border-width:2px;width:18px;height:18px}.prediction-loading-state{background:var(--surface);border:1px solid #94a3b824;border-radius:18px;align-items:center;gap:18px;padding:18px;display:flex}.prediction-loading-spinner{flex:none;width:44px;height:44px}.prediction-loading-state h4{margin:0 0 6px}.prediction-loading-state p{margin:0}@keyframes prediction-spin{to{transform:rotate(360deg)}}.chart-frame{background:var(--surface);border:1px solid #94a3b814;border-radius:22px;gap:18px;min-height:460px;padding:20px;display:grid}.chart-header-row,.prediction-chart-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.chart-header-row h3,.chart-header-row p,.reading-summary-panel h4,.chart-metrics-panel h4{margin:0}.chart-header-row{flex-wrap:wrap}.chart-header-row>:first-child{flex:340px;min-width:0}.confidence-pill{color:var(--heading);background:#3b82f61f;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:inline-flex}.legend-toggle-row{flex:none;grid-template-columns:repeat(4,max-content);gap:10px;display:grid}.series-toggle{white-space:nowrap;background:var(--page);min-height:44px;color:var(--secondary);cursor:pointer;border:1px solid #94a3b829;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:10px 14px;transition:background .2s,color .2s;display:inline-flex}.series-toggle>span{flex-shrink:0}.series-toggle.active{color:var(--heading);background:#3b82f62e}.sensor-chart-wrapper{position:relative}.sensor-chart{background:var(--page);border-radius:18px;width:100%;height:auto;min-height:420px}.chart-axis-line{stroke:#94a3b86b;stroke-width:1.4px}.chart-axis-label{fill:var(--muted);font-size:.875rem;font-weight:700}.chart-tooltip{background:var(--page);max-width:260px;box-shadow:0 18px 40px var(--page);color:var(--text);z-index:2;border:1px solid #94a3b82e;border-radius:18px;padding:14px 16px;position:absolute;top:18px;right:18px}.chart-tooltip p{color:var(--muted);margin:0 0 10px;font-size:.9rem}.tooltip-row{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.tooltip-row:last-child{margin-bottom:0}.prediction-chart-footer{flex-wrap:wrap}.chart-metrics-panel,.reading-summary-panel{background:var(--page);border:1px solid #94a3b81a;border-radius:18px;flex:320px;min-width:280px;padding:18px}.chart-metrics-panel ul{color:var(--secondary);margin:12px 0 0;padding-left:1.15rem}.chart-metrics-panel li,.reading-summary-panel p{margin:8px 0}.reading-row{gap:12px;display:grid}.reading-chip{background:var(--surface);border-radius:16px;gap:4px;padding:14px 16px;display:grid}.reading-chip span{color:var(--muted)}.reading-chip strong{color:var(--heading)}.prediction-markers{color:var(--secondary);gap:12px;display:grid}.marker-list{flex-wrap:wrap;gap:8px;display:flex}.marker-list span{border:1px solid #0000;border-radius:999px;align-items:center;padding:8px 12px;font-size:.9rem;display:inline-flex}.error-box{color:var(--negative);background:#f871711f;border:1px solid #f871713d;border-radius:18px;padding:16px}.prediction-result-row{border-bottom:1px solid #94a3b814;justify-content:space-between;gap:14px;padding:14px 0;display:flex}.prediction-result-row:last-child{border-bottom:none}.prediction-result-section{margin-top:18px}.prediction-result-section h4{margin-bottom:8px}.prediction-result-loading{gap:12px;display:grid}.skeleton-line{background:#94a3b829;border-radius:999px;width:100%;height:16px}.skeleton-line.short{width:65%}.prediction-skeleton{gap:12px;display:grid}.skeleton-bar{background:#94a3b829;border-radius:14px;width:100%;height:22px}.prediction-summary h3{margin:0 0 12px}.prediction-summary p{color:var(--secondary);margin:0 0 12px}.prediction-modal-backdrop{z-index:1000;background:#020617c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.prediction-modal{background:var(--page);border:1px solid #94a3b82e;border-radius:24px;width:min(760px,100%);max-height:min(820px,100vh - 48px);padding:24px;overflow-y:auto;box-shadow:0 24px 80px #02061773}.prediction-modal-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.prediction-modal-header h3{margin:0}.prediction-modal-close{width:40px;height:40px;color:var(--text);cursor:pointer;background:#94a3b829;border:none;border-radius:999px;font-size:1.4rem;line-height:1}.prediction-modal-close:hover{background:#94a3b842}.prediction-modal p{color:var(--secondary);line-height:1.65}@media (width<=900px){.prediction-limit-status{flex-direction:column;align-items:flex-start}.prediction-countdown{text-align:left}.sensor-chart{min-height:320px}}.status-card{background:var(--surface);border:1px solid #94a3b814;border-radius:22px;padding:22px}.card-icon{font-size:1.8rem}.status-card h3{margin:16px 0 8px}.card-value{align-items:baseline;gap:10px;font-size:2rem;font-weight:700;display:flex}.card-value span{color:var(--muted);font-size:1rem}.card-status{border-radius:999px;width:fit-content;margin-top:14px;padding:8px 12px;font-size:.9rem;font-weight:700;display:inline-flex}.card-action{color:var(--accent-text);background:#3b82f624;border-radius:999px;width:fit-content;margin-top:10px;padding:8px 12px;font-size:.85rem;font-weight:600}.card-status.optimal{color:var(--positive);background:#10b98129}.card-status.high{color:var(--negative);background:#f8717129}.card-status.low{color:var(--accent-text);background:#3b82f629}.card-description{color:var(--muted);margin-top:12px;font-size:.8rem;font-style:italic}.card-status.unavailable{color:var(--negative);background:#ef444424}.status-optimal{color:var(--positive);font-weight:600}.status-high{color:var(--negative);font-weight:600}.status-low{color:var(--accent-text);font-weight:600}.status-unknown{color:var(--muted);font-weight:600}.card-actions{gap:10px;margin-top:18px;display:flex}.card-actions button,.primary-button,.secondary-button{cursor:pointer;color:var(--heading);background:#3b82f629;border:none;border-radius:12px;padding:10px 16px;transition:background .2s}.card-actions button:hover,.primary-button:hover,.secondary-button:hover{background:#3b82f647}.secondary-button{background:#94a3b829}.control-panel,.info-panels{gap:18px;display:grid}.panel-header h3,.info-box h4{margin:0 0 8px}.panel-header p,.info-box p{color:var(--secondary);margin:0}.device-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.device-card{background:var(--page);border:1px solid #94a3b814;border-radius:22px;gap:16px;padding:22px;display:grid}.device-card span{color:var(--muted)}.device-card strong{font-size:1.8rem;display:block}.info-panels{grid-template-columns:1fr 1fr}.info-box{background:var(--surface);border:1px solid #94a3b814;border-radius:22px;padding:22px}.auth-page{background:radial-gradient(circle at top, #3b82f629, transparent 24%), linear-gradient(180deg, #020617 0%, var(--page) 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--page);border:1px solid #94a3b81f;border-radius:28px;gap:20px;width:min(480px,100%);padding:36px;display:grid}.auth-card h1{margin:0;font-size:1.75rem}.auth-subtitle{color:var(--muted);margin:0}.auth-form{gap:16px;display:grid}.auth-form label{color:var(--secondary);gap:8px;font-size:.95rem;display:grid}.auth-form input{background:var(--page);width:100%;color:var(--text);border:1px solid #94a3b829;border-radius:14px;padding:12px 14px}.auth-layout{grid-template-columns:minmax(260px,1.1fr) minmax(360px,.9fr);gap:32px;width:min(1040px,100%);display:grid}.auth-overview{background:var(--page);text-align:center;border:1px solid #94a3b81f;border-radius:28px;align-content:center;gap:24px;min-height:420px;padding:48px 36px;display:grid}.auth-overview>div{gap:20px;display:grid}.auth-overview h2{color:var(--heading);margin:0;font-size:2rem;font-weight:700;line-height:1.3}.auth-overview p{color:var(--secondary);margin:0;font-size:1rem;line-height:1.6}.auth-overview-label{color:#60a5fa;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;display:inline-flex}.auth-main-title{color:var(--text);letter-spacing:-.02em;margin:0;font-size:2.2rem;font-weight:700}.auth-field-error{color:var(--negative);margin-top:8px;font-size:.9rem;display:block}.auth-footer-right{justify-content:flex-end}.auth-inline-link{justify-content:flex-end;margin-top:-6px;font-size:.92rem;display:flex}@media (width<=920px){.auth-layout{grid-template-columns:1fr}.auth-overview{min-height:auto}.dashboard-shell{grid-template-columns:1fr}.sidebar{display:none}.dashboard-main{margin-left:0;padding:16px}.topbar{border-radius:8px;margin-bottom:12px;padding:18px}.mobile-nav-toggle{background:var(--page);cursor:pointer;border:1px solid #94a3b833;border-radius:8px;flex-direction:column;flex:0 0 42px;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;padding:0;display:inline-flex}.mobile-nav-toggle span{background:var(--text);border-radius:2px;width:18px;height:2px}.mobile-nav-toggle:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.mobile-nav.open{background:var(--surface);border:1px solid #94a3b824;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px;padding:10px;display:grid}.mobile-nav a{min-width:0;color:var(--secondary);text-align:center;border-radius:6px;padding:12px}.mobile-nav a.active,.mobile-nav a:hover{color:var(--heading);background:#3b82f62e;text-decoration:none}.cards-grid,.device-cards,.info-panels{grid-template-columns:1fr}}@media (width<=640px){.topbar{flex-direction:column;align-items:stretch;gap:14px;padding:14px}.topbar-right{justify-content:space-between;width:100%}.profile-chip{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:65%;overflow:hidden}.dashboard-content{gap:18px}.section-header{align-items:stretch}.section-header>div:first-child{width:100%}.timestamp-chip{border-radius:8px;width:100%;line-height:1.45}.sensor-health-banner{margin-bottom:0;padding:14px}}.logs-panel{overflow-x:auto}.daily-report-section{background:var(--page);border:1px solid #94a3b824;border-radius:8px;margin-bottom:24px;padding:22px}.daily-report-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.daily-report-header h3{margin:0 0 6px}.daily-report-header p,.daily-report-empty,.daily-report-issues p,.daily-report-metric small,.daily-report-summary span,.daily-report-issues span{color:var(--muted)}.daily-report-card{gap:16px;display:grid}.daily-report-history{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.daily-report-history label{color:var(--secondary);font-size:.9rem;font-weight:600}.daily-report-history select{min-width:220px;color:var(--text);background:var(--surface);border:1px solid #94a3b833;border-radius:8px;padding:9px 12px}.daily-report-history span{color:var(--muted);font-size:.82rem}.batch-history-groups{gap:14px;display:grid}.batch-history-group{background:var(--surface);border:1px solid #94a3b824;border-radius:8px;overflow:hidden}.batch-history-heading{border-bottom:1px solid #94a3b81f;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.batch-history-heading h4{color:var(--text);margin:0}.batch-history-heading span,.batch-history-entry summary span:nth-child(n+2){color:var(--muted);font-size:.84rem}.batch-history-entry{border-bottom:1px solid #94a3b81a}.batch-history-entry:last-child{border-bottom:0}.batch-history-entry summary{cursor:pointer;grid-template-columns:minmax(110px,1fr) minmax(100px,.8fr) minmax(210px,1.4fr);align-items:center;gap:12px;padding:13px 16px;list-style-position:inside;display:grid}.batch-history-entry summary span:first-of-type{color:var(--text);font-weight:600}.batch-history-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:14px 16px 8px;display:grid}.batch-history-metrics>div{min-width:0}.batch-history-metrics dt{color:var(--muted);margin-bottom:4px;font-size:.8rem}.batch-history-metrics dd{color:var(--text);margin:0;font-weight:600}.batch-history-metrics small{color:var(--muted);margin-top:3px;font-size:.76rem;font-weight:400;display:block}.batch-history-issues{color:var(--muted);margin:0;padding:8px 16px 14px;line-height:1.5}.batch-history-issues strong{color:var(--secondary)}.daily-report-summary,.daily-report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.daily-report-summary>div,.daily-report-metric,.daily-report-issues{background:var(--surface);border:1px solid #94a3b81f;border-radius:8px;padding:16px}.daily-report-summary span,.daily-report-metric span,.daily-report-issues span{margin-bottom:8px;font-size:.82rem;display:block}.daily-report-summary strong,.daily-report-metric strong{color:var(--text)}.daily-report-metric strong{margin-bottom:6px;font-size:1.35rem;display:block}.daily-report-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.daily-report-issues p{margin:0;line-height:1.55}.daily-report-empty{text-align:center;border:1px dashed #94a3b82e;border-radius:8px;padding:20px}.logs-section-title{margin:24px 0 12px;font-size:1.1rem}.logs-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.logs-filter,.logs-search{flex-direction:column;gap:8px;min-width:180px;display:flex}.logs-filter label,.logs-search label{color:var(--muted);font-size:.85rem}.logs-filter select,.logs-search input{background:var(--page);color:var(--text);border:1px solid #94a3b82e;border-radius:14px;padding:12px 14px}.logs-table{border-collapse:collapse;background:var(--page);border:1px solid #94a3b81f;border-radius:20px;width:100%;overflow:hidden}.status-normal,.card-status.normal{color:var(--positive);background:#10b9811f}.logs-table th,.logs-table td{text-align:left;border-bottom:1px solid #94a3b814;padding:18px 16px}.logs-table th{background:var(--surface);color:var(--secondary);font-weight:700}.logs-table td{color:var(--text)}.logs-table .empty-state{text-align:center;color:var(--muted);padding:28px 0}.logs-pagination{color:var(--secondary);justify-content:space-between;align-items:center;gap:16px;padding:14px 0 8px;display:flex}.logs-page-summary{color:var(--muted);font-size:.92rem}.logs-page-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.logs-page-controls label{color:var(--muted);align-items:center;gap:8px;font-size:.92rem;display:inline-flex}.logs-page-controls select,.logs-page-controls button{background:var(--page);color:var(--text);border:1px solid #94a3b82e;border-radius:12px}.logs-page-controls select{padding:8px 10px}.logs-page-controls button{cursor:pointer;padding:9px 12px}.logs-page-controls button:hover:not(:disabled){background:#3b82f633}.logs-page-controls button:disabled{cursor:not-allowed;opacity:.45}.settings-layout{grid-template-columns:220px 1fr;gap:18px;display:grid}.settings-sidebar{background:var(--page);border:1px solid #94a3b81f;border-radius:22px;gap:12px;padding:22px;display:grid}.settings-sidebar button{text-align:left;background:var(--surface);width:100%;color:var(--secondary);cursor:pointer;border:none;border-radius:16px;padding:14px 16px}.settings-sidebar button.active,.settings-sidebar button:hover{color:var(--heading);background:#3b82f62e}.settings-content{gap:18px;display:grid}.threshold-form{gap:18px;margin-top:20px;display:grid}.threshold-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=760px){.threshold-grid{grid-template-columns:1fr}}.threshold-form label{color:var(--secondary);gap:10px;display:grid}.threshold-form input{background:var(--page);width:100%;color:var(--text);border:1px solid #94a3b829;border-radius:14px;padding:12px 14px}.threshold-password-overlay{z-index:1000;background:#020617c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.threshold-password-card{background:var(--page);border:1px solid #94a3b82e;border-radius:20px;gap:16px;width:min(440px,100%);padding:24px;display:grid;box-shadow:0 24px 80px #02061773}.threshold-password-card h3,.threshold-password-card p{margin:0}.threshold-password-card p{color:var(--secondary);line-height:1.6}.threshold-password-card label{color:var(--secondary);gap:8px;display:grid}.threshold-password-card input{background:var(--page);width:100%;color:var(--text);border:1px solid #94a3b829;border-radius:14px;padding:12px 14px}.threshold-password-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.note-text{color:var(--muted);margin:0}.placeholder-text{color:var(--muted);margin:12px 0 0}@media (width<=900px){.settings-layout{grid-template-columns:1fr}}.full-screen .dashboard-main{margin-left:0}.full-screen .sidebar{display:none}.settings-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.back-button{color:var(--text);cursor:pointer;background:#94a3b81f;border:none;border-radius:14px;padding:12px 16px}.settings-tab-row{flex-wrap:wrap;gap:10px;display:flex}.settings-tab-row button{background:var(--surface);color:var(--secondary);cursor:pointer;border:none;border-radius:14px;padding:12px 18px}.settings-tab-row button.active,.settings-tab-row button:hover{color:var(--heading);background:#3b82f62e}.settings-content-full{gap:18px;display:grid}.settings-full-box{flex-direction:column;justify-content:space-between;min-height:320px;display:flex}.logout-button{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:14px;width:fit-content;margin-top:28px;padding:12px 18px}@media (width<=768px){.settings-top-row{flex-direction:column;align-items:stretch}.settings-tab-row{width:100%}}.settings-page-wrapper{gap:18px;display:grid}.settings-header-row{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.settings-header-left{align-items:center;gap:16px;display:flex}.settings-main-title{letter-spacing:-.03em;margin:0;font-size:1.7rem}.settings-screen{grid-template-columns:240px 1fr;align-items:start;gap:18px;display:grid}.settings-inner-sidebar{background:var(--page);border:1px solid #94a3b81f;border-radius:22px;align-self:start;gap:12px;padding:22px;display:grid}.session-warning-overlay{background:var(--page);z-index:1000;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.session-warning-card{background:var(--page);width:min(520px,100%);box-shadow:0 24px 80px var(--page);border:1px solid #94a3b82e;border-radius:24px;padding:32px}.session-warning-card h3{color:var(--heading);margin:0 0 12px;font-size:1.45rem}.session-warning-card p{color:var(--secondary);margin:0 0 24px;line-height:1.7}.session-warning-actions{flex-wrap:wrap;gap:12px;display:flex}.button{cursor:pointer;border:none;border-radius:14px;padding:12px 20px;font-weight:600}.button-secondary{color:var(--text);background:#3b82f624}.button-secondary:hover{background:#3b82f647}.button-danger{color:#fff;background:#ef4444}.button-danger:hover{background:#dc2626}.settings-inner-sidebar button{text-align:left;background:var(--surface);width:100%;color:var(--secondary);cursor:pointer;border:none;border-radius:16px;padding:16px 18px}.settings-inner-sidebar button.active,.settings-inner-sidebar button:hover{color:var(--heading);background:#3b82f62e}.settings-panel-content{gap:18px;display:grid}.settings-me-box{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:18px;width:100%;display:grid}.me-content{gap:18px;display:grid}.user-details{gap:14px;display:grid}.detail-row{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.detail-row .label{color:var(--muted);font-weight:600}.detail-row .value{color:var(--heading)}.account-security-panel{border-top:1px solid #94a3b824;gap:12px;padding-top:18px;display:grid}.account-security-panel h4{margin:0}.account-security-panel .form-message{margin-bottom:0}.account-action-button{width:fit-content}.account-action-row{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.actuator-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.actuator-card{background:var(--page);border:1px solid #94a3b81f;border-radius:20px;gap:10px;padding:18px;display:grid}.actuator-title{font-weight:700}.actuator-badge{border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:8px 14px;font-size:.85rem;font-weight:700;display:inline-flex}.actuator-badge.active{color:var(--positive);background:#22c55e29}.actuator-badge.inactive{color:var(--secondary);background:#94a3b829}.logout-button{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:14px;flex:none;width:fit-content;margin-top:0;padding:12px 18px}.logout-button:hover{background:#dc2626}@media (width<=900px){.settings-screen{grid-template-columns:1fr}}.form-message{border-radius:12px;width:100%;margin-bottom:1rem;padding:.8rem 1rem;font-size:.9rem;font-weight:700}.form-message.error{color:#b91c1c;background:#ef44441f;border:1px solid #ef444459}.form-message.success{color:#16a34a;background:#22c55e1f;border:1px solid #22c55e59}.status-na{color:#f59e0b;font-weight:700}.dashboard-alerts{gap:10px;display:grid}.dashboard-alerts:empty{display:none}.system-alert{color:var(--negative);background:#7f1d1d38;border:1px solid #ef4444;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.system-alert-icon{color:#fff;background:#ef4444;border-radius:50%;place-items:center;width:32px;height:32px;font-size:1.125rem;font-weight:800;display:grid}.system-alert-copy{gap:3px;display:grid}.system-alert-copy strong{font-size:.95rem}.system-alert-copy span{color:var(--negative);font-size:.84rem}.system-alert-action{color:#fff;white-space:nowrap;border:1px solid #fecaca80;border-radius:6px;padding:9px 12px;font-size:.84rem;font-weight:700}.system-alert-action:hover{background:#fee2e21f;text-decoration:none}.notification-modal-backdrop{z-index:1200;background:#020617b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.notification-modal{text-align:center;background:var(--heading);width:min(420px,100%);color:var(--page);border:1px solid #94a3b852;border-radius:18px;padding:28px;box-shadow:0 24px 80px #02061761}.notification-modal-icon{color:#fff;border-radius:999px;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:16px;font-size:.95rem;font-weight:800;display:inline-flex}.notification-modal-icon.success,.notification-modal-button.success{background:#16a34a}.notification-modal-icon.error,.notification-modal-button.error{background:#dc2626}.notification-modal-icon.info,.notification-modal-button.info{background:#2563eb}.notification-modal h2{color:var(--page);margin:0;font-size:1.35rem}.notification-modal p{color:#334155;margin:12px 0 22px;line-height:1.55}.notification-modal-button{color:#fff;cursor:pointer;border:none;border-radius:12px;min-width:112px;padding:11px 20px;font-weight:800}.save-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:12px;padding:10px 16px;font-size:.95rem;font-weight:700;transition:background .2s}.save-button:hover{background:#1d4ed8}.primary-button:disabled{opacity:.7;cursor:not-allowed}.password-input{width:100%;position:relative}.password-input input{padding-right:48px}.password-input-toggle{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-input-toggle:hover{color:var(--text);background:#94a3b81f}.password-input-toggle:focus-visible{outline-offset:2px;outline:2px solid #3b82f6d9}.password-input-toggle:disabled{cursor:not-allowed;opacity:.55}.password-input-icon{width:20px;height:20px}.latest-activity-inline{background:var(--page);color:var(--secondary);border-radius:16px;margin-top:16px;padding:14px 16px}.session-recovery{text-align:center;box-sizing:border-box;width:min(480px,100%);padding:24px}.sensor-health-banner{background:var(--surface);border:1px solid #334155;gap:14px;margin-bottom:20px;padding:16px 18px;display:grid}.sensor-health-heading{gap:3px;display:grid}.sensor-health-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.sensor-health-item{background:var(--inset);border:1px solid #2b3a51;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.sensor-health-indicator{background:var(--muted);border-radius:50%;width:12px;height:12px}.sensor-health-item.working .sensor-health-indicator{background:#22c55e}.sensor-health-item.waiting .sensor-health-indicator{background:#f59e0b}.sensor-health-item.down .sensor-health-indicator,.sensor-health-item.error .sensor-health-indicator{background:#ef4444}@media (width<=640px){.system-alert{grid-template-columns:auto minmax(0,1fr)}.system-alert-action{text-align:center;grid-column:1/-1;width:100%}}.sensor-health-banner span,.sensor-health-last-reading{color:var(--muted);font-size:.78rem}.sensor-health-banner strong{color:var(--text);margin-top:2px;display:block}@media (width<=900px){.sensor-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.sensor-health-banner{margin-bottom:0;padding:14px}.sensor-health-grid{grid-template-columns:1fr}}.session-recovery h1{margin:0 0 16px;font-size:1.5rem}.session-recovery p{margin:0 0 20px;font-weight:400;line-height:1.6}.app-loading{background:var(--page);min-height:100vh;color:var(--text);place-items:center;font-weight:700;display:grid}.controls-section-stack,.active-batch-section{gap:18px;display:grid}.active-batch-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.active-batch-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.active-batch-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.active-batch-summary div{background:var(--page);border:1px solid #94a3b81a;border-radius:14px;padding:14px}.active-batch-summary span,.batch-select-button span{color:var(--muted);font-size:.86rem;display:block}.active-batch-summary strong,.batch-select-button strong{color:var(--heading)}.batch-form{gap:16px;display:grid}.batch-form-header{gap:6px;display:grid}.batch-form-header h4,.batch-form-header p{margin:0}.batch-form-header p{color:var(--muted)}.batch-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.batch-form label{color:var(--secondary);gap:8px;font-size:.95rem;display:grid}.batch-form input,.batch-form select,.batch-form textarea{background:var(--page);width:100%;min-width:0;color:var(--text);border:1px solid #94a3b829;border-radius:14px;padding:12px 14px}.batch-form textarea{resize:vertical;min-height:96px}.batch-form input:disabled,.batch-form select:disabled,.batch-form textarea:disabled{cursor:not-allowed;opacity:.72}.batch-notes-field{grid-column:1/-1}.batch-action-row,.batch-list-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.batch-list{gap:10px;display:grid}.batch-list-row{background:var(--page);border:1px solid #94a3b81a;border-radius:14px;padding:12px}.batch-list-row.selected{border-color:#60a5fa8c}.batch-select-button{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;flex:240px;gap:4px;padding:4px;display:grid}.batch-select-button:disabled{cursor:not-allowed;opacity:.72}.batch-status-pill{width:fit-content;color:var(--secondary);background:#94a3b829;border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.batch-status-pill.active{color:var(--positive);background:#22c55e29}@media (width<=1050px){.active-batch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.active-batch-summary,.batch-form-grid{grid-template-columns:1fr}}.toast-container{z-index:1000;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast{color:#fff;border-radius:8px;justify-content:space-between;align-items:center;min-width:300px;max-width:500px;padding:12px 16px;font-size:.875rem;font-weight:500;animation:.3s ease-out toast-slide-in;display:flex;box-shadow:0 4px 12px #0000004d}.toast-success{background:#10b981}.toast-error{background:#ef4444}.toast-info{background:#3b82f6}.toast-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;margin-left:12px;font-size:1.125rem}.toast-close:hover{opacity:1}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.error-page{background:radial-gradient(circle at top, #3b82f629, transparent 26%), linear-gradient(180deg, #020617 0%, var(--page) 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.error-panel{background:var(--page);border:1px solid #94a3b829;border-radius:24px;width:min(680px,100%);padding:36px;box-shadow:0 24px 80px #02061761}.error-code{width:fit-content;color:var(--accent-text);background:#3b82f629;border-radius:999px;margin-bottom:18px;padding:8px 12px;font-weight:800}.error-panel h1{color:var(--heading);margin:0;font-size:2rem}.error-panel p{color:var(--secondary);margin:14px 0 0;line-height:1.65}.error-hint{color:var(--muted)}.error-details{color:var(--secondary);background:#02061785;border:1px solid #94a3b81f;border-radius:14px;margin-top:18px;padding:14px}.error-details summary{cursor:pointer;font-weight:700}.error-details pre{white-space:pre-wrap;word-break:break-word;color:var(--negative);margin:12px 0 0}.error-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.error-link-button{align-items:center;text-decoration:none;display:inline-flex}@media (width<=640px){.daily-report-header,.daily-report-summary,.daily-report-grid{grid-template-columns:1fr}.daily-report-header{display:grid}.batch-history-heading{flex-direction:column;align-items:flex-start}.batch-history-entry summary{grid-template-columns:1fr;gap:5px;padding-left:10px}.batch-history-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:12px;padding-right:12px}.auth-page{min-height:100dvh;padding:12px 12px max(24px, env(safe-area-inset-bottom));align-items:flex-start}.auth-layout{gap:12px;width:100%;display:grid}.auth-overview{border-radius:8px;gap:12px;min-height:auto;padding:24px 18px;display:grid}.auth-overview>div{gap:12px}.auth-main-title{font-size:1.5rem}.auth-overview h2{font-size:1.25rem}.auth-overview p{font-size:.9rem;line-height:1.5}.auth-card{border-radius:8px;gap:18px;width:100%;padding:24px 18px}.auth-form input{scroll-margin-block:20vh 45vh}.auth-keyboard-open .auth-page{height:var(--auth-visible-height,100dvh);min-height:var(--auth-visible-height,100dvh);overflow-y:auto}.auth-keyboard-open .auth-layout{display:block}.auth-keyboard-open .auth-overview{display:none}.auth-keyboard-open .auth-card{gap:14px;padding:16px 18px}.prediction-card,.prediction-summary,.chart-frame{border-radius:8px;padding:16px}.prediction-controls,.prediction-limit-status,.chart-header-row,.prediction-chart-footer{flex-direction:column;align-items:stretch}.prediction-controls .form-group,.prediction-controls select,.prediction-generate-button,.chart-metrics-panel,.reading-summary-panel{width:100%;min-width:0}.prediction-countdown{text-align:left}.legend-toggle-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.chart-header-row>:first-child{flex:0 auto}.series-toggle{justify-content:flex-start;min-width:0;padding:10px}.sensor-chart{min-height:280px}.active-batch-header{flex-direction:column}.active-batch-header-actions{justify-content:flex-start;width:100%}.logs-toolbar,.logs-filter,.logs-search{width:100%}.logs-panel{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;max-width:100%;padding-bottom:8px}.toast-container{left:16px;right:16px}.toast{width:100%;min-width:0;max-width:none}.error-page{padding:16px}.error-panel{border-radius:8px;padding:24px 18px}}@media (width<=420px){.series-toggle{gap:6px;padding:8px 6px;font-size:.75rem}.actuator-status-grid{grid-template-columns:1fr}}:root{--page:#10191d;--surface:#1d2b32;--inset:#162228;--text:#eff4f6;--heading:#f8fafc;--muted:#b7c7cf;--secondary:#d0dce2;--link:#7dd3fc;--accent-text:#bfdbfe;--positive:#a7f3d0;--negative:#fecaca;--warning:#fef3c7}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#eeede8;--surface:#faf9f6;--inset:#e5e4df;--text:#1e2c36;--heading:#10212c;--muted:#425462;--secondary:#304451;--link:#075985;--accent-text:#174b83;--positive:#12603b;--negative:#9f1239;--warning:#744500}:root[data-font-size=large]{font-size:18px}:root[data-font-size=extra-large]{font-size:20px}.theme-toggle{width:44px;height:44px;color:var(--text);background:var(--inset);cursor:pointer;border:1px solid #718096;border-radius:8px;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:focus-visible,.prediction-details summary:focus-visible{outline-offset:3px;outline:3px solid #0ea5e9}.appearance-settings{gap:16px;max-width:600px;display:grid}.appearance-settings h2,.appearance-settings p{margin:0}.appearance-settings select{font:inherit;color:var(--text);background:var(--page);border:1px solid #718096;border-radius:6px;padding:12px}.appearance-settings button{justify-self:start}.font-preview{padding-block:20px}.prediction-details{border-top:1px solid #718096;padding-block:16px}.prediction-details summary{cursor:pointer;font-weight:600}.swal2-popup.prediction-success-alert{font:inherit;border:1px solid #718096;border-radius:8px}.prediction-success-alert .swal2-title{color:var(--heading);font-size:1.375rem}.prediction-success-alert .swal2-html-container{font-size:1rem;line-height:1.6}.prediction-success-alert .swal2-confirm{font-size:1rem}.prediction-success-alert .swal2-icon.swal2-success{color:var(--positive);border-color:var(--positive)}.ai-warning{color:var(--warning);background:#b4821e1f;border:1px solid #b88a2b;border-left-width:4px;border-radius:6px;align-items:flex-start;gap:12px;margin-block:16px;padding:16px;display:flex}.ai-warning svg{flex:0 0 24px}.ai-warning p{margin:6px 0 0;font-size:.9rem;line-height:1.6}.terms-login-notice{color:var(--secondary);margin:0;font-size:.875rem;line-height:1.6}.terms-link{color:var(--link);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.terms-dialog{width:min(680px,100% - 32px);max-height:90dvh;color:var(--text);background:var(--surface);border:1px solid #718096;border-radius:8px;padding:24px}.terms-dialog[open]{grid-template-rows:auto minmax(0,1fr) auto;gap:16px;display:grid}.terms-dialog::backdrop{background:#020617b3}.terms-dialog-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.terms-dialog-header h2{margin:0;font-size:1.25rem}.terms-dialog-body{line-height:1.65;overflow-y:auto}.terms-dialog-body h3{margin-bottom:4px;font-size:1rem}.terms-dialog-body p{margin:0 0 16px}.terms-dialog>.primary-button{justify-self:end}.terms-dialog>.primary-button,:root[data-theme=light] .auth-form>.primary-button,:root[data-theme=light] .auth-form>div .primary-button{color:#fff;background:#277454}.prediction-disclaimer{color:var(--muted);font-size:.875rem}.prediction-result-row{flex-wrap:wrap;gap:16px}.prediction-result-row span{overflow-wrap:anywhere}.notification-modal{background:var(--surface);color:var(--text)}.notification-modal h2{color:var(--heading)}.notification-modal p{color:var(--secondary)}.topbar-right{flex-wrap:wrap}:root[data-theme=light] :is(.auth-page,.error-page){background:var(--page)}:root[data-theme=light] .sidebar{background:#f5f4ef;border-color:#b9bdb8}:root[data-theme=light] body{font-weight:450}:root[data-theme=light] .topbar{background:var(--surface);border:1px solid #afc3ba;border-top:3px solid #277454;border-radius:8px}:root[data-theme=light] .sidebar a{color:#304451;font-weight:500}:root[data-theme=light] .sidebar a.active{color:#164c35;background:#d8eade;border-radius:6px;font-weight:700;box-shadow:inset 4px 0 #277454}:root[data-theme=light] .sidebar a:hover{color:#164c35;background:#e2ebe7}:root[data-theme=light] :is(.status-card,.actuator-card,.prediction-card,.logs-panel,.settings-screen,.chart-frame){background:var(--surface);border:1px solid #b0bec9;border-radius:8px}:root[data-theme=light] .status-card{border-top:4px solid #647987;box-shadow:0 2px 3px #172b380f}:root[data-theme=light] .status-card.optimal{border-top-color:#21845c}:root[data-theme=light] .status-card.low{border-top-color:#326ea8}:root[data-theme=light] :is(.status-card.high,.status-card.unavailable){border-top-color:#b94357}:root[data-theme=light] .card-icon{color:#425462}:root[data-theme=light] .card-description{color:#425462;font-style:normal;line-height:1.55}:root[data-theme=light] .card-status{border:1px solid}:root[data-theme=light] .card-status.optimal{color:#135235;background:#d5efdf;border-color:#6aaa85}:root[data-theme=light] .card-status.low{color:#194b7c;background:#dceafa;border-color:#82a9d0}:root[data-theme=light] :is(.card-status.high,.card-status.unavailable){color:#8c2139;background:#fbe0e4;border-color:#ce8b97}:root[data-theme=light] .sensor-health-banner{border:0;background:0 0;border-block:1px solid #afbdc7;padding-inline:0}:root[data-theme=light] .sensor-health-item{background:var(--surface);border-color:#a6bdb0;border-radius:6px}:root[data-theme=light] .sensor-health-item.working .sensor-health-indicator{background:#15834b}:root[data-theme=light] .sensor-health-heading strong{color:#10212c}:root[data-theme=light] :is(.profile-chip,.reading-chip,.latest-reading-chip,.actuator-badge.inactive){color:#293e4d;background:#e1e2dc;border:1px solid #aebdc8}:root[data-theme=light] .status-chip.online{background:#d4efdd;border:1px solid #85b399}:root[data-theme=light] .theme-toggle{background:var(--surface);border-color:#6f8798}:root[data-theme=light] :is(.logs-table th,.settings-inner-sidebar){background:var(--inset)}:root[data-theme=light] :is(.logs-table td,.prediction-result-row){border-color:#bdcbd4}:root[data-theme=light] :is(input,select,textarea){background:var(--surface);border-color:#7c929f}:root[data-theme=light] :is(.secondary-button,.back-button){background:var(--inset);color:#233d4d;border:1px solid #9bafbc}:root[data-theme=light] :is(.status-chip.online,.status-pill.normal,.status-badge.normal,.success-box){color:#12603b}:root[data-theme=light] :is(.status-chip.offline,.error-box,.status-pill.high,.status-badge.high){color:#9f1239}:root[data-theme=light] :is(.prediction-message,.prediction-limit-status,.batch-notice){color:#344653}:root[data-theme=light] :is(.limit-message,.limit-active){color:#744500}:root[data-theme=light] :is(.primary-button,.danger-button){color:#fff}:root[data-theme=light] .sensor-chart text{fill:#52616e}:root[data-theme=light] :is(input,select,textarea){color:#24313c}:root[data-theme=light] input::placeholder{color:#52616e}@media (width<=600px){.topbar-right{gap:8px}.profile-chip{overflow-wrap:anywhere;max-width:100%}.prediction-modal{max-width:100%}}:root{--line:#526975;--accent:#6bdbb0;--accent-fill:#28513f;--row-hover:#28414a}:root[data-theme=light]{--line:#9caeb4;--accent:#206544;--accent-fill:#d8eade;--row-hover:#e4ebe5}body{line-height:1.5}button,input,select,textarea{letter-spacing:0}:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.sidebar{background:var(--inset);border-right:1px solid var(--line)}.brand{align-items:flex-start;gap:12px;line-height:1.4;display:flex}.brand svg{color:var(--accent);flex:0 0 28px}.sidebar nav a,.mobile-nav a{border-radius:6px;align-items:center;gap:12px;font-weight:500;display:flex}.sidebar nav a svg,.mobile-nav a svg{flex:0 0 20px}.sidebar nav a.active{background:var(--accent-fill);box-shadow:inset 4px 0 var(--accent);font-weight:700}.sidebar nav a:hover{background:var(--row-hover)}.topbar{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:8px}.topbar-label{font-weight:750}.topbar-subtext{color:var(--secondary)}.section-header h2,.daily-report-header h3{color:var(--heading);font-size:1.3rem}:is(.status-card,.actuator-card,.prediction-card,.logs-panel,.settings-screen,.chart-frame){border:1px solid var(--line);border-radius:8px}.status-card{border-top:4px solid var(--line)}.status-card.optimal{border-top-color:#36b87d}.status-card.low{border-top-color:#5799d7}.status-card.high,.status-card.unavailable{border-top-color:#e67d91}.card-description{color:var(--muted);font-style:normal;line-height:1.6}.condition-legend{border-block:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 20px;margin:18px 0;padding:12px 0;display:flex}.condition-legend strong{font-size:.9rem}.legend-status{color:var(--text);align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.legend-status i{background:#5799d7;border-radius:50%;flex:0 0 12px;width:12px;height:12px;display:block}.legend-status.optimal i{background:#36b87d}.legend-status.high i{background:#e67d91}.legend-status.unavailable i{background:#aab7bf;border-radius:2px}.status-card.unavailable{border-top-color:#aab7bf}.card-status.unavailable{color:var(--secondary);background:#aab7bf26;border:1px solid #aab7bf}:root[data-theme=light] .status-card.unavailable{border-top-color:#71818c}:root[data-theme=light] .card-status.unavailable{color:#344653;background:#e2e7ea;border-color:#71818c}:root[data-theme=light] .legend-status.low i{background:#326ea8}:root[data-theme=light] .legend-status.optimal i{background:#21845c}:root[data-theme=light] .legend-status.high i{background:#b94357}:root[data-theme=light] .legend-status.unavailable i{background:#71818c}.batch-creation-guard{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--inset);color:var(--secondary);border-radius:6px;padding:12px 16px}.primary-button{color:#fff;background:#277454;border:1px solid #479f77}.primary-button:hover:not(:disabled){background:#1c6044}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--text)}.primary-button:disabled{opacity:.6}:is(.auth-form input,.form-group input,.form-group select,.daily-report-history select){border-color:var(--line)}.logs-table th{color:var(--heading);background:var(--inset)}.logs-table td{border-color:var(--line)}.logs-table tbody tr:hover{background:var(--row-hover)}.auth-page{background:var(--page)}.auth-overview{background:var(--inset);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px}.auth-card{border:1px solid var(--line);border-top:4px solid var(--accent);background:var(--surface);border-radius:8px}.auth-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.auth-card-heading h1{min-width:0;font-size:1.65rem;line-height:1.3}.auth-card-heading .theme-toggle{margin-top:2px}.auth-subtitle{color:var(--secondary)}.auth-overview h2{font-size:1.8rem}.auth-overview p{color:var(--secondary)}.daily-report-section{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;padding:22px 0}.report-section-title{align-items:center;gap:10px;display:flex}.report-section-title svg{color:var(--accent);flex:0 0 22px}.daily-report-summary{border-bottom:1px solid var(--line);padding-block:8px 16px}.daily-report-summary>div{background:0 0;border:0;border-radius:0;padding:0 16px 0 0}.daily-report-metric,.daily-report-issues{border-color:var(--line)}.daily-report-metric{border-top:3px solid #5799d7}.daily-report-metric:nth-child(2){border-top-color:#d7a55a}.daily-report-metric:nth-child(3){border-top-color:#e67d91}.daily-report-metric:nth-child(4){border-top-color:#36b87d}.batch-history-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.history-total{color:var(--secondary);font-size:.9rem}.batch-history-search{border:1px solid var(--line);background:var(--surface);border-radius:6px;align-items:center;gap:10px;width:min(100%,360px);min-height:44px;padding:8px 12px;display:flex}.batch-history-search svg{color:var(--secondary);flex-shrink:0}.batch-history-search input{width:100%;min-width:0;font:inherit;color:var(--text);background:0 0;border:0;padding:0}.batch-history-search input::-webkit-search-cancel-button{display:none}.batch-history-search button{color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:4px;display:flex}.batch-history-group{border-color:var(--line)}.batch-history-entries{scrollbar-gutter:stable;max-height:min(36rem,65dvh);overflow:auto}.batch-history-heading{cursor:pointer;border-bottom:0;grid-template-columns:22px minmax(0,1fr) auto 20px;align-items:center;padding:18px;list-style:none;display:grid}.batch-history-heading::-webkit-details-marker{display:none}.batch-history-heading:hover{background:var(--row-hover)}.batch-history-heading .batch-history-title{color:var(--heading);overflow-wrap:anywhere;font-size:1rem;font-weight:700}.batch-history-meta{text-align:right}.batch-folder-icon,.batch-expand-icon{color:var(--accent)}.batch-expand-icon{transition:transform .15s}.batch-history-group[open]>.batch-history-heading{background:var(--inset);border-bottom:1px solid var(--line)}.batch-history-group[open]>.batch-history-heading .batch-expand-icon{transform:rotate(180deg)}.batch-history-entry{border-color:var(--line)}.batch-history-entry>summary{background:var(--surface)}.batch-history-entry>summary:hover{background:var(--row-hover)}.batch-history-entry[open]>summary{border-left:3px solid var(--accent);background:var(--inset)}.batch-history-metrics{border-top:1px solid var(--line)}@media (width<=700px){.batch-history-heading{grid-template-columns:22px minmax(0,1fr) 20px;gap:10px;padding:14px}.batch-history-meta{text-align:left;grid-column:2}.batch-expand-icon{grid-area:1/3/3}.batch-history-toolbar{align-items:stretch}.batch-history-search{width:100%}.batch-history-entry>summary{grid-template-columns:minmax(0,1fr);gap:4px}.batch-history-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card-heading h1{font-size:1.4rem}.daily-report-summary{grid-template-columns:minmax(0,1fr);gap:12px}}@media (prefers-reduced-motion:reduce){.batch-expand-icon{transition:none}}
