:root{--ess-header-height: 50px;--ess-footer-height: 50px;--ess-font: "Roboto", system-ui, sans-serif;--ess-font-mono: "Roboto Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--ess-font-weight-regular: 400;--ess-font-weight-body: 500;--ess-font-weight-heading: 700;--ess-h1-size: clamp(2.5rem, 5vw, 5rem);--ess-h1-leading: 1.1;--ess-h2-size: clamp(1.75rem, 3.2vw, 2.5rem);--ess-h2-leading: 1.2;--ess-h3-size: 1.25rem;--ess-h3-leading: 1.25;--ess-h4-size: 1rem;--ess-h4-leading: 1.3;--ess-body-size: 1rem;--ess-body-leading: 1.4;--ess-bg-1: #111111;--ess-bg-2: #1c1c1c;--ess-bg-3: #272727;--ess-bg-accent: rgba(57, 149, 214, .08);--ess-color-1: #e0e0e0;--ess-color-2: #959595;--ess-color-3: #6b6b6b;--ess-color-accent: #3995d6;--ess-border-color: rgba(255, 255, 255, .1);--ess-border-color-soft: rgba(255, 255, 255, .06);--ess-btn-1: #e0e0e0;--ess-btn-1-hover: #fff;--ess-btn-1-color: #111111;--ess-btn-2: var(--ess-color-accent);--ess-btn-2-hover: #00477d;--ess-btn-2-color: #fff;--ess-color-error: #f87171;--ess-color-success: #22c55e;--ess-assets: #3995d6;--ess-sensors: #f5ac1b;--ess-workorders: #639922;--ess-routes: #534ab7;--ess-nfc: #1d9e75;--ess-assets-soft: rgba(57, 149, 214, .14);--ess-sensors-soft: rgba(245, 172, 27, .15);--ess-workorders-soft: rgba(99, 153, 34, .16);--ess-routes-soft: rgba(83, 74, 183, .2);--ess-nfc-soft: rgba(29, 158, 117, .18);--ess-radius-sm: 8px;--ess-radius-md: 14px;--ess-radius-lg: 20px;--ess-radius-xl: 28px;--ess-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--ess-shadow-md: 0 6px 24px rgba(0, 0, 0, .35);--ess-shadow-lg: 0 20px 50px rgba(0, 0, 0, .5);--scalar-header-height: var(--ess-header-height);--scalar-footer-height: var(--ess-footer-height);--scalar-font: var(--ess-font)}.ess-light{--ess-bg-1: #f7f7f7;--ess-bg-2: #ffffff;--ess-bg-3: #f0f0f0;--ess-bg-accent: rgba(57, 149, 214, .06);--ess-color-1: #222222;--ess-color-2: #3b3b3b;--ess-color-3: #959595;--ess-border-color: #e2e2e2;--ess-border-color-soft: #ebebeb;--ess-btn-1: #222222;--ess-btn-1-hover: #3b3b3b;--ess-btn-1-color: #ffffff;--ess-color-accent: #0063a8;--ess-btn-2-hover: #00477d;--ess-color-error: #dc2626;--ess-color-success: #16a34a;--ess-shadow-sm: 0 1px 3px rgba(34, 34, 34, .06);--ess-shadow-md: 0 4px 16px rgba(34, 34, 34, .08);--ess-shadow-lg: 0 16px 48px rgba(34, 34, 34, .12);--ess-assets-soft: #e7f1fa;--ess-sensors-soft: #fef3d9;--ess-workorders-soft: #eaf3de;--ess-routes-soft: #eeedfe;--ess-nfc-soft: #e1f5ee}.light-mode,.dark-mode{--scalar-background-1: var(--ess-bg-1);--scalar-background-2: var(--ess-bg-2);--scalar-background-3: var(--ess-bg-3);--scalar-background-accent: var(--ess-bg-accent);--scalar-color-1: var(--ess-color-1);--scalar-color-2: var(--ess-color-2);--scalar-color-3: var(--ess-color-3);--scalar-color-accent: var(--ess-color-accent);--scalar-border-color: var(--ess-border-color);--scalar-button-1: var(--ess-btn-1);--scalar-button-1-hover: var(--ess-btn-1-hover);--scalar-button-1-color: var(--ess-btn-1-color);--scalar-color-red: var(--ess-color-error);--scalar-sidebar-background-1: var(--scalar-background-1);--scalar-sidebar-color-1: var(--scalar-color-1);--scalar-sidebar-color-2: var(--scalar-color-2);--scalar-sidebar-border-color: var(--scalar-border-color);--scalar-sidebar-item-hover-background: var(--scalar-background-2);--scalar-sidebar-item-hover-color: currentColor;--scalar-sidebar-item-active-background: var(--scalar-background-2);--scalar-sidebar-color-active: var(--scalar-color-2);--scalar-sidebar-search-background: var(--scalar-background-2);--scalar-sidebar-search-border-color: var(--scalar-border-color);--scalar-sidebar-search-color: var(--scalar-color-3)}.ess-container{max-width:1140px;margin:0 auto;padding:0 24px}@media(max-width:1400px){.ess-container{max-width:960px}}@media(max-width:1200px){.ess-container{max-width:720px}}@media(max-width:992px){.ess-container{max-width:none}}@media(max-width:768px){.ess-container{padding:0 16px}}.markdown-body{line-height:1.75;color:var(--ess-color-1);font-size:15px}.markdown-body h1{font-size:28px;font-weight:700;margin-top:0;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--ess-border-color)}.markdown-body h2{font-size:22px;font-weight:600;margin-top:40px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--ess-border-color)}.markdown-body h3{font-size:18px;font-weight:600;margin-top:32px;margin-bottom:12px}.markdown-body h4{font-size:15px;font-weight:600;margin-top:24px;margin-bottom:8px;color:var(--ess-color-2);text-transform:uppercase;letter-spacing:.02em}.markdown-body h5,.markdown-body h6{font-size:14px;font-weight:600;margin-top:20px;margin-bottom:8px;color:var(--ess-color-2)}.markdown-body p{margin-bottom:16px}.markdown-body strong{font-weight:600}.markdown-body a{color:var(--ess-color-accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}.markdown-body a:hover{border-bottom-color:var(--ess-color-accent)}.markdown-body ul,.markdown-body ol{padding-left:28px;margin-bottom:16px}.markdown-body li{margin-bottom:6px;line-height:1.7}.markdown-body li>ul,.markdown-body li>ol{margin-top:6px;margin-bottom:4px}.markdown-body code{font-family:var(--ess-font-mono);font-size:.875em;background-color:var(--ess-bg-2);padding:2px 6px;border-radius:3px;border:1px solid var(--ess-border-color)}.markdown-body pre{background-color:var(--ess-bg-2);border:1px solid var(--ess-border-color);border-radius:6px;padding:20px;margin-bottom:20px;overflow-x:auto;line-height:1.55}.markdown-body pre code{background:none;padding:0;border:none;border-radius:0;font-size:13px}.markdown-body blockquote{margin:20px 0;padding:16px 20px;border-left:4px solid var(--ess-color-accent);background-color:var(--ess-bg-accent);border-radius:0 6px 6px 0;color:var(--ess-color-2)}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px;border:1px solid var(--ess-border-color);border-radius:6px;overflow:hidden}.markdown-body table th,.markdown-body table td{text-align:left;padding:10px 16px;border-bottom:1px solid var(--ess-border-color)}.markdown-body table th{background-color:var(--ess-bg-3);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.03em}.markdown-body table tbody tr:nth-child(2n){background-color:var(--ess-bg-2)}.markdown-body table tbody tr:hover{background-color:var(--ess-bg-3)}.markdown-body table tbody tr:last-child td{border-bottom:none}.markdown-body hr{border:none;border-top:2px solid var(--ess-border-color);margin:40px 0}.markdown-body img{max-width:100%;height:auto;border-radius:6px;margin:16px 0;border:1px solid var(--ess-border-color)}.markdown-body>*:first-child{margin-top:0}.markdown-body>*:last-child{margin-bottom:0}@media(max-width:768px){.markdown-body{font-size:14px}.markdown-body h1{font-size:24px;margin-bottom:16px;padding-bottom:10px}.markdown-body h2{font-size:20px;margin-top:32px;margin-bottom:12px}.markdown-body h3{font-size:16px;margin-top:24px}.markdown-body pre{padding:14px;border-radius:4px}.markdown-body blockquote{padding:12px 16px}.markdown-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.markdown-body table thead,.markdown-body table tbody{display:table;width:100%}.markdown-body table th,.markdown-body table td{padding:8px 12px;white-space:nowrap}.markdown-body hr{margin:28px 0}}@media(max-width:480px){.markdown-body h1{font-size:22px}.markdown-body h2{font-size:18px}.markdown-body ul,.markdown-body ol{padding-left:20px}.markdown-body pre{padding:12px;font-size:12px}.markdown-body table th,.markdown-body table td{padding:6px 10px;font-size:13px}}.ess-card{background:var(--ess-bg-2);border:1px solid var(--ess-border-color-soft);border-radius:var(--ess-radius-lg);padding:2.25rem;box-shadow:var(--ess-shadow-sm)}.ess-card-header{display:flex;align-items:flex-start;gap:1.25rem;padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--ess-border-color-soft)}.ess-card-header h3{font-size:1.5rem;margin-bottom:.25rem}.ess-card-header p{margin:0;font-size:.875rem}.ess-card-icon{width:52px;height:52px;border-radius:13px;background:var(--ess-accent-soft);color:var(--ess-accent);display:grid;place-items:center;flex-shrink:0}.ess-card-icon svg{width:26px;height:26px}.ess-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media(max-width:768px){.ess-card-grid{grid-template-columns:1fr}}.ess-section{padding:5rem 0;border-top:1px solid var(--ess-border-color-soft)}.ess-section[id]{scroll-margin-top:calc(var(--ess-header-height) + 1rem)}.ess-section p{color:var(--ess-color-2)}.ess-section-head{text-align:center;max-width:720px;margin:0 auto 3rem}.ess-section-head p{font-size:1rem;color:var(--ess-color-2)}.ess-section-tag{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ess-color-accent);margin-bottom:.75rem}.ess-page-section{margin-top:64px}@media(max-width:768px){.ess-page-section{margin-top:48px}}.ess-page-section-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.ess-page-section-line{display:block;flex:0 0 40px;height:0;border:none;border-top:2px solid var(--ess-color-accent)}.ess-page-section-title{font-size:12px;font-weight:600;letter-spacing:.15em;color:var(--ess-color-accent);text-transform:uppercase;white-space:nowrap}.ess-page-hero{position:relative;padding:72px 0 36px}.ess-page-hero:before{content:"";position:absolute;top:-60px;left:50%;width:600px;height:400px;transform:translate(-50%);background:radial-gradient(ellipse at center,color-mix(in srgb,var(--ess-color-accent) 6%,transparent) 0%,transparent 70%);pointer-events:none}@media(max-width:992px){.ess-page-hero{padding:56px 0 36px}}@media(max-width:768px){.ess-page-hero{padding:40px 0 28px}}.ess-page-hero-badges{display:flex;gap:10px;margin-bottom:24px}.ess-page-hero-badge{display:inline-flex;padding:5px 14px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ess-color-accent);border:1px solid color-mix(in srgb,var(--ess-color-accent) 30%,transparent);border-radius:100px}.ess-page-hero-title{font-size:52px;font-weight:var(--ess-font-weight-heading);color:var(--ess-color-1);line-height:var(--ess-h1-leading);margin-bottom:16px}@media(max-width:992px){.ess-page-hero-title{font-size:40px}}@media(max-width:768px){.ess-page-hero-title{font-size:34px}}@media(max-width:480px){.ess-page-hero-title{font-size:28px}}.ess-page-hero-title-accent{color:var(--ess-color-accent);font-style:italic}.ess-page-hero-subtitle{font-size:17px;color:var(--ess-color-2);line-height:1.65;max-width:540px}@media(max-width:768px){.ess-page-hero-subtitle{font-size:15px}}@media(max-width:480px){.ess-page-hero-subtitle{font-size:14px}}.ess-tile-grid{display:grid;gap:20px}.ess-tile-grid--cols-2{grid-template-columns:repeat(2,1fr)}.ess-tile-grid--cols-3{grid-template-columns:repeat(3,1fr)}@media(max-width:992px){.ess-tile-grid--cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.ess-tile-grid--cols-2,.ess-tile-grid--cols-3{grid-template-columns:1fr}}.ess-tile{display:flex;flex-direction:column;padding:26px 24px;background-color:var(--ess-bg-2);border:1px solid var(--ess-border-color);border-radius:10px}.ess-tile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ess-tile-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--ess-color-2);border:1px solid var(--ess-border-color);border-radius:8px}.ess-tile-tag{font-family:var(--ess-font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ess-color-accent)}.ess-tile-title{font-size:16px;font-weight:600;color:var(--ess-color-1);margin-bottom:8px}.ess-tile-desc{font-size:14px;color:var(--ess-color-2);line-height:1.6}@media(max-width:480px){.ess-tile{padding:20px 18px}}.ess-timeline{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.75rem;counter-reset:step}.ess-timeline li{display:flex;gap:1rem;background:var(--ess-bg-3);padding:1rem 1.25rem;border-radius:var(--ess-radius-md);border-left:3px solid var(--ess-accent, var(--ess-color-accent));position:relative}.ess-timeline li:before{counter-increment:step;content:counter(step);font-weight:700;font-size:.875rem;color:var(--ess-accent, var(--ess-color-accent));background:var(--ess-bg-2);min-width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--ess-border-color-soft);flex-shrink:0}.ess-timeline li p{margin:0;font-size:.875rem}.ess-timeline li strong{color:var(--ess-color-1);display:block;margin-bottom:.25rem;font-size:1rem}.ess-callout{margin-top:1.5rem;padding:1rem 1.25rem;border-radius:var(--ess-radius-md);background:var(--ess-accent-soft);color:var(--ess-color-1);border:1px dashed var(--ess-accent, var(--ess-color-accent));display:flex;gap:.75rem;align-items:flex-start;font-size:.875rem}.ess-callout svg{width:20px;height:20px;color:var(--ess-accent);flex-shrink:0;margin-top:2px}.ess-callout strong{color:var(--ess-accent)}.ess-pill{font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:999px;border:1px solid var(--ess-border-color);background:var(--ess-bg-3);color:var(--ess-color-2)}.ess-pill.c-assets{color:var(--ess-assets);background:var(--ess-assets-soft);border-color:transparent}.ess-pill.c-sensors{color:var(--ess-sensors);background:var(--ess-sensors-soft);border-color:transparent}.ess-pill.c-workorders{color:var(--ess-workorders);background:var(--ess-workorders-soft);border-color:transparent}.ess-pill.c-routes{color:var(--ess-routes);background:var(--ess-routes-soft);border-color:transparent}.ess-pill.c-nfc{color:var(--ess-nfc);background:var(--ess-nfc-soft);border-color:transparent}.ess-divider{height:1px;background:var(--ess-border-color-soft);margin:1.5rem 0}.ess-field-list{background:var(--ess-bg-3);border:1px solid var(--ess-border-color-soft);border-radius:var(--ess-radius-md);padding:1rem 1.25rem}.ess-field-list h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ess-color-3);margin-bottom:.75rem}.ess-field-list ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.ess-field-list li{font-size:.875rem;color:var(--ess-color-2);display:flex;align-items:center;gap:.5rem}.ess-field-list li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ess-accent, var(--ess-color-3));flex-shrink:0}.ess-field-list li strong{color:var(--ess-color-1);font-weight:600}.c-assets{--ess-accent: var(--ess-assets);--ess-accent-soft: var(--ess-assets-soft)}.c-sensors{--ess-accent: var(--ess-sensors);--ess-accent-soft: var(--ess-sensors-soft)}.c-workorders{--ess-accent: var(--ess-workorders);--ess-accent-soft: var(--ess-workorders-soft)}.c-routes{--ess-accent: var(--ess-routes);--ess-accent-soft: var(--ess-routes-soft)}.c-nfc{--ess-accent: var(--ess-nfc);--ess-accent-soft: var(--ess-nfc-soft)}.ess-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;background:var(--ess-accent-soft);color:var(--ess-accent)}.ess-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:768px){.ess-two-col{grid-template-columns:1fr}}.mermaid-wrapper svg{max-width:100%;height:auto}html{scroll-behavior:smooth}*,*:before,*:after{box-sizing:border-box;margin:0}body{font-family:var(--ess-font, "Roboto", system-ui, sans-serif);font-weight:var(--ess-font-weight-regular);font-size:var(--ess-body-size);line-height:var(--ess-body-leading);background-color:var(--ess-bg-1);color:var(--ess-color-1)}button,input,select,textarea{color:inherit;font:inherit}
