:root{--left:36%;--tree-height:51%;--bg:#e7eef5;--line:#aebfd0;--ink:#1c3448;--muted:#576c7f;--selected:#c1d8ec;--accent:#306a9f;font:13px "Segoe UI",Arial,sans-serif;color:var(--ink);color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{display:flex;flex-direction:column;background:var(--bg)}button,input,select{font:inherit;color:inherit}button{border:1px solid #b0bfcb;background:linear-gradient(#fff,#e2eaf2);border-radius:3px;padding:4px 8px;cursor:pointer;white-space:nowrap;min-height:25px}button:hover{background:#d7e8f7;border-color:#7a9cb8}button:disabled{opacity:.5;cursor:default}button.selected,button[aria-selected=true]{background:#bfd7ec;border-color:#7197b8}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #377db4;outline-offset:-1px}input,select{border:1px solid #adbdcb;border-radius:2px;background:#fff;padding:3px 5px;min-height:26px;max-width:100%;min-width:0}input[type=checkbox]{min-height:0;accent-color:#3975a5;vertical-align:middle}label{display:flex;gap:4px;align-items:center;min-width:0}h2{font-size:18px}h3{font-size:13px;margin:13px 0 8px}.spacer{flex:1}.grow{flex:1;min-width:100px}.grow select{width:100%}.hidden{display:none!important}.muted,small{color:var(--muted);line-height:1.45}.padded{padding:10px}.padded-inline{padding:8px 0}.context{font-weight:600;font-size:12px;overflow-wrap:anywhere}.appbar{flex:none;height:39px;display:flex;align-items:center;gap:9px;padding:5px 9px;border-bottom:1px solid #a6b7c5;background:linear-gradient(#fff,#e0eaf4)}.brand-mark{background:#386b93;color:#fff;font-weight:bold;font-size:25px;line-height:26px;text-align:center;width:27px;height:27px;border-radius:4px}.edition{color:#63768a;font-size:12px}.readonly{font-size:10px;letter-spacing:.8px;border:1px solid #aac3b9;padding:4px 6px;background:#e1eee7;color:#376044;border-radius:3px}.appbar button{font-size:12px}
#workspace{display:grid;grid-template-columns:var(--left) 7px minmax(0,1fr);flex:1;min-height:0;padding:6px}#sidebar{display:grid;grid-template-rows:var(--tree-height) 7px minmax(0,1fr);min-width:0;min-height:0}.panel{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#dce8f3;min-height:0;min-width:0}.panel-title{display:flex;gap:8px;align-items:center;flex:none;height:31px;padding:3px 7px;border-bottom:1px solid #b1c3d2;background:linear-gradient(#f4f8fc,#d5e3ef)}.panel-title button{padding:2px 6px;min-height:23px;font-size:11px}.quick-label{font-size:11px;background:#f9fbfd;border:1px solid #b9cbd9;padding:2px 7px}.tree-panel,.tool-panel{display:flex;flex-direction:column}.scroll{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#9ab0c3 #e2ecf5}.tree{flex:1;background:linear-gradient(#c7daeb,#dce7f2);padding:6px 3px}.tree.searching{background:#faf6df}.tree details{margin-left:14px}.tree>details{margin-left:1px}.tree summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:5px;min-height:23px;white-space:nowrap;padding:2px 3px;border-radius:2px}.tree summary::-webkit-details-marker{display:none}.tree summary::before{content:'▸';font-size:11px;color:#5d778f;width:9px;flex:none}.tree details[open]>summary::before{content:'▾'}.tree summary:hover,.tree-row:hover{background:#e9f2fa}.tree .node-icon{font-size:12px;color:#427599;flex:none;width:14px;text-align:center}.tree .node-label{overflow:hidden;text-overflow:ellipsis}.tree .node-count{color:#5e778c;font-size:10px;margin-left:3px}.tree-row{display:flex;align-items:center;gap:4px;border:0;border-radius:1px;background:transparent;width:calc(100% - 14px);margin-left:14px;text-align:left;min-height:23px;padding:2px 4px;overflow:hidden;font-size:12px}.tree-row.active{background:#a8c9e6;box-shadow:inset 3px 0 #2f739f}.tree-row .task-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree .missing{color:#788994;font-style:italic}.tree details.contains-selection>summary{font-weight:600}.tree-search{display:flex;gap:4px;padding:5px;background:#edf3f8;border-top:1px solid var(--line)}.tree-search input{width:100%;font-size:12px}.tree-search button{padding:1px 6px}.splitter{touch-action:none;position:relative}.splitter:hover,.splitter:focus-visible{background:#b2cde2}.splitter.vertical{cursor:col-resize}.splitter.horizontal{cursor:row-resize}.splitter:after{content:'';position:absolute;background:#9eb4c6;border-radius:2px}.vertical:after{height:35px;width:2px;left:2px;top:47%}.horizontal:after{height:2px;width:35px;left:47%;top:2px}
.tabbar{display:flex;overflow-x:auto;flex:none;border-bottom:1px solid var(--line);background:#edf4f9;scrollbar-width:thin}.tabbar button{border:0;border-right:1px solid #c4d2de;border-radius:0;font-size:11px;min-height:29px;padding:5px 8px;background:transparent}.tabbar button[aria-selected=true]{box-shadow:inset 0 3px #3d78a6;background:#dce8f3;font-weight:600}.tool-pane{flex:1;min-height:0;display:flex;flex-direction:column}.tool-pane.scroll{display:block}.history-filters{display:flex;gap:6px;padding:3px 7px 6px}.history-filters>*{min-width:0;flex:1}.history-filters input,.history-filters select{font-size:12px;width:100%}.history-filters label{font-size:11px;flex-direction:column;align-items:start}.history-heading{display:grid;grid-template-columns:minmax(0,1fr) 48px 44px 49px;padding:5px 8px;background:#ecf2f7;border-top:1px solid #c2d0dc;border-bottom:1px solid #b9cbd9;font-size:11px;color:#4f6577}.history{flex:1;background:#e3edf6}.history-row{display:grid;grid-template-columns:minmax(0,1fr) 48px 44px 49px;align-items:center;padding:2px 8px;min-height:27px;font-size:12px;border-bottom:1px solid #d4e1ec;cursor:pointer;outline-offset:-2px}.history-row:hover{background:#d0e2f1}.history-row.current{background:#b6cbdc;box-shadow:inset 3px 0 #d77531}.history-row.pinned{background:#d6e5f0}.history-row.current.pinned{background:#b6cbdc}.history-row .stamp{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-row .signal-count{color:#667b8b;text-align:center}.history-row button{font-size:12px;min-height:20px;padding:0;width:25px;justify-self:center}.history-row .unavailable{opacity:.6}.pane-footer{flex:none;padding:6px 8px;border-top:1px solid #b9cbd9;font-size:10.5px;color:#5e7385}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-grid label:not(.check){align-items:start;flex-direction:column;font-size:12px}.form-grid input[type=number]{width:100%}.inline-form{display:flex;flex-wrap:wrap;gap:6px;align-items:end}.inline-form label{flex:1}.inline-form input{width:100%}.inline-form button{font-size:11px}.bearing-toggles{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.properties{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);gap:7px 10px;margin:9px 0;font-size:12px}.properties dt{color:#5a7184}.properties dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.values-table{width:100%;border-collapse:collapse;font-size:11px}.values-table td,.values-table th{padding:5px 3px;border-bottom:1px solid #bfcedd;text-align:right;vertical-align:top}.values-table td:first-child,.values-table th:first-child{text-align:left}
.editor{display:flex;flex-direction:column;border-color:#8db39b;box-shadow:inset 0 0 0 1px #93b59d}.editor-path{flex:none;font-size:11px;font-weight:600;padding:5px 8px;background:#c8d9e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid #a5bdcd}.selection-toolbar,.plot-toolbar{display:flex;gap:6px;align-items:center;padding:5px 7px;background:#e8eff5;border-bottom:1px solid #b3c5d3;flex-wrap:wrap;flex:none}.selection-toolbar label,.plot-toolbar label{font-size:11px}.selection-toolbar select{font-size:12px}.selection-toolbar button,.plot-toolbar button{font-size:11px;padding:4px 6px}.plot-toolbar select{font-size:11px;min-height:25px}.button-group{display:flex;gap:1px}.comparison-strip{display:flex;gap:5px;flex-wrap:wrap;flex:none;padding:5px 8px;background:#f1f5f9;border-bottom:1px solid #b6c8d6}.trace-chip{font-size:10px;display:flex;align-items:center;gap:4px;max-width:100%;border:1px solid #b5c8d8;background:#eaf1f7;border-radius:2px;padding:2px 4px}.trace-chip .trace-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:330px}.trace-chip button{font-size:11px;padding:0 4px;min-height:18px;background:transparent}.swatch{display:inline-block;width:9px;height:9px;flex:none}.check{white-space:nowrap;gap:2px;font-size:11px}#analysis-body{display:flex;flex:1;min-height:0}#plot-column{flex:1;min-width:0;display:flex;flex-direction:column}#plots{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;background:#d0e3f3}#plots.stacked{display:block}.plot-card{display:flex;flex-direction:column;flex:1;min-height:170px;overflow:hidden}#plots.stacked .plot-card{min-height:300px;height:50%;border-bottom:2px solid #a9bece}.plot-card.active-chart .plot-title{background:#bbd1e3}.plot-title{flex:none;padding:4px 8px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:25px;color:#31516b;background:#dbe7f1}.plot-stage{position:relative;flex:1;min-height:130px;touch-action:none}.plot-stage canvas{position:absolute;inset:0;width:100%;height:100%}.plot-stage canvas.interaction{cursor:crosshair;outline:none}.axis-rail{position:absolute;background:#b8d0e8;border:1px solid #8aaed0;opacity:.5;z-index:3;touch-action:none}.axis-rail:hover,.axis-rail:focus-within{opacity:1}.axis-rail.x{height:12px;bottom:29px}.axis-rail.y{width:12px;left:35px}.axis-thumb{position:absolute;background:#4277b1;border:1px solid #285b9b;min-width:0;min-height:0;cursor:grab;border-radius:1px}.axis-thumb:active{cursor:grabbing}.x .axis-thumb{top:0;bottom:0}.y .axis-thumb{left:0;right:0}.axis-handle{position:absolute;background:#ddeafa;border:1px solid #52759f;touch-action:none}.x .axis-handle{top:-1px;bottom:-1px;width:7px;cursor:ew-resize}.y .axis-handle{left:-1px;right:-1px;height:7px;cursor:ns-resize}.x .axis-handle.low{left:-1px}.x .axis-handle.high{right:-1px}.y .axis-handle.low{bottom:-1px}.y .axis-handle.high{top:-1px}.plot-notice{flex:none;padding:6px 9px;font-size:10.5px;color:#4c6478;border-top:1px solid #b7cad9;background:#e6eff6;line-height:1.4}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:25px;text-align:center;color:#4b6b84}.empty-icon{font-size:70px;font-weight:200;color:#749fbe;line-height:1}.empty p{line-height:1.8;font-size:13px}.empty h2{font-weight:500}#infobox{width:179px;flex:none;border-left:1px solid #aebfcf;overflow:auto;background:linear-gradient(#e4eef6,#f2f6fa);padding:7px;scrollbar-width:thin}.info-heading{font-size:11px;font-weight:600;color:#45677f;border-bottom:1px solid #bacad8;padding:1px 0 7px;margin-bottom:8px}.info-date{font-size:12px;font-weight:600;line-height:1.6;margin-bottom:10px}#infobox label:not(.check){display:flex;flex-direction:column;align-items:start;font-size:10px;margin-bottom:6px}#infobox input[type=number],#infobox select{width:100%;font-size:11px}#infobox .properties{display:block;font-size:11px}#infobox dt{margin-top:9px;margin-bottom:3px}#infobox dd{font-size:12px;color:#163c5a}#infobox small{display:block;font-size:10px}#infobox button{font-size:11px;max-width:100%;white-space:normal}#infobox #range-form{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:8px 0}#range-form button{grid-column:1/-1}.small-heading{font-size:11px}.info-separator{border-top:1px solid #bacbd8;margin:12px 0}.statusbar{height:25px;flex:none;display:flex;gap:10px;align-items:center;padding:4px 10px;font-size:11px;background:#e5edf5;border-top:1px solid #a9bac9}#status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statusbar.error{background:#f4dddb;color:#8d2725}#workspace.maximized{grid-template-columns:minmax(0,1fr)}#workspace.maximized #sidebar,#workspace.maximized #main-splitter{display:none}dialog{border:1px solid #8da6bc;border-radius:6px;max-width:690px;max-height:85vh;padding:18px 22px;color:var(--ink);background:#f0f5fa;line-height:1.6}dialog::backdrop{background:#1a334958}.dialog-title{display:flex;align-items:center;justify-content:space-between}.dialog-title h2{margin:0}body.dragging{user-select:none}
@media(max-width:1100px){:root{--left:34%}.edition{display:none}#infobox{width:155px}.plot-toolbar{gap:4px}.selection-toolbar{gap:4px}.appbar{gap:6px}.tree{font-size:12px}.properties{grid-template-columns:1fr 1fr}.tabbar button{padding:4px 6px}}@media(max-width:760px){:root{--left:40%}.appbar{font-size:12px}.appbar .readonly,.appbar #reset-layout{display:none}#infobox{width:137px}.selection-toolbar .grow{flex-basis:100%}.history-heading{grid-template-columns:minmax(0,1fr) 46px 0 38px}.history-heading span:nth-child(3),.history-row .signal-count{display:none}.history-row{grid-template-columns:minmax(0,1fr) 46px 38px;font-size:11px}.tree details{margin-left:9px}.form-grid{grid-template-columns:1fr}.plot-notice{font-size:10px}.history-filters{flex-wrap:wrap}#clock-note{display:none}}
/* 0.2.0 authentication / configuration additions */
.account-badge{font-size:11px;padding:3px 7px;border:1px solid #9fb4c6;background:#edf4fa;border-radius:2px;white-space:nowrap}.config-box{border:1px solid #b8c8d5;background:#edf4f9;padding:8px;margin:8px 0;border-radius:3px}.config-box details{margin-top:8px}.config-box summary{cursor:pointer;font-weight:600}.config-box select{width:100%;font-size:11px}.config-box textarea{width:100%;min-height:50px;resize:vertical}.stack-form{display:flex;flex-direction:column;gap:8px}.stack-form>label{display:flex;flex-direction:column;align-items:stretch;font-size:12px}.stack-form input,.stack-form select,.stack-form textarea{width:100%}.button-row{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.frequency-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;align-items:center;border-bottom:1px solid #c8d6e1;padding:5px 2px;font-size:11px}.frequency-row .freq-name{font-weight:600}.frequency-row .freq-meta{display:block;color:#61778a;font-weight:400}.frequency-row button{padding:2px 5px;font-size:10px}.auth-dialog{width:min(430px,calc(100vw - 28px))}.auth-dialog form{display:flex;flex-direction:column;gap:10px}.auth-dialog label{display:flex;flex-direction:column;gap:3px;font-size:12px}.auth-dialog input{width:100%}.form-message{min-height:18px;font-size:11px;color:#526b7e}.form-message.form-error{color:#9a2828}.password-strength{font-size:10.5px;color:#7f4e24;margin:0}.password-strength.good{color:#27643b}.admin-dialog{width:min(1120px,calc(100vw - 28px));max-width:1120px}.admin-grid{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:18px}.users-section{min-width:0}.table-scroll{overflow:auto;max-height:60vh}.users-table{min-width:760px}.users-table select{font-size:11px}.user-actions{display:flex;gap:4px;white-space:nowrap}.user-actions button{font-size:10px;padding:2px 5px}.hidden{display:none!important}
@media(max-width:850px){.admin-grid{grid-template-columns:1fr}.account-badge{display:none}.admin-dialog{max-height:92vh}.table-scroll{max-height:48vh}}
/* 0.2.1 logged-out landing page. The analysis workspace is not visually exposed
   until a valid application session has been established. */
body.app-locked > .appbar,
body.app-locked > #workspace,
body.app-locked > .statusbar{display:none!important}
#login-dialog.login-screen{position:fixed;inset:0;z-index:10000;width:100vw;height:100vh;margin:0;padding:0;border:0;border-radius:0;background:#e7eef5;color:#173a54;overflow:auto}
#login-dialog.login-screen[hidden]{display:none!important}
.login-shell{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 18px}
.login-shell form{width:min(390px,calc(100vw - 36px));display:flex;flex-direction:column;gap:12px;background:#f7fafc;border:1px solid #aebfcd;border-radius:6px;box-shadow:0 8px 28px #24425a20;padding:28px 30px}
.login-shell h1{margin:0;text-align:center;font-size:25px;font-weight:600;color:#173d59;letter-spacing:.2px}
.login-mark{font-size:52px;line-height:1;color:#5781a1;margin-bottom:14px;font-weight:200}
.login-subtitle{text-align:center;margin:-4px 0 5px;color:#647a8c;font-size:12px}
.login-shell label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#425d72}
.login-shell input{width:100%;font-size:14px;padding:7px 8px}
.login-shell button[type=submit]{margin-top:2px;min-height:34px;font-size:13px}
.login-shell .form-message{margin:0;min-height:18px;text-align:center}

/* 0.2.4: full-size bearing catalogue browser and measurement-import workflow */
.assigned-bearing-summary{margin:7px 0 10px;padding:7px 8px;background:#f7fbfe;border:1px solid #c6d5e1;border-radius:3px;font-size:12px;font-weight:600;overflow-wrap:anywhere}
.bearing-dialog{width:min(1180px,calc(100vw - 28px));max-width:1180px;max-height:92vh;overflow:hidden;display:none;flex-direction:column}
.bearing-dialog[open]{display:flex}
.bearing-browser-controls{display:grid;grid-template-columns:minmax(190px,300px) minmax(260px,1fr);gap:10px;margin:10px 0}
.bearing-browser-controls label{display:flex;flex-direction:column;font-size:12px;gap:3px}
.bearing-browser-controls select,.bearing-browser-controls input{width:100%}
.bearing-result-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:#526b7e;margin:2px 0 6px}
.bearing-table-scroll{overflow:auto;border:1px solid #b9c9d7;background:#fff;min-height:280px;max-height:52vh}
.bearing-browser-table{min-width:980px;background:#fff}
.bearing-browser-table th{position:sticky;top:0;background:#dfeaf3;z-index:1}
.bearing-browser-table tbody tr{cursor:pointer}
.bearing-browser-table tbody tr:hover{background:#e7f1f8}
.bearing-browser-table tbody tr.selected{background:#c6dced;box-shadow:inset 3px 0 #d77531}
.bearing-browser-table td:nth-child(n+3):nth-child(-n+6){white-space:nowrap;font-variant-numeric:tabular-nums}
.bearing-browser-table td:last-child{max-width:320px;white-space:normal;overflow-wrap:anywhere;text-align:left}
.custom-bearing-details{margin-top:9px;border-top:1px solid #c3d2de;padding-top:8px}
.custom-bearing-details summary{cursor:pointer;font-weight:600}
.import-dialog{width:min(820px,calc(100vw - 28px));max-width:820px;max-height:92vh;overflow:auto}
.import-policy{padding:8px 12px;margin:8px 0 12px;border:1px solid #bfd0dd;background:#eaf2f8;border-radius:4px;font-size:11.5px}
.import-policy ul{margin:5px 0 0 18px;padding:0}
.file-picker{display:flex;flex-direction:column;gap:4px;font-size:12px;margin:10px 0}
.file-picker input[type=file]{width:100%;padding:7px;background:#fff;border:1px solid #b6c7d5}
.progress-wrap{margin:11px 0}
.progress-wrap progress{width:100%;height:16px}
.progress-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:3px}
.import-log{max-height:290px;overflow:auto;background:#17222b;color:#d7e4ed;padding:10px;border-radius:3px;font-size:10.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.import-summary-grid{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);gap:5px 10px;font-size:11.5px;margin:10px 0}
.import-summary-grid dt{color:#5a7184}.import-summary-grid dd{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:760px){.bearing-browser-controls{grid-template-columns:1fr}.bearing-dialog,.import-dialog{width:calc(100vw - 14px);max-height:96vh;padding:12px}.bearing-table-scroll{max-height:46vh}}

/* 0.2.5 audio playback + password strength meter */
.audio-heading{text-align:center;cursor:help}.audio-play{width:28px!important;min-width:28px;font-size:11px!important;line-height:18px}.audio-play.playing{font-weight:700}.history-row .audio-cell{display:flex;align-items:center;justify-content:center}.history-filters #audio-gain{max-width:105px}.password-meter{height:6px;background:#d8e2ea;border:1px solid #b7c8d6;border-radius:4px;overflow:hidden;margin-top:-4px}.password-meter>span{display:block;height:100%;width:0;transition:width .14s ease}.password-meter>span.strength-1{width:25%;background:#a44}.password-meter>span.strength-2{width:50%;background:#b57a2b}.password-meter>span.strength-3{width:75%;background:#5b829f}.password-meter>span.strength-4{width:100%;background:#35704a}.password-strength{min-height:15px}

/* OMNITREND-style cursor tools and cursor-value table. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cursor-tools{display:flex;gap:1px;margin-left:auto;border:1px solid #9fb3c4;background:#cbd9e5;padding:1px;border-radius:2px}
.plot-toolbar .cursor-tool{position:relative;width:31px;min-width:31px;height:25px;min-height:25px;padding:2px;background:linear-gradient(#fff,#dfe7ee);border-color:#afbeca}
.plot-toolbar .cursor-tool:hover{background:#e5f0f8}.plot-toolbar .cursor-tool.selected,.plot-toolbar .cursor-tool[aria-pressed=true]{background:#b9d5e9;border-color:#5686aa;box-shadow:inset 0 0 0 1px #dcecf7}
.cursor-icon{position:relative;display:block;width:23px;height:16px;margin:auto;border-bottom:2px solid #263746}
.cursor-icon i{position:absolute;bottom:0;width:2px;background:#d84435;height:7px}.cursor-icon i:after{content:'';position:absolute;left:-2px;top:-4px;width:5px;height:5px;border-radius:50%;background:#e24b3b}
.icon-main i{left:11px;height:11px;background:#286aa2}.icon-main i:after{background:#4b9bd1}
.icon-delta i:first-child{left:7px;height:10px;background:#286aa2}.icon-delta i:first-child:after{background:#4b9bd1}.icon-delta i:last-child{left:16px;height:7px;background:#86539a}.icon-delta i:last-child:after{background:#a877b7}
.icon-harmonic i:nth-child(1){left:4px;height:5px}.icon-harmonic i:nth-child(2){left:11px;height:9px}.icon-harmonic i:nth-child(3){left:18px;height:13px}
.icon-sideband i:nth-child(1){left:4px;height:7px}.icon-sideband i:nth-child(2){left:11px;height:13px;background:#286aa2}.icon-sideband i:nth-child(2):after{background:#4b9bd1}.icon-sideband i:nth-child(3){left:18px;height:7px}
.icon-subharmonic i:nth-child(1){left:4px;height:5px}.icon-subharmonic i:nth-child(2){left:10px;height:8px}.icon-subharmonic i:nth-child(3){left:18px;height:13px;background:#286aa2}.icon-subharmonic i:nth-child(3):after{background:#4b9bd1}
.cursor-grid-wrap{overflow:auto;border:1px solid #aec0cf;background:#eef4f8}.cursor-grid{table-layout:fixed;min-width:310px;background:#f4f8fb;font-variant-numeric:tabular-nums}.cursor-grid th{position:sticky;top:0;background:#dce8f1;z-index:1}.cursor-grid th:first-child,.cursor-grid td:first-child{width:48px;text-align:center;font-weight:600}.cursor-grid th:not(:first-child),.cursor-grid td:not(:first-child){text-align:right}.cursor-grid tbody tr:nth-child(even){background:#e8f0f6}
.history-row.pinned{background:color-mix(in srgb,var(--pin-color,#3674bb) 16%,#e3edf6);box-shadow:inset 5px 0 var(--pin-color,#3674bb)}.history-row.current.pinned{background:color-mix(in srgb,var(--pin-color,#ce732d) 20%,#c8d9e5);box-shadow:inset 5px 0 var(--pin-color,#ce732d)}
.tree-config{margin-left:auto;min-width:24px;min-height:20px!important;padding:0 4px!important;font-size:11px!important;opacity:.72}.tree-config:hover,.tree-config:focus{opacity:1}.machine-config-dialog{width:min(900px,calc(100vw - 28px));max-width:900px;max-height:92vh;overflow:auto}.machine-config-dialog>.dialog-title{align-items:flex-start}.machine-config-dialog>.dialog-title p{margin:2px 0}.machine-config-dialog>label{display:flex;flex-direction:column;max-width:310px;font-size:12px}.machine-config-columns{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:22px}.machine-config-columns section{border-left:1px solid #c2d2de;padding-left:20px}.machine-config-columns h3{margin-top:0;font-size:15px}@media(max-width:700px){.machine-config-columns{grid-template-columns:1fr}.machine-config-columns section{border-left:0;border-top:1px solid #c2d2de;padding:15px 0 0}.machine-config-dialog{width:calc(100vw - 14px);padding:12px}}
.ui-config-dialog{width:min(620px,calc(100vw - 28px));max-width:620px;max-height:92vh;overflow:auto}.ui-config-dialog .dialog-title{align-items:flex-start}.ui-config-dialog .dialog-title p{margin:2px 0}.axis-mapping-table{background:#fff;border:1px solid #bdccd8}.axis-mapping-table td,.axis-mapping-table th{text-align:left;padding:7px 9px}.ui-config-safety{border:1px solid #b6c9d7;background:#e7f0f6;padding:9px 11px;border-radius:3px}.ui-config-safety p{margin:3px 0 0;font-size:11px}@media(max-width:700px){.ui-config-dialog{width:calc(100vw - 14px);padding:12px}}

/* Active-trace location photo and point maintenance context. */
.maintenance-time-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(105px,1fr);gap:8px}@media(max-width:760px){.maintenance-time-grid{grid-template-columns:1fr}}
.context-panel{min-width:0}.context-panel .small-heading{font-weight:600;color:#45677f;margin-bottom:6px}.context-note{font-size:10.5px;line-height:1.4;color:#4f687b;margin:5px 0;overflow-wrap:anywhere}.measurement-note-text{white-space:pre-wrap;color:#284b64}.maintenance-label{font-size:10px;font-weight:600;color:#506b7e;margin:5px 0 2px}.photo-thumbnail-button{display:block;width:100%;height:auto;min-height:64px;padding:2px;background:#d4e2ec;border-color:#91a9bb;overflow:hidden}.photo-thumbnail-button img{display:block;width:100%;aspect-ratio:4/3;max-height:132px;object-fit:cover;background:#c5d4df}.photo-image-loading{visibility:hidden}.photo-placeholder{display:flex;width:100%;min-height:76px;align-items:center;justify-content:center;text-align:center;white-space:normal;border:1px dashed #829db1;background:#e7eff5;color:#31556f}.compact-actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.compact-actions button{flex:1;min-width:54px;padding:3px 5px}.photo-dialog{width:min(1040px,calc(100vw - 28px));max-width:1040px;max-height:94vh;overflow:auto}.photo-dialog .dialog-title p{margin:2px 0}.photo-full-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:180px;margin-top:12px;background:#1f2c35;border:1px solid #718696}.photo-full-stage img{display:block;max-width:100%;max-height:calc(94vh - 120px);object-fit:contain}.photo-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;color:#e5edf3;font-size:13px}.maintenance-dialog{width:min(620px,calc(100vw - 28px));max-width:620px;max-height:92vh;overflow:auto}.maintenance-description{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #c4d2dc;padding:10px;min-height:58px}.maintenance-cluster-list{display:flex;flex-direction:column;gap:7px}.maintenance-cluster-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;white-space:normal;padding:8px 10px}.maintenance-cluster-item strong,.maintenance-cluster-item span{display:block;max-width:100%;overflow-wrap:anywhere}.maintenance-cluster-item span{font-size:11px;color:#526b7d;margin-top:3px}.graph-export-dialog{width:min(700px,calc(100vw - 28px));max-width:700px;max-height:92vh;overflow:auto}.graph-export-dialog .dialog-title{align-items:flex-start}.graph-export-dialog .dialog-title p{margin:2px 0}.graph-export-range{display:grid;grid-template-columns:1fr 1fr;gap:12px}.graph-export-range fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;border:1px solid #b7c8d5;background:#f8fbfd;padding:10px}.graph-export-range legend{font-size:11px;font-weight:600;color:#45677f;padding:0 5px}.graph-export-range label{display:flex;flex-direction:column;font-size:11px}.graph-export-range input{width:100%}@media(max-width:760px){.photo-dialog,.maintenance-dialog,.graph-export-dialog{width:calc(100vw - 14px);padding:12px}.photo-full-stage img{max-height:calc(94vh - 95px)}.graph-export-range{grid-template-columns:1fr}}
