@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f5f7fa;--surface:#fff;--surface-muted:#f8fafc;--border:#dce3ea;--text:#18212b;--muted:#5f6b78;--primary:#176b87;--primary-dark:#10536b;--danger:#b42318;--warning:#9a6700;--sidebar-width:240px;--page-gutter:16px}*{box-sizing:border-box}html{background:var(--background)}body{background:var(--background);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}a{color:inherit}.app-shell{min-height:100vh}.app-content{margin-left:var(--sidebar-width);min-width:0}.app-sidebar{width:var(--sidebar-width);color:#e6ebf1;z-index:30;background:#131820;flex-direction:column;padding:20px 14px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{letter-spacing:.02em;color:inherit;align-items:center;gap:10px;padding:4px 10px 20px;font-weight:700;text-decoration:none;display:flex}.sidebar-nav{gap:4px;display:grid}.sidebar-link{color:#b7c1cd;border-radius:8px;align-items:center;gap:12px;padding:11px 12px;font-weight:600;text-decoration:none;display:flex}.sidebar-link:hover{color:#fff;background:#1b222d}.sidebar-link[aria-current=page]{color:#fff;background:#1f3b46}.sidebar-link:focus-visible,.button--sidebar:focus-visible,.mobile-topbar__toggle:focus-visible{outline-offset:2px;outline:3px solid #3fb8c98c}.sidebar-footer{border-top:1px solid #2a3441;gap:8px;margin-top:auto;padding-top:16px;display:grid}.sidebar-badge{color:#fff;text-align:center;background:#b91c1c;border-radius:999px;min-width:22px;margin-left:auto;padding:1px 7px;font-size:.75rem;font-weight:700}.app-shell--collapsed .sidebar-badge{margin:-22px 0 0 18px;position:absolute}.sidebar-icon{flex:none}.sidebar-group{border-top:1px solid #2a3441;gap:4px;margin-top:12px;padding-top:12px;display:grid}.sidebar-group__toggle{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;font-weight:600}.sidebar-group__toggle .sidebar-label{flex:1}.sidebar-group__chevron{flex:none;transition:transform .15s}.sidebar-group__toggle[aria-expanded=true] .sidebar-group__chevron{transform:rotate(180deg)}.sidebar-group__toggle--active{color:#fff}.sidebar-submenu{gap:4px;display:grid}.sidebar-submenu[hidden]{display:none}.sidebar-link--sub{padding-left:24px}.sidebar-group__toggle:focus-visible{outline-offset:2px;outline:3px solid #3fb8c98c}.sidebar-edge-toggle{z-index:1;color:#6f7c8b;cursor:pointer;background:#171e28;border:1px solid #1c2530;border-radius:7px;justify-content:center;align-items:center;width:13px;height:76px;padding:0;display:flex;position:absolute;top:44%;right:-6px;box-shadow:0 0 2px #0000001f}.sidebar-edge-toggle:before{content:"";position:absolute;inset:-8px -12px}.sidebar-edge-toggle:hover{color:#8fd3dd;background:#1a2430;border-color:#2c4a55}.sidebar-edge-toggle:focus-visible{outline-offset:2px;outline:3px solid #3fb8c9b3}.button--sidebar{color:#e6ebf1;background:0 0;border-color:#3a4655;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex;position:relative}.button--sidebar:hover:not(:disabled){background:#1b222d}.mobile-topbar,.sidebar-backdrop{display:none}.page-container{width:calc(100% - 2 * var(--page-gutter));max-width:1800px;margin:0 auto;padding:20px 0 56px}.page-heading{margin:0;font-size:clamp(1.7rem,4vw,2.25rem)}.page-description{color:var(--muted);max-width:80ch;margin:8px 0 0}.page-header{margin-bottom:24px}.page-header--compact{margin-bottom:14px}.page-header--compact .page-description{margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px #102a3a0d}.section-card{margin-top:24px;padding:24px}.section-title{margin:0 0 18px;font-size:1.2rem}.button{cursor:pointer;background:var(--primary);color:#fff;border:1px solid #0000;border-radius:8px;padding:9px 14px;font-weight:600}.button:hover:not(:disabled){background:var(--primary-dark)}.button:disabled{cursor:not-allowed;opacity:.55}.button--secondary{border-color:var(--border);color:var(--text);background:#fff}.button--secondary:hover:not(:disabled){background:var(--surface-muted)}.form-field{gap:7px;display:grid}.form-field label{font-weight:600}.input,.select{width:100%;min-height:42px;color:var(--text);background:#fff;border:1px solid #aebac5;border-radius:8px;padding:9px 11px}.input:focus,.select:focus,.button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #176b8747}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.login-page{background:var(--surface);grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:100vh;display:grid}.login-brand-panel{color:#e6ebf1;background:#131820;flex-direction:column;justify-content:space-between;gap:32px;padding:48px;display:flex}.login-brand{letter-spacing:.02em;align-items:center;gap:10px;font-weight:700;display:flex}.login-brand--mobile{color:var(--text);margin-bottom:28px;display:none}.login-network{width:100%;max-width:440px;margin:0 auto;position:relative}.login-network svg{width:100%;height:auto;display:block}.login-network__card{background:#1b222d;border:1px solid #2a3441;border-radius:8px;gap:4px;padding:9px 13px;display:grid;position:absolute}.login-network__card span{letter-spacing:.06em;text-transform:uppercase;color:#8b97a6;font-size:.65rem}.login-network__card strong{font-family:ui-monospace,monospace;font-size:1rem}.login-network__card--a{top:6%;left:2%}.login-network__card--b{top:40%;left:56%}.login-brand-panel h2{margin:0 0 14px;font-size:1.7rem;line-height:1.25}.login-brand-panel p{color:#9aa6b4;max-width:42ch;margin:0 0 28px;line-height:1.6}.login-brand-panel small{color:#7d8999}.login-form-panel{place-items:center;padding:32px 24px;display:grid}.login-form-inner{width:min(380px,100%)}.login-form-inner h1{margin:0;font-size:1.6rem}.login-subtitle{color:var(--muted);margin:8px 0 0}.login-form{gap:18px;margin-top:28px;display:grid}.password-wrapper{position:relative}.input--with-action{padding-right:48px}.password-toggle{width:44px;height:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:0 8px 8px 0;place-items:center;display:grid;position:absolute;top:0;right:0}.password-toggle:hover{color:var(--text)}.password-toggle:focus-visible{outline-offset:-3px;outline:3px solid #176b8747}.field-error{color:var(--danger);margin:0;font-size:.875rem}.input[aria-invalid=true]{border-color:var(--danger)}.button--block{width:100%;min-height:46px}.login-form .input{min-height:46px}@media (max-width:900px){.login-page{grid-template-columns:minmax(0,1fr)}.login-brand-panel{display:none}.login-brand--mobile{display:flex}.login-form-panel{align-items:start;padding-top:48px}}.error-box,.empty-box,.loading-box{border-radius:9px;padding:16px;line-height:1.45}.error-box{color:#7a2019;background:#fff1f0;border:1px solid #f4b8b3}.empty-box{background:var(--surface-muted);color:var(--muted);border:1px dashed #b9c5cf}.loading-box{color:var(--muted);background:#eef4f7}.error-actions{margin-top:12px}.device-list{gap:12px;display:grid}.device-list-item{justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.device-list-item h2{margin:0 0 6px;font-size:1.05rem}.device-list-item p{color:var(--muted);margin:0;font-family:ui-monospace,monospace;font-size:.88rem}.device-list-item a{color:var(--primary);font-weight:700}.dashboard-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.dashboard-refresh{color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;font-size:.85rem;display:flex}.state-counters{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.state-counter{border-left:4px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:15px 17px;display:flex}.state-counter span{color:var(--muted);font-size:.9rem}.state-counter strong{font-size:1.5rem}.state-counter--fresh{border-left-color:#258750}.state-counter--stale{border-left-color:#c47a00}.state-counter--never_seen{border-left-color:#73808c}.state-counter--unknown{border-left-color:#7556a6}.dashboard-filters{align-items:end;gap:16px;margin-bottom:20px;padding:18px;display:flex}.dashboard-search{flex:520px;align-items:end;gap:10px;display:flex}.dashboard-search .form-field{flex:1}.dashboard-state-filter{flex:0 230px}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.overview-card{flex-direction:column;min-width:0;padding:18px;display:flex}.overview-card__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.overview-card__header h2,.overview-card__header h3{margin:0 0 5px;font-size:1.08rem}.overview-card__header p{color:var(--muted);overflow-wrap:anywhere;margin:0;font:.82rem ui-monospace,monospace}.overview-type{color:var(--muted);margin:12px 0 16px;font-size:.88rem}.state-badge{white-space:nowrap;color:#52606b;background:#edf1f4;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:700}.state-badge--fresh{color:#17683b;background:#e6f5ec}.state-badge--stale{color:#805000;background:#fff2d9}.state-badge--unknown{color:#5e3d91;background:#f0eafa}.connectivity-badge{white-space:nowrap;color:#52606b;background:#edf1f4;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.connectivity-badge__icon{flex:none}.connectivity-badge--online{color:#08662a;background:#bdeccb;box-shadow:inset 0 0 0 1px #08662a59}.connectivity-badge--offline{color:#a80f16;background:#fcc;box-shadow:inset 0 0 0 1px #a80f1659}.connectivity-badge--undetermined{color:#52606b;background:#edf1f4}.connectivity-badge--no_data{color:#52606b;background:#f6f8fa;border:1px dashed #8895a1}.overview-last-seen{background:var(--surface-muted);border-radius:8px;gap:4px;padding:11px;font-size:.78rem;display:grid}.overview-last-seen span{color:var(--muted)}.overview-last-seen strong{overflow-wrap:anywhere;font-size:.82rem}.overview-metrics{gap:8px;margin-top:14px;display:grid}.overview-metric{border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.overview-metric span{color:var(--muted);overflow-wrap:anywhere;font:.82rem ui-monospace,monospace}.overview-metric strong{text-align:right;white-space:nowrap}.overview-no-metrics,.overview-more{color:var(--muted);margin-top:13px;font-size:.84rem}.overview-link{color:var(--primary);align-self:flex-start;margin-top:auto;padding-top:18px;font-weight:700}.overview-link--button{font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:18px 0 0;font-weight:700}.overview-link--button:hover{text-decoration:underline}.overview-grid>div>.overview-card{height:100%}.dashboard-summary{max-width:90ch;margin:0 0 16px;font-size:1.05rem;line-height:1.5}.dashboard-attention__header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.dashboard-attention__header .section-title{margin:0}.dashboard-all-link{color:var(--primary);font-weight:700}.dashboard-footnote{color:var(--muted);margin:20px 0 0;font-size:.85rem}.dashboard-pagination{justify-content:center;align-items:center;gap:16px;margin-top:24px;display:flex}.details-back{color:var(--primary);margin-bottom:14px;font-weight:600;text-decoration:none;display:inline-block}.details-back:hover{text-decoration:underline}.details-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.type-pill{color:#3f4c58;background:#edf1f4;border-radius:999px;padding:4px 10px;font:600 .8rem ui-monospace,monospace}.details-external-id{color:var(--muted);margin:8px 0 0}.details-external-id span{overflow-wrap:anywhere;font-family:ui-monospace,monospace}.tech-details{margin-top:12px}.tech-details summary{cursor:pointer;color:var(--primary);width:fit-content;font-weight:600}.tech-details dl{background:var(--surface-muted);border-radius:8px;gap:10px;margin:12px 0 0;padding:13px;display:grid}.tech-details dt{color:var(--muted);margin-bottom:4px;font-size:.78rem}.tech-details dd{overflow-wrap:anywhere;margin:0;font-family:ui-monospace,monospace;font-size:.88rem}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.metric-card{padding:18px}.metric-code{color:var(--muted);font-family:ui-monospace,monospace;font-size:.9rem}.metric-value{letter-spacing:-.02em;margin:12px 0 16px;font-size:2rem;font-weight:750}.metric-unit{color:var(--muted);margin-left:5px;font-size:1rem}.metric-time{color:var(--muted);border-top:1px solid #edf0f2;margin:0;font-size:.8rem;display:grid}.metric-time div{border-bottom:1px solid #edf0f2;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.metric-time div:last-child{border-bottom:0}.metric-time dt{color:var(--muted)}.connectivity-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0;display:grid}.connectivity-list div{background:var(--surface-muted);border-radius:8px;padding:12px 14px}.connectivity-list dt{color:var(--muted);margin-bottom:4px;font-size:.78rem}.connectivity-list dd{margin:0;font-weight:600}.connectivity-eui{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:.88rem}.metric-time dd{color:var(--text);text-align:right;margin:0}.history-controls{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:20px;display:flex}.range-group{flex-wrap:wrap;gap:6px;display:flex}.range-button{color:var(--text);border:1px solid var(--border);background:#fff}.range-button[aria-pressed=true]{color:#0e536b;background:#dceff5;border-color:#65a7bb}.range-button:hover:not(:disabled){background:var(--surface-muted)}.range-button[aria-pressed=true]:hover:not(:disabled){background:#cfe6ee}.history-stats{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.history-stats__values{flex-wrap:wrap;gap:8px 32px;margin:0;display:flex}.history-stats__values dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:.72rem}.history-stats__values dd{margin:0;font:600 1.1rem ui-monospace,monospace}.history-stats__range{color:var(--muted);font-size:.85rem}.chart{width:100%;height:330px}.history-note{color:var(--muted);margin:0 0 14px;font-size:.85rem}.history-zone{min-width:170px}.period-controls{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:end;gap:12px 16px;margin:0 0 16px;padding:14px;display:flex}.period-controls .form-field{min-width:170px}.period-quick{flex-wrap:wrap;gap:6px;display:flex}.period-controls__error{color:#7a2019;flex-basis:100%;margin:0;font-weight:600}.period-controls__hint{color:var(--muted);flex-basis:100%;margin:0;font-size:.85rem}.zoom-controls{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 14px;display:flex}.zoom-controls__buttons{flex-wrap:wrap;gap:6px;display:flex}.zoom-controls__range{color:var(--muted);margin:0;font-size:.85rem}.info-box{color:#0e3b4d;background:#eef6fa;border:1px solid #a9cfdd;border-radius:8px;margin-bottom:16px;padding:14px 16px}.info-box p{margin:6px 0;font-size:.9rem}.history-stats__unavailable{margin:0 0 4px;font-weight:600}.history-stats__loaded{color:var(--muted);margin:0;font-size:.88rem}.history-stats__heading{margin-bottom:8px;font-weight:600}.warning-box{color:#5c4400;background:#fff8e6;border:1px solid #e8c766;border-radius:8px;margin-bottom:16px;padding:14px 16px}.warning-box p{margin:6px 0;font-size:.9rem}.warning-box ul{margin:6px 0 0;padding-left:20px;font-size:.88rem}.series-error-label{margin:0 0 6px;font-weight:600}.chart-panel+.chart-panel{margin-top:20px}.chart-panel__title{margin:0 0 6px;font-size:.95rem}.series-legend{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.series-legend li{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.88rem;display:flex}.series-legend__label{font-weight:600}.series-legend__meta{color:var(--muted)}.series-swatch{flex:none}.series-selector{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;margin:0 0 20px;padding:14px}.series-selector__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:10px;display:flex}.series-selector__title{margin:0;font-size:.95rem}.series-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.series-chip{border:1px solid var(--border);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 8px 6px 10px;font-size:.88rem;display:flex}.series-chip--hidden{color:var(--muted);border-style:dashed}.series-chip__label{overflow-wrap:anywhere;font-weight:600}.series-chip__unit{color:var(--muted);font-weight:400}.series-chip__state{color:var(--muted);font-style:italic}.series-chip__button{min-height:32px;padding:4px 10px;font-size:.8rem}.series-selector__panel{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.series-picker{gap:12px;display:grid}.series-picker__list{gap:10px;max-height:420px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.series-picker__device{border:1px solid var(--border);background:#fff;border-radius:8px;padding:10px 12px}.series-picker__device-head{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:8px;display:flex}.series-picker__external-id{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.series-picker__empty{color:var(--muted);margin:0;font-size:.88rem}.series-picker__metrics{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.series-picker__metric{align-items:center;gap:10px;min-height:36px;display:inline-flex}.series-picker__action{color:var(--muted);font-size:.8rem}.skeleton{background:#e8edf1;border-radius:7px;min-height:18px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);animation:1.3s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}@media (max-width:820px){.metric-grid,.overview-grid,.state-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-filters{flex-direction:column;align-items:stretch}.dashboard-state-filter{flex-basis:auto}}@media (max-width:560px){.page-container{--page-gutter:11px;padding-top:22px}.section-card{padding:16px}.metric-grid{grid-template-columns:1fr}.range-group{width:100%}.range-button{flex:auto;padding-inline:8px}.history-zone{flex:100%}.history-controls>.button,.series-chip{width:100%}.series-picker__metrics{flex-direction:column}.series-picker__metric{justify-content:space-between;width:100%}.chart{height:270px}.device-list-item,.dashboard-heading,.dashboard-refresh{flex-direction:column;align-items:flex-start}.dashboard-refresh,.dashboard-refresh .button{width:100%}.state-counters,.overview-grid{grid-template-columns:1fr}.dashboard-search{flex-direction:column;flex:none;align-items:stretch}.dashboard-search .button{width:100%}}.devices-table-wrapper{overflow-x:auto}.devices-table{border-collapse:collapse;width:100%;font-size:.92rem}.devices-table th{text-align:left;background:var(--surface-muted);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 14px;font-size:.75rem}.devices-table td{vertical-align:top;border-bottom:1px solid #edf0f2;padding:12px 14px}.devices-table tbody tr{position:relative}.devices-table tbody tr:hover{background:#f2f8fa}.devices-table tbody tr:last-child td{border-bottom:0}.devices-table__link{color:var(--text);font-weight:700;text-decoration:none}.devices-table__link:after{content:"";position:absolute;inset:0}.devices-table__external-id{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font:.78rem ui-monospace,monospace}.devices-table__empty{color:var(--muted)}.devices-values{flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;display:flex}.devices-values li{align-items:baseline;gap:6px;display:flex}.devices-values span{color:var(--muted);font:.78rem ui-monospace,monospace}@media (max-width:720px){.devices-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.devices-table,.devices-table tbody,.devices-table tr,.devices-table td{width:100%;display:block}.devices-table tbody tr{border-bottom:1px solid var(--border);padding:12px 14px}.devices-table td{border:0;justify-content:space-between;gap:12px;padding:4px 0;display:flex}.devices-table td:first-child{padding-bottom:6px;display:block}.devices-table td:not(:first-child):before{content:attr(data-label);color:var(--muted);flex:none;font-size:.8rem}.devices-table td>*{text-align:right}.devices-table td:first-child>*{text-align:left}.devices-values{justify-content:flex-end}}@media (max-width:900px){.app-content{margin-left:0}.mobile-topbar{z-index:20;color:#e6ebf1;background:#131820;align-items:center;gap:8px;min-height:56px;padding:6px 10px;display:flex;position:sticky;top:0}.mobile-topbar__toggle{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:1.5rem}.sidebar-brand--topbar{padding:0}.app-sidebar,.app-shell--collapsed .app-sidebar{width:240px;padding-inline:14px}.app-sidebar{visibility:hidden;transition:transform .2s,visibility .2s;transform:translate(-100%);box-shadow:0 0 24px #00000059}.app-sidebar--open{visibility:visible;transform:none}.sidebar-backdrop{z-index:25;background:#0a0e148c;display:block;position:fixed;inset:0}.sidebar-brand:not(.sidebar-brand--topbar){padding-top:8px}.sidebar-link,.button--sidebar{min-height:44px}.sidebar-edge-toggle{display:none}}@media (min-width:901px){.app-shell--collapsed{--sidebar-width:64px}.app-shell--collapsed .app-sidebar{padding-inline:10px}.app-shell--collapsed .sidebar-brand{justify-content:center;padding-inline:0;font-size:0}.app-shell--collapsed .sidebar-link,.app-shell--collapsed .button--sidebar{justify-content:center;padding-inline:0}.app-shell--collapsed .sidebar-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell--collapsed .sidebar-group__toggle,.app-shell--collapsed .sidebar-group__chevron{display:none}.app-shell--collapsed .sidebar-submenu[hidden]{display:grid}.app-shell--collapsed .sidebar-link--sub{padding-left:0}}.dashboard-tabs{z-index:1;align-items:flex-end;gap:4px;margin-bottom:-1px;padding-left:10px;display:flex;position:relative;overflow-x:auto}.dashboard-tab{border:1px solid var(--border);min-height:44px;color:var(--muted);cursor:pointer;white-space:nowrap;background:#e9eef3 padding-box padding-box;border-bottom-color:#0000;border-radius:10px 10px 0 0;align-items:center;gap:8px;margin-top:4px;padding:10px 20px 9px;font-weight:700;display:inline-flex}.dashboard-tab:hover{color:var(--text);background:#f1f5f8}.dashboard-tab[aria-selected=true]{background:var(--panel-bg);color:var(--primary);border-bottom-color:var(--panel-bg);box-shadow:inset 0 3px 0 var(--primary);background-clip:border-box;margin-top:0;padding-top:14px}.dashboard-tab:focus-visible{outline-offset:-3px;outline:3px solid #176b8773}.dashboard-icon{flex:none}.dashboard-tabbar{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.dashboard-tabbar .dashboard-tabs{min-width:0}.dashboard-pin{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.dashboard-pin:hover:not(:disabled){color:var(--text);background:#e9eef3}.dashboard-pin:disabled{opacity:.5;cursor:progress}.dashboard-pin--active{color:var(--primary)}.dashboard-pin--active .dashboard-icon path{fill:currentColor;fill-opacity:.2}.dashboard-pin:focus-visible{outline-offset:-3px;outline:3px solid #176b8773}.dashboard-pin-error{margin:8px 0}.dashboard-panel{--panel-bg:#fbfcfd;background:var(--panel-bg);border:1px solid var(--border);border-radius:0 12px 12px;padding:20px;box-shadow:0 1px 2px #102a3a0d}.dashboard-tabs{--panel-bg:#fbfcfd}.map-view{gap:10px;display:grid}.map-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;padding:8px 14px;display:flex}.map-toolbar__summary{flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.map-toolbar__hint,.map-controls__hint{color:var(--muted);margin:0;font-size:.85rem}.map-empty__count{margin:14px 0 6px;font-weight:700}.map-controls{flex-wrap:wrap;align-items:end;gap:14px 22px;padding:10px 14px;display:flex}.map-controls__search{flex:260px}.map-controls__states{border:0;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;padding:0;display:flex}.map-controls__states legend{margin-bottom:6px;padding:0;font-weight:600}.map-controls__state{cursor:pointer;align-items:center;gap:6px;min-height:32px;display:inline-flex}.map-controls__mode{gap:6px;display:flex}.map-controls__mode .button[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary)}.map-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.map-layout--with-panel{grid-template-columns:minmax(0,1fr) 360px}.map-stage{min-width:0;position:relative}.map-canvas{border:1px solid var(--border);background:#e8eef2;border-radius:10px;width:100%;height:clamp(400px,100vh - 385px,1500px);min-height:360px;overflow:hidden}.map-overlay{z-index:1;border:1px solid var(--border);pointer-events:none;background:#fffffff2;border-radius:10px;gap:4px;width:min(520px,100% - 24px);padding:12px 16px;font-size:.9rem;line-height:1.4;display:grid;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000024}.map-overlay__title{font-size:1rem}.map-legend{border:1px solid var(--border);z-index:1;background:#fffffff0;border-radius:8px;gap:4px;margin:0;padding:8px 10px;font-size:.8rem;list-style:none;display:grid;position:absolute;bottom:12px;left:12px}.map-legend li{align-items:center;gap:6px;display:flex}.map-fit{z-index:1;min-height:36px;padding:6px 10px;font-size:.82rem;position:absolute;bottom:28px;right:12px}.map-basemap{z-index:2;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:80px;right:12px}.map-basemap__button{width:36px;height:36px;color:var(--text);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;place-items:center;padding:0;display:grid;box-shadow:0 1px 4px #00000040}.map-basemap__button:focus-visible,.map-basemap__option:focus-within{outline-offset:1px;outline:3px solid #0b3a4d}.map-basemap__panel{border:1px solid var(--border);background:#fff;border-radius:10px;width:240px;max-height:calc(100% - 96px);padding:8px;overflow:auto;box-shadow:0 2px 10px #0000002e}.map-basemap__title{padding:4px 6px 8px;font-size:.9rem;font-weight:700}.map-basemap__option{cursor:pointer;border-radius:8px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;column-gap:8px;min-height:44px;padding:6px;display:grid}.map-basemap__option:hover{background:var(--surface-muted,#f1f5f8)}.map-basemap__text{line-height:1.25;display:grid}.map-basemap__description{color:var(--muted,#5a6b78);font-size:.78rem}.map-basemap__status{font-size:.75rem;font-weight:700}.map-basemap__status--error{color:#9a3412}.map-basemap__fallbacks{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}@media (max-width:899px){.map-basemap__button{width:44px;height:44px}.map-basemap__panel{width:min(280px,100vw - 48px)}}@media (max-width:599px){.map-overlay{width:calc(100% - 80px);margin-right:56px;left:12px;transform:none}}.map-marker{cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;padding:2px;line-height:0;display:block}.map-marker:focus-visible{outline-offset:1px;outline:3px solid #0b3a4d}.map-marker--selected{box-shadow:0 0 0 3px var(--primary), 0 2px 8px #00000059;background:#fff}.map-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.map-list__item{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:9px;grid-template-columns:24px minmax(0,1fr) auto;grid-template-areas:"icon name badge""icon meta badge";align-items:center;column-gap:10px;width:100%;min-height:44px;padding:8px 12px;display:grid}.map-list__item[aria-pressed=true]{border-color:var(--primary);box-shadow:0 0 0 2px #176b8740}.map-list__item>svg{grid-area:icon}.map-list__name{overflow-wrap:anywhere;grid-area:name;font-weight:700}.map-list__meta{color:var(--muted);overflow-wrap:anywhere;grid-area:meta;font-size:.82rem}.map-list__item .state-badge{grid-area:badge}.map-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:12px;padding:16px 18px 18px;display:grid}.map-panel:focus-within{outline:none}.map-panel__handle,.map-panel__summary{display:none}.map-panel__content{gap:12px;display:grid}.map-panel__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.map-panel__title{align-items:center;gap:8px;min-width:0;display:flex}.map-panel__heading{overflow-wrap:anywhere;margin:0;font-size:1.1rem}.map-panel__heading:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #176b8773}.map-panel__close{min-width:44px;min-height:44px;padding:0}.map-panel__details{gap:10px;margin:0;display:grid}.map-panel__details dt{color:var(--muted);margin-bottom:3px;font-size:.78rem}.map-panel__details dd{overflow-wrap:anywhere;margin:0}.map-panel__mono{font-family:ui-monospace,monospace}.map-panel__hint{color:var(--muted);margin-top:4px;font-size:.82rem;display:block}.map-panel__note{color:var(--muted);margin:0;font-size:.8rem}.map-panel__link{text-align:center;text-decoration:none}@media (max-width:899px){.map-layout--with-panel{grid-template-columns:minmax(0,1fr)}.map-canvas{height:60vh;min-height:320px}.map-panel{z-index:30;max-height:78vh;padding-bottom:calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;transition:max-height .2s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 28px #00000038}.map-panel__handle{cursor:grab;touch-action:none;background:0 0;border:0;width:100%;min-height:44px;margin:-10px 0 -14px;padding:0;display:block;position:relative}.map-panel__handle:before{content:"";background:#c5ced6;border-radius:3px;width:44px;height:5px;margin-left:-22px;position:absolute;top:14px;left:50%}.map-panel__handle:focus-visible{outline-offset:-3px;border-radius:10px;outline:3px solid #176b878c}.map-panel--peek{max-height:190px;overflow:hidden}.map-panel--peek .map-panel__summary{display:block}.map-panel--peek .map-panel__content{display:none}.map-legend{font-size:.75rem}}@media (min-width:1100px){:root{--page-gutter:24px}}@media (min-width:1440px){:root{--page-gutter:32px}.overview-grid{gap:20px}.state-counters{gap:16px}.devices-table th{padding:13px 18px}.devices-table td{padding:14px 18px}.devices-table th:first-child{width:24%}.devices-table th:nth-child(5){width:38%}.devices-values{gap:8px 22px}.map-layout--with-panel{grid-template-columns:minmax(0,1fr) 380px}}@media (min-width:1920px){:root{--page-gutter:32px}.page-container{max-width:none;padding-top:24px}.state-counter{padding:18px 22px}.state-counter strong{font-size:1.75rem}.overview-card{padding:22px}.devices-table{font-size:1rem}.map-layout--with-panel{grid-template-columns:minmax(0,1fr) 420px}.chart{height:400px}}@media (min-width:2560px){.overview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.state-badge--unavailable{color:#4a5560;background:#eef1f4;border:1px dashed #8895a1}.fp-view{gap:12px;display:grid}.fp-toolbar{gap:8px 20px}.fp-toolbar__selector{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.fp-toolbar__selector select{max-width:100%;min-height:40px}.fp-toolbar__actions{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.fp-plan{gap:12px;display:grid}.fp-plan__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 20px;display:flex}.fp-plan__header h2{margin:0}.fp-plan__counts{flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:.9rem;display:flex}.fp-segmented,.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.fp-segmented button,.segmented button{background:var(--surface);cursor:pointer;min-height:36px;font:inherit;border:0;padding:4px 12px}.fp-segmented button[aria-pressed=true],.segmented button[aria-pressed=true]{background:var(--primary);color:#fff}.fp-stage{gap:8px;min-width:0;display:grid}.fp-canvas{--fp-max-height:clamp(400px, calc(100vh - 385px), 1500px);width:min(100%, calc(var(--fp-max-height) * var(--fp-aspect)));aspect-ratio:var(--fp-aspect);border:1px solid var(--border);background:#e8eef2;border-radius:10px;margin:0 auto;position:relative;overflow:hidden}.fp-canvas[hidden]{display:none}.fp-image{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.fp-loading{color:var(--muted);background:#e8eef2cc;place-items:center;display:grid;position:absolute;inset:0}.fp-overlay{position:absolute;inset:0}.fp-canvas--editing .fp-overlay{cursor:crosshair}.fp-marker{cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;padding:4px;line-height:0;position:absolute;transform:translate(-50%,-50%)}.fp-marker:focus-visible{outline-offset:1px;outline:3px solid #0b3a4d}.fp-marker--selected{box-shadow:0 0 0 3px var(--primary), 0 2px 8px #00000059;background:#fff}.fp-marker--editable{cursor:grab;touch-action:none}.fp-legend{flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.fp-legend li{align-items:center;gap:6px;display:flex}.fp-legends{gap:4px;display:grid}.fp-marker:hover,.fp-marker:focus-visible{z-index:3}.fp-face{line-height:1;display:inline-flex;position:relative}.fp-glyph{color:#18212b;letter-spacing:-.01em;background:#fff;border:2px solid #5b6773;border-radius:8px;place-items:center;min-width:26px;height:26px;padding:0 4px;font-size:.66rem;font-weight:700;line-height:1;display:inline-grid;box-shadow:0 1px 3px #00000047}.fp-glyph--T{background:#fff6ec;border-color:#b4540a}.fp-glyph--RH{background:#eef6fc;border-color:#1b6ca8}.fp-glyph--RHT{background:#ecf8f8;border-color:#17707a}.fp-glyph--CO2{background:#f0f1fa;border-color:#4a55a2}.fp-glyph--other{color:#4a5560;background:#f1f3f5;border-style:dashed;border-color:#5b6773}.fp-glyph--pending{opacity:.6}.fp-glyph--legend{min-width:22px;height:22px;box-shadow:none;font-size:.6rem}.fp-marker__state{background:#fff;border-radius:50%;place-items:center;width:16px;height:16px;display:grid;position:absolute;bottom:-6px;right:-6px;box-shadow:0 0 0 1px #0000002e}.fp-marker--value{border-radius:10px;width:auto;height:auto;padding:0}.fp-marker--value.fp-marker--selected{box-shadow:none;background:0 0}.fp-marker--value:focus-visible{border-radius:12px}.fp-chip{color:#18212b;white-space:nowrap;text-align:left;background:#fffffff5;border:1px solid #b4c1cc;border-radius:10px;flex-direction:column;gap:2px;min-width:62px;padding:5px 9px;box-shadow:0 1px 4px #0000003d}.fp-marker--selected .fp-chip{box-shadow:0 0 0 3px var(--primary), 0 2px 8px #00000059}.fp-chip__row{align-items:baseline;gap:4px;line-height:1.2;display:flex}.fp-chip__value{font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:700}.fp-chip__unit{color:var(--muted);font-size:.72rem}.fp-chip__label{color:var(--muted);font-size:.66rem}.fp-chip__status{color:var(--muted);font-size:.74rem;line-height:1.3}.fp-chip--stale{border-style:dashed;border-color:#c47a00}.fp-chip--stale .fp-chip__value{color:#5f6b78}.fp-readings{gap:8px;display:grid}.fp-readings__heading{margin:0;font-size:.95rem}.fp-readings__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fp-readings__list li{border:1px solid var(--border);background:#f6f9fb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:8px 10px;display:grid}.fp-readings__name{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.fp-readings__value{text-align:right;font-variant-numeric:tabular-nums}.fp-readings__unit{color:var(--muted);font-weight:400}.fp-readings__time{color:var(--muted);grid-column:1/-1;font-size:.76rem}.fp-panel__peek-values{font-variant-numeric:tabular-nums;margin-left:8px;font-size:.88rem}.fp-edit-panel{gap:12px;padding:14px 16px;display:grid}.fp-edit-panel__bar{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.fp-edit-panel__plan{gap:12px;display:grid}.fp-edit-panel__row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.fp-form{gap:10px;display:grid}.fp-form h3,.fp-editor h3{margin:0;font-size:1rem}.fp-form--inline{grid-template-columns:minmax(0,1fr) auto;align-items:end;max-width:560px}.fp-form__actions{flex-wrap:wrap;gap:8px;display:flex}.fp-field{gap:4px;min-width:0;display:grid}.fp-field label{font-size:.85rem;font-weight:600}.fp-field input,.fp-field select{border:1px solid var(--border);min-height:40px;font:inherit;background:var(--surface);border-radius:8px;padding:6px 10px}.fp-field__hint{color:var(--muted);margin:0;font-size:.85rem}.fp-field__error{color:#7a2019;margin:0;font-size:.85rem}.fp-preview{object-fit:contain;border:1px solid var(--border);border-radius:8px;max-width:240px;max-height:160px}.fp-editor{align-content:start;gap:12px;padding:14px 16px;display:grid}.fp-selected{border:1px solid var(--border);background:#f6f9fb;border-radius:8px;gap:8px;padding:10px;display:grid}.fp-coordinates{gap:12px;display:flex}.fp-coordinates label{gap:4px;font-size:.82rem;font-weight:600;display:grid}.fp-coordinates input{border:1px solid var(--border);width:90px;min-height:40px;font:inherit;border-radius:8px;padding:6px 8px}.fp-available{gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.fp-available__item{grid-template-columns:minmax(0,1fr);grid-template-areas:"name""meta"}@media (max-width:899px){.fp-canvas{--fp-max-height:60vh}.fp-form--inline{grid-template-columns:minmax(0,1fr)}}.loc-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.loc-search{flex:320px}.segmented button{min-height:44px}.loc-row--archived,.loc-row--archived .devices-table__link{color:var(--muted)}.loc-badge{border:1px solid var(--border);background:var(--surface-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.loc-badge--active{color:#0b5b3a;background:#eaf7f0;border-color:#a5d6bd}.loc-badge--archived{color:var(--muted)}.loc-details-link{color:var(--primary);z-index:1;font-weight:600;position:relative}.loc-back-link{color:var(--primary);margin-bottom:10px;font-weight:600;display:inline-block}.loc-detail-header{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px;display:flex}.loc-detail-title{overflow-wrap:anywhere}.loc-notice{color:#0b5b3a;background:#eaf7f0;border:1px solid #a5d6bd;border-radius:8px;margin:0 0 12px;padding:10px 14px}.loc-archived-banner{color:#5c4400;background:#fff8e6;border:1px solid #f0d58a;border-radius:8px;margin-bottom:16px;padding:12px 16px}.loc-archived-banner p{margin:0 0 4px}.loc-detail-grid{align-items:start;gap:16px;display:grid}.loc-detail-grid .section-card{margin-top:0}.loc-panel{gap:12px;display:grid}.loc-panel .section-title,.loc-panel p{margin:0}.loc-dates{gap:8px;margin:0;display:grid}.loc-dates__row{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.loc-dates dt{color:var(--muted)}.loc-dates dd{overflow-wrap:anywhere;margin:0;font-weight:600}.loc-position-fields{gap:10px;margin-top:10px;display:grid}.loc-position-fields__hint{margin:0}.loc-position-toggle{gap:4px;display:grid}.loc-dialog-backdrop{z-index:60;background:#1018208c;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.loc-dialog{background:var(--surface);border-radius:12px;gap:12px;width:min(480px,100%);max-height:calc(100vh - 32px);padding:20px;display:grid;overflow-y:auto;box-shadow:0 12px 40px #00000059}.loc-dialog__title{margin:0;font-size:1.2rem}.loc-dialog__description{color:var(--muted);margin:0}.loc-dialog__actions{margin-top:4px}@media (min-width:1100px){.loc-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.loc-dialog-backdrop{place-items:stretch stretch;padding:0}.loc-dialog{border-radius:0;align-content:start;width:100%;min-height:100%;max-height:none}.loc-dialog__actions,.loc-dialog__actions .button,.segmented,.segmented button{width:100%}.loc-dialog__actions{flex-direction:column}.loc-header .button,.dashboard-filters .button,.loc-panel .fp-form__actions .button{min-height:44px}.loc-details-link{min-height:44px;line-height:44px;display:inline-block}}.asset-name-link{color:var(--text);font-weight:700;text-decoration:none}.asset-name-link:hover{text-decoration:underline}.loc-row--archived .asset-name-link{color:var(--muted)}.asset-device-list{gap:6px;margin:0;padding-left:18px;display:grid}.asset-picker{border:1px solid var(--border);border-radius:8px;gap:4px;max-height:260px;margin:0;padding:8px 12px;display:grid;overflow-y:auto}.asset-picker legend{color:var(--muted);padding:0 4px}.asset-picker__item{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.asset-picker__detail,.asset-picker__reason{color:var(--muted);font-weight:400}.asset-picker__confirm{background:var(--surface-muted);border-radius:8px;gap:6px;padding:10px 12px;display:grid}.asset-picker__confirm p{margin:0}.field-hint{color:var(--muted);margin:0;font-size:.875rem;line-height:1.4}.auth-link{min-height:44px;color:var(--primary);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:600;text-decoration:none;display:inline-flex}.auth-link:hover,.auth-link:focus-visible{color:var(--primary-dark);text-decoration:underline}.auth-link-row{justify-content:flex-end;display:flex}.auth-actions{justify-items:center;gap:4px;margin-top:18px;display:grid}.auth-note{color:var(--muted);margin:22px 0 0;font-size:.875rem;line-height:1.5}.button--link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.success-box,.warning-box{overflow-wrap:anywhere;border-radius:9px;padding:16px;line-height:1.45}.success-box{color:#17683b;background:#e6f5ec;border:1px solid #b7dcc5}.warning-box{color:#805000;background:#fff2d9;border:1px solid #f0d49a}.error-box{overflow-wrap:anywhere}.success-box h1{margin:0 0 8px;font-size:1.25rem}.success-box p{margin:0 0 8px}.success-box p:last-child{margin-bottom:0}.error-box p{margin:0}.violation-list{margin:8px 0 0;padding-left:20px;list-style:outside}.focus-heading:focus{outline:none}.checkbox-field{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.checkbox-field input{width:20px;height:20px;accent-color:var(--primary)}.login-form-inner>.success-box{margin-top:28px}@media (max-width:900px){.auth-link-row{justify-content:flex-start}}.loc-dialog--wide{width:min(860px,100%)}.qr-muted{color:var(--muted);font-size:.88rem}.qr-mono{overflow-wrap:anywhere;font-family:ui-monospace,monospace}.qr-summary{grid-template-columns:minmax(150px,220px) minmax(180px,280px) minmax(0,1fr);gap:14px;margin-bottom:16px;display:grid}.qr-tile{align-content:start;gap:6px;min-width:0;padding:14px 16px;display:grid}.qr-tile__label{color:var(--muted);font-size:.85rem}.qr-tile__value{font-size:1.6rem}.qr-tile--warn{border-left:4px solid #c47a00}.qr-tile__warning{color:#805000;font-size:.85rem}.qr-chips{flex-wrap:wrap;gap:8px;display:flex}.qr-chip{border:1px solid var(--border);background:var(--surface);min-height:36px;font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.qr-chip[aria-pressed=true]{color:#0e536b;background:#dceff5;border-color:#8fc3d3}.qr-chip--static{cursor:default;min-height:30px;font-size:.85rem}.qr-active-filters{margin:0 0 12px}.qr-filters{flex-wrap:wrap;align-items:end;gap:14px 16px;margin-bottom:14px;padding:16px;display:flex}.qr-filter-actions{flex-wrap:wrap;gap:8px;display:flex}.qr-range-error,.qr-generated{flex-basis:100%;margin:0}.qr-actionbar{z-index:5;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:12px;padding:10px 14px;display:flex;position:sticky;top:0}.qr-layout{align-items:start;gap:16px;display:grid}.qr-main{min-width:0}.qr-table td:first-child,.qr-table th:first-child{width:1%}.qr-table input[type=checkbox],.qr-result-table input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary)}.qr-row--compacted{color:var(--muted)}.qr-badge{border:1px solid var(--border);background:var(--surface-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.qr-badge--pending{color:#805000;background:#fff2d9;border-color:#f0d49a}.qr-badge--released{color:#17683b;background:#e6f5ec;border-color:#b7dcc5}.qr-badge--discarded{color:#4a5560}.qr-badge__extra{font-weight:400}.qr-metrics{flex-wrap:wrap;gap:4px 10px;display:inline-flex}.qr-metric__code{color:var(--muted);font-family:ui-monospace,monospace;font-size:.82rem}.qr-pagination{flex-wrap:wrap;align-items:end;gap:10px 16px;margin:14px 0;display:flex}.qr-page-size{margin-left:auto}.qr-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:12px;min-width:0;padding:16px;display:grid}.qr-panel__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.qr-panel__title{margin:0;font-size:1.1rem}.qr-panel__title:focus{outline:none}.qr-panel__body{gap:14px;display:grid}.qr-panel__nav{gap:8px;display:flex}.qr-panel__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.qr-device-link{margin-top:-6px}.qr-actions{flex-wrap:wrap;gap:8px;display:flex}.qr-section{gap:8px;display:grid}.qr-section h3{margin:0;font-size:.95rem}.qr-section p{margin:0}.qr-dl{gap:8px;margin:0;display:grid}.qr-dl>div{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.qr-dl dt{color:var(--muted)}.qr-dl dd{text-align:right;overflow-wrap:anywhere;margin:0}.qr-list{gap:4px;margin:0;padding-left:18px;display:grid}.qr-neighbor-table caption{text-align:left;padding:6px 0;font-weight:600}.qr-form{gap:14px;display:grid}.qr-fieldset{border:1px solid var(--border);border-radius:8px;gap:4px;margin:0;padding:10px 14px;display:grid}.qr-fieldset legend{padding:0 6px;font-weight:600}.qr-indent{margin-left:30px}.qr-textarea{border:1px solid var(--border);min-height:80px;font:inherit;resize:vertical;border-radius:8px;padding:8px 10px}.qr-textarea[aria-invalid=true],.fp-field select[aria-invalid=true],.fp-field input[aria-invalid=true]{border-color:var(--danger)}.qr-preview{gap:10px;display:grid}.qr-preview p{margin:0}.qr-result--done{color:#17683b}.qr-result--idempotent{color:var(--muted)}.qr-result--conflict,.qr-result--error{color:#7a2019;font-weight:600}.qr-warning{color:#805000;margin-top:4px;font-size:.88rem}@media (min-width:1100px){.qr-layout--with-panel{grid-template-columns:minmax(0,1fr) minmax(380px,460px)}.qr-layout--with-panel .qr-panel{max-height:calc(100vh - 24px);position:sticky;top:12px;overflow-y:auto}}@media (max-width:1099px){.qr-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.qr-tile--wide{grid-column:1/-1}.qr-layout--with-panel .qr-panel{z-index:55;border-radius:0;align-content:start;position:fixed;inset:0;overflow-y:auto}}@media (max-width:720px){.qr-summary{grid-template-columns:minmax(0,1fr)}.qr-filters .fp-field,.qr-filters .form-field{flex:100%}.qr-filter-actions .button,.qr-actionbar .button{min-height:44px}.qr-actionbar{position:sticky;top:auto;bottom:0}.qr-table td:first-child{display:flex}.qr-page-size{margin-left:0}.qr-dl>div{flex-direction:column;gap:2px}.qr-dl dd{text-align:left}}.monitor-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.monitor-list{margin:0;padding:0;list-style:none;overflow:hidden}.monitor-row{--monitor-num-width:44px;border-bottom:1px solid var(--border)}.monitor-row:last-child{border-bottom:0}.monitor-row__main{--monitor-diag-width:264px;grid-template-columns:var(--monitor-num-width) 40px 172px minmax(0, 1.1fr) minmax(0, 2fr) var(--monitor-diag-width) 48px;grid-template-areas:"num toggle status identity values diag details";align-items:center;gap:8px 16px;min-height:58px;padding:10px 14px 10px 0;display:grid;position:relative}.monitor-row__main:hover{background:#f2f8fa}.monitor-row__toggle{width:100%;padding:0 0 0 calc(var(--monitor-num-width) + 16px + 12px);cursor:pointer;color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;display:flex;position:absolute;inset:0}.monitor-row__number{pointer-events:none;text-align:center;color:var(--text);font-variant-numeric:tabular-nums;grid-area:num;justify-self:stretch;font-size:14px;font-weight:600;line-height:1}.monitor-row__toggle:focus-visible{outline-offset:-3px;outline:3px solid #3fb8c9b3}.monitor-chevron{transition:transform .15s}.monitor-chevron--open{transform:rotate(90deg)}.monitor-row__identity,.monitor-row__values,.monitor-row__status{pointer-events:none;min-width:0}.monitor-row__identity{grid-area:identity}.monitor-row__values{grid-area:values}.monitor-row__status{grid-area:status}.monitor-row__name{z-index:1;pointer-events:auto;font:inherit;text-align:left;cursor:pointer;color:var(--text);overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-weight:700;text-decoration:none;position:relative}.monitor-row__name:focus-visible{outline-offset:2px;border-radius:4px;outline:3px solid #3fb8c9b3}.monitor-row__name:hover{text-decoration:underline}.monitor-row__meta{color:var(--muted);flex-wrap:wrap;gap:2px 10px;margin-top:3px;font-size:.8rem;display:flex}.monitor-row__external-id{overflow-wrap:anywhere;font:.78rem ui-monospace,monospace}.monitor-row__empty{color:var(--muted);font-size:.9rem}.monitor-values{flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;display:flex}.monitor-values li{align-items:baseline;gap:6px;display:flex}.monitor-values span{color:var(--muted);font-size:.8rem}.monitor-values strong{font-variant-numeric:tabular-nums;font-size:1.2rem;line-height:1.2}.monitor-values__more{color:var(--muted);font-size:.8rem}.monitor-row__status{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.monitor-row__last{color:var(--muted);font-size:.8rem}.monitor-row__indicators{z-index:1;grid-area:diag;min-width:0;position:relative}.monitor-menu__trigger{width:44px;min-width:40px;height:44px;min-height:40px;color:var(--text);cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.monitor-menu__trigger:hover{border-color:var(--border);background:#e3eef2}.monitor-menu__trigger[aria-expanded=true]{background:#d7e7ed;border-color:#b6ccd5}.monitor-menu__trigger:focus-visible,.monitor-menu__item:focus-visible{outline-offset:1px;outline:3px solid #3fb8c9b3}.monitor-menu{z-index:70;background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:220px;max-width:calc(100vw - 16px);padding:6px;position:fixed;box-shadow:0 8px 24px #1018202e}.monitor-menu__item{width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;padding:8px 12px;font-weight:600;display:flex}.monitor-menu__item:hover,.monitor-menu__item:focus-visible{background:#e3eef2}.monitor-row__details{z-index:1;grid-area:details;justify-content:center;justify-self:end;align-items:center;display:flex;position:relative}.monitor-diag{width:var(--monitor-diag-width,264px);align-items:center;gap:4px;display:flex}.monitor-slot{flex:none;justify-content:flex-start;align-items:center;min-height:28px;display:inline-flex}.monitor-slot--battery{width:112px}.monitor-slot--power{justify-content:center;width:36px}.monitor-slot--range{width:68px}.monitor-slot--gnss{justify-content:center;width:36px}.monitor-indicator{color:var(--text);white-space:nowrap;align-items:center;gap:4px;font-size:.92rem;line-height:1;display:inline-flex}.monitor-indicator__text{font-variant-numeric:tabular-nums}.monitor-indicator--power-on{color:#1a7f37}.monitor-indicator--power-off{color:#b54708}.monitor-indicator--battery-ok{color:#1a7f37}.monitor-indicator--battery-low{color:#c25e00}.monitor-indicator--battery-critical{color:#c62828}.monitor-indicator--battery-empty,.monitor-indicator--battery-none{color:var(--muted)}.monitor-indicator--battery-voltage,.monitor-indicator--battery-ok .monitor-indicator__text,.monitor-indicator--battery-low .monitor-indicator__text,.monitor-indicator--battery-critical .monitor-indicator__text{color:var(--text)}.monitor-indicator--gsm,.monitor-indicator--lora{color:#388e3c}.monitor-indicator--no-rating{color:var(--muted)}.monitor-indicator--gnss-fix{color:#0b5d2a}.monitor-indicator--gnss-no-fix{color:#c62828}.monitor-indicator--gnss-neutral{color:var(--muted)}.monitor-indicator--stale{opacity:.55}.monitor-row__panel{padding:4px 14px 16px calc(54px + var(--monitor-num-width));background:var(--surface-muted);border-top:1px solid #edf0f2}.monitor-row__panel>.monitor-row__empty{margin:12px 0 0}.monitor-params{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.monitor-param{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0;padding:10px 12px}.monitor-param__head{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.monitor-param__name{font-size:.88rem;font-weight:600}.monitor-param__code{color:var(--muted);overflow-wrap:anywhere;font:.72rem ui-monospace,monospace}.monitor-param__value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:4px 0 6px;font-size:1.6rem;font-weight:700}.monitor-spark{height:38px;color:var(--primary);align-items:center;display:flex}.monitor-spark__svg{width:100%;height:36px;display:block}.monitor-spark__skeleton{background:linear-gradient(90deg,#edf0f2,#f7f9fa,#edf0f2);border-radius:6px;width:100%;height:14px;display:block}.monitor-spark__note{color:var(--muted);font-size:.75rem}.monitor-param__time{color:var(--muted);margin-top:4px;font-size:.75rem}.monitor-dialog__backdrop{z-index:60;background:#1018208c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.monitor-dialog{background:var(--background);border-radius:14px;flex-direction:column;width:min(1500px,100%);height:min(94vh,1100px);max-height:100%;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000059}.monitor-dialog__header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 20px;display:flex}.monitor-dialog__title{overflow-wrap:anywhere;margin:0;font-size:1.25rem}.monitor-dialog__actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.monitor-dialog__body{flex:1;align-content:start;gap:16px;padding:16px 20px 24px;display:grid;overflow:auto}.monitor-dialog__status{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.monitor-dialog__heading{margin:0 0 10px;font-size:1rem;font-weight:700}.monitor-dialog__values{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 20px;margin:0;padding:0;list-style:none;display:grid}.monitor-dialog__values li{border-bottom:1px solid #edf0f2;justify-content:space-between;gap:10px;padding:4px 0;display:flex}.monitor-dialog__values span{color:var(--muted)}@media (max-width:1279px){.monitor-row__main{grid-template-columns:var(--monitor-num-width) 40px 172px minmax(0, 1fr) var(--monitor-diag-width);grid-template-areas:"num toggle status identity details"". .values values diag"}.monitor-row__indicators{justify-self:end}}@media (max-width:720px){.monitor-row{--monitor-num-width:36px}.monitor-row__main{grid-template-columns:var(--monitor-num-width) 40px minmax(0, 1fr) auto;grid-template-areas:"num toggle status details"". .identity identity"". .values values"". .diag diag"}.monitor-row__status{flex-flow:wrap;align-items:center;gap:4px 10px}.monitor-row__indicators{justify-self:start}.monitor-row__panel{padding:4px 12px 14px}.monitor-params{grid-template-columns:1fr}.monitor-dialog__backdrop{padding:0}.monitor-dialog{border-radius:0;height:100%}.monitor-dialog__header,.monitor-dialog__body{padding-inline:14px}.monitor-dialog__actions{width:100%}.monitor-dialog__actions>*{text-align:center;flex:auto}}@media (min-width:1920px){.monitor-params{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.monitor-row__main{gap:8px 28px}}.monitor-spark__anchor{width:100%;min-height:14px}.config-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:14px;display:flex;overflow-x:auto}.config-tab{min-height:44px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 16px;font-weight:700}.config-tab:hover{color:var(--text);background:#f1f5f8}.config-tab[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.config-tab:focus-visible{outline-offset:-3px;outline:3px solid #176b8773}.config-panel{padding:18px}.registry-search{align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.registry-search .form-field{flex:auto;max-width:420px}.registry-count{color:var(--muted);margin:0 0 10px}.registry-mono{overflow-wrap:anywhere;font:.85rem ui-monospace,monospace}.registry-row-action{min-height:36px;padding:6px 12px;font-size:.85rem}.registry-pager{justify-content:center;align-items:center;gap:14px;margin-top:14px;display:flex}.registry-detail{background:var(--surface-muted);margin-top:18px;padding:18px}.registry-detail__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.registry-detail__title{overflow-wrap:anywhere;margin:0;font-size:1.1rem}.registry-detail__list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 24px;margin:0;display:grid}.registry-detail__list dt{color:var(--muted);font-size:.8rem}.registry-detail__list dd{overflow-wrap:anywhere;margin:2px 0 0;font-weight:600}.registry-detail__mono{font:.9rem ui-monospace,monospace}.registry-detail__note{color:var(--muted);margin:14px 0 0}.registry-planned-intro{margin:-8px 0 16px}.planned-feature-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.planned-feature{background:var(--surface-muted);border:1px dashed #b9c5cf;border-radius:10px;padding:12px 14px}.planned-feature__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.planned-feature__title{margin:0;font-size:1rem}.planned-feature__text{color:var(--muted);margin:6px 0 0}.planned-feature__decisions{color:var(--muted);margin:6px 0 0;font-size:.82rem}.feature-status{white-space:nowrap;border-radius:999px;flex:none;padding:4px 10px;font-size:.75rem;font-weight:700}.feature-status--unavailable{color:#52606b;background:#edf1f4;box-shadow:inset 0 0 0 1px #c3cdd6}.feature-status--future{color:#5e3d91;background:#f0eafa;box-shadow:inset 0 0 0 1px #cbbbe6}.config-section-nav{gap:8px;margin-bottom:4px;padding-bottom:6px;display:flex;overflow-x:auto}.config-section-nav__link{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;flex:none;align-items:center;min-height:40px;padding:8px 12px;font-weight:600;text-decoration:none;display:inline-flex}.config-section-nav__link:hover{background:var(--surface-muted)}.config-section{scroll-margin-top:72px}.config-section__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.config-section__head .section-title{margin:0}.config-section__current{color:var(--muted);margin:0 0 14px}@media (max-width:640px){.registry-search{flex-direction:column;align-items:stretch}.registry-search .form-field{max-width:none}.config-panel{padding:12px}.planned-feature__head,.config-section__head{flex-direction:column;gap:6px}}.rp-page{--rp-surface:#fff;--rp-surface-2:#f7f9fc;--rp-border:#e2e8f0;--rp-text:#16202c;--rp-muted:#64748b;--rp-primary:#176b87;--rp-primary-dark:#10536b;--rp-primary-soft:#e3f1f6;--rp-warn-bg:#fff8e6;--rp-warn-border:#e8c766;--rp-warn-text:#7a5a00;--rp-radius:14px;--rp-mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--rp-text);padding-top:20px;font-family:Inter,Segoe UI,system-ui,-apple-system,Arial,sans-serif;font-size:14px;line-height:1.45}.rp-page h1,.rp-page h2,.rp-page h3,.rp-page p,.rp-page dl,.rp-page dd,.rp-page ul{margin:0}.rp-page svg{display:block}.rp-layout{grid-template-columns:276px minmax(0,1fr);align-items:start;gap:20px;display:grid}.rp-content{gap:16px;min-width:0;display:grid}.rp-btn{border:1px solid var(--rp-border);background:var(--rp-surface);font:inherit;color:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:inline-flex}.rp-btn svg{width:16px;height:16px}.rp-btn--ghost:hover:not(:disabled){background:var(--rp-surface-2)}.rp-btn--primary{background:var(--rp-primary);border-color:var(--rp-primary);color:#fff;padding:11px 14px}.rp-btn--primary:hover{background:var(--rp-primary-dark)}.rp-btn--block{width:100%}.rp-btn--sm{padding:5px 10px;font-size:.8rem}.rp-btn:disabled{opacity:.45;cursor:default}.rp-btn:focus-visible,.rp-panel__toggle:focus-visible,.rp-sort:focus-visible,.rp-icon-btn:focus-visible,.rp-switch:focus-visible,.rp-quality summary:focus-visible{outline:2px solid var(--rp-primary);outline-offset:2px}.rp-panel{background:var(--rp-surface);border:1px solid var(--rp-border);border-radius:var(--rp-radius);max-height:calc(100vh - 24px);padding:16px;position:sticky;top:12px;overflow:auto;box-shadow:0 1px 2px #0f172a0a}.rp-panel__head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.rp-panel__head h2{letter-spacing:.09em;text-transform:uppercase;color:var(--rp-muted);font-size:.72rem}.rp-panel__toggle{border:1px solid var(--rp-border);background:var(--rp-surface);font:inherit;cursor:pointer;border-radius:8px;padding:4px 10px;display:none}.rp-panel__summary{color:var(--rp-muted);margin-bottom:8px;font-size:.9rem}.rp-panel__body{gap:10px;display:grid}.rp-field-label{color:var(--rp-muted);font-size:.74rem;font-weight:600}.rp-field-label__count{font-weight:500}.rp-panel__note{color:var(--rp-muted);font-size:.72rem}.rp-range{gap:8px;display:grid}.rp-range label{color:var(--rp-muted);grid-template-columns:26px 1fr;align-items:center;gap:8px;font-size:.78rem;display:grid}.rp-range input{border:1px solid var(--rp-border);background:var(--rp-surface);width:100%;font:inherit;color:var(--rp-muted);border-radius:9px;padding:8px 10px;font-size:.84rem}.rp-panel .history-controls{align-items:stretch;gap:10px;margin:0;display:grid}.rp-panel .range-group{gap:6px}.rp-panel .range-button{background:var(--rp-surface-2);border-color:var(--rp-border);border-radius:8px;min-height:0;padding:5px 10px;font-size:.78rem}.rp-panel .range-button[aria-pressed=true]{background:var(--rp-primary-soft);color:var(--rp-primary-dark);border-color:#8cc3d4;font-weight:700}.rp-panel .history-zone{gap:0;min-width:0}.rp-panel .history-zone label{color:var(--rp-muted);margin-bottom:6px;font-size:.74rem;font-weight:600}.rp-panel .select,.rp-panel .input{border-color:var(--rp-border);border-radius:9px;min-height:0;padding:8px 10px;font-size:.84rem}.rp-panel .period-controls{margin:0;padding:10px}.rp-panel .series-selector{background:0 0;border:0;border-radius:0;margin:0;padding:0}.rp-panel .series-selector__head{margin:0 0 8px}.rp-panel .series-selector__title{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.rp-panel .series-selector__head .button{border-radius:9px;width:100%;min-height:0;padding:7px 10px;font-size:.8rem}.rp-panel .series-chips{gap:6px;display:grid}.rp-panel .series-chip{background:var(--rp-primary-soft);border:1px solid #bcdce6;border-radius:10px;padding:8px 10px;font-size:.84rem}.rp-panel .series-chip__button{border-radius:7px;min-height:0;margin-left:auto;padding:2px 8px;font-size:.74rem}.rp-panel .series-selector__panel{margin-top:8px;padding-top:10px}.rp-panel .series-picker{gap:8px}.rp-panel .series-picker__list{gap:6px;max-height:292px}.rp-panel .series-picker__device{background:var(--rp-surface-2);border-color:#0000;border-radius:10px;padding:8px 10px}.rp-panel .series-picker__device-head{gap:2px 8px;margin-bottom:6px;font-size:.84rem}.rp-panel .series-picker__metric{border-radius:8px;gap:6px;min-height:0;padding:4px 8px;font-size:.76rem}.rp-panel .form-field label{font-size:.74rem}.rp-header{background:var(--rp-surface);border:1px solid var(--rp-border);border-radius:var(--rp-radius);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex;box-shadow:0 1px 2px #0f172a0a}.rp-header__title{align-items:center;gap:14px;min-width:0;display:flex}.rp-header__icon{background:var(--rp-primary-soft);width:44px;height:44px;color:var(--rp-primary);border-radius:12px;flex:none;place-items:center;display:grid}.rp-header h1{flex-wrap:wrap;align-items:center;gap:10px;font-size:1.28rem;display:flex}.rp-header p{color:var(--rp-muted);margin-top:2px;font-size:.84rem}.rp-header .rp-header__scope{font-size:.76rem}.rp-header__scope code{font-size:.74rem}.rp-tag{letter-spacing:.08em;color:#5e3d91;background:#ece6f8;border-radius:999px;padding:2px 8px;font-size:.62rem;font-weight:800;box-shadow:inset 0 0 0 1px #cbbbe6}.rp-header__actions{flex:none;align-items:center;gap:12px;display:flex}.rp-switch{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:4px;font-weight:600;display:inline-flex}.rp-switch__track{background:#cbd5e1;border-radius:999px;width:38px;height:22px;transition:background .15s;position:relative}.rp-switch__track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.rp-switch[aria-checked=true] .rp-switch__track{background:var(--rp-primary)}.rp-switch[aria-checked=true] .rp-switch__track:after{transform:translate(16px)}.rp-strip{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 24px;padding:0 4px;display:flex}.rp-strip dl{flex-wrap:wrap;gap:6px 36px;display:flex}.rp-strip dt{letter-spacing:.08em;text-transform:uppercase;color:var(--rp-muted);margin-bottom:2px;font-size:.68rem}.rp-strip dd{font:600 .9rem var(--rp-mono)}.rp-strip dd small{color:var(--rp-muted);font:500 .76rem Inter,Segoe UI,system-ui,sans-serif}.rp-strip__read{color:var(--rp-muted);font:.76rem var(--rp-mono)}.rp-note{color:var(--rp-muted);font-size:.76rem}.rp-note--info{color:#31526e;background:#eef5f9;border:1px solid #c9dfe9;border-radius:10px;padding:8px 12px}.rp-cards{gap:16px;display:grid}.rp-cards--1{grid-template-columns:minmax(0,1fr)}.rp-cards--1.rp-cards--beside{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:stretch}.rp-cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}.rp-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-cards--many{grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width:1900px){.rp-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}}.rp-card{background:var(--rp-surface);border:1px solid var(--rp-border);border-radius:var(--rp-radius);flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex;box-shadow:0 1px 2px #0f172a0a}.rp-card__head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.rp-card__titles{min-width:0}.rp-card h3{overflow-wrap:anywhere;font-size:1.02rem}.rp-card__titles p{color:var(--rp-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.78rem;overflow:hidden}.rp-status{border-radius:999px;flex:none;align-items:center;gap:6px;padding:3px 9px;font-size:.7rem;font-weight:700;display:inline-flex}.rp-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.rp-status--done{color:#31526e;background:#e8f0f7}.rp-status--partial{background:var(--rp-warn-bg);color:var(--rp-warn-text);box-shadow:inset 0 0 0 1px var(--rp-warn-border)}.rp-status--error{color:#8a1f17;background:#fdecea;box-shadow:inset 0 0 0 1px #f0b4ae}.rp-status--pending{color:#52606b;background:#edf1f4;box-shadow:inset 0 0 0 1px #c3cdd6}.rp-card__spark{background:var(--rp-surface-2);border-radius:10px;height:92px;position:relative;overflow:hidden}.rp-spark__svg{width:100%;height:100%;display:block}.rp-spark__area{opacity:.1}.rp-spark__gap{fill:#f3e6bf;opacity:.85}.rp-spark__gaplabel{text-align:center;color:var(--rp-warn-text);pointer-events:none;font-size:.7rem;font-weight:700;position:absolute;top:50%;transform:translateY(-50%)}.rp-spark__note{height:100%;color:var(--rp-muted);place-items:center;font-size:.8rem;display:grid}.rp-icon-btn{border:1px solid var(--rp-border);width:26px;height:26px;color:var(--rp-muted);cursor:pointer;background:#ffffffeb;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:6px;right:6px}.rp-icon-btn:hover{color:var(--rp-primary);border-color:#8cc3d4}.rp-stats{border-top:1px solid var(--rp-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;padding-top:12px;display:grid}.rp-stats--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-stat dt{letter-spacing:.08em;text-transform:uppercase;color:var(--rp-muted);margin-bottom:4px;font-size:.66rem}.rp-stat dd{gap:2px;display:grid}.rp-stat__value{font:700 1.28rem var(--rp-mono);letter-spacing:-.01em}.rp-stat__value small{color:var(--rp-muted);font:500 .8rem Inter,Segoe UI,system-ui,sans-serif}.rp-stat__when{font:.7rem var(--rp-mono);color:var(--rp-muted)}.rp-stat__na{color:var(--rp-muted);font-size:.76rem;font-style:italic;line-height:1.3}.rp-empty{text-align:center;color:var(--rp-muted);border:1px dashed var(--rp-border);border-radius:var(--rp-radius);background:var(--rp-surface);padding:40px}.rp-empty--flat{border:0;border-radius:0;padding:28px}.rp-cards--beside .rp-card__spark{display:none}.rp-cards--beside .rp-stats{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;gap:0 14px;padding-top:4px}.rp-cards--beside .rp-stat{border-bottom:1px solid var(--rp-border);flex-direction:column;justify-content:center;min-width:0;padding:12px 0;display:flex}.rp-cards--beside .rp-stat:nth-last-child(-n+2){border-bottom:0}.rp-cards--beside .rp-stat__value{font-size:1.45rem}.rp-cards--beside .rp-stat__when{font-size:.78rem}.rp-chart-card{background:var(--rp-surface);border:1px solid var(--rp-border);border-radius:var(--rp-radius);flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex;box-shadow:0 1px 2px #0f172a0a}.rp-chart-card__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.rp-chart-card__head h2{font-size:1.02rem}.rp-chart-card__head>div{gap:8px;display:flex}.rp-chart-card .chart-panel{margin-bottom:0}.rp-chart-card .chart-panel__title{margin:0 0 6px;font-size:.86rem}.rp-notices:empty{display:none}.rp-table-card{background:var(--rp-surface);border:1px solid var(--rp-border);border-radius:var(--rp-radius);overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.rp-table-card__head{border-bottom:1px solid var(--rp-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.rp-table-card__head h2{font-size:1.02rem}.rp-table-card__head p{color:var(--rp-muted);margin-top:2px;font-size:.78rem}.rp-table-card__tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.rp-mini-select{color:var(--rp-muted);align-items:center;gap:8px;font-size:.78rem;display:inline-flex}.rp-mini-select select{border:1px solid var(--rp-border);background:var(--rp-surface);color:var(--rp-text);font:inherit;border-radius:8px;padding:5px 8px}.rp-sort-tools{align-items:end;gap:8px;display:none}.rp-table-wrap{max-height:720px;overflow:auto}.rp-table{border-collapse:collapse;width:100%}.rp-table thead th{background:var(--rp-surface-2);text-align:left;border-bottom:1px solid var(--rp-border);z-index:1;padding:0;position:sticky;top:0}.rp-table thead th:last-child{letter-spacing:.08em;text-transform:uppercase;color:var(--rp-muted);padding:9px 18px;font-size:.68rem;font-weight:700}.rp-sort{all:unset;box-sizing:border-box;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;width:100%;color:var(--rp-muted);align-items:center;gap:8px;padding:9px 18px;font-size:.68rem;font-weight:700;display:flex}.rp-sort:focus-visible{outline:2px solid var(--rp-primary);outline-offset:-2px}.rp-sort__mark{font-size:.62rem}.rp-table th.rp-num .rp-sort{justify-content:flex-end}.rp-table tbody td{white-space:nowrap;border-bottom:1px solid #edf1f6;padding:8px 18px;font-size:.84rem}.rp-table tbody tr:nth-child(2n){background:#f8fafc}.rp-table-card{--rp-lvl-row:12%;--rp-lvl-soft:7%;--rp-lvl-cell:17%}[data-theme=dark] .rp-table-card{--rp-lvl-row:24%;--rp-lvl-soft:15%;--rp-lvl-cell:32%}.rp-table tbody tr.rp-row--lvl[data-level]{background:var(--rp-lvl)}@supports (color:color-mix(in lab, red, red)){.rp-table tbody tr.rp-row--lvl[data-level]{background:color-mix(in srgb, var(--rp-lvl) var(--rp-lvl-row), var(--rp-surface))}}.rp-table tbody tr.rp-row--lvl[data-level]{box-shadow:inset 3px 0 0 var(--rp-lvl)}.rp-table tbody tr.rp-row--lvl.rp-row--soft[data-level]{background:var(--rp-lvl)}@supports (color:color-mix(in lab, red, red)){.rp-table tbody tr.rp-row--lvl.rp-row--soft[data-level]{background:color-mix(in srgb, var(--rp-lvl) var(--rp-lvl-soft), var(--rp-surface))}}.rp-table tbody tr.rp-row--lvl[data-level]:hover{background:var(--rp-lvl)}@supports (color:color-mix(in lab, red, red)){.rp-table tbody tr.rp-row--lvl[data-level]:hover{background:color-mix(in srgb, var(--rp-lvl) calc(var(--rp-lvl-row) + 6%), var(--rp-surface))}}.rp-table tbody td.rp-cell--lvl{background:var(--rp-lvl)}@supports (color:color-mix(in lab, red, red)){.rp-table tbody td.rp-cell--lvl{background:color-mix(in srgb, var(--rp-lvl) var(--rp-lvl-cell), var(--rp-surface))}}.rp-val--lvl{font-weight:700}.rp-lvl-badge{background:var(--rp-lvl);color:#fff;letter-spacing:.02em;text-align:center;text-shadow:0 0 2px #00000073;border-radius:6px;min-width:26px;margin-right:8px;padding:1px 6px;font-size:.68rem;font-weight:800;display:inline-block}.rp-thr{border-bottom:1px solid var(--rp-border);gap:4px;padding:10px 18px;display:grid}.rp-thr p{margin:0}.rp-thr__legend{flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:.8rem;display:flex}.rp-thr__key{align-items:center;gap:6px;font-weight:700;display:inline-flex}.rp-thr__swatch{border-radius:4px;width:14px;height:14px;display:inline-block}.rp-thr__messages{color:var(--rp-warn-text,#7c2d12);margin:2px 0 0;padding-left:18px;font-size:.78rem}@media print{.rp-lvl-badge{color:inherit;text-shadow:none;background:0 0;border:1px solid}}.rp-table tbody tr:hover{background:#eef5f9}.rp-mono{font-family:var(--rp-mono);font-size:.8rem}.rp-num{text-align:right}.rp-muted{color:var(--rp-muted)}.rp-dot{border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}.rp-pager{border-top:1px solid var(--rp-border);color:var(--rp-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;font-size:.8rem;display:flex}.rp-pager__buttons{align-items:center;gap:10px;display:flex}.rp-quality{background:var(--rp-surface);border:1px solid var(--rp-border);border-radius:var(--rp-radius);box-shadow:0 1px 2px #0f172a0a}.rp-quality summary{cursor:pointer;align-items:center;gap:12px;padding:12px 18px;list-style:none;display:flex}.rp-quality summary::-webkit-details-marker{display:none}.rp-quality__icon{color:#31526e;background:#e8f0f7;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid}.rp-quality__icon.is-warn{background:var(--rp-warn-bg);color:var(--rp-warn-text)}.rp-quality__title{flex:1;min-width:0;display:grid}.rp-quality__title h2{font-size:1rem}.rp-quality__hint{color:var(--rp-primary);font-size:.8rem;font-weight:600}.rp-quality__hint-open{display:none}.rp-quality[open] .rp-quality__hint-open{display:inline}.rp-quality[open] .rp-quality__hint-closed{display:none}.rp-quality__chev svg{width:18px;height:18px;color:var(--rp-muted);transition:transform .15s}.rp-quality[open] .rp-quality__chev svg{transform:rotate(180deg)}.rp-quality__body{border-top:1px solid var(--rp-border);padding:4px 18px 18px}.rp-quality__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:14px;display:grid}.rp-mini-table{border-collapse:collapse;width:100%}.rp-mini-table th,.rp-mini-table td{text-align:left;border-bottom:1px solid #edf1f6;padding:7px 10px;font-size:.8rem}.rp-mini-table thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--rp-muted);font-size:.68rem}.rp-callout{background:#eef5f9;border:1px solid #c9dfe9;border-radius:10px;margin-top:12px;padding:11px 14px;font-size:.8rem}.rp-callout:first-child{margin-top:0}.rp-callout--warn{background:var(--rp-warn-bg);border-color:var(--rp-warn-border);color:#5c4400}.rp-callout ul{gap:4px;margin:6px 0 0;padding-left:18px;display:grid}.rp-callout p{margin-top:6px}.rp-preview h3{margin:12px 0 8px;font-size:.95rem}.rp-facts{background:var(--rp-surface-2);border:1px solid var(--rp-border);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 24px;padding:12px;display:grid}.rp-facts dt{color:var(--rp-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-size:.72rem}.rp-facts dd{overflow-wrap:anywhere}@media (max-width:1100px){.rp-layout{grid-template-columns:minmax(0,1fr)}.rp-panel{max-height:none;position:static;overflow:visible}.rp-panel__toggle{display:inline-block}.rp-panel__body--collapsed{display:none}.rp-cards--1.rp-cards--beside,.rp-cards--2,.rp-cards--3,.rp-cards--4,.rp-cards--many,.rp-quality__cols{grid-template-columns:minmax(0,1fr)}.rp-header{flex-direction:column;align-items:flex-start}.rp-strip dl{flex-direction:column;gap:8px}}@media (max-width:700px){.rp-sort-tools{display:flex}.rp-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.rp-table,.rp-table tbody,.rp-table tr,.rp-table td{width:100%;display:block}.rp-table tbody tr{border-bottom:1px solid var(--rp-border);padding:10px 18px}.rp-table tbody td{white-space:normal;border:0;justify-content:space-between;gap:12px;padding:3px 0;display:flex}.rp-table tbody td:before{content:attr(data-label);color:var(--rp-muted);flex:none;font-size:.8rem}.rp-table-wrap{max-height:560px}.rp-header__actions{flex-wrap:wrap}}.rp-page h1,.rp-page h2,.rp-page h3{font-weight:700}.rp-panel .series-picker__device-head .type-pill{display:none}.rp-panel .series-picker__device-head strong{font-size:.84rem}.rp-chart-card .chart{height:270px}.rp-period{gap:10px;display:grid}.rp-range input{color:var(--rp-text);min-height:36px}.rp-range input[aria-invalid=true]{border-color:#c0392b}.rp-picker{gap:10px;display:grid}.rp-picker__selected{gap:6px;margin:0;padding:0;list-style:none;display:grid}.rp-picker__selected li{background:var(--rp-primary-soft);border:1px solid #bcdce6;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:.82rem;display:flex}.rp-picker__list{gap:4px;max-height:300px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.rp-picker__item{background:var(--rp-surface-2);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.rp-picker__item input{flex:none;margin-top:3px}.rp-picker__text{min-width:0;display:grid}.rp-picker__label{overflow-wrap:anywhere;font-size:.84rem;font-weight:600}.rp-picker__text small{color:var(--rp-muted);overflow-wrap:anywhere;font-size:.72rem}.rp-picker .range-group{gap:6px}.rp-layout{grid-template-columns:296px minmax(0,1fr)}.rp-panel{flex-direction:column;height:calc(100vh - 32px);max-height:none;padding:16px 0 0;display:flex;overflow:hidden}.rp-panel__head,.rp-panel__count,.rp-panel__summary{padding-inline:16px}.rp-panel__head{margin-bottom:2px}.rp-panel__count{color:var(--rp-muted);margin:0 0 10px;font-size:.8rem}.rp-panel__body{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:8px 16px;display:flex;overflow:auto}.rp-panel__footer{border-top:1px solid var(--rp-border);background:var(--rp-surface);flex:none;gap:8px;padding:12px 16px 14px;display:grid}.rp-panel__details summary{cursor:pointer;color:var(--rp-primary);font-size:.74rem}.rp-panel__details .rp-panel__note{margin-top:6px}.rp-section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.rp-link-btn{font:inherit;color:var(--rp-primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:.74rem;font-weight:600}.rp-link-btn:disabled{color:var(--rp-muted);opacity:.6;cursor:default}.rp-link-btn:focus-visible{outline:2px solid var(--rp-primary);outline-offset:2px}.rp-period .range-group{background:#eef2f6;border-radius:10px;grid-template-columns:repeat(4,1fr);gap:2px;padding:3px;display:grid}.rp-panel .rp-period .range-button{text-align:center;background:0 0;border:0;border-radius:8px;padding:6px 4px;font-size:.78rem}.rp-panel .rp-period .range-button[aria-pressed=true]{color:var(--rp-primary-dark);background:#fff;box-shadow:0 1px 2px #0f172a1f}.rp-picker{flex-direction:column;flex:auto;gap:8px;min-height:240px;display:flex}.rp-picker__filters{flex:none;gap:8px;display:grid}.rp-chips{grid-template-columns:1fr 1fr;gap:6px;display:grid}.rp-chip{border:1px solid var(--rp-border);background:var(--rp-surface);font:inherit;color:inherit;cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;display:flex}.rp-chip:hover{background:var(--rp-surface-2)}.rp-chip[aria-pressed=true]{background:var(--rp-primary);border-color:var(--rp-primary);color:#fff;font-weight:700}.rp-chip__count{font:600 .7rem var(--rp-mono);color:var(--rp-muted)}.rp-chip[aria-pressed=true] .rp-chip__count{color:#ffffffd9}.rp-chip:focus-visible{outline:2px solid var(--rp-primary);outline-offset:2px}.rp-chip--inline{border-radius:999px;padding:4px 10px;font-size:.76rem}.rp-search .input{border-color:var(--rp-border);border-radius:9px;min-height:0;padding:8px 10px;font-size:.82rem}.rp-picker__scroll{flex:auto;align-content:start;gap:8px;min-height:120px;padding-right:2px;display:grid;overflow:auto}.rp-picker__list,.rp-picker__params{gap:2px;max-height:none;margin:0;padding:0;list-style:none;display:grid;overflow:visible}.rp-picker__group{border-bottom:1px solid #edf1f6;padding-bottom:6px}.rp-picker__group:last-child{border-bottom:0}.rp-picker__device{flex-wrap:wrap;align-items:baseline;gap:0 8px;padding:8px 4px 4px;display:flex}.rp-picker__device strong{font-size:.88rem}.rp-picker__tally{font:600 .72rem var(--rp-mono);color:var(--rp-primary);margin-left:auto}.rp-picker__device small{font:.66rem var(--rp-mono);color:var(--rp-muted);overflow-wrap:anywhere;flex-basis:100%}.rp-picker__item{cursor:pointer;background:0 0;border-left:3px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;display:flex}.rp-picker__item:hover{background:var(--rp-surface-2)}.rp-picker__item--on{background:var(--rp-primary-soft)}.rp-picker__item input{flex:none;margin:0}.rp-picker__text{flex:1;min-width:0;display:grid}.rp-picker__label{font-size:.84rem;font-weight:600}.rp-picker__text small{color:var(--rp-muted);font-size:.68rem;line-height:1.25}.rp-picker__unit{font:.72rem var(--rp-mono);color:var(--rp-muted);flex:none}.rp-header{grid-template-columns:minmax(380px,1fr) auto;align-items:center;gap:8px 28px;padding:14px 18px;display:grid}.rp-header__title{align-items:flex-start;min-width:0}.rp-header__side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 24px;display:flex}.rp-header__scope{border-top:1px dashed var(--rp-border);color:var(--rp-muted);grid-column:1/-1;margin:0;padding-top:8px;font-size:.7rem;display:block}.rp-header__scope svg{vertical-align:-2px;margin-right:5px;display:inline-block}.rp-header .rp-strip{padding:0}.rp-header .rp-strip dl{gap:6px 26px}.rp-strip dd.rp-strip__read{font:500 .78rem var(--rp-mono);color:var(--rp-muted)}.rp-card__titles h3{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.rp-card__device{align-items:center;gap:8px;font-size:1rem;display:inline-flex}.rp-card__titles p{align-items:center;gap:4px;display:flex}.rp-card__titles p code{font:.7rem var(--rp-mono);color:var(--rp-muted)}.rp-param-tag{background:currentColor;border:1px solid;border-radius:6px;padding:1px 8px;font-size:.7rem;font-weight:700;line-height:1.5;display:inline-block}@supports (color:color-mix(in lab, red, red)){.rp-param-tag{background:color-mix(in srgb, currentColor 8%, white)}}.rp-dot{flex:none}.rp-card__spark{height:112px}.rp-spark__svg{height:calc(100% - 16px)}.rp-spark__y,.rp-spark__x{font:.62rem var(--rp-mono);color:var(--rp-muted);pointer-events:none;position:absolute}.rp-spark__y{background:#f7f9fccc;border-radius:3px;padding:0 2px;left:6px}.rp-spark__y--max{top:3px}.rp-spark__y--min{bottom:19px}.rp-spark__x{bottom:2px}.rp-spark__x--from{left:6px}.rp-spark__x--to{right:6px}.rp-stat--min dt:before{content:"↓ ";color:#2b7a9b}.rp-stat--max dt:before{content:"↑ ";color:#b45309}.rp-stat__value{font-size:1.4rem}.rp-table-card__filter{border-bottom:1px solid var(--rp-border);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 18px;display:flex}.rp-table-card__filter-label{letter-spacing:.04em;color:var(--rp-muted);margin-right:4px;font-size:.72rem;font-weight:600}.rp-table tbody td.rp-series-cell{border-left:3px solid #0000}.rp-series-cell .rp-param-tag{margin-left:8px}.rp-legend{background:var(--rp-surface-2);border:1px solid var(--rp-border);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 0;padding:12px;display:grid}.rp-legend dt{align-items:center;gap:8px;margin-bottom:4px;font-size:.8rem;font-weight:700;display:flex}.rp-legend dd{color:var(--rp-muted);margin:0;font-size:.76rem;line-height:1.4}.rp-legend__swatch{border:1px solid #cdb26a;border-radius:3px;flex:none;width:14px;height:14px}.rp-legend__swatch--unloaded{background:#f3e6bf}.rp-legend__swatch--empty{background:repeating-linear-gradient(45deg,#fff,#fff 3px,#dfe5ec 3px 5px);border-color:#b8c2ce}.rp-legend__swatch--before{background:#fff;border:1px dashed #98a5b4}.rp-quality__title small{color:#3b4a5a;font-size:.86rem}@media (max-width:1100px){.rp-layout{grid-template-columns:minmax(0,1fr)}.rp-panel{height:auto;padding-top:16px;overflow:visible}.rp-panel__body{overflow:visible}.rp-picker{min-height:0}.rp-picker__scroll{max-height:380px}.rp-legend,.rp-header{grid-template-columns:minmax(0,1fr)}.rp-header__side{justify-content:flex-start}.rp-header__actions{flex-wrap:wrap;flex:0 auto}}@media (max-width:700px){.rp-header__side{flex-direction:column;align-items:flex-start}.rp-header .rp-strip dl{flex-direction:column;gap:8px}.rp-header__actions{flex-wrap:wrap}}.rp-table{table-layout:auto;width:max-content;max-width:100%}.rp-table th,.rp-table td{white-space:nowrap}.rp-table thead th,.rp-table tbody td{text-align:left}.rp-table thead th.rp-num,.rp-table tbody td.rp-num{text-align:right}.rp-table tbody td{padding:8px 14px}.rp-sort,.rp-table thead th:last-child{padding:9px 14px}.rp-check{color:var(--rp-text);cursor:pointer;align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.rp-check input{margin:0}.rp-table-card__views{border-bottom:1px solid var(--rp-border);gap:6px;padding:10px 18px;display:grid}.rp-segmented{background:#eef2f6;border-radius:10px;gap:2px;width:fit-content;max-width:100%;padding:3px;display:inline-flex}.rp-segmented__btn{font:inherit;color:var(--rp-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 12px;font-size:.78rem;font-weight:600}.rp-segmented__btn[aria-pressed=true]{color:var(--rp-primary-dark);background:#fff;box-shadow:0 1px 2px #0f172a1f}.rp-segmented__btn[aria-disabled=true]{cursor:not-allowed;opacity:.6}.rp-segmented__btn:focus-visible{outline:2px solid var(--rp-primary);outline-offset:2px}.rp-chart-card__head>div{flex-wrap:wrap;align-items:center}.chart-events__list{color:var(--rp-text);margin:6px 0 0;padding-left:18px;font-size:.78rem}.rp-notes{background:var(--rp-surface);border:1px solid var(--rp-border);border-radius:var(--rp-radius);gap:8px;padding:14px 18px;display:grid;box-shadow:0 1px 2px #0f172a0a}.rp-notes h2{font-size:1.02rem}.rp-notes__warn{background:var(--rp-warn-bg);border:1px solid var(--rp-warn-border);color:var(--rp-warn-text);border-radius:10px;padding:8px 12px;font-size:.8rem}.rp-notes textarea{resize:vertical;border:1px solid var(--rp-border);width:100%;min-height:110px;font:inherit;color:var(--rp-text);border-radius:10px;padding:10px 12px;font-size:.88rem}.rp-notes__count{color:var(--rp-muted);font-size:.72rem}@media (max-width:700px){.rp-table{width:100%}}.rp-cell{color:var(--rp-muted);font-size:.78rem;font-style:italic}.rp-cell--not_applicable{color:#7b8794}.rp-cell--missing{color:var(--rp-warn-text)}.rp-cell--not_loaded{color:#8a4b08;background:var(--rp-warn-bg)}.rp-cell--not_selected{color:#98a2ae}:root{--gt-ink:#0b2a4f;--gt-blue:#1677ff;--gt-red:#ef4424;--gt-amber:#f59e0b;--gt-green:#16a34a}[data-theme=dark]{--gt-ink:#e6f0ff;--gt-blue:#4da3ff;--gt-red:#ff6b57;--gt-amber:#ffb938;--gt-green:#34d17a}.device-icon{flex:none;display:block;overflow:visible}.gti-k,.gti-b,.gti-r,.gti-y,.gti-g{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.gti-k{stroke:var(--gt-ink)}.gti-b{stroke:var(--gt-blue)}.gti-r{stroke:var(--gt-red)}.gti-y{stroke:var(--gt-amber)}.gti-g{stroke:var(--gt-green)}.gti-tk{fill:var(--gt-ink);fill-opacity:.1}.gti-tb{fill:var(--gt-blue);fill-opacity:.2}.gti-tr{fill:var(--gt-red);fill-opacity:.2}.gti-ty{fill:var(--gt-amber);fill-opacity:.28}.gti-tg{fill:var(--gt-green);fill-opacity:.2}.gti-fk{fill:var(--gt-ink);stroke:none}.gti-fb{fill:var(--gt-blue);stroke:none}.gti-fr{fill:var(--gt-red);stroke:none}.gti-fy{fill:var(--gt-amber);stroke:none}.gti-fg{fill:var(--gt-green);stroke:none}.monitor-row__identity{align-items:center;gap:12px;display:flex}.monitor-row__identity-text{min-width:0}.details-title-row .device-icon{align-self:center}.name-editor{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.name-editor .page-heading{overflow-wrap:anywhere}.name-editor__pencil{width:44px;height:44px;color:var(--muted);cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.name-editor__pencil:hover{border-color:var(--border);color:var(--text);background:#e3eef2}.name-editor__pencil:focus-visible{outline-offset:1px;outline:3px solid #3fb8c9b3}.name-editor--editing{flex:320px}.name-editor__input{flex:240px;min-width:0;max-width:560px}.name-editor__actions{gap:8px;display:flex}.name-editor__error{flex-basis:100%}.sc-header .name-editor{flex-wrap:nowrap}.sc-header .name-editor--editing{flex-wrap:wrap}.sc-header .name-editor__pencil{flex:none;width:36px;height:36px}.sc-header .name-editor__input{flex:200px;max-width:480px}.sensor-card{--sc-radius:12px;--sc-ok:#08662a;--sc-ok-bg:#e3f6e9;--sc-bad:#a80f16;--sc-bad-bg:#fde7e7;--sc-neutral:#52606b;--sc-neutral-bg:#eef2f5;--sc-soft:#f3f8fa}.sensor-card .monitor-dialog__body{gap:18px;padding:16px 24px 20px}.sc-header{background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:12px 20px;padding:16px 24px;display:grid}.sc-header__identity{align-items:center;gap:14px;min-width:0;display:flex}.sc-header__icon{background:var(--sc-soft);border:1px solid var(--border);border-radius:14px;flex:none;place-items:center;width:56px;height:56px;display:grid}.sc-header__text{min-width:0}.sc-crumbs{color:var(--muted);overflow-wrap:anywhere;margin:0 0 2px;font-size:.78rem}.sc-crumbs__id{font-family:ui-monospace,Consolas,monospace}.sc-header__title{overflow-wrap:anywhere;margin:0;font-size:1.5rem;line-height:1.2}.sc-header__context{color:var(--muted);flex-wrap:wrap;gap:2px 18px;margin:4px 0 0;font-size:.9rem;display:flex}.sc-header__context strong{color:var(--text)}.sc-header__close{border:1px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--text);background:#fff;border-radius:10px;align-self:start;font-size:1.5rem;line-height:1}.sc-header__close:hover{background:var(--surface-muted)}.sc-statuses{border:1px solid var(--border);border-radius:var(--sc-radius);background:var(--sc-soft);flex-wrap:wrap;gap:6px 4px;margin:0;padding:6px 8px;list-style:none;display:flex}.sc-status{border-radius:10px;align-items:center;gap:8px;padding:4px 10px;display:flex}.sc-status__icon{background:var(--sc-neutral-bg);width:32px;height:32px;color:var(--sc-neutral);border-radius:9px;place-items:center;display:grid}.sc-status--ok .sc-status__icon{background:var(--sc-ok-bg);color:var(--sc-ok);box-shadow:inset 0 0 0 1px #08662a4d}.sc-status--bad .sc-status__icon{background:var(--sc-bad-bg);color:var(--sc-bad);box-shadow:inset 0 0 0 1px #a80f164d}.sc-status__text{line-height:1.2;display:grid}.sc-status__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.66rem}.sc-status__value{font-size:.85rem;font-weight:700}.sc-status--ok .sc-status__value{color:var(--sc-ok)}.sc-status--bad .sc-status__value{color:var(--sc-bad)}.sc-section-title{margin:0;font-size:1rem;font-weight:700}.sc-measurements__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-bottom:10px;display:flex}.sc-measurements__time{color:var(--muted);font-size:.85rem}.sc-tiles{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.sc-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--sc-radius);text-align:left;font:inherit;color:inherit;align-content:start;gap:6px;min-width:0;padding:14px 16px;display:grid}.sc-tile__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.sc-tile__value{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.sc-tile__number{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.9rem;font-weight:700;line-height:1.1}.sc-tile--large .sc-tile__number{font-size:2.6rem}.sc-tile__unit{color:var(--muted);font-size:1rem}.sc-tile__meta{color:var(--muted);font-size:.78rem;line-height:1.35}.sc-tile__empty{color:var(--muted);font-size:.85rem}.sc-tile--measure{cursor:pointer;background:linear-gradient(#fff,#f5fafc);border-color:#bcd6df;position:relative}.sc-tile--measure:hover{border-color:var(--primary);box-shadow:0 2px 10px #176b8726}.sc-tile--measure:focus-visible{outline-offset:2px;outline:3px solid #176b8773}.sc-tile--measure[aria-pressed=true]{border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}.sc-tile__hint{color:var(--primary);opacity:0;font-size:.72rem;font-weight:700;transition:opacity .15s}.sc-tile--measure:hover .sc-tile__hint,.sc-tile--measure:focus-visible .sc-tile__hint,.sc-tile--measure[aria-pressed=true] .sc-tile__hint{opacity:1}.sc-tile--diag{background:var(--surface-muted)}.sc-tile--diag .sc-tile__number{font-size:1.4rem}.sc-tile--stale .sc-tile__number{color:#5b6672}.sc-bar{background:#e2e8ee;border-radius:99px;height:8px;display:block;overflow:hidden}.sc-bar>span{background:#2e8b57;border-radius:99px;height:100%;display:block}.sc-bar--low>span{background:#d98a00}.sc-bar--critical>span,.sc-bar--empty>span{background:#c0392b}.sc-signal{align-items:flex-end;gap:12px;display:flex}.sc-signal__bars{align-items:flex-end;gap:3px;height:30px;display:inline-flex}.sc-signal__bars>span{background:#d3dbe2;border-radius:2px;width:6px}.sc-signal__bars>span.is-filled{background:#2e8b57}.sc-signal__text{font-size:.85rem;line-height:1.2;display:grid}.sc-signal__text strong{font-size:1.15rem}.sc-signal__values{flex-wrap:wrap;gap:8px;font-size:.8rem;display:flex}.sc-signal__values>span{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:8px;padding:3px 8px}.sc-signal__values strong{color:var(--text);font-family:ui-monospace,Consolas,monospace}.sc-tablist{border-bottom:1px solid var(--border);scrollbar-width:thin;-webkit-overflow-scrolling:touch;gap:4px;display:flex;overflow-x:auto}.sc-tab-button{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;min-height:44px;margin-bottom:-1px;padding:12px 16px;font-weight:600}.sc-tab-button:hover{color:var(--text)}.sc-tab-button[aria-selected=true]{color:var(--primary-dark);border-bottom-color:var(--primary)}.sc-tab-button:focus-visible{outline-offset:-3px;border-radius:6px;outline:3px solid #176b8773}.sc-tabs [role=tabpanel]{padding-top:16px}.sc-tabs [role=tabpanel][hidden]{display:none}.sc-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--sc-radius);align-content:start;gap:12px;min-width:0;padding:16px 18px;display:grid}.sc-panel__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sc-panel__title{margin:0;font-size:1rem;font-weight:700}.sc-tab{gap:16px;display:grid}.sc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.sc-note{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.sc-muted{color:var(--muted)}.sc-state-line{background:var(--sc-neutral-bg);color:var(--text);border-radius:10px;margin:0;padding:10px 12px;font-size:.9rem}.sc-notice{color:#5b4300;border-radius:var(--sc-radius);background:#fff8e1;border:1px solid #e0c46c;gap:4px;padding:12px 16px;font-size:.88rem;display:grid}.sc-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.sc-badge--unavailable{background:var(--sc-neutral-bg);color:var(--sc-neutral);border:1px dashed #8895a1}.sc-info{gap:0;margin:0;display:grid}.sc-info>div{border-bottom:1px solid #edf0f2;justify-content:space-between;gap:12px;padding:7px 0;font-size:.88rem;display:flex}.sc-info dt{color:var(--muted)}.sc-info dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.sc-info code{font-size:.78rem;font-weight:500}.sc-triad{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.sc-triad>li{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:2px;padding:12px 14px;display:grid}.sc-triad__name{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.sc-steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sc-steps>li{align-items:center;gap:10px;font-size:.9rem;display:flex}.sc-steps>li .sc-badge{margin-left:auto}.sc-steps__dot{border:2px solid #aab5bf;border-radius:50%;flex:none;width:14px;height:14px}.sc-form{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;min-width:0;margin:0;padding:0;display:grid}.sc-form:disabled{opacity:.7}.sc-form--stack{grid-template-columns:1fr}.sc-form__group{border:1px solid var(--border);border-radius:10px;gap:6px;padding:8px 12px;display:grid}.sc-form__group legend{color:var(--muted);padding:0 4px;font-size:.8rem}.sc-field{gap:4px;min-width:0;display:grid}.sc-field--wide{grid-column:1/-1}.sc-field label,.sc-field__label{color:var(--muted);font-size:.8rem;font-weight:600}.sc-field input[type=text],.sc-field select,.sc-field textarea{border:1px solid var(--border);width:100%;min-height:40px;font:inherit;background:#f4f6f8;border-radius:8px;padding:8px 10px}.sc-checks{flex-wrap:wrap;gap:8px 18px;font-size:.88rem;display:flex}.sc-checks label{align-items:center;gap:6px;display:inline-flex}.sc-radio{flex-wrap:wrap;align-items:center;gap:6px;font-size:.88rem;display:flex}.sc-inline-input{border:1px solid var(--border);width:70px;min-height:34px;font:inherit;background:#f4f6f8;border-radius:8px;padding:4px 8px}.sc-inline-input--wide{width:210px}.sc-actions,.sc-swatches{flex-wrap:wrap;gap:8px;display:flex}.sc-swatch{width:30px;height:30px;box-shadow:0 0 0 1px var(--border);cursor:not-allowed;border:2px solid #fff;border-radius:50%}.sc-history{gap:16px;display:grid}.sc-history__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.sc-segmented{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;padding:3px;display:inline-flex}.sc-segmented button{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:8px;min-height:38px;padding:7px 14px;font-size:.85rem}.sc-segmented button[aria-pressed=true]{color:var(--text);background:#fff;font-weight:700;box-shadow:0 1px 3px #00000026}.sc-segmented button:focus-visible{outline-offset:1px;outline:3px solid #176b8773}.sc-history__toggles{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.sc-chips{flex-wrap:wrap;gap:8px;display:flex}.sc-chip{border:1px solid var(--border);font:inherit;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:7px 12px;font-size:.86rem;display:inline-flex}.sc-chip__box{background:#fff;border:2px solid #9aa7b3;border-radius:5px;flex:none;width:16px;height:16px}.sc-chip[aria-pressed=true]{border-color:var(--primary);background:#eaf5f8}.sc-chip[aria-pressed=true] .sc-chip__box{background:var(--primary);border-color:var(--primary);box-shadow:inset 0 0 0 2px #fff}.sc-chip.is-emphasized{box-shadow:0 0 0 2px var(--primary)}.sc-chip__unit{color:var(--muted)}.sc-chip:focus-visible{outline-offset:1px;outline:3px solid #176b8773}.sc-switch{font:inherit;color:var(--muted);cursor:not-allowed;background:0 0;border:0;align-items:center;gap:10px;padding:4px 0;font-size:.88rem;display:inline-flex}.sc-switch__track{background:#cfd6dd;border-radius:99px;flex:none;width:38px;height:22px;position:relative}.sc-switch__track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:3px;left:3px}.sc-link-button{color:var(--primary-dark);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:.82rem;text-decoration:underline}.sc-history__tools{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.sc-history__zone{flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.sc-history .chart{min-height:340px}.sc-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0;display:grid}.sc-stat{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;padding:10px 12px}.sc-stat dt{color:var(--muted);font-size:.72rem}.sc-stat dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.05rem;font-weight:700}.sc-stat--muted dd{color:var(--muted);font-size:.9rem;font-weight:600}.sc-stats__unavailable{color:var(--muted);border:1px dashed #8895a1;border-radius:10px;grid-column:1/-1;padding:10px 12px;font-size:.85rem}.sc-stats__unavailable dt{color:var(--text);font-weight:700}.sc-stats__unavailable dd{margin:2px 0 0}.sc-history__lower{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.sc-events{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sc-event{text-align:left;border:1px solid var(--border);width:100%;font:inherit;cursor:pointer;background:#fff;border-radius:10px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.sc-event:hover{background:var(--surface-muted)}.sc-event[aria-pressed=true]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:#eaf5f8}.sc-event:focus-visible{outline-offset:1px;outline:3px solid #176b8773}.sc-event__badge{background:var(--sc-neutral-bg);width:30px;height:30px;color:var(--sc-neutral);border-radius:8px;flex:none;place-items:center;font-weight:700;display:grid}.sc-event__body{gap:2px;min-width:0;font-size:.86rem;display:grid}.sc-event__sub{color:var(--muted);font-size:.78rem}.sc-footer{background:var(--surface);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 24px;display:flex}.sc-footer__note{color:var(--muted);margin:0;font-size:.78rem}.sc-footer__actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:1100px){.sc-header{grid-template-columns:minmax(0,1fr) auto}.sc-statuses{grid-area:2/1/auto/-1}}@media (max-width:900px){.sc-grid-2,.sc-history__lower,.sc-triad,.sc-form{grid-template-columns:1fr}}@media (max-width:720px){.sensor-card .monitor-dialog__body{gap:14px;padding:12px 14px 16px}.sc-header{gap:10px;padding:12px 14px}.sc-header__icon{width:44px;height:44px}.sc-header__title{font-size:1.25rem}.sc-statuses{flex-wrap:nowrap;gap:2px;overflow-x:auto}.sc-status{flex:none;padding:4px 6px}.sc-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sc-tile--large{grid-column:1/-1}.sc-tile--large .sc-tile__number{font-size:2.3rem}.sc-tile__hint{opacity:1}.sc-panel{padding:12px}.sc-footer{padding:10px 14px}.sc-footer__note{display:none}.sc-footer__actions{width:100%}.sc-footer__actions>*{text-align:center;flex:auto;justify-content:center}.sc-history .chart{min-height:280px}}.sc-history__zone .select{width:auto;min-width:190px}.sc-history__tools .zoom-controls,.sc-history__tools>div:first-child{flex:380px}.sensor-card .monitor-dialog__body{grid-template-columns:minmax(0,1fr)}.sensor-card .sc-body>*,.sc-tabs,.sc-history,.sc-tab,.sc-header>*{min-width:0}.sc-statuses{max-width:100%}@media (max-width:720px){.sc-header__identity{align-items:flex-start}.sc-measurements__time{font-size:.8rem}}.sc-panel,.sc-history,.sc-tab,.sc-form--stack{grid-template-columns:minmax(0,1fr)}.sc-swatch{cursor:pointer}.sc-swatch.is-selected{box-shadow:0 0 0 3px var(--text)}.alarm-form{gap:14px;display:grid}.alarm-form__actions{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.alarm-recipient{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:.88rem;display:grid}.alarm-error{color:#b42318;margin:0;font-size:.86rem}.alarm-ack{gap:8px;margin-top:8px;display:grid}.alarm-ack__note{color:var(--muted);margin:0;font-size:.78rem}.alarm-card{border:1px solid var(--border);background:var(--surface);border-left:6px solid #b91c1c;border-radius:10px;gap:4px;padding:10px 14px;display:grid}.alarm-card p{margin:0;font-size:.88rem}.alarm-card__head{flex-wrap:wrap;justify-content:space-between;gap:6px;display:flex}.alarm-card__state{color:var(--muted)}.alarm-popup__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.alarm-popup{z-index:60;background:var(--surface);border:2px solid #b91c1c;border-radius:14px;gap:10px;width:min(560px,100vw - 32px);max-height:min(80vh,720px);padding:14px 16px;display:grid;position:fixed;bottom:16px;right:16px;overflow:auto;box-shadow:0 12px 40px #00000047}.alarm-popup__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.alarm-popup__head h2{margin:0;font-size:1.05rem}.alarm-popup__actions{flex-wrap:wrap;gap:8px;display:flex}.alarm-popup__hint{color:var(--muted);margin:0;font-size:.78rem}.alarm-bar{z-index:60;color:#fff;min-height:64px;font:inherit;text-align:left;cursor:pointer;background:#b91c1c;border:0;align-items:center;gap:12px;padding:10px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #00000038}.alarm-bar:focus-visible{outline-offset:-5px;outline:3px solid #fff}.alarm-bar--calm{color:#422006;background:#fde68a;box-shadow:0 -4px 18px #0000001f}.alarm-bar__main{flex:1;gap:3px;min-width:0;display:grid}.alarm-bar__line{flex-wrap:wrap;align-items:center;gap:4px 10px;font-weight:600;display:flex}.alarm-bar__line--sub{opacity:.95;font-size:.86rem;font-weight:400}.alarm-bar__level{color:#fff;border-radius:7px;place-items:center;min-width:34px;height:24px;padding:0 7px;font-size:.82rem;font-weight:800;display:inline-grid;box-shadow:0 0 0 2px #ffffffb3}.alarm-bar__status{font-weight:700}.alarm-bar__action{flex:none;font-weight:700;text-decoration:underline}.alarm-bar__dot{flex:none}.app-content{padding-bottom:var(--alarm-bar-height,0px)}@media (prefers-reduced-motion:no-preference){.alarm-bar:not(.alarm-bar--calm) .alarm-bar__dot{animation:1.2s ease-in-out infinite alarm-pulse}}@keyframes alarm-pulse{50%{opacity:.25}}@media (max-width:720px){.alarm-bar{flex-wrap:wrap;padding:10px 14px}.alarm-bar__action{text-align:right;width:100%}}.alarm-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.alarm-tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:8px 12px;font-weight:600}.alarm-tab[aria-selected=true]{color:var(--text,#111);border-bottom-color:#b91c1c}.alarm-tab:focus-visible{outline-offset:-3px;outline:3px solid #176b8773}.alarm-card__status{font-weight:700}.alarm-card__time{color:var(--muted)}.alarm-card__toggle{justify-self:start;margin-top:4px}.alarm-card__details{gap:4px;font-size:.84rem;display:grid}.alarm-card__details h4{margin:6px 0 0;font-size:.86rem}.alarm-card__details ul{margin:0;padding-left:18px}.sc-event__badge--level{color:#fff;font-size:.78rem}@media (max-width:720px){.alarm-popup{width:auto;bottom:8px;left:8px;right:8px}}.thr{gap:12px;min-width:0;display:grid}.thr-common{border:1px solid var(--border);border-radius:var(--sc-radius);background:var(--surface);min-width:0;margin:0;padding:8px 14px 12px}.thr-common legend{color:var(--muted);padding:0 6px;font-size:.82rem;font-weight:700}.thr-common__grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px 14px;display:grid}.thr-common__grid>.sc-checks{grid-column:1/-1}.thr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.thr-tile{--accent:#64748b;border:2px solid var(--accent);border-radius:var(--sc-radius);background:var(--surface);cursor:pointer;gap:6px;min-width:0;padding:8px 12px 10px;transition:background .15s,box-shadow .15s;display:grid;position:relative}.thr-tile__heading{margin:0}.thr-tile__toggle{width:100%;min-height:40px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.thr-tile__toggle:focus-visible{outline-offset:2px;border-radius:8px;outline:3px solid #176b8773}.thr-tile__id{color:#fff;background:var(--accent);border-radius:8px;place-items:center;min-width:38px;height:28px;padding:0 8px;font-weight:700;display:inline-grid}.thr-tile__title{flex:1;font-size:.9rem;font-weight:600}.thr-tile__chevron{color:var(--muted);transition:transform .15s}.thr-tile__value{align-items:center;gap:8px;display:flex}.thr-tile__value label{color:var(--muted);flex:none;font-size:.78rem;font-weight:600}.thr-tile__value input{border:1px solid var(--border);width:100%;max-width:8rem;min-height:40px;font:inherit;background:#f4f6f8;border-radius:8px;padding:6px 10px}.thr-tile__unit{color:var(--muted);font-size:.85rem}.thr-tile__summary{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.8rem}.thr-details{--accent:#64748b;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--sc-radius);background:var(--surface);order:99;grid-column:1/-1;padding:12px 14px}.thr-actions{z-index:5;border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;display:flex;position:sticky;bottom:0}.thr-actions__status{font-size:.85rem}.thr-actions__version{margin-left:auto;font-size:.78rem}@media (max-width:720px){.thr-common__grid{grid-template-columns:1fr 1fr}.thr-grid{grid-template-columns:1fr;gap:6px}.thr-tile{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:6px 10px 8px}.thr-tile__summary{grid-column:1/-1}.thr-tile__value label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.thr-tile__value input{max-width:6rem}.thr-details{order:var(--after)}}@media (max-width:480px){.thr-common__grid{grid-template-columns:1fr}}.thr-tile__head{align-items:center;gap:8px;min-width:0;display:flex}.thr-tile__head .thr-tile__heading{flex:1;min-width:0}.thr-switch{cursor:pointer;color:var(--muted);flex:none;align-items:center;gap:6px;font-size:.78rem;font-weight:600;display:inline-flex;position:relative}.thr-switch input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.thr-switch__track{background:#b6c0cb;border-radius:999px;width:34px;height:20px;transition:background .15s;position:relative}.thr-switch__track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.thr-switch input:checked+.thr-switch__track{background:var(--accent,#176b87)}.thr-switch input:checked+.thr-switch__track:after{transform:translate(14px)}.thr-switch input:focus-visible+.thr-switch__track{outline-offset:2px;outline:3px solid #176b8773}@media (max-width:720px){.thr-switch__text{display:none}}.thr-tile:hover{box-shadow:0 1px 6px #0000001f}.thr-tile.is-selected{background:#fafbfc;background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.thr-tile.is-selected{background:color-mix(in srgb, var(--accent) 8%, #fff)}}.thr-tile.is-selected{box-shadow:0 0 0 2px var(--accent)}.thr-tile.is-off,.thr-tile.is-off.is-selected{background:#f4f5f7}.thr-tile.is-off .thr-tile__title,.thr-tile.is-off .thr-tile__summary,.thr-tile.is-off .thr-tile__unit,.thr-tile.is-off .thr-tile__value label,.thr-tile.is-off .thr-tile__chevron{color:#8a95a1}.thr-tile.is-off .thr-tile__value input{color:#8a95a1;background:#eceef1;border-color:#dfe3e8}.thr-tile__selected{color:var(--accent);border:1px solid var(--accent);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:2px;padding:2px 8px;font-size:.75rem;font-weight:700;display:none}.thr-tile.is-selected .thr-tile__selected{display:inline-flex}@media (min-width:721px){.thr-tile[data-level=LL]{grid-area:1/1}.thr-tile[data-level=HH]{grid-area:1/2}.thr-tile[data-level=L]{grid-area:2/1}.thr-tile[data-level=H]{grid-area:2/2}.thr-details{grid-area:3/1/auto/-1}}@media (max-width:720px){.thr-tile__selected-text{display:none}.thr-tile__selected{padding:2px 6px}}.sc-switch:not(:disabled){color:var(--text);cursor:pointer}.sc-switch[aria-checked=true] .sc-switch__track{background:#176b87}.sc-switch[aria-checked=true] .sc-switch__track:after{left:19px}.sc-switch:not(:disabled):focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #176b87}.threshold-legend__swatch{border-top:2px dotted #64748b;flex:none;width:28px;height:0;display:inline-block}.rp-val-wrap{white-space:nowrap;align-items:center;display:inline-flex}@media (max-width:700px){.rp-table tbody td.rp-cell--lvl{border-radius:6px;margin-inline:-8px;padding-inline:8px}.rp-thr{padding-inline:14px}}.event-timeline{width:100%;min-height:116px}.event-timeline-panel{margin-top:12px}.rp-overlays{gap:4px;margin:0 0 8px;display:grid}.rp-overlays__switches{flex-wrap:wrap;gap:8px 22px;display:flex}.rp-stat__warn{color:var(--rp-warn-text);background:var(--rp-warn-bg);border:1px solid var(--rp-warn-border);border-radius:8px;margin-top:4px;padding:6px 8px;font-size:.78rem;display:block}.rp-stat__warn--strong{border-color:#b45309;font-weight:700}.ct{color:#0f172a;text-align:left;gap:6px;min-width:160px;font-size:12px;line-height:1.35;display:grid}.ct section+section{border-top:1px solid #e6ebf0;padding-top:6px}.ct-name{color:#334155;overflow-wrap:anywhere;align-items:center;gap:6px;font-weight:600;display:flex}.ct-dot{border-radius:50%;flex:none;width:9px;height:9px}.ct-value{flex-wrap:wrap;align-items:baseline;gap:2px 6px;margin-top:2px;display:flex}.ct-value strong{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;line-height:1.1}.ct-unit{color:#64748b;font-size:.8rem}.ct-badge{color:#fff;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700}.ct-time{color:#0f172a;font-variant-numeric:tabular-nums}.ct-meta{color:#64748b;font-size:.72rem}.ct-thr-row{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:2px 10px;font-weight:600;display:flex}.ct-thr{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.ct-thr i{border-radius:50%;flex:none;width:8px;height:8px}.ct-alarm .ct-name{color:#7f1d1d}.sc-stats-scope{--rp-border:#e2e8f0;--rp-muted:#64748b;--rp-warn-bg:#fff8e6;--rp-warn-border:#e8c766;--rp-warn-text:#7a5a00;--rp-mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;gap:12px;margin-top:12px;display:grid}.sc-stats-scope dl,.sc-stats-scope dd{margin:0}.sc-stats-scope__title{color:var(--muted);margin:0;font-size:.86rem;font-weight:600}.sc-stats-series__title{margin:0 0 6px;font-size:.86rem}.sc-stats-scope .rp-stats,.sc-stats-scope .rp-stats.rp-stats--wide{border-top:0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding-top:0}.sc-stats-scope .rp-stat{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;padding:10px 12px}.sc-stats-scope .sc-stats-scope .rp-stat__value{font-size:1.15rem}.sc-stats-scope .rp-stats,.sc-stats-scope .rp-stats.rp-stats--wide{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.sc-stats-scope .rp-stats,.sc-stats-scope .rp-stats.rp-stats--wide{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1000px){.sc-stats-scope .rp-stats,.sc-stats-scope .rp-stats.rp-stats--wide{grid-template-columns:repeat(6,minmax(0,1fr))}}.sc-stats-scope .rp-stat{min-width:0}.sc-stats-scope .rp-stat__value{overflow-wrap:anywhere;font-size:1.05rem}.rp-stats-notes{gap:6px;margin-top:8px;display:grid}.rp-stats-notes .rp-stat__warn{margin-top:0}.thr-rows{font-variant-numeric:tabular-nums;color:var(--text,#16202c);gap:2px;margin:0 0 4px;font-size:.8rem;display:grid}.thr-row{flex-wrap:wrap;align-items:center;gap:2px 10px;display:flex}.thr-row__label{color:var(--muted,#64748b);font-weight:600}.thr-item{white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.thr-sep{color:#b6c0ca;margin-right:4px;font-weight:400}.thr-swatch{border-top:2px dotted;width:16px;height:0;display:inline-block}.thr-change{color:var(--muted,#64748b);font-size:.74rem;font-weight:400}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
