.rgl-canvas-tiptap-body{flex:1;min-height:0;padding:0;overflow-y:auto}.rgl-canvas-tiptap-body .ProseMirror{min-height:60px;color:var(--klh-css-ink);outline:none;padding:10px;font-size:13px;line-height:1.5}.rgl-canvas-tiptap-body .ProseMirror p{margin:0 0 8px}.rgl-canvas-tiptap-body .ProseMirror a{color:var(--klh-css-accent);text-decoration:underline}.rgl-canvas-tiptap-body .ProseMirror h1,.rgl-canvas-tiptap-body .ProseMirror h2,.rgl-canvas-tiptap-body .ProseMirror h3{color:var(--klh-css-ink);margin:0 0 8px}.rgl-canvas-tiptap-body .ProseMirror ul,.rgl-canvas-tiptap-body .ProseMirror ol{margin:0 0 8px;padding-left:20px}.rgl-canvas-tiptap-toolbar{border-bottom:1px solid var(--klh-css-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:1px;padding:2px 4px;display:flex}.rgl-canvas-tiptap-btn{cursor:pointer;color:var(--klh-css-ink);background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 4px;font-size:11px;font-weight:600}.rgl-canvas-tiptap-btn:hover{background:var(--klh-css-hover-bg)}.rgl-canvas-tiptap-btn.active{background:var(--klh-css-accent);color:#fff}.rgl-canvas-tiptap-sep{background:var(--klh-css-border);width:1px;height:14px;margin:0 2px}.rgl-canvas-tiptap-select{border:1px solid var(--klh-css-border);background:var(--klh-css-card);color:var(--klh-css-ink);border-radius:4px;padding:1px 2px;font-size:11px}.rgl-canvas-tiptap-body .ProseMirror img{border-radius:4px;max-width:100%;height:auto;margin:4px 0}.rgl-canvas-tiptap-body .ProseMirror blockquote{border-left:3px solid var(--klh-css-accent);margin:8px 0;padding-left:12px;font-style:italic}.rgl-canvas-tiptap-body .ProseMirror pre{background:var(--klh-css-bg);border:1px solid var(--klh-css-border);font-size:12px;font-family:var(--klh-css-font-mono);border-radius:4px;padding:8px;overflow-x:auto}.rgl-canvas-tiptap-body .ProseMirror hr{border:none;border-top:1px solid var(--klh-css-border);margin:12px 0}.rgl-canvas-tiptap-btn-label{margin-left:2px;font-size:9px;font-weight:400}.rgl-canvas-tiptap-label-toggle{z-index:2;border:1px solid var(--klh-css-border);cursor:pointer;color:var(--klh-css-ink);background:0 0;border-radius:4px;padding:0 4px;font-size:9px;line-height:16px;position:absolute;top:2px;right:2px}.rgl-canvas-tiptap-label-toggle:hover{background:var(--klh-css-hover-bg)}.rgl-canvas-tiptap-color-wrap{display:inline-flex;position:relative}.rgl-tiptap-color-picker{z-index:200;background:var(--klh-css-card);border:1px solid var(--klh-css-border);border-radius:4px;min-width:220px;padding:6px;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000040}.rgl-tiptap-color-label{color:var(--klh-css-ink);margin-bottom:4px;font-size:10px;font-weight:600}.rgl-tiptap-color-grid{flex-direction:column;gap:2px;margin-bottom:6px;display:flex}.rgl-tiptap-color-row{gap:2px;display:flex}.rgl-tiptap-color-swatch{border:1px solid var(--klh-css-border);cursor:pointer;background-color:attr(data-color);border-radius:2px;width:18px;height:18px;padding:0}.rgl-tiptap-color-swatch:hover{border-color:var(--klh-css-ink);transform:scale(1.15)}.rgl-tiptap-color-swatch.active{border-color:var(--klh-css-accent);border-width:2px}.rgl-tiptap-color-custom{align-items:center;gap:4px;display:flex}.rgl-tiptap-color-input{border:1px solid var(--klh-css-border);background:var(--klh-css-bg);color:var(--klh-css-ink);font-size:11px;font-family:var(--klh-css-font-mono);border-radius:4px;flex:1;min-width:0;padding:2px 4px}.rgl-tiptap-color-apply,.rgl-tiptap-color-clear{border:1px solid var(--klh-css-border);color:var(--klh-css-ink);cursor:pointer;background:0 0;border-radius:4px;padding:2px 6px;font-size:10px}.rgl-tiptap-color-apply:hover,.rgl-tiptap-color-clear:hover{background:var(--klh-css-hover-bg)}.rgl-tiptap-color-apply:disabled{color:var(--klh-css-disabled);cursor:default}.rgl-canvas-root{width:100%;min-height:200px;position:relative}.react-grid-item>div{height:100%}.rgl-canvas-widget{background:var(--rgl-bg,var(--klh-css-card));height:100%;color:var(--rgl-text-color,var(--klh-css-ink));font-size:var(--rgl-font-size,inherit);font-weight:var(--rgl-font-weight,inherit);text-align:var(--rgl-text-align,inherit);border-top:var(--rgl-border-top,1px solid var(--klh-css-border));border-right:var(--rgl-border-right,1px solid var(--klh-css-border));border-bottom:var(--rgl-border-bottom,1px solid var(--klh-css-border));border-left:var(--rgl-border-left,1px solid var(--klh-css-border));border-radius:var(--rgl-border-radius,4px);flex-direction:column;display:flex;overflow:hidden}.rgl-canvas-widget.rgl-canvas-edit-mode{cursor:default}.rgl-canvas-handle{background:var(--rgl-header-bg,var(--klh-css-hover-bg));border-bottom:1px solid var(--klh-css-border);cursor:grab;-webkit-user-select:none;user-select:none;font-size:var(--klh-css-font-size-sm);color:var(--rgl-header-color,var(--klh-css-ink));flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;display:flex}.rgl-canvas-handle:active{cursor:grabbing}.rgl-canvas-handle-grip{color:var(--klh-css-disabled);font-size:var(--klh-css-font-size-xs);letter-spacing:2px}.rgl-canvas-handle-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:var(--klh-css-font-size-xs);flex:1;overflow:hidden}.rgl-canvas-handle-actions{gap:1px;display:flex}.rgl-canvas-action-btn{cursor:pointer;font-size:var(--klh-css-font-size-xs);color:var(--klh-css-ink);border-radius:var(--klh-css-radius);background:0 0;border:1px solid #0000;padding:1px 5px;font-weight:600}.rgl-canvas-action-btn:hover{background:var(--klh-css-hover-bg);border-color:var(--klh-css-border)}.rgl-canvas-action-btn.rgl-canvas-action-remove:hover{color:var(--klh-css-danger);border-color:var(--klh-css-danger)}.rgl-canvas-body{min-height:0;color:inherit;font-size:inherit;flex:1;padding:10px;overflow:hidden auto}.rgl-canvas-metric{align-items:var(--rgl-align-items,center);flex-direction:column;justify-content:center;gap:4px;height:100%;display:flex}.rgl-canvas-metric-value{font-size:var(--rgl-font-size,28px);font-weight:var(--rgl-font-weight,700);font-variant-numeric:tabular-nums;color:var(--rgl-text-color,var(--klh-css-ink))}.rgl-canvas-body[data-valign=top] .rgl-canvas-metric{justify-content:flex-start}.rgl-canvas-body[data-valign=middle] .rgl-canvas-metric{justify-content:center}.rgl-canvas-body[data-valign=bottom] .rgl-canvas-metric{justify-content:flex-end}.rgl-canvas-body[data-halign=left] .rgl-canvas-metric{text-align:left;align-items:flex-start}.rgl-canvas-body[data-halign=center] .rgl-canvas-metric{text-align:center;align-items:center}.rgl-canvas-body[data-halign=right] .rgl-canvas-metric{text-align:right;align-items:flex-end}.rgl-metric-th--text{color:var(--rgl-th-color,inherit)}.rgl-metric-th--pulse{color:var(--rgl-th-color,inherit);animation:1.1s ease-in-out infinite rgl-metric-pulse}.rgl-metric-th--bg{background:var(--rgl-th-color,transparent);color:#fff;border-radius:4px;padding:2px 12px}.rgl-metric-th--highlight{color:var(--rgl-th-color,inherit);background:color-mix(in srgb, var(--rgl-th-color,transparent) 18%, transparent);box-shadow:inset 0 0 0 2px var(--rgl-th-color,transparent);border-radius:4px;padding:2px 12px}@keyframes rgl-metric-pulse{0%,to{opacity:1}50%{opacity:.35}}.rgl-canvas-metric-label{text-transform:uppercase;letter-spacing:.5px;color:var(--rgl-text-color,var(--klh-css-ink));font-size:11px}.rgl-canvas-metric-subtitle{color:var(--rgl-text-color,var(--klh-css-ink));text-align:var(--rgl-text-align,center);font-size:11px;line-height:1.3}.rgl-canvas-metric-affix{font-size:calc(var(--rgl-font-size,28px) * .64);font-weight:400}.rgl-canvas-metric-titlebar{color:var(--rgl-text-color,var(--klh-css-ink));border-bottom:1px solid var(--klh-css-border);flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.rgl-canvas-settings{flex-direction:column;gap:4px;padding:6px 10px;display:flex}.rgl-canvas-settings-row{color:var(--klh-css-ink);align-items:center;gap:8px;font-size:11px;display:flex}.rgl-canvas-settings-row>span{flex-shrink:0;width:60px}.rgl-canvas-settings-row>input:not([type=checkbox]){border:1px solid var(--klh-css-border);background:var(--klh-css-card);color:var(--klh-css-ink);border-radius:4px;flex:1;min-width:0;padding:2px 6px;font-size:11px}.rgl-canvas-settings-row>input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--klh-css-card) inset;-webkit-text-fill-color:var(--klh-css-ink);caret-color:var(--klh-css-ink)}.rgl-canvas-settings-row>input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 30px var(--klh-css-card) inset;-webkit-text-fill-color:var(--klh-css-ink);caret-color:var(--klh-css-ink)}.rgl-canvas-settings-row>input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--klh-css-card) inset;-webkit-text-fill-color:var(--klh-css-ink);caret-color:var(--klh-css-ink)}.rgl-canvas-settings-row>input[type=checkbox]{margin:0}.rgl-canvas-settings-row>select{border:1px solid var(--klh-css-border);background:var(--klh-css-card);color:var(--klh-css-ink);border-radius:4px;padding:2px 4px;font-size:11px}.rgl-canvas-settings-group{text-transform:uppercase;letter-spacing:.5px;color:var(--klh-css-ink);padding-top:4px;font-size:10px;font-weight:600}.rgl-canvas-settings-section{text-transform:uppercase;letter-spacing:.5px;color:var(--klh-css-ink);border-top:1px solid var(--klh-css-border);margin-top:4px;padding:6px 0 2px;font-size:10px;font-weight:600}.rgl-canvas-settings-field-row{align-items:center;gap:4px;padding:2px 0;display:flex}.rgl-actionlist-settings-item{border:1px solid var(--klh-css-border);border-radius:4px;margin:4px 0;padding:4px 6px}.rgl-actionlist-settings-error{color:var(--klh-css-danger);padding:2px 0;font-size:11px}.rgl-canvas-settings-note{color:var(--klh-css-ink);padding:2px 0 4px;font-size:11px}.rgl-canvas-settings-field-row>input[type=text],.rgl-canvas-settings-field-row>input:not([type]){border:1px solid var(--klh-css-border);background:var(--klh-css-card);color:var(--klh-css-ink);border-radius:4px;flex:1;padding:3px 6px;font-size:11px}.rgl-canvas-settings-field-row>select{border:1px solid var(--klh-css-border);background:var(--klh-css-card);color:var(--klh-css-ink);border-radius:4px;padding:3px 4px;font-size:11px}.rgl-canvas-settings-field-row>label{white-space:nowrap;color:var(--klh-css-ink);font-size:10px}.rgl-canvas-settings-remove{color:var(--klh-css-danger);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px}.rgl-canvas-settings-row--color{position:relative}.rgl-canvas-settings-color-btn{border:1px solid var(--klh-css-border);background:var(--klh-css-card);color:var(--klh-css-ink);cursor:pointer;border-radius:4px;flex:1;align-items:center;gap:4px;min-width:0;padding:2px 6px;font-size:11px;display:flex}.rgl-canvas-settings-color-swatch{border:1px solid var(--klh-css-border);border-radius:2px;flex-shrink:0;width:16px;height:16px}.rgl-canvas-settings-color-hex{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rgl-canvas-settings-row--color .rgl-tiptap-color-picker{z-index:20;position:absolute;top:100%;right:0}.rgl-canvas-settings-add{border:1px dashed var(--klh-css-border);cursor:pointer;color:var(--klh-css-ink);background:0 0;border-radius:4px;margin-top:4px;padding:4px 8px;font-size:11px}.rgl-canvas-settings-align-group{gap:2px;display:flex}.rgl-canvas-settings-align-btn{background:var(--klh-css-card);border:1px solid var(--klh-css-border);cursor:pointer;color:var(--klh-css-ink);border-radius:4px;padding:2px 8px;font-family:monospace;font-size:11px}.rgl-canvas-settings-align-btn--active{background:var(--klh-css-accent);color:#fff;border-color:var(--klh-css-accent)}.rgl-settings-modal{z-index:1000;background:var(--klh-css-card);border:1px solid var(--klh-css-border);resize:both;border-radius:4px;flex-direction:column;width:280px;min-width:220px;min-height:120px;max-height:80vh;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 24px #00000040}.rgl-settings-modal-header{background:var(--klh-css-hover-bg);border-bottom:1px solid var(--klh-css-border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;padding:6px 10px;display:flex}.rgl-settings-modal-header:active{cursor:grabbing}.rgl-settings-modal-title{color:var(--klh-css-ink);flex:1;font-size:12px;font-weight:600}.rgl-settings-modal-close{cursor:pointer;color:var(--klh-css-ink);background:0 0;border:none;border-radius:4px;padding:0 4px;font-size:14px}.rgl-settings-modal-close:hover{background:var(--klh-css-hover-bg);color:var(--klh-css-danger)}.rgl-settings-modal-body{flex:1;min-height:0;overflow-y:auto}.rgl-canvas-grid-search{border-bottom:1px solid var(--klh-css-border);flex-shrink:0;align-items:center;gap:8px;padding:4px 10px;display:flex}.rgl-canvas-grid-search-input{border:1px solid var(--klh-css-border);background:var(--klh-css-card);color:var(--klh-css-ink);border-radius:4px;width:180px;max-width:100%;padding:3px 8px;font-size:11px}.rgl-canvas-grid-count{color:var(--klh-css-disabled);white-space:nowrap;font-size:10px}.rgl-canvas-grid-scroll{flex:1;min-height:0;overflow:auto}.rgl-canvas-grid-table{border-collapse:collapse;width:100%;font-size:var(--rgl-font-size,12px);color:var(--rgl-text-color,var(--klh-css-ink))}.rgl-canvas-grid-table th,.rgl-canvas-grid-table td{text-align:left;border-bottom:1px solid var(--klh-css-border);white-space:nowrap;padding:3px 10px}.rgl-canvas-grid-table th.num,.rgl-canvas-grid-table td.num{text-align:right;font-variant-numeric:tabular-nums}.rgl-canvas-grid-th{font-weight:var(--rgl-font-weight,600);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--klh-css-card);position:sticky;top:0}.rgl-canvas-grid-th:hover{background:var(--klh-css-hover-bg)}.rgl-canvas-grid-th.sorted{color:var(--klh-css-accent)}.rgl-canvas-grid-table tbody tr:hover{background:var(--klh-css-hover-bg)}.rgl-canvas-grid-empty{text-align:center;color:var(--klh-css-disabled);padding:20px 10px}.rgl-canvas-root .react-grid-placeholder{background:var(--klh-css-accent);opacity:.15;border-radius:4px}.rgl-canvas-root .react-resizable-handle:after{border-color:var(--klh-css-disabled)}.rgl-canvas-root .react-resizable-handle{z-index:5;width:24px;height:24px}.rgl-canvas-root .react-resizable-handle-n,.rgl-canvas-root .react-resizable-handle-s{cursor:ns-resize}.rgl-canvas-root .react-resizable-handle-e,.rgl-canvas-root .react-resizable-handle-w{cursor:ew-resize}.rgl-canvas-root .react-resizable-handle-nw,.rgl-canvas-root .react-resizable-handle-se{cursor:nwse-resize}.rgl-canvas-root .react-resizable-handle-ne,.rgl-canvas-root .react-resizable-handle-sw{cursor:nesw-resize}.rgl-canvas-root .react-resizable-handle-nw,.rgl-canvas-root .react-resizable-handle-ne,.rgl-canvas-root .react-resizable-handle-sw,.rgl-canvas-root .react-resizable-handle-se{z-index:6}.rgl-canvas-root .react-resizable-handle-n:after,.rgl-canvas-root .react-resizable-handle-s:after,.rgl-canvas-root .react-resizable-handle-e:after,.rgl-canvas-root .react-resizable-handle-w:after,.rgl-canvas-root .react-resizable-handle-nw:after,.rgl-canvas-root .react-resizable-handle-ne:after,.rgl-canvas-root .react-resizable-handle-sw:after{display:none}.rgl-canvas-root .rgl-canvas-edit-mode~.react-resizable-handle:hover,.rgl-canvas-root .react-resizable-handle:hover{background:var(--klh-css-accent);opacity:.25}.rgl-canvas-toolbar{border-bottom:1px solid var(--klh-css-border);background:var(--klh-css-card);color:var(--klh-css-ink);align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.rgl-canvas-toolbar-title{font-size:14px;font-weight:600}.rgl-canvas-toolbar-meta{color:var(--klh-css-disabled)}.rgl-canvas-toolbar-spacer{flex:1}.rgl-canvas-toolbar-btn{border:1px solid var(--klh-css-border);cursor:pointer;color:var(--klh-css-ink);background:0 0;border-radius:4px;padding:4px 12px;font-size:12px}.rgl-canvas-toolbar-btn:hover{background:var(--klh-css-hover-bg)}.rgl-canvas-toolbar-btn.active,.rgl-canvas-toolbar-btn.primary{background:var(--klh-css-accent);color:#fff;border-color:var(--klh-css-accent)}.rgl-canvas-toolbar-btn.primary:hover{filter:brightness(.9)}.rgl-canvas-template-wrap{position:relative}.rgl-canvas-template-dropdown{background:var(--klh-css-card);border:1px solid var(--klh-css-border);z-index:100;border-radius:4px;flex-direction:column;min-width:220px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000026}.rgl-canvas-template-option{cursor:pointer;text-align:left;color:var(--klh-css-ink);background:0 0;border:none;border-radius:4px;flex-direction:column;gap:1px;padding:6px 10px;display:flex}.rgl-canvas-template-option:hover{background:var(--klh-css-hover-bg)}.rgl-canvas-template-name{font-size:12px;font-weight:600}.rgl-canvas-template-desc{color:var(--klh-css-disabled);font-size:10px}.rgl-canvas-empty{color:var(--klh-css-disabled);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:60px 20px;font-size:14px;display:flex}.rgl-canvas-chart-body{flex:1;min-height:0;overflow:hidden}.rgl-canvas-chart-plot{width:100%;height:100%}.rgl-canvas-chart-loading{height:100%;color:var(--klh-css-disabled);justify-content:center;align-items:center;font-size:12px;display:flex}.rgl-canvas-gauge{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.rgl-canvas-gauge-svg{width:100%;max-width:200px;height:auto}.rgl-canvas-gauge-value-text{font-size:var(--rgl-font-size,24px);font-weight:var(--rgl-font-weight,700);font-variant-numeric:tabular-nums;fill:var(--rgl-text-color,var(--klh-css-ink))}.rgl-canvas-gauge-label-text{text-transform:uppercase;letter-spacing:.5px;fill:var(--rgl-text-color,var(--klh-css-ink));font-size:10px}.rgl-canvas-detail-scroll{flex:1;min-height:0;overflow:auto}.rgl-canvas-detail-table{border-collapse:collapse;width:100%;font-size:var(--rgl-font-size,12px);color:var(--rgl-text-color,var(--klh-css-ink))}.rgl-canvas-detail-th{text-align:left;font-weight:var(--rgl-font-weight,600);border-bottom:1px solid var(--klh-css-border);background:var(--klh-css-card);-webkit-user-select:none;user-select:none;white-space:nowrap;padding:3px 10px;position:sticky;top:0}.rgl-canvas-detail-row{cursor:pointer}.rgl-canvas-detail-row td{border-bottom:1px solid var(--klh-css-border);white-space:nowrap;padding:3px 10px}.rgl-canvas-detail-row:hover,.rgl-canvas-detail-row.expanded{background:var(--klh-css-hover-bg)}.rgl-canvas-detail-expand-row td{border-bottom:1px solid var(--klh-css-border);padding:0}.rgl-canvas-detail-expand{border-left:3px solid var(--klh-css-accent);background:var(--klh-css-bg);flex-direction:column;gap:4px;padding:8px 10px 8px 14px;display:flex}.rgl-canvas-detail-kv{gap:8px;font-size:11px;display:flex}.rgl-canvas-detail-key{width:80px;font-weight:var(--rgl-font-weight,600);color:var(--rgl-text-color,var(--klh-css-ink));flex-shrink:0}.rgl-canvas-detail-val{color:var(--rgl-text-color,var(--klh-css-ink))}.rgl-canvas-video-body{flex:1;min-height:0;overflow:hidden}.rgl-canvas-video-body .ProseMirror{outline:none;height:100%;padding:0}.rgl-canvas-video-body iframe{border:none;width:100%;height:100%}.rgl-canvas-pdf{align-items:center;gap:12px;height:100%;display:flex}.rgl-canvas-pdf-icon{background:var(--klh-css-alert-danger-bg);border:1px solid var(--klh-css-danger);width:44px;height:44px;color:var(--klh-css-danger);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.rgl-canvas-pdf-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.rgl-canvas-pdf-name{font-weight:var(--rgl-font-weight,600);font-size:var(--rgl-font-size,13px);color:var(--rgl-text-color,var(--klh-css-ink));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rgl-canvas-pdf-desc{color:var(--rgl-text-color,var(--klh-css-ink));font-size:11px}.rgl-canvas-pdf-btn{background:var(--klh-css-accent);color:#fff;cursor:pointer;border:none;border-radius:4px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:500}.rgl-canvas-pdf-btn:hover{filter:brightness(.9)}.rgl-canvas-pdf-btn:disabled{background:var(--klh-css-disabled);cursor:default}.rgl-canvas-cta{align-items:var(--rgl-align-items,center);height:100%;text-align:var(--rgl-text-align,center);flex-direction:column;justify-content:center;gap:8px;display:flex}.rgl-canvas-cta-headline{font-size:var(--rgl-font-size,18px);font-weight:var(--rgl-font-weight,700);color:var(--rgl-text-color,var(--klh-css-ink))}.rgl-canvas-cta-subtext{color:var(--rgl-text-color,var(--klh-css-ink));max-width:300px;font-size:13px;line-height:1.4}.rgl-canvas-cta-btn{background:var(--klh-css-accent);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:4px;padding:10px 28px;font-size:14px;font-weight:600}.rgl-canvas-cta-btn:hover{filter:brightness(.9)}.rgl-canvas-form-scroll{flex-direction:column;flex:1;min-height:0;padding:10px;display:flex;overflow-y:auto}.rgl-canvas-form-scroll[data-padding=compact]{padding:4px}.rgl-canvas-form-scroll[data-padding=spacious]{padding:20px}.rgl-canvas-form-scroll[data-vertical=center]{justify-content:center}.rgl-canvas-form-scroll[data-vertical=bottom]{justify-content:flex-end}.rgl-canvas-form{flex-direction:column;gap:8px;padding:0;display:flex}[data-padding=compact]>.rgl-canvas-form{gap:4px}[data-padding=spacious]>.rgl-canvas-form{gap:14px}.rgl-canvas-form-field{flex-direction:column;gap:3px;display:flex}.rgl-canvas-form-label{font-size:var(--rgl-font-size,11px);font-weight:var(--rgl-font-weight,600);color:var(--rgl-text-color,var(--klh-css-ink))}.rgl-canvas-form-req{color:var(--klh-css-danger);margin-left:2px}.rgl-canvas-form-input{border:1px solid var(--klh-css-border);background:var(--klh-css-card);color:var(--klh-css-ink);border-radius:4px;padding:5px 8px;font-family:inherit;font-size:12px}.rgl-canvas-form-input:focus{outline:var(--klh-css-focus-ring)}textarea.rgl-canvas-form-input{resize:vertical;min-height:40px}.rgl-canvas-form-submit{background:var(--klh-css-accent);color:#fff;cursor:pointer;border:none;border-radius:4px;align-self:flex-start;padding:8px 20px;font-size:13px;font-weight:600}.rgl-canvas-form-submit[data-align=center]{align-self:center}.rgl-canvas-form-submit[data-align=right]{align-self:flex-end}.rgl-canvas-form-submit:hover{filter:brightness(.9)}.rgl-canvas-form-submit:disabled{background:var(--klh-css-disabled);cursor:not-allowed}.rgl-canvas-form-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px 10px;display:flex}.rgl-canvas-form-success-msg{color:var(--klh-css-ink);font-size:14px;font-weight:600}.rgl-canvas-form-reset{border:1px solid var(--klh-css-border);cursor:pointer;color:var(--klh-css-ink);background:0 0;border-radius:4px;padding:4px 12px;font-size:11px}.rgl-canvas-session-row{color:var(--klh-css-ink);align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.rgl-canvas-session-row input[type=checkbox]{flex-shrink:0}.rgl-canvas-session-row span:not(.rgl-canvas-session-hours){flex:1}.rgl-canvas-session-hours{color:var(--klh-css-ink);background:var(--klh-css-hover-bg);border:1px solid var(--klh-css-border);border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:600}.rgl-canvas-form-error{color:var(--klh-css-danger);padding:4px 0;font-size:11px}.rgl-canvas-form-warn{color:var(--klh-css-warning);background:var(--klh-css-alert-warning-bg);border-left:3px solid var(--klh-css-warning);border-radius:4px;padding:4px 8px;font-size:11px}.rgl-canvas-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.rgl-canvas-scroll{flex:1;overflow-y:auto}.rgl-canvas-guide-v,.rgl-canvas-guide-h{background:var(--klh-css-accent);opacity:.6;pointer-events:none;z-index:1000;position:absolute}.rgl-canvas-guide-v{width:1px;top:0;bottom:0}.rgl-canvas-guide-h{height:1px;left:0;right:0}.rgl-canvas-handle--locked .rgl-canvas-handle-grip{color:var(--klh-css-disabled);cursor:default}.rgl-canvas-handle--readonly,.rgl-canvas-handle--readonly .rgl-canvas-handle-title{cursor:default}.rgl-canvas-handle--readonly{flex-direction:column;align-items:flex-start;gap:0;height:auto;padding-bottom:3px;display:flex}.rgl-canvas-handle--readonly .rgl-canvas-handle-title{white-space:normal;flex:none}.rgl-canvas-handle-sub{font-size:var(--klh-css-font-size-xs);color:var(--klh-css-ink);white-space:normal;font-weight:400;line-height:1.25}html.klh-public-page{height:auto;overflow:hidden auto}html.klh-public-page body{height:auto;min-height:100vh;display:block;overflow:visible}html.klh-public-page #root{height:auto;min-height:100%;overflow:visible}.rgl-public-view{background:var(--klh-css-bg);min-height:100vh;padding:0}.rgl-public-title{color:var(--klh-css-ink);padding:20px 20px 0;font-size:24px;font-weight:700}.rgl-public-embed{min-height:auto}.rgl-public-legacy{color:var(--klh-css-ink);padding:24px 20px 64px}.rgl-public-legacy>div{max-width:760px;margin:0 auto;font-size:16px;line-height:1.65}.rgl-public-legacy>.rgl-public-title{max-width:760px;margin:0 auto;padding:0 0 8px}.rgl-public-legacy h1,.rgl-public-legacy h2,.rgl-public-legacy h3,.rgl-public-legacy h4{color:var(--klh-css-ink);margin:1.8em 0 .5em;line-height:1.25}.rgl-public-legacy h2{font-size:28px;font-weight:700}.rgl-public-legacy h3{font-size:21px;font-weight:700}.rgl-public-legacy h4{font-size:17px;font-weight:700}.rgl-public-legacy>div>:first-child{margin-top:0}.rgl-public-legacy p{margin:0 0 1.1em}.rgl-public-legacy ul,.rgl-public-legacy ol{margin:0 0 1.1em;padding-left:1.4em}.rgl-public-legacy li{margin-bottom:.4em}.rgl-public-legacy strong{font-weight:700}.rgl-public-legacy a{color:var(--klh-css-accent);text-underline-offset:2px;text-decoration:underline}.rgl-public-legacy hr{border:none;border-top:1px solid var(--klh-css-border);margin:2em 0}.rgl-public-legacy img{max-width:100%;height:auto}.rgl-public-loading,.rgl-public-error,.rgl-public-404{min-height:100vh;color:var(--klh-css-ink);justify-content:center;align-items:center;font-size:16px;display:flex}.rgl-canvas-action-btn--active{background:var(--klh-css-accent);color:#fff}.rgl-survey-picker-overlay{z-index:2000;background:#0006;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rgl-survey-picker{background:var(--klh-css-card);border:1px solid var(--klh-css-border);border-radius:4px;flex-direction:column;width:480px;max-width:90vw;max-height:70vh;display:flex;box-shadow:0 8px 32px #0000004d}.rgl-survey-picker-header{border-bottom:1px solid var(--klh-css-border);color:var(--klh-css-ink);align-items:center;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.rgl-survey-picker-header span{flex:1}.rgl-survey-picker-search{background:var(--klh-css-bg);color:var(--klh-css-ink);border:1px solid var(--klh-css-border);border-radius:4px;margin:8px 12px;padding:5px 8px;font-size:12px}.rgl-survey-picker-list{flex:1;padding:0 12px 12px;overflow-y:auto}.rgl-survey-picker-empty{text-align:center;color:var(--klh-css-ink);padding:20px 0;font-size:12px}.rgl-survey-picker-item{border-bottom:1px solid var(--klh-css-border)}.rgl-survey-picker-item:last-child{border-bottom:none}.rgl-survey-picker-row{align-items:center;gap:8px;padding:8px 0;display:flex}.rgl-survey-picker-expand{cursor:pointer;color:var(--klh-css-ink);text-align:center;background:0 0;border:none;flex-shrink:0;width:18px;font-size:11px}.rgl-survey-picker-info{flex:1;min-width:0}.rgl-survey-picker-title{color:var(--klh-css-ink);font-size:13px;font-weight:500}.rgl-survey-picker-meta{color:var(--klh-css-ink);font-size:11px}.rgl-survey-picker-select{cursor:pointer;background:var(--klh-css-accent);color:#fff;border:none;border-radius:4px;flex-shrink:0;padding:3px 10px;font-size:11px}.rgl-survey-picker-questions{padding:0 0 8px 26px}.rgl-survey-picker-question{color:var(--klh-css-ink);align-items:baseline;gap:6px;padding:2px 0;font-size:12px;display:flex}.rgl-survey-picker-qnum{flex-shrink:0;width:18px;font-weight:600}.rgl-survey-picker-qtype{background:var(--klh-css-hover-bg);border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px}.rgl-survey-picker-opts{color:var(--klh-css-ink);padding:1px 0 0 24px;font-size:11px}.rgl-survey-qnum{text-align:right;flex-shrink:0;width:16px;font-size:11px;font-weight:600}.rgl-survey-options{padding:2px 0 4px 20px}.rgl-survey-option-row{align-items:center;gap:4px;margin:2px 0;display:flex}.rgl-survey-option-row input{background:var(--klh-css-bg);color:var(--klh-css-ink);border:1px solid var(--klh-css-border);border-radius:4px;flex:1;padding:2px 6px;font-size:11px}.rgl-survey-add-option{color:var(--klh-css-accent);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:11px}.rgl-survey-save-as{margin-top:8px;font-weight:600}.rgl-canvas-survey-toggle{gap:4px;display:flex}.rgl-canvas-survey-toggle-btn{cursor:pointer;background:var(--klh-css-bg);color:var(--klh-css-ink);border:1px solid var(--klh-css-border);border-radius:4px;flex:1;padding:6px 10px;font-size:12px;transition:background .15s}.rgl-canvas-survey-toggle-btn--active{background:var(--klh-css-accent);color:#fff;border-color:var(--klh-css-accent)}.rgl-canvas-survey-toggle-btn:disabled{cursor:default}.rgl-canvas-form-empty{text-align:center;color:var(--klh-css-ink);padding:20px;font-size:12px}.rgl-canvas-modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rgl-canvas-modal{background:var(--klh-css-bg);border:1px solid var(--klh-css-border);border-radius:4px;flex-direction:column;width:360px;max-height:70vh;display:flex}.rgl-canvas-modal-header{border-bottom:1px solid var(--klh-css-border);flex-shrink:0;align-items:center;padding:8px 12px;display:flex}.rgl-canvas-modal-title{color:var(--klh-css-ink);flex:1;font-size:13px;font-weight:600}.rgl-canvas-modal-close{cursor:pointer;color:var(--klh-css-ink);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px}.rgl-canvas-modal-close:hover{color:var(--klh-css-danger)}.rgl-canvas-tag-search{border-bottom:1px solid var(--klh-css-border);padding:8px 12px}.rgl-canvas-tag-search-input{border:1px solid var(--klh-css-border);background:var(--klh-css-bg);width:100%;color:var(--klh-css-ink);border-radius:4px;padding:4px 8px;font-size:12px}.rgl-canvas-tag-list{flex:1;min-height:100px;max-height:300px;padding:8px 12px;overflow-y:auto}.rgl-canvas-tag-item{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.rgl-canvas-tag-item input[type=checkbox]{margin:0}.rgl-canvas-tag-chip{background:var(--klh-css-hover-bg);color:var(--klh-css-ink);border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.rgl-canvas-tag-chip[data-color=blue]{color:#3b82f6;background:#2563eb22}.rgl-canvas-tag-chip[data-color=green]{color:#22c55e;background:#16a34a22}.rgl-canvas-tag-chip[data-color=orange]{color:#f97316;background:#ea580c22}.rgl-canvas-tag-chip[data-color=teal]{color:#14b8a6;background:#0d948822}.rgl-canvas-tag-chip[data-color=purple]{color:#a78bfa;background:#7c3aed22}.rgl-canvas-tag-chip[data-color=indigo]{color:#818cf8;background:#4f46e522}.rgl-canvas-tag-chip[data-color=red]{color:#ef4444;background:#dc262622}.rgl-canvas-tag-chip[data-color=gray]{color:#94a3b8;background:#64748b22}.rgl-canvas-tag-chip-remove{cursor:pointer;color:var(--klh-css-ink);opacity:.6;background:0 0;border:none;padding:0 2px;font-size:10px}.rgl-canvas-tag-chip-remove:hover{opacity:1;color:var(--klh-css-danger)}.rgl-canvas-tag-loading,.rgl-canvas-tag-empty{color:var(--klh-css-ink);opacity:.6;padding:12px 0;font-size:12px}.rgl-canvas-tag-add-row{border-top:1px solid var(--klh-css-border);gap:6px;padding:8px 12px;display:flex}.rgl-canvas-tag-add-input{border:1px solid var(--klh-css-border);background:var(--klh-css-bg);color:var(--klh-css-ink);border-radius:4px;flex:1;padding:4px 8px;font-size:12px}.rgl-canvas-tag-add-btn{cursor:pointer;background:var(--klh-css-accent);color:#fff;border:none;border-radius:4px;padding:4px 10px;font-size:11px}.rgl-canvas-tag-add-btn:disabled{opacity:.5;cursor:default}.rgl-canvas-tag-footer{border-top:1px solid var(--klh-css-border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.rgl-canvas-tag-count{color:var(--klh-css-ink);opacity:.7;font-size:11px}.rgl-canvas-tag-confirm{cursor:pointer;background:var(--klh-css-accent);color:#fff;border:none;border-radius:4px;padding:4px 14px;font-size:12px}.rgl-canvas-settings-tag-chips{flex-wrap:wrap;gap:4px;padding:0 0 8px;display:flex}.klh-col-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:24px;width:100%;height:100%;display:grid}.klh-col-grid[data-cols="1"]{grid-template-columns:1fr}.klh-col-grid[data-cols="3"]{grid-template-columns:repeat(3,1fr)}.klh-col-grid[data-cols="4"]{grid-template-columns:repeat(4,1fr)}.klh-col-grid[data-gap=sm]{gap:12px}.klh-col-grid[data-gap=lg]{gap:40px}.klh-col-cell{min-width:0;overflow:hidden}.klh-col-figure{margin:0}.klh-col-figure img{width:100%;height:auto;display:block}.klh-col-figure figcaption{padding-top:4px;font-size:12px}.klh-col-video{aspect-ratio:16/9;position:relative}.klh-col-video iframe{border:0;width:100%;height:100%}.klh-col-empty{opacity:.6;padding:8px;font-size:12px}.klh-col-richtext p{margin:0 0 10px}.klh-col-richtext h1,.klh-col-richtext h2,.klh-col-richtext h3{margin:0 0 10px;line-height:1.25}@media (width<=768px){.klh-col-grid,.klh-col-grid[data-cols]{grid-template-columns:1fr;height:auto}.klh-canvas-page{height:auto!important}.klh-canvas-page .klh-cw:not(.klh-cw--spacer){margin-bottom:14px;width:auto!important;height:auto!important;position:static!important;overflow:visible!important}.klh-canvas-page .klh-cw--spacer{display:none}}.rgl-canvas-settings-group{border-top:1px solid var(--klh-css-border);margin-top:6px;padding-top:6px}.rgl-canvas-settings-group-head{align-items:center;gap:6px}.react-grid-item:has(.rgl-drill){z-index:901}.rgl-drill-catcher{z-index:900;background:0 0;position:absolute;inset:0}.rgl-drill{z-index:901;background:var(--klh-board-surface,var(--klh-css-surface,#fff));width:min(920px,92vw);max-height:78vh;color:var(--klh-board-ink,var(--klh-css-ink,#18181b));border:1px solid var(--klh-board-border,var(--klh-css-border,#94a3b8));border-radius:var(--klh-board-radius,4px);box-shadow:var(--klh-board-shadow-md,0 2px 8px #18181b2e);font-family:var(--klh-board-font,inherit);font-size:var(--klh-board-fs-body,11px);flex-direction:column;display:flex;position:absolute;top:8%;left:50%;transform:translate(-50%)}.rgl-drill-head{border-bottom:1px solid var(--klh-board-border,var(--klh-css-border,#94a3b8));background:var(--klh-board-surface-2,transparent);align-items:center;gap:8px;padding:6px 8px;display:flex}.rgl-drill-title{min-width:0;font-size:var(--klh-board-fs-base,12px);font-weight:var(--klh-board-fw-bold,700);white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.rgl-drill-count{font-size:var(--klh-board-fs-label,9px);font-weight:var(--klh-board-fw-med,600);letter-spacing:var(--klh-board-track-label,.5px);text-transform:uppercase;color:var(--klh-board-ink-mute,#6b7280);flex:none}.rgl-drill-close{border:1px solid var(--klh-board-border,#94a3b8);color:var(--klh-board-ink,inherit);border-radius:var(--klh-board-radius,4px);font-size:var(--klh-board-fs-meta,10px);cursor:pointer;background:0 0;flex:none;padding:3px 6px;line-height:1}.rgl-drill-close:hover{background:var(--klh-board-surface-2,#0000000d)}.rgl-drill-search{font-family:inherit;font-size:var(--klh-board-fs-body,11px);color:var(--klh-board-ink,inherit);background:var(--klh-board-bg,transparent);border:1px solid var(--klh-board-border,#94a3b8);border-radius:var(--klh-board-radius,4px);margin:6px 8px 0;padding:3px 6px}.rgl-drill-body{flex:auto;padding:6px 8px 8px;overflow:auto}.rgl-drill-msg{color:var(--klh-board-ink-mute,#6b7280);padding:10px 2px}.rgl-drill-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.rgl-drill-table th{z-index:1;text-align:left;white-space:nowrap;cursor:pointer;background:var(--klh-board-surface-2,var(--klh-css-surface,#fafafa));border-bottom:1px solid var(--klh-board-border,#94a3b8);font-size:var(--klh-board-fs-label,9px);font-weight:var(--klh-board-fw-med,600);letter-spacing:var(--klh-board-track-label,.5px);text-transform:uppercase;color:var(--klh-board-ink-mute,#6b7280);padding:3px 6px;position:sticky;top:0}.rgl-drill-table th.sorted{color:var(--klh-board-accent,var(--klh-css-accent,#0ea5e9))}.rgl-drill-table td{border-bottom:1px solid var(--klh-board-border,#e5e7eb);white-space:nowrap;padding:3px 6px}.rgl-canvas-grid-row--drill,.rgl-breakdown-row--drill,.rgl-drill-row--drill{cursor:pointer}.rgl-canvas-grid-row--drill:hover,.rgl-breakdown-row--drill:hover,.rgl-drill-row--drill:hover{background:var(--klh-board-surface-2,#0000000a)}.rgl-drill[data-depth="1"]{z-index:903;margin-left:28px;top:14%}.rgl-drill[data-depth="2"]{z-index:905;margin-left:56px;top:20%}.rgl-drill[data-depth="3"]{z-index:907;margin-left:84px;top:26%}.klh-cart-tiers{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;padding:12px;display:grid}.klh-cart-tier{background:var(--klh-css-card,#fff);border:1px solid var(--klh-css-border,#94a3b8);border-radius:var(--klh-css-radius,4px);text-align:center;flex-direction:column;padding:20px 16px 16px;display:flex;position:relative}.klh-cart-tier[data-featured=true]{border-color:var(--klh-css-accent,#0f8aab);box-shadow:0 0 0 1px var(--klh-css-accent,#0f8aab)}.klh-cart-tier-badge{color:#fff;background:var(--klh-css-accent,#0f8aab);border-radius:4px;padding:3px 10px;font-size:10px;font-weight:700;position:absolute;top:-10px;right:12px}.klh-cart-tier-name{color:var(--klh-css-ink,#0f172a);margin-bottom:8px;font-size:13px;font-weight:700}.klh-cart-tier-price{color:var(--klh-css-ink,#0f172a);letter-spacing:-.5px;font-size:28px;font-weight:800}.klh-cart-tier-cur{vertical-align:super;margin-right:3px;font-size:13px;font-weight:700}.klh-cart-tier-period{color:var(--klh-css-ink,#0f172a);margin-bottom:14px;font-size:12px}.klh-cart-tier-cta{color:#fff;background:var(--klh-css-accent,#0f8aab);border-radius:var(--klh-css-radius,4px);cursor:pointer;border:none;width:100%;padding:10px;font-size:13px;font-weight:700}.klh-cart-tier-cta:disabled{background:var(--klh-css-disabled,#94a3b8);cursor:default}.klh-cart-tier-features{text-align:left;margin-top:14px}.klh-cart-tier-feature{color:var(--klh-css-ink,#0f172a);border-bottom:1px solid var(--klh-css-hover-bg,#e2e8f0);padding:5px 0;font-size:12px}.rgl-canvas-body{padding:6px 8px}.rgl-canvas-metric{gap:1px}.rgl-canvas-metric-label{letter-spacing:.4px;font-size:10px}.rgl-canvas-metric-subtitle{font-size:10px;line-height:1.2}.rgl-canvas-handle--readonly{gap:0;padding:3px 8px;line-height:1.2}.rgl-canvas-handle--readonly .rgl-canvas-handle-title{font-size:11px}.rgl-canvas-handle-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.2;display:-webkit-box;overflow:hidden}.rgl-canvas-root--dense{min-height:0}.rgl-canvas-root--dense .rgl-canvas-handle--readonly{flex-direction:row;align-items:baseline;gap:6px;padding:2px 8px}.rgl-canvas-root--dense .rgl-canvas-handle--readonly .rgl-canvas-handle-title{white-space:nowrap}.rgl-canvas-root--dense .rgl-canvas-handle-sub{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;display:block;overflow:hidden}.rgl-canvas-root--dense .rgl-canvas-widget:has(.rgl-canvas-metric){border-left-width:3px}.rgl-canvas-root--dense .rgl-canvas-widget:has(.rgl-canvas-metric) .rgl-canvas-handle--readonly{background:0 0;border-bottom:0;padding:1px 8px 0}.rgl-canvas-root--dense .rgl-canvas-metric-titlebar{letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.2}.rgl-canvas-root--dense .rgl-canvas-widget:has(.rgl-canvas-metric) .rgl-canvas-handle-title{letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.2}.rgl-canvas-root--dense .rgl-canvas-metric-titlebar{white-space:nowrap;text-overflow:ellipsis;border-bottom:0;padding:1px 8px 0;overflow:hidden}.rgl-canvas-root--dense .rgl-canvas-widget .rgl-canvas-body .rgl-canvas-metric{overflow:hidden}.rgl-canvas-root--dense .rgl-canvas-widget .rgl-canvas-body:has(>.rgl-canvas-metric){padding:0 8px 1px}.rgl-canvas-root--dense .rgl-canvas-widget .rgl-canvas-body .rgl-canvas-metric{flex-direction:row;justify-content:flex-start;align-items:center;gap:6px;height:100%}.rgl-canvas-root--dense .rgl-canvas-metric-value{white-space:nowrap;flex:none;font-size:19px;line-height:1.2}.rgl-canvas-root--dense .rgl-canvas-metric-affix{font-size:13px}.rgl-metric-delta{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:10px;font-weight:700}.rgl-metric-delta[data-dir=good]{color:var(--klh-css-ok)}.rgl-metric-delta[data-dir=bad]{color:var(--klh-css-danger)}.rgl-metric-delta[data-dir=flat]{color:var(--klh-css-ink)}.rgl-metric-spark{min-width:0;color:var(--klh-css-ink);flex:0 auto;margin-left:auto;overflow:visible}:is(.rgl-canvas-root--dense .rgl-canvas-metric:has(.rgl-metric-delta) .rgl-canvas-metric-label,.rgl-canvas-root--dense .rgl-canvas-metric:has(.rgl-metric-spark) .rgl-canvas-metric-label){display:none}.rgl-metric-spark[data-size=fill]{flex:auto;width:100%;min-width:60px}.rgl-canvas-root--dense .rgl-canvas-metric-label,.rgl-canvas-root--dense .rgl-canvas-metric-subtitle{letter-spacing:.04em;text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;margin-left:auto;font-size:9px;line-height:1.2;overflow:hidden}.rgl-banner{border-radius:var(--klh-css-radius,4px);border:1px solid var(--klh-css-border);color:var(--klh-css-ink);border-left-width:3px;flex-direction:row;align-items:center;gap:6px;height:100%;padding:3px 9px;font-size:11px;line-height:1.3;display:flex;position:relative;overflow:auto}.rgl-banner--info{background:var(--klh-css-alert-info-bg);border-left-color:var(--klh-css-accent)}.rgl-banner--warn{background:var(--klh-css-alert-warn-bg);border-left-color:var(--klh-css-warn)}.rgl-banner--danger{background:var(--klh-css-alert-danger-bg);border-left-color:var(--klh-css-danger)}.rgl-banner-icon{color:var(--klh-css-ink);padding-top:1px;display:flex}.rgl-banner-body{white-space:nowrap;flex-flow:row;align-items:baseline;gap:0 6px;min-width:0;display:flex;overflow:hidden}.rgl-banner-title{flex:none}.rgl-banner-text{text-overflow:ellipsis;flex:0 auto;overflow:hidden}.rgl-banner-title{font-weight:700}.rgl-banner-text{color:var(--klh-css-ink)}.rgl-banner-actions{gap:2px;display:flex;position:absolute;top:4px;right:4px}.rgl-funnel-body{align-items:stretch;padding:4px 5px;overflow:auto}.rgl-funnel{align-items:stretch;gap:0;width:100%;min-height:0;display:flex}.rgl-funnel-group{flex:1 1 0;align-items:center;min-width:0;display:flex}.rgl-funnel-card{background:var(--klh-css-card);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius,4px);flex-direction:column;flex:1 1 0;gap:0;min-width:0;padding:3px 8px;display:flex}.rgl-funnel-stage{font-size:var(--klh-css-font-size-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--klh-css-ink);font-weight:700}.rgl-funnel-note{font-size:var(--klh-css-font-size-xs);color:var(--klh-css-ink)}.rgl-funnel-value{font-variant-numeric:tabular-nums;color:var(--klh-css-ink);font-size:17px;font-weight:700;line-height:1.2}.rgl-funnel-delta{font-size:var(--klh-css-font-size-xs);font-weight:600}.rgl-funnel-delta--up{color:var(--klh-css-ok)}.rgl-funnel-delta--down{color:var(--klh-css-danger)}.rgl-funnel-chip{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius,4px);background:var(--klh-css-hover-bg);flex-direction:column;flex:none;align-items:center;gap:1px;margin:0 4px;padding:3px 6px;display:flex}.rgl-funnel-chip-label{letter-spacing:.06em;color:var(--klh-css-ink);font-size:9px;font-weight:700}.rgl-funnel-chip-value{font-size:var(--klh-css-font-size-sm);font-variant-numeric:tabular-nums;color:var(--klh-css-ink);font-weight:700}.rgl-funnel-state,.rgl-breakdown-state{font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);padding:12px}.rgl-funnel-state--error,.rgl-breakdown-state--error{color:var(--klh-css-danger)}.rgl-breakdown-body{align-items:stretch;padding:0;overflow:auto}.rgl-breakdown-toolbar{border-bottom:1px solid var(--klh-css-border);align-items:center;gap:8px;padding:6px 8px;display:flex}.rgl-breakdown-search{font:inherit;font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);background:var(--klh-css-card);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius,4px);flex:0 220px;padding:3px 8px}.rgl-breakdown-search:focus-visible{outline:2px solid var(--klh-css-focus-ring);outline-offset:1px}.rgl-breakdown-count{font-size:var(--klh-css-font-size-xs);font-variant-numeric:tabular-nums;color:var(--klh-css-ink)}.rgl-breakdown-table{border-collapse:collapse;width:100%;color:var(--klh-css-ink);font-size:12px}.rgl-breakdown-table th,.rgl-breakdown-table td{border-bottom:1px solid var(--klh-css-border);text-align:left;white-space:nowrap;padding:3px 10px}.rgl-breakdown-table th{z-index:1;background:var(--klh-css-hover-bg);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:700;position:sticky;top:0}.rgl-breakdown-table th.num,.rgl-breakdown-table td.num{text-align:right;font-variant-numeric:tabular-nums}.rgl-breakdown-table tbody tr:hover{background:var(--klh-css-hover-bg)}.rgl-breakdown-table th.rgl-breakdown-label,.rgl-breakdown-table td.rgl-breakdown-label{white-space:normal;overflow-wrap:anywhere;max-width:240px;overflow:hidden}.rgl-breakdown-barcell{min-width:120px;position:relative}.rgl-breakdown-barnum{z-index:1;position:relative}.rgl-breakdown-bar{background:var(--klh-css-hover-bg);border-radius:2px;height:4px;margin-top:2px;display:block;overflow:hidden}.rgl-breakdown-barfill{background:var(--klh-css-accent);border-radius:2px;height:100%;display:block}.rgl-breakdown-heat{font-weight:600}.rgl-breakdown-heat.rgl-heat-1{background:var(--klh-css-heat-1)}.rgl-breakdown-heat.rgl-heat-2{background:var(--klh-css-heat-2)}.rgl-breakdown-heat.rgl-heat-3{background:var(--klh-css-heat-3)}.rgl-breakdown-heat.rgl-heat-4{background:var(--klh-css-heat-4)}.rgl-ts-controls{border-bottom:1px solid var(--klh-css-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:3px 8px;display:flex}.rgl-ts-chips{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.rgl-ts-chip{font:inherit;color:var(--klh-css-ink);background:var(--klh-css-card);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius,4px);cursor:pointer;align-items:center;gap:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.rgl-ts-chip:hover{background:var(--klh-css-hover-bg)}.rgl-ts-chip:focus-visible{outline:2px solid var(--klh-css-focus-ring);outline-offset:1px}.rgl-ts-chip[data-off]{color:var(--klh-css-disabled)}.rgl-ts-swatch{background:var(--rgl-ts-color,var(--klh-css-series-1));border-radius:2px;flex-shrink:0;width:8px;height:8px}.rgl-ts-chip[data-off] .rgl-ts-swatch{background:var(--klh-css-disabled)}.rgl-ts-dropped{color:var(--klh-css-ink);font-size:10px}.rgl-ts-grain{flex-shrink:0;margin-left:auto;display:flex}.rgl-ts-grain-btn{font:inherit;color:var(--klh-css-ink);background:var(--klh-css-card);border:1px solid var(--klh-css-border);cursor:pointer;padding:1px 8px;font-size:10px;font-weight:600}.rgl-ts-grain-btn:first-child{border-radius:var(--klh-css-radius,4px) 0 0 var(--klh-css-radius,4px)}.rgl-ts-grain-btn:last-child{border-radius:0 var(--klh-css-radius,4px) var(--klh-css-radius,4px) 0;border-left:0}.rgl-ts-grain-btn:hover{background:var(--klh-css-hover-bg)}.rgl-ts-grain-btn:focus-visible{outline:2px solid var(--klh-css-focus-ring);outline-offset:1px}.rgl-ts-grain-btn[data-active]{background:var(--klh-css-hover-bg);color:var(--klh-css-accent)}.rgl-daterange{align-items:center;height:100%;display:flex;position:relative}.rgl-daterange--right{justify-content:flex-end}.rgl-daterange-pill{background:var(--klh-css-card);color:var(--klh-css-ink);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius,4px);cursor:pointer;font:inherit;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 28px 6px 12px;display:flex;position:relative}.rgl-daterange-pill:hover{background:var(--klh-css-hover-bg)}.rgl-daterange-pill:focus-visible{outline:2px solid var(--klh-css-focus-ring);outline-offset:1px}.rgl-daterange-preset{letter-spacing:.06em;font-size:9px;font-weight:700}.rgl-daterange-dates{font-size:var(--klh-css-font-size-sm);font-variant-numeric:tabular-nums;font-weight:700}.rgl-daterange-caret{font-size:10px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.react-grid-item:has(.rgl-daterange-menu){z-index:30}.rgl-daterange-menu{z-index:20;background:var(--klh-css-card);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius,4px);min-width:180px;box-shadow:var(--klh-css-shadow-sm);max-height:60vh;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto}.rgl-canvas-chart-plot .nsewdrag,.rgl-canvas-chart-plot .drag{cursor:default}.rgl-daterange-group{font-size:var(--klh-css-font-size-xs,10px);text-transform:uppercase;letter-spacing:.04em;color:var(--klh-css-ink);border-top:1px solid var(--klh-css-border);margin-top:4px;padding:6px 10px 2px;font-weight:700}.rgl-daterange-group:first-child{border-top:0;margin-top:0}.rgl-daterange-option{text-align:left;width:100%;font:inherit;font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);border-radius:var(--klh-css-radius,4px);cursor:pointer;background:0 0;border:0;padding:5px 10px;display:block}.rgl-daterange-option:hover{background:var(--klh-css-hover-bg)}.rgl-daterange-option--active{background:var(--klh-css-hover-bg);font-weight:700}.rgl-daterange-custom{border-top:1px solid var(--klh-css-border);flex-direction:column;gap:4px;padding:6px 10px;display:flex}.rgl-daterange-custom label{font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);justify-content:space-between;align-items:center;gap:6px;display:flex}.rgl-daterange-custom input{font:inherit;font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius,4px);background:0 0;padding:2px 4px}.rgl-daterange-apply{font:inherit;font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius,4px);cursor:pointer;background:0 0;padding:3px 10px}.rgl-daterange-apply:hover:not(:disabled){background:var(--klh-css-hover-bg)}.rgl-daterange-apply:disabled{color:var(--klh-css-disabled);cursor:default}@media (width<=900px){.rgl-funnel{flex-direction:column}.rgl-funnel-group{flex-direction:column;align-items:stretch}.rgl-funnel-chip{margin:4px auto}}.rgl-listcard-body{align-items:stretch;padding:0;overflow:auto}.rgl-listcard{flex-direction:column;display:flex}.rgl-listcard-badge-row{justify-content:flex-end;padding:4px 10px 0;display:flex}.rgl-listcard-badge{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);color:var(--klh-css-ink);background:var(--klh-css-card);padding:1px 6px;font-size:11px;font-weight:600}.rgl-listcard-badge--alert{background:var(--klh-css-alert-danger-bg);border-color:var(--klh-css-danger)}.rgl-listcard-badge--ok{background:var(--klh-css-alert-info-bg);border-color:var(--klh-css-ok)}.rgl-listcard-row{border-bottom:1px solid var(--klh-css-border);align-items:flex-start;gap:8px;padding:6px 10px;display:flex}.rgl-listcard-row:last-child{border-bottom:none}.rgl-listcard-lead{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);min-width:18px;height:18px;color:var(--klh-css-ink);background:var(--klh-css-card);flex:none;justify-content:center;align-items:center;margin-top:1px;padding:0 3px;font-size:11px;font-weight:700;display:flex}.rgl-listcard-lead--red{background:var(--klh-css-alert-danger-bg);border-color:var(--klh-css-danger)}.rgl-listcard-lead--orange{background:var(--klh-css-alert-warn-bg);border-color:var(--klh-css-warn)}.rgl-listcard-lead--green{background:var(--klh-css-alert-info-bg);border-color:var(--klh-css-ok)}.rgl-listcard-lead--blue{background:var(--klh-css-alert-info-bg);border-color:var(--klh-css-accent)}.rgl-listcard-text{flex:auto;min-width:0}.rgl-listcard-title{font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);font-weight:600;line-height:1.3}.rgl-listcard-sub{color:var(--klh-css-ink);font-size:11px;line-height:1.35}.rgl-listcard-more{color:var(--klh-css-ink);padding:4px 10px;font-size:11px}.rgl-listcard-state{font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);padding:12px}.rgl-listcard-state--error{color:var(--klh-css-danger)}.rgl-actionlist-row{align-items:center}.rgl-actionlist-actions{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.rgl-actionlist-btn{font:inherit;border:1px solid var(--klh-css-border);background:var(--klh-css-surface);color:var(--klh-css-ink);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px;line-height:1}.rgl-actionlist-btn:hover:not(:disabled){background:var(--klh-css-hover-bg)}.rgl-actionlist-btn:disabled{color:var(--klh-css-disabled);cursor:default}.rgl-actionlist-btn--ok{border-color:var(--klh-css-success)}.rgl-actionlist-btn--alert{border-color:var(--klh-css-danger)}.rgl-actionlist-error{color:var(--klh-css-danger);margin-top:2px;font-size:11px}.rgl-canvas-root--dense .rgl-actionlist-btn{padding:3px 6px;font-size:10px}.rgl-greeting-widget{box-shadow:none;background:0 0;border:none}.rgl-greeting-body{justify-content:center;align-items:flex-start;gap:2px;padding:0 2px}.rgl-greeting-line{color:var(--klh-css-ink);font-size:20px;font-weight:700;line-height:1.2}.rgl-greeting-sub{letter-spacing:.04em;color:var(--klh-css-ink);font-size:11px;font-weight:600}.rgl-greeting-sub--error{color:var(--klh-css-danger)}.rgl-canvas-root--dense .rgl-listcard-row{gap:6px;padding:3px 8px}.rgl-canvas-root--dense .rgl-listcard-lead{min-width:15px;height:15px;font-size:10px}.rgl-canvas-root--dense .rgl-listcard-title{font-size:11px;line-height:1.25}.rgl-canvas-root--dense .rgl-listcard-sub{font-size:10px;line-height:1.25}.rgl-canvas-root--dense .rgl-listcard-badge-row{padding:3px 8px 0}.rgl-canvas-root--dense .rgl-listcard-badge{padding:0 5px;font-size:10px}.rgl-canvas-root--dense .rgl-listcard-more{padding:3px 8px;font-size:10px}.rgl-canvas-root--dense .rgl-listcard-state{padding:8px;font-size:11px}.rgl-canvas-root--dense .rgl-greeting-line{font-size:17px;line-height:1.2}.rgl-canvas-root--dense .rgl-greeting-sub{font-size:10px;line-height:1.2}.rgl-canvas-root--board{--klh-board-font:"SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--klh-board-fs-label:9px;--klh-board-fs-meta:10px;--klh-board-fs-body:11px;--klh-board-fs-base:12px;--klh-board-fs-value:14px;--klh-board-fw-normal:400;--klh-board-fw-med:600;--klh-board-fw-bold:700;--klh-board-track-label:.5px;--klh-board-lh-value:1.1;--klh-board-lh-label:1.2;--klh-board-lh-body:1.4;--klh-board-pad-y:2px;--klh-board-pad-x:5px;--klh-board-radius:1px;--klh-board-gap:6px;--klh-board-bg:#f7f7f8;--klh-board-surface:#fff;--klh-board-surface-2:#fafafa;--klh-board-border:#d4d4d8;--klh-board-ink:#18181b;--klh-board-ink-mute:#6b7280;--klh-board-shadow-sm:0 1px 2px #18181b0f;--klh-board-shadow-md:0 2px 8px #18181b14;--klh-board-up:#16a34a;--klh-board-down:#dc2626;--klh-board-flat:var(--klh-board-ink-mute);--klh-board-accent:#4ecdc4;--klh-board-accent-ink:#0b3b38}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .rgl-canvas-root--board{--klh-board-bg:#0d0d0d;--klh-board-surface:#1a1a1a;--klh-board-surface-2:#111;--klh-board-border:#555;--klh-board-ink:#e4e4e7;--klh-board-ink-mute:#9ca3af;--klh-board-shadow-sm:0 1px 2px #00000080;--klh-board-shadow-md:0 2px 8px #0009;--klh-board-up:#6bcb77;--klh-board-down:#ff6b6b}}:root[data-theme=dark] .rgl-canvas-root--board{--klh-board-bg:#0d0d0d;--klh-board-surface:#1a1a1a;--klh-board-surface-2:#111;--klh-board-border:#555;--klh-board-ink:#e4e4e7;--klh-board-ink-mute:#9ca3af;--klh-board-shadow-sm:0 1px 2px #00000080;--klh-board-shadow-md:0 2px 8px #0009;--klh-board-up:#6bcb77;--klh-board-down:#ff6b6b}:root[data-theme=light] .rgl-canvas-root--board{--klh-board-bg:#f7f7f8;--klh-board-surface:#fff;--klh-board-surface-2:#fafafa;--klh-board-border:#d4d4d8;--klh-board-ink:#18181b;--klh-board-ink-mute:#6b7280;--klh-board-shadow-sm:0 1px 2px #18181b0f;--klh-board-shadow-md:0 2px 8px #18181b14;--klh-board-up:#16a34a;--klh-board-down:#dc2626}.rgl-canvas-root--board{background:var(--klh-board-bg);font-family:var(--klh-board-font);font-size:var(--klh-board-fs-base);line-height:var(--klh-board-lh-body);color:var(--klh-board-ink)}.rgl-canvas-root--board .rgl-canvas-widget{background:var(--klh-board-surface);border:1px solid var(--klh-board-border);border-radius:var(--klh-board-radius);box-shadow:var(--klh-board-shadow-sm);color:var(--klh-board-ink)}.rgl-canvas-root--board .rgl-canvas-handle--readonly{background:var(--klh-board-surface-2);border-bottom:1px solid var(--klh-board-border);color:var(--klh-board-ink)}.rgl-canvas-root--board .rgl-canvas-handle--readonly .rgl-canvas-handle-title{font-size:var(--klh-board-fs-body);font-weight:var(--klh-board-fw-med);color:var(--klh-board-ink);letter-spacing:0;text-transform:none}.rgl-canvas-root--board .rgl-canvas-handle-sub{font-size:var(--klh-board-fs-meta);font-weight:var(--klh-board-fw-normal);color:var(--klh-board-ink-mute)}.rgl-canvas-root--board .rgl-canvas-widget:has(.rgl-canvas-metric){background:var(--klh-board-surface)}.rgl-canvas-root--board .rgl-canvas-widget .rgl-canvas-body:has(>.rgl-canvas-metric){padding:var(--klh-board-pad-y) var(--klh-board-pad-x)}.rgl-canvas-root--board .rgl-canvas-widget .rgl-canvas-body .rgl-canvas-metric{flex-direction:column;justify-content:center;align-items:stretch;gap:0;height:100%}.rgl-canvas-root--board .rgl-canvas-metric-label,.rgl-canvas-root--board .rgl-canvas-metric-subtitle{text-align:left;font-size:var(--klh-board-fs-label);font-weight:var(--klh-board-fw-med);line-height:var(--klh-board-lh-label);letter-spacing:var(--klh-board-track-label);text-transform:uppercase;color:var(--klh-board-ink-mute);white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;order:-1;margin-left:0;display:-webkit-box;overflow:hidden}.rgl-canvas-root--board .rgl-canvas-metric:has(.rgl-metric-delta) .rgl-canvas-metric-label{text-align:left;font-size:var(--klh-board-fs-label);font-weight:var(--klh-board-fw-med);line-height:var(--klh-board-lh-label);letter-spacing:var(--klh-board-track-label);text-transform:uppercase;color:var(--klh-board-ink-mute);white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;order:-1;margin-left:0;display:-webkit-box;overflow:hidden}.rgl-canvas-root--board .rgl-canvas-metric:has(.rgl-metric-spark) .rgl-canvas-metric-label{text-align:left;font-size:var(--klh-board-fs-label);font-weight:var(--klh-board-fw-med);line-height:var(--klh-board-lh-label);letter-spacing:var(--klh-board-track-label);text-transform:uppercase;color:var(--klh-board-ink-mute);white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;order:-1;margin-left:0;display:-webkit-box;overflow:hidden}.rgl-canvas-root--board .rgl-canvas-metric-value{font-size:var(--klh-board-fs-value);font-weight:var(--klh-board-fw-bold);line-height:var(--klh-board-lh-value);color:var(--klh-board-ink);white-space:nowrap;flex:none}.rgl-canvas-root--board .rgl-canvas-metric-affix{font-size:var(--klh-board-fs-meta);font-weight:var(--klh-board-fw-med);color:var(--klh-board-ink-mute)}.rgl-canvas-root--board .rgl-metric-delta{font-size:var(--klh-board-fs-meta);font-weight:var(--klh-board-fw-med);margin-left:4px}.rgl-canvas-root--board .rgl-metric-delta[data-dir=good]{color:var(--klh-board-up)}.rgl-canvas-root--board .rgl-metric-delta[data-dir=bad]{color:var(--klh-board-down)}.rgl-canvas-root--board .rgl-metric-delta[data-dir=flat]{color:var(--klh-board-flat)}.rgl-canvas-root--board .rgl-metric-spark{color:var(--klh-board-accent);margin-left:auto}.rgl-canvas-root--board~.rgl-section-tabs,.rgl-section-tabs--board{border-bottom:1px solid var(--klh-board-border);gap:2px}.rgl-section-tabs--board .rgl-section-tab-btn{font-family:var(--klh-board-font);font-size:var(--klh-board-fs-body);font-weight:var(--klh-board-fw-med);letter-spacing:var(--klh-board-track-label);text-transform:uppercase;color:var(--klh-board-ink-mute);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:6px 10px}.rgl-section-tabs--board .rgl-section-tab-btn:hover{color:var(--klh-board-ink);background:var(--klh-board-surface-2)}.rgl-section-tabs--board .rgl-section-tab[data-active=true] .rgl-section-tab-btn{color:var(--klh-board-accent);border-bottom-color:var(--klh-board-accent)}
