:root{color:#edf4f8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text-strong:#f4fbff;--muted:#b3c5ce;--muted-soft:#7e97a4;--accent:#ffb454;background:radial-gradient(circle at top,#ff993324,#0000 28%),linear-gradient(#071017 0%,#0d1a22 52%,#132631 100%);font-family:Bahnschrift,Trebuchet MS,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;margin:0}button,input{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{color:var(--text-strong)}a{color:inherit}.shell{box-sizing:border-box;min-height:100vh;padding:32px}.auth-shell{place-items:center;display:grid}.loading-shell{text-align:center;place-items:center;display:grid}.auth-panel{background:#081118d1;border:1px solid #8ba7b22e;border-radius:28px;grid-template-columns:1.1fr .9fr;width:min(1100px,100%);display:grid;overflow:hidden;box-shadow:0 32px 80px #03080b59}.auth-copy{background:radial-gradient(circle at 0 0,#ff922b47,#0000 42%),radial-gradient(circle at 100% 100%,#2ec4b633,#0000 35%);padding:64px}.auth-card{background:#0a0e13eb;flex-direction:column;justify-content:center;gap:20px;padding:64px 48px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin:0 0 12px;font-size:.78rem}.lead{max-width:34rem;color:var(--muted)}.field{text-align:left;flex-direction:column;gap:8px;display:flex}.field span{color:var(--muted-soft);font-size:.92rem}.field input,.field textarea{color:var(--text-strong);font:inherit;background:#ffffff0d;border:1px solid #9dadb538;border-radius:14px;padding:14px 16px}.field textarea{resize:vertical;min-height:92px}.field-row{grid-template-columns:minmax(0,1fr) minmax(90px,.35fr);gap:12px;display:grid}.field select{color:var(--text-strong);font:inherit;background:#ffffff0d;border:1px solid #9dadb538;border-radius:14px;padding:14px 16px}.field select:disabled{opacity:.55}.field select option{color:#000;background:#fff}.primary-button,.ghost-button,.installation-card{font:inherit}.primary-button{color:#081118;cursor:pointer;background:linear-gradient(135deg,#ff9b3d,#ffd166);border:0;border-radius:14px;padding:14px 18px;font-weight:700}.primary-button:disabled{opacity:.7;cursor:wait}.ghost-button{color:var(--text-strong);cursor:pointer;background:0 0;border:1px solid #8ba7b238;border-radius:999px;padding:10px 16px}.ghost-button:disabled{opacity:.6;cursor:wait}.danger-button{color:#fecaca;border-color:#ff6b6b4d}.danger-button:hover,.danger-button:focus-visible{background:#ff6b6b1a}.dashboard-shell{width:min(1380px,100%);margin:0 auto}.topbar,.summary-metrics,.overview-grid,.content-grid,.stats-grid,.detail-grid{gap:20px;display:grid}.topbar{grid-template-columns:1fr auto;align-items:end;margin-bottom:28px}.userbox{background:#0a0e13b8;border:1px solid #8ba7b229;border-radius:18px;align-items:center;gap:16px;padding:14px 18px;display:flex}.userbox p,.section-head p{color:var(--muted-soft);margin:4px 0 0}.user-actions{flex-wrap:wrap;gap:10px;display:flex}.settings-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03080bc7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.settings-dialog{background:#0a1117;border:1px solid #8ba7b233;border-radius:24px;width:min(1180px,100vw - 48px);max-height:calc(100vh - 48px);padding:28px;overflow-y:auto;box-shadow:0 32px 100px #00000080}.dashboard-manager-dialog{width:min(980px,100%)}.workday-dialog{width:min(640px,100vw - 48px)}.settings-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.settings-header h2,.settings-card h3{margin:0}.settings-layout{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:20px;display:grid}.settings-menu{gap:8px;display:grid;position:sticky;top:0}.settings-menu button{width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #8ba7b229;border-radius:14px;padding:12px 14px;font-weight:800}.settings-menu button:hover,.settings-menu button.is-active{color:var(--text-strong);background:#ff9e3c1f;border-color:#ff9e3c7a}.settings-content{min-width:0}.settings-grid{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.management-submenu{background:#ffffff08;border:1px solid #8ba7b224;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:6px;display:grid}.management-submenu button{min-height:42px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:10px 12px;font-weight:800}.management-submenu button:hover,.management-submenu button.is-active{color:var(--text-strong);background:#ff9e3c29}.management-mode-switch{background:#ffffff08;border:1px solid #8ba7b224;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;display:grid}.management-mode-switch button{min-height:42px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:10px 12px;font-weight:800}.management-mode-switch button:hover,.management-mode-switch button.is-active{color:var(--text-strong);background:#ff9e3c29}.checkbox-field{color:var(--muted-soft);align-items:center;gap:10px;font-weight:800;display:flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--accent)}.dashboard-manager-grid{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.settings-card{background:#ffffff08;border:1px solid #8ba7b224;border-radius:20px;flex-direction:column;gap:18px;padding:22px;display:flex}.settings-card .primary-button{margin-top:auto}.api-key-panel{background:#50d89014;border:1px solid #8ba7b22e;border-radius:14px;padding:14px;display:block}.api-key-panel strong,.api-key-panel code,.api-key-card code{display:block}.api-key-field{grid-template-columns:minmax(0,1fr) 44px auto;align-items:center;gap:8px;margin-top:8px;display:grid}.api-key-field input{min-width:0;color:var(--text-strong);font:inherit;text-overflow:ellipsis;background:#ffffff0d;border:1px solid #9dadb538;border-radius:12px;padding:12px 14px;overflow:hidden}.icon-button{width:44px;height:44px;color:var(--text-strong);cursor:pointer;background:#ffffff0a;border:1px solid #8ba7b233;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:#ff9e3c1f;border-color:#ff9e3c6b}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:20px;height:20px}.api-key-field .ghost-button{min-height:44px;padding-top:0;padding-bottom:0}.api-key-panel code,.api-key-card code{color:var(--text-strong);overflow-wrap:anywhere;word-break:break-word;margin-top:8px;font-size:.86rem;line-height:1.5}.api-key-card{gap:10px}.api-key-card .ghost-button{align-self:flex-start;margin-top:4px}.inline-link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-weight:800}.inline-link-button:hover{color:#ffd166}.settings-note,.settings-loading{color:var(--muted)}.subscription-info-panel{background:#ffffff08;border:1px solid #8ba7b224;border-radius:20px;margin-top:18px;padding:22px}.subscription-table-wrap{overflow-x:auto}.subscription-table{border-collapse:collapse;width:100%;min-width:720px;color:var(--text)}.subscription-table th,.subscription-table td{text-align:center;border-bottom:1px solid #8ba7b224;padding:12px 14px}.subscription-table th:first-child{text-align:left}.subscription-table thead th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}.subscription-table tbody th{font-size:.9rem}.feature-check{color:var(--muted);font-weight:900}.feature-check.is-included{color:#50d890}.subscription-table-note{color:var(--muted);margin:12px 0 0;font-size:.82rem;line-height:1.55}.success-message{color:#a7f3d0;background:#50d89014;border:1px solid #50d8904d;border-radius:14px;padding:12px 14px}.pending-message{color:#fde68a;background:#fbbf2414;border:1px solid #fbbf244d;border-radius:14px;padding:12px 14px}.overview-grid{grid-template-columns:2fr 1fr 1fr;margin-bottom:20px}.summary-panel,.hero-panel,.mini-panel,.installations-panel,.detail-panel,.metric-card,.stream-card{background:#0a0e13c7;border:1px solid #8ba7b229;border-radius:24px;box-shadow:0 18px 54px #03080b2e}.summary-panel,.hero-panel,.mini-panel,.installations-panel,.detail-panel{padding:24px}.metric-card.is-alarm-active{background:#5312186b;border-color:#ff6b6b6b;box-shadow:0 18px 54px #53121838}.metric-card-button{appearance:none;font:inherit;text-align:left;width:100%;color:inherit;cursor:pointer}.metric-card-button:hover,.metric-card-button:focus-visible{border-color:#ffb04c75;box-shadow:0 18px 54px #ffb04c1a}.summary-panel{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:stretch;gap:24px;margin-bottom:20px;display:grid}.summary-panel h2{margin:0 0 10px;font-size:clamp(1.9rem,3vw,2.6rem)}.summary-panel p:last-child{margin-bottom:0}.summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-page{gap:20px;display:grid}.detail-header{gap:14px;display:grid}.back-button{justify-self:start}.detail-header-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.kpi-config-list{gap:10px;display:grid}.kpi-config-row{background:#ffffff08;border:1px solid #8ba7b224;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.kpi-config-row input{accent-color:#ff9b3d;margin-top:4px}.kpi-config-row span{gap:4px;display:grid}.kpi-config-row strong{color:var(--text-strong)}.kpi-config-row small{color:var(--muted);overflow-wrap:anywhere}.kpi-config-row-pending{background:#fbbf240f;border-color:#fbbf243d}.kpi-label-field{gap:6px;margin-top:8px;display:grid}.kpi-label-field input{width:100%;color:var(--text-strong);background:#05090d6b;border:1px solid #8ba7b22e;border-radius:10px;margin:0;padding:10px 12px}.kpi-label-field input:focus{outline-offset:1px;outline:2px solid #ff9b3d52}.compact-button{padding:7px 10px;font-size:.82rem}.dashboard-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-kpi-card,.dashboard-kpi-empty{background:#0a0e13c7;border:1px solid #8ba7b229;border-radius:18px;box-shadow:0 18px 54px #03080b29}.dashboard-kpi-card{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;min-height:86px;padding:16px;display:grid}.dashboard-kpi-card p{color:var(--muted-soft);margin:0 0 4px;font-size:.88rem}.dashboard-kpi-card strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:1.35rem;line-height:1.15;display:block}.dashboard-kpi-icon{color:#ffd59c;background:#ffffff0d;border-radius:12px;place-items:center;width:38px;height:38px;font-size:1.2rem;font-weight:800;display:grid}.icon-pallet,.icon-idle{color:#9ee7d8}.icon-downtime{color:#ff8f8f}.icon-energy,.icon-savings{color:#fde68a}.icon-speed,.icon-oee{color:#bfdbfe}.dashboard-kpi-empty,.dashboard-kpi-placeholder{color:var(--muted);padding:18px}.detail-nav{flex-wrap:wrap;gap:12px;display:flex}.detail-nav-button{color:var(--text-strong);font:inherit;cursor:pointer;background:#ffffff08;border:1px solid #8ba7b22e;border-radius:999px;padding:12px 16px;transition:border-color .16s,background .16s,color .16s}.detail-nav-button:hover{border-color:#ffb45457}.detail-nav-button.is-active{color:#ffd59c;background:#ff9b3d1a;border-color:#ff9b3d80}.detail-content-panel{background:#0a0e13c7;border:1px solid #8ba7b229;border-radius:24px;padding:24px;box-shadow:0 18px 54px #03080b2e}.detail-overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px;display:grid}.overview-main-panel{grid-row:span 2}.machine-state-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.machine-state-item,.analysis-row{background:#ffffff08;border:1px solid #8ba7b21f;border-radius:14px;flex-direction:column;justify-content:center;gap:6px;min-height:74px;padding:14px 16px;display:flex}.machine-state-item span,.analysis-row span,.compact-list p,.timeline-list p{color:var(--muted)}.machine-state-item strong,.analysis-row strong,.compact-list strong,.timeline-list strong{color:var(--text-strong)}.connection-state-grid{margin-bottom:22px}.compact-list,.alarm-history-list,.timeline-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.compact-list li,.alarm-history-list li,.timeline-list li{border-top:1px solid #8ba7b21f;align-items:center;gap:12px;padding:12px 0;display:grid}.compact-list li{grid-template-columns:minmax(0,1fr) auto}.alarm-history-list li{grid-template-columns:minmax(0,1fr) 90px 150px 170px}.timeline-list li{grid-template-columns:170px minmax(0,1fr)}.compact-list li:first-child,.alarm-history-list li:first-child,.timeline-list li:first-child{border-top:0;padding-top:0}.state-badge{box-sizing:border-box;color:#a7f3d0;white-space:nowrap;background:#50d89014;border:1px solid #50d8903d;border-radius:999px;justify-self:start;align-items:center;min-height:40px;padding:6px 10px;font-size:.82rem;display:inline-flex}.state-bad{color:#fecaca;background:#ff6b6b1a;border-color:#ff6b6b4d}.analysis-grid{gap:10px;display:grid}.downtime-date-controls{margin-bottom:18px}.analysis-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:auto;display:grid}.analysis-row.is-active{background:#53121833;border-color:#ff6b6b4d}.analysis-copy{gap:6px;min-width:0;display:grid}.analysis-copy strong,.analysis-copy span{display:block}.count-badge{color:#a7f3d0;background:#50d89014;border:1px solid #50d8903d;border-radius:999px;place-items:center;min-width:36px;height:36px;font-size:.88rem;display:inline-grid}.downtime-timeline{gap:10px;margin-top:22px;margin-bottom:22px;display:grid}.downtime-timeline-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.downtime-timeline-head h4{color:var(--text-strong);margin:0;font-size:1rem}.downtime-timeline-head span,.downtime-time-axis{color:var(--muted-soft)}.downtime-time-axis,.downtime-timeline-row{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:14px;display:grid}.downtime-time-axis{font-size:.78rem}.downtime-time-axis-track{justify-content:space-between;display:flex}.downtime-timeline-rows{gap:8px;display:grid}.downtime-timeline-label{color:var(--muted);overflow-wrap:anywhere;font-size:.86rem}.downtime-timeline-track{background:linear-gradient(90deg,#8ba7b22e 1px,#0000 1px) 0 0/25% 100%,#ffffff08;border:1px solid #8ba7b224;border-radius:999px;height:30px;position:relative;overflow:visible}.downtime-timeline-segment{cursor:help;background:#ffac4ad1;border-radius:999px;position:absolute;top:6px;bottom:6px;box-shadow:0 0 0 1px #ffac4a33}.downtime-timeline-segment.is-active{background:#ff6b6be6;box-shadow:0 0 0 1px #ff6b6b4d}.downtime-tooltip{z-index:10;width:max-content;max-width:min(320px,80vw);color:var(--muted);pointer-events:none;background:#080c11fa;border:1px solid #8ba7b23d;border-radius:10px;padding:10px 12px;font-size:.78rem;line-height:1.45;display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 18px 44px #00000052}.downtime-tooltip strong,.downtime-tooltip span{display:block}.downtime-tooltip strong{color:var(--text-strong);margin-bottom:4px}.downtime-timeline-segment:hover .downtime-tooltip,.downtime-timeline-segment:focus-visible .downtime-tooltip{display:block}.report-actions{flex-wrap:wrap;gap:10px;display:flex}.panel-label{text-transform:uppercase;letter-spacing:.16em;color:var(--muted-soft);margin:0 0 12px;font-size:.8rem}.mini-panel strong,.metric-card strong{color:var(--text-strong);font-size:1.3rem;display:block}.mini-panel span,.metric-card span{color:var(--muted)}.metric-card .metric-subvalue{color:var(--muted-soft);overflow-wrap:anywhere;margin-top:6px;display:block}.workday-form{gap:18px;display:grid}.workday-form .muted-copy{color:var(--muted);margin:0}.workday-form .form-row.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.workday-form label{color:var(--muted);gap:8px;font-size:.9rem;font-weight:700;display:grid}.workday-form input{width:100%;color:var(--text-strong);font:inherit;background:#ffffff0d;border:1px solid #9dadb538;border-radius:14px;padding:14px 16px}.workday-breaks{border-top:1px solid #8ba7b224;gap:14px;padding-top:18px;display:grid}.workday-breaks-header,.workday-break-row{align-items:end;gap:14px;display:grid}.workday-breaks-header{grid-template-columns:1fr auto}.workday-breaks-header h3{margin:0}.workday-break-list{gap:12px;display:grid}.workday-break-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.content-grid{grid-template-columns:360px 1fr}.section-head{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.section-head span{color:var(--muted-soft)}.installation-list{gap:12px;display:grid}.installations-panel{margin-bottom:20px}.subscription-requests-panel{background:#0a0e13c7;border:1px solid #8ba7b229;border-radius:20px;margin-bottom:20px;padding:22px}.subscription-request-list{gap:12px;display:grid}.customer-user-form{background:#ffffff08;border:1px solid #8ba7b224;border-radius:16px;gap:14px;margin-bottom:18px;padding:16px;display:grid}.customer-user-form .primary-button{justify-self:start}.customer-user-limit-list{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.customer-user-limit-list span{color:var(--muted);background:#ffffff08;border:1px solid #8ba7b229;border-radius:999px;padding:7px 10px;font-size:.82rem}.subscription-request-card{background:#ffffff08;border:1px solid #8ba7b224;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.subscription-request-card strong,.subscription-request-card p,.subscription-request-card span{display:block}.subscription-request-card p{color:var(--text-strong);margin:6px 0}.subscription-request-card span:not(.state-badge){color:var(--muted)}.subscription-request-card .state-badge{color:#a7f3d0;align-items:center;min-height:42px;display:inline-flex}.subscription-request-card .state-badge.state-bad{color:#fecaca}.subscription-request-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.compact-action{width:auto;padding-inline:18px}.filter-panel{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:14px;margin-bottom:18px;display:grid}.dropdown{position:relative}.dropdown-trigger{width:100%;color:var(--text-strong);cursor:pointer;background:#ffffff0d;border:1px solid #9dadb538;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.dropdown-trigger.is-open{border-color:#ffb45473;box-shadow:0 0 0 1px #ffb45433}.dropdown-chevron{color:var(--muted-soft);font-size:1.1rem;line-height:1}.dropdown-menu{z-index:20;background:#0a0e13fa;border:1px solid #8ba7b229;border-radius:16px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 18px 54px #03080b47}.dropdown-option{width:100%;color:var(--text-strong);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:12px 14px}.dropdown-option:hover,.dropdown-option.is-selected{color:#ffd59c;background:#ffb45424}.installation-overview-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.installation-overview-card{width:100%;color:var(--text-strong);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #8ba7b224;border-radius:20px;gap:12px;padding:18px;transition:border-color .16s,transform .16s,box-shadow .16s,background .16s;display:grid}.installation-overview-card:hover{border-color:#ffb4544d;transform:translateY(-1px)}.installation-overview-card strong{font-size:1.02rem}.installation-overview-card p,.installation-overview-card small,.overview-card-meta span{color:var(--muted)}.installation-overview-card.is-active{background:#ff9b3d14;border-color:#ff9b3d85;box-shadow:0 0 0 1px #ff9b3d33}.installation-overview-card.is-alert{border-color:#ff6b6b57;box-shadow:0 0 0 1px #ff6b6b24,0 0 28px #ff6b6b1f}.installation-overview-card.is-active.is-alert{box-shadow:0 0 0 1px #ff9b3d33,0 0 28px #ff6b6b24}.overview-card-head,.overview-card-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.overview-card-head{align-items:flex-start}.overview-card-meta{border-top:1px solid #8ba7b21a;padding-top:6px;font-size:.9rem}.installation-card{width:100%;color:var(--text-strong);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #8ba7b224;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:16px;display:grid}.installation-card.is-active{background:#ff9b3d14;border-color:#ff9b3d99}.installation-card p,.installation-card small{color:var(--muted)}.status-dot{border-radius:999px;width:12px;height:12px;margin-top:6px}.status-online{background:#50d890}.status-offline{background:#ff6b6b}.status-unknown{background:#94a3b8}.pill{color:var(--text-strong);border-radius:999px;padding:8px 12px;font-size:.86rem}.pill-online{background:#50d89029}.pill-offline{background:#ff6b6b29}.pill-unknown{background:#94a3b829}.documentation-shell{background:#f8fafc;min-height:100vh}.documentation-page{color:#1f2937;background:#f8fafc;grid-template-rows:auto auto minmax(0,1fr);gap:0;min-height:100vh;display:grid;overflow:hidden}.documentation-header{background:#fff;border-bottom:1px solid #d6dde7;justify-content:space-between;align-items:center;gap:18px;padding:18px 28px;display:flex}.documentation-header h1{color:#0f172a;margin:0;font-size:1.45rem}.documentation-kicker{color:#64748b;letter-spacing:.16em;text-transform:uppercase;margin:0 0 4px;font-size:.75rem;font-weight:800}.documentation-user-actions{align-items:center;gap:10px;display:flex}.documentation-user-actions span{color:#475569;font-weight:700}.documentation-user-actions .ghost-button{color:#334155;border-color:#d1d5db}.documentation-banner{color:#fff;text-align:center;background:#5f5f5f;padding:14px 18px;font-size:1rem}.documentation-layout{grid-template-columns:280px minmax(0,1fr) 260px;min-height:0;display:grid}.documentation-sidebar,.documentation-toc{background:#fff;overflow-y:auto}.documentation-sidebar{border-right:1px solid #d6dde7;padding:20px 16px}.documentation-brand{color:#0f172a;text-align:center;background:#fff;border:1px solid #d6dde7;align-content:center;justify-items:center;gap:8px;min-height:160px;margin-bottom:18px;display:grid}.documentation-brand-image{object-fit:contain;width:100%;max-width:220px;height:auto;max-height:140px;display:block}.documentation-brand strong{font-size:1.35rem}.documentation-brand span{overflow-wrap:anywhere;max-width:220px;font-size:.82rem}.documentation-actions{gap:10px;margin-bottom:18px;display:flex}.documentation-icon-link{color:#334155;font:inherit;text-align:center;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;flex:1;padding:10px;font-weight:800;text-decoration:none}.documentation-search{color:#334155;gap:6px;margin-bottom:20px;display:grid}.documentation-search input{box-sizing:border-box;color:#111827;width:100%;font:inherit;background:#f8fafc;border:1px solid #d1d5db;border-radius:999px;padding:11px 14px}.documentation-nav-head{color:#0f172a;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.documentation-nav,.documentation-tree-folder,.documentation-tree-children{gap:4px;display:grid}.documentation-nav button{color:#334155;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;gap:4px;padding:9px 10px;display:grid}.documentation-tree-folder-button{grid-template-columns:16px minmax(0,1fr);align-items:center;font-weight:800}.documentation-tree-folder-button span:last-child,.documentation-tree-file span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.documentation-tree-caret{color:#64748b;font-size:.8rem}.documentation-tree-file{min-height:44px}.documentation-nav button:hover,.documentation-tree-folder-button.is-active,.documentation-tree-file.is-active{color:#0f172a;background:#eff6ff;border-left-color:#2563eb}.documentation-tree-folder-button:hover{color:#0f172a;background:#f1f5f9}.documentation-tree-file small{color:#64748b}.documentation-content{background:#fff;min-width:0;padding:22px 42px 56px;overflow-y:auto}.documentation-toolbar{z-index:5;background:#fff;justify-content:space-between;gap:12px;padding-bottom:18px;display:flex;position:sticky;top:0}.documentation-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.documentation-toolbar .ghost-button,.documentation-content .ghost-button{color:#334155;border-color:#d1d5db;text-decoration:none}.documentation-project-print{display:none}.documentation-project-print-section{break-after:page;page-break-after:always}.documentation-project-print-section:last-child{break-after:auto;page-break-after:auto}.documentation-empty,.documentation-denied{color:#334155;background:#fff;border:1px solid #d1d5db;border-radius:14px;padding:28px}.documentation-toc{border-left:1px solid #d6dde7;max-height:calc(100vh - 109px);padding:22px 20px;position:sticky;top:0}.documentation-toc h2{color:#0f172a;margin:0 0 18px;font-size:1rem}.documentation-toc nav{gap:10px;display:grid}.documentation-toc a{color:#334155;line-height:1.45;text-decoration:none}.documentation-toc a:hover{color:#2563eb}.toc-level-3{padding-left:16px}.toc-level-4{padding-left:28px;font-size:.92rem}.markdown-body{color:#111827;font-size:1.02rem;line-height:1.75}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:#1f2937;scroll-margin-top:80px;line-height:1.2}.markdown-body h1{margin:28px 0 18px;font-size:clamp(2.2rem,5vw,3rem)}.markdown-body h2{margin:42px 0 14px;font-size:2rem}.markdown-body h3{margin:30px 0 12px;font-size:1.45rem}.markdown-body p,.markdown-body ul,.markdown-body ol{max-width:76ch}.markdown-body img{max-width:100%;height:auto;margin-left:auto;margin-right:auto;display:block}.markdown-image{text-align:center;max-width:900px;margin:24px auto}.markdown-image figcaption{color:#64748b;margin-top:8px;font-size:.9rem}.markdown-body code{color:#be185d;background:#f1f5f9;border:1px solid #d1d5db;border-radius:5px;padding:2px 6px;font-size:.9em}.markdown-body pre{background:#f8fafc;border-left:4px solid #ff9b3d;border-radius:8px;gap:8px;max-width:100%;padding:18px;display:grid;overflow-x:auto}.markdown-body pre code{color:#0f172a;background:0 0;border:0;padding:0}.markdown-table-wrapper{border:1px solid #ff9b3d;border-radius:10px;max-width:100%;margin:24px 0;overflow-x:auto}.markdown-body table{border-collapse:collapse;background:#fff;width:100%;font-size:.95rem;line-height:1.5}.markdown-body th,.markdown-body td{vertical-align:top;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;min-width:120px;padding:11px 14px}.markdown-body th{color:#111827;background:#ff9b3d;font-weight:700}.markdown-body th:last-child,.markdown-body td:last-child{border-right:0}.markdown-body tbody tr:last-child td{border-bottom:0}.markdown-body tbody tr:nth-child(2n){background:#fff7ed}.markdown-table-total,.markdown-table-grand-total{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.markdown-body tfoot th{background:#fff7ed;border-top:2px solid #ff9b3d;border-bottom:0}.markdown-body tfoot th:first-child{text-align:left}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.metric-card,.stream-card{padding:20px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.event-list li{border-top:1px solid #8ba7b21f;justify-content:space-between;gap:16px;padding:14px 0;display:flex}.event-list li:first-child{border-top:0;padding-top:0}.event-list p,.event-list time,.empty-state,.empty-detail p,.error-banner,.error-message{color:var(--muted)}.event-list strong{color:var(--text-strong)}.detail-actions{border-top:1px solid #8ba7b21f;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:18px;display:flex}.detail-actions>span{color:var(--muted-soft);font-size:.9rem}.detail-actions>div{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.measurement-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.measurement-type-options{flex-wrap:wrap;gap:10px;display:flex}.measurement-type-options label{cursor:pointer;background:#ffffff08;border:1px solid #8ba7b22e;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;display:flex}.measurement-type-options input{accent-color:#ff9b3d}.measurement-type-options span{color:var(--text-strong);font-weight:700}.measurement-type-options small{color:var(--muted-soft)}.measurement-period-options{background:#ffffff08;border:1px solid #8ba7b22e;border-radius:999px;flex:none;padding:4px;display:inline-flex}.measurement-period-options button{color:var(--muted-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 14px}.measurement-period-options button.is-active{color:#ffd59c;background:#ff9b3d29}.measurement-date-controls{align-items:center;gap:8px;display:flex}.measurement-date-controls button,.measurement-date-controls input{min-height:40px;color:var(--text-strong);font:inherit;background:#ffffff0a;border:1px solid #8ba7b22e;border-radius:12px;padding:8px 12px}.measurement-date-controls button{cursor:pointer}.measurement-date-controls button:disabled{opacity:.45;cursor:not-allowed}.measurement-date-controls .today-button{color:#ffd59c}.measurement-chart-card{background:#ffffff06;border:1px solid #8ba7b224;border-radius:18px;min-width:0;padding:18px}.chart-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.chart-head h4{color:var(--text-strong);margin:0 0 4px}.chart-head span{color:var(--muted-soft);font-size:.9rem}.chart-head strong{color:#ffd59c}.combined-chart-layout{grid-template-columns:minmax(120px,auto) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.chart-y-axes{gap:8px;display:flex}.chart-y-axis{min-width:82px;color:var(--muted-soft);border-left:3px solid;grid-template-rows:auto auto 1fr auto;gap:6px;padding:10px 8px;font-size:.75rem;display:grid}.chart-y-axis strong{writing-mode:vertical-rl;justify-self:center;max-height:100px;transform:rotate(180deg)}.chart-y-axis span{white-space:nowrap}.chart-y-axis i{background:#8ba7b233;justify-self:center;width:1px;min-height:100px}.measurement-chart{width:100%;min-height:220px;display:block;overflow:visible}.measurement-chart-wrap{min-width:0}.chart-tooltip{z-index:200;min-width:150px;color:var(--text-strong);pointer-events:none;background:#050c11f5;border:1px solid;border-radius:12px;gap:4px;padding:10px 12px;display:grid;position:fixed;box-shadow:0 12px 30px #0000006b}.chart-tooltip span{font-size:1.05rem;font-weight:700}.chart-tooltip time{color:var(--muted-soft);font-size:.82rem}.chart-grid-line{stroke:#8ba7b224;stroke-width:1px}.chart-axis-label{fill:#8fa6b2;font-size:12px}.chart-line{fill:none;stroke:#ff9b3d;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.chart-point{fill:#ffd166;stroke:#0a1117;stroke-width:2px;cursor:pointer;transition:r .12s,fill .12s}.chart-point:hover{fill:#fff;r:7px}.empty-detail{text-align:center;place-content:center;min-height:320px;display:grid}.error-banner,.error-message{background:#ff6b6b14;border:1px solid #ff6b6b4d;border-radius:14px;padding:12px 14px}.error-banner{margin-bottom:20px}@media (width<=1100px){.documentation-layout{grid-template-columns:240px minmax(0,1fr)}.documentation-toc{display:none}.auth-panel,.summary-panel,.summary-metrics,.filter-panel,.content-grid,.overview-grid,.detail-overview-grid,.dashboard-manager-grid,.settings-layout,.stats-grid,.detail-grid,.settings-grid,.topbar{grid-template-columns:1fr}.auth-copy,.auth-card{padding:32px 24px}.dashboard-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.documentation-header,.documentation-user-actions{flex-direction:column;align-items:flex-start}.documentation-layout{grid-template-columns:1fr}.documentation-sidebar,.documentation-content{max-height:none;overflow:visible}.documentation-content,.shell{padding:18px}.dashboard-kpi-row{grid-template-columns:1fr}.summary-panel,.mini-panel,.installations-panel,.detail-panel,.detail-content-panel,.metric-card,.stream-card{padding:18px}.field-row{grid-template-columns:1fr}.management-submenu{grid-template-columns:repeat(2,minmax(0,1fr))}.api-key-field{grid-template-columns:minmax(0,1fr) 44px}.api-key-field .ghost-button{grid-column:1/-1}.downtime-time-axis,.downtime-timeline-row{grid-template-columns:1fr;gap:6px}.installation-card,.event-list li,.alarm-history-list li,.timeline-list li,.userbox{grid-template-columns:1fr}.overview-card-head,.overview-card-meta,.detail-actions{flex-direction:column;align-items:flex-start}.detail-actions>div{justify-content:flex-start}.workday-form .form-row.two,.workday-breaks-header,.workday-break-row{grid-template-columns:1fr}.installation-card{gap:8px}.userbox{justify-items:start}.settings-overlay{align-items:start;padding:12px}.settings-dialog{max-height:calc(100vh - 24px);padding:20px}.settings-header,.user-actions{flex-direction:column;align-items:flex-start}.chart-head{flex-direction:column}.measurement-controls,.combined-chart-layout{flex-direction:column;grid-template-columns:1fr}.measurement-date-controls,.chart-y-axes{flex-wrap:wrap}.chart-y-axis{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;min-width:110px}.chart-y-axis strong{writing-mode:horizontal-tb;grid-column:1/-1;justify-self:start;transform:none}.chart-y-axis i{align-self:center;width:auto;min-height:1px}.measurement-chart-card{padding:12px}}@media print{.documentation-header,.documentation-banner,.documentation-sidebar,.documentation-toolbar,.documentation-toc{display:none}.documentation-page,.documentation-layout,.documentation-content{height:auto;min-height:0;display:block;overflow:visible}.documentation-content{padding:0}.documentation-screen-content.is-project-printing{display:none}.documentation-project-print.is-project-printing{display:block}}
