.klh-page:has(.rgl-canvas-page--paneled){height:100%;overflow:hidden}.rgl-canvas-page--paneled{flex-direction:row;height:100%;display:flex;overflow:hidden}.rgl-canvas-page--paneled>.rgl-canvas-scroll{flex:1;overflow-y:auto}.rgl-panel-header{padding:var(--klh-css-cell-pad);border-bottom:1px solid var(--klh-css-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.rgl-panel-header-title{font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);font-weight:700}.rgl-panel-collapse{color:var(--klh-css-ink);cursor:pointer;font-size:var(--klh-css-font-size-xs);border-radius:var(--klh-css-radius);background:0 0;border:none;padding:1px 4px;font-weight:600}.rgl-panel-collapse:hover{background:var(--klh-css-hover-bg)}.rgl-panel-toggle{border:none;border-right:1px solid var(--klh-css-border);background:var(--klh-css-card);width:24px;min-width:24px;height:100%;color:var(--klh-css-ink);cursor:pointer;font-size:var(--klh-css-font-size-xs);justify-content:center;align-items:center;font-weight:600;display:flex}.rgl-panel-toggle:hover{background:var(--klh-css-hover-bg)}.rgl-panel{background:var(--klh-css-card);border-right:1px solid var(--klh-css-border);width:160px;min-width:160px;max-width:400px;height:100%;font-family:var(--klh-css-font);font-size:var(--klh-css-font-size-sm);flex-direction:column;display:flex;position:relative;overflow:hidden auto}.rgl-panel-resize{cursor:ew-resize;z-index:10;background:0 0;width:4px;height:100%;transition:background .15s;position:absolute;top:0;right:0}.rgl-panel-resize:hover,.rgl-panel-resize.dragging{background:var(--klh-css-accent)}.rgl-panel-section{border-bottom:1px solid var(--klh-css-border)}.rgl-panel-section-header{width:100%;padding:var(--klh-css-cell-pad);color:var(--klh-css-ink);font-size:var(--klh-css-font-size-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:4px;font-weight:600;display:flex}.rgl-panel-section-header:hover{background:var(--klh-css-hover-bg)}.rgl-panel-section-arrow{font-size:var(--klh-css-font-size-xs);width:10px}.rgl-panel-section-body{padding:4px 10px 10px}.rgl-panel-btn{padding:var(--klh-css-cell-pad);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);background:var(--klh-css-card);color:var(--klh-css-ink);font-size:var(--klh-css-font-size-sm);font-family:var(--klh-css-font);cursor:pointer}.rgl-panel-btn:hover{background:var(--klh-css-hover-bg)}.rgl-panel-btn:disabled{color:var(--klh-css-disabled);cursor:default}.rgl-panel-btn--primary{background:var(--klh-css-accent);color:#fff;border-color:var(--klh-css-accent)}.rgl-panel-btn--primary:hover{background:var(--klh-css-accent);color:#fff}.rgl-panel-btn--sm{font-size:var(--klh-css-font-size-xs);padding:2px 6px}.rgl-panel-btn--full{width:100%;margin-top:6px}.rgl-panel-page-actions{gap:4px;margin-bottom:6px;display:flex}.rgl-panel-page-list{flex-direction:column;gap:1px;margin-top:6px;display:flex}.rgl-panel-page-item{padding:var(--klh-css-cell-pad);border-radius:var(--klh-css-radius);color:var(--klh-css-ink);font-size:var(--klh-css-font-size-sm);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.rgl-panel-page-item:hover{background:var(--klh-css-hover-bg)}.rgl-panel-page-item[data-active=true]{background:var(--klh-css-hover-bg);font-weight:600}.rgl-panel-page-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rgl-panel-active-page{flex-direction:column;gap:4px;padding:4px 0;display:flex}.rgl-panel-page-title{width:100%;padding:var(--klh-css-cell-pad);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);background:var(--klh-css-bg);color:var(--klh-css-ink);font-weight:600;font-size:var(--klh-css-font-size-sm);font-family:var(--klh-css-font)}.rgl-panel-page-meta{align-items:center;gap:6px;display:flex}.rgl-panel-page-btns{flex-wrap:wrap;gap:2px;display:flex}.rgl-panel-meta-text{font-size:var(--klh-css-font-size-xs);color:var(--klh-css-ink)}.rgl-panel-badge{border-radius:var(--klh-css-radius);font-size:var(--klh-css-font-size-label);text-transform:uppercase;color:#fff;padding:1px 6px;font-weight:600;display:inline-block}.rgl-panel-badge--draft{background:var(--klh-css-accent)}.rgl-panel-badge--pub{background:var(--klh-css-badge-ok)}.rgl-panel-badge--sched{background:var(--klh-css-badge-warn)}.rgl-panel-input{width:100%;padding:var(--klh-css-cell-pad);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);background:var(--klh-css-bg);color:var(--klh-css-ink);font-size:var(--klh-css-font-size-sm);font-family:var(--klh-css-font)}.rgl-panel-inline-form{gap:3px;margin-top:4px;display:flex}.rgl-panel-inline-form .rgl-panel-input{flex:1}.rgl-panel-toggle-row{font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);justify-content:space-between;align-items:center;padding:3px 0;display:flex}.rgl-panel-toggle-row select{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);background:var(--klh-css-bg);color:var(--klh-css-ink);font-size:var(--klh-css-font-size-sm);padding:2px 6px}.rgl-panel-widget-grid{flex-direction:column;gap:3px;display:flex}.rgl-panel-widget-card{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);color:var(--klh-css-ink);cursor:pointer;text-align:left;background:0 0;flex-direction:column;gap:0;padding:2px 6px;display:flex}.rgl-panel-widget-card:hover{background:var(--klh-css-hover-bg);border-color:var(--klh-css-accent)}.rgl-panel-widget-label{font-size:11px;font-weight:600}.rgl-panel-widget-desc{font-size:9px}.rgl-panel-loading,.rgl-panel-empty{font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);padding:6px 0}.rgl-panel-error{font-size:var(--klh-css-font-size-xs);color:var(--klh-css-danger);padding:3px 0}.rgl-lib-overlay{background:var(--klh-css-overlay);z-index:100;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rgl-lib-modal{background:var(--klh-css-card);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);flex-direction:column;width:90%;max-width:720px;max-height:80vh;display:flex;overflow:hidden}.rgl-lib-header{padding:var(--klh-css-card-pad);border-bottom:1px solid var(--klh-css-border);align-items:center;gap:8px;display:flex}.rgl-lib-title{font-size:var(--klh-css-font-size-lg);color:var(--klh-css-ink);font-weight:700}.rgl-lib-count{font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink)}.rgl-lib-spacer{flex:1}.rgl-lib-close{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);width:24px;height:24px;color:var(--klh-css-ink);cursor:pointer;font-size:var(--klh-css-font-size-sm);background:0 0;font-weight:700}.rgl-lib-close:hover{background:var(--klh-css-hover-bg)}.rgl-lib-filters{border-bottom:1px solid var(--klh-css-border);padding:8px 12px}.rgl-lib-search{width:100%;padding:var(--klh-css-cell-pad);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);background:var(--klh-css-bg);color:var(--klh-css-ink);font-size:var(--klh-css-font-size-sm);margin-bottom:6px}.rgl-lib-cats{flex-wrap:wrap;gap:3px;display:flex}.rgl-lib-cat-btn{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);color:var(--klh-css-ink);font-size:var(--klh-css-font-size-xs);cursor:pointer;background:0 0;padding:2px 8px}.rgl-lib-cat-btn:hover{background:var(--klh-css-hover-bg)}.rgl-lib-cat-btn.active{background:var(--klh-css-accent);color:#fff;border-color:var(--klh-css-accent)}.rgl-lib-list{flex:1;padding:6px 12px;overflow-y:auto}.rgl-lib-card{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);margin-bottom:4px;overflow:hidden}.rgl-lib-card[data-expanded=true]{border-color:var(--klh-css-accent)}.rgl-lib-card-header{width:100%;padding:var(--klh-css-card-pad);color:var(--klh-css-ink);cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;gap:2px;display:flex}.rgl-lib-card-header:hover{background:var(--klh-css-hover-bg)}.rgl-lib-card-title-row{align-items:baseline;gap:8px;display:flex}.rgl-lib-card-title{font-size:var(--klh-css-font-size);flex:1;font-weight:600}.rgl-lib-card-key{font-size:var(--klh-css-font-size-xs);font-family:var(--klh-css-font-mono)}.rgl-lib-card-meta{font-size:var(--klh-css-font-size-xs);gap:8px;display:flex}.rgl-lib-card-cat{font-weight:500}.rgl-lib-card-body{padding:0 10px 10px}.rgl-lib-card-desc{font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);margin:0 0 6px}.rgl-lib-card-notes{font-size:var(--klh-css-font-size-xs);color:var(--klh-css-ink);margin:0 0 6px}.rgl-lib-card-sql-label{font-size:var(--klh-css-font-size-xs);color:var(--klh-css-ink);margin-bottom:3px;font-weight:600}.rgl-lib-card-sql-code{background:var(--klh-css-bg);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);font-size:var(--klh-css-font-size-xs);font-family:var(--klh-css-font-mono);white-space:pre-wrap;word-break:break-all;max-height:160px;color:var(--klh-css-ink);margin:0;padding:6px;overflow-y:auto}.rgl-lib-card-params{margin-bottom:6px}.rgl-lib-card-actions{flex-wrap:wrap;align-items:center;gap:3px;margin-bottom:4px;display:flex}.rgl-lib-card-actions-label{font-size:var(--klh-css-font-size-xs);margin-right:3px;font-weight:600}.rgl-lib-card-add-btn{border:1px solid var(--klh-css-accent);border-radius:var(--klh-css-radius);color:var(--klh-css-accent);font-size:var(--klh-css-font-size-xs);cursor:pointer;background:0 0;padding:2px 8px}.rgl-lib-card-add-btn:hover{background:var(--klh-css-accent);color:#fff}.rgl-lib-card-crud{gap:4px;display:flex}.rgl-lib-card-edit-btn,.rgl-lib-card-del-btn{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);color:var(--klh-css-ink);font-size:var(--klh-css-font-size-xs);cursor:pointer;background:0 0;padding:2px 6px}.rgl-lib-card-edit-btn:hover{background:var(--klh-css-hover-bg)}.rgl-lib-card-del-btn:hover{background:var(--klh-css-danger);color:#fff;border-color:var(--klh-css-danger)}.rgl-lib-editor{padding:12px}.rgl-lib-editor-title{font-size:var(--klh-css-font-size-lg);color:var(--klh-css-ink);margin-bottom:10px;font-weight:700}.rgl-lib-editor-row{font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);align-items:flex-start;gap:6px;margin-bottom:6px;display:flex}.rgl-lib-editor-row>span{flex-shrink:0;width:70px;padding-top:3px;font-weight:500}.rgl-lib-editor-row>input,.rgl-lib-editor-row>textarea,.rgl-lib-editor-row>select{padding:var(--klh-css-cell-pad);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);background:var(--klh-css-bg);color:var(--klh-css-ink);font-size:var(--klh-css-font-size-sm);flex:1}.rgl-lib-editor-row--full{flex-direction:column}.rgl-lib-editor-row--full>span{width:auto}.rgl-lib-editor-sql{font-family:var(--klh-css-font-mono);font-size:var(--klh-css-font-size-xs)}.rgl-lib-editor-btns{justify-content:flex-end;gap:6px;margin-top:10px;display:flex}.rgl-lib-cats-divider{width:8px}.rgl-page-browser-item{width:100%;padding:var(--klh-css-card-pad);border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);color:var(--klh-css-ink);cursor:pointer;font-size:var(--klh-css-font-size-sm);text-align:left;background:0 0;align-items:center;gap:8px;margin-bottom:4px;display:flex}.rgl-page-browser--wide{width:94vw;max-width:1150px;height:86vh;max-height:86vh}.rgl-page-browser-body{flex:1;min-height:0;display:flex;overflow:hidden}.rgl-page-browser-list{border-right:1px solid var(--klh-css-border);flex-shrink:0;width:400px;min-width:360px;padding:6px;overflow-y:auto}.rgl-page-browser-item{border-radius:var(--klh-css-radius);width:100%;color:var(--klh-css-ink);cursor:pointer;font-size:var(--klh-css-font-size-sm);text-align:left;background:0 0;border:1px solid #0000;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:2px;padding:7px 8px;display:flex}.rgl-page-browser-item:hover{background:var(--klh-css-hover-bg)}.rgl-page-browser-item--active{border-color:var(--klh-css-accent)}.rgl-page-browser-item--preview{background:var(--klh-css-hover-bg);border-color:var(--klh-css-border)}.rgl-page-browser-name{text-overflow:ellipsis;white-space:nowrap;flex:100%;font-weight:600;overflow:hidden}.rgl-page-browser-date{font-size:var(--klh-css-font-size-xs);color:var(--klh-css-ink);white-space:nowrap}.rgl-page-browser-del{border-radius:var(--klh-css-radius);width:22px;height:22px;color:var(--klh-css-ink);cursor:pointer;font-size:var(--klh-css-font-size-sm);opacity:0;pointer-events:none;background:0 0;border:1px solid #0000;flex-shrink:0;margin-left:auto}.rgl-page-browser-item:hover .rgl-page-browser-del{opacity:.55;pointer-events:auto}.rgl-page-browser-del:hover{opacity:1;background:var(--klh-css-danger);color:#fff;border-color:var(--klh-css-danger);background:var(--klh-css-danger);border-color:var(--klh-css-danger)}.rgl-page-browser-sort{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);background:var(--klh-css-bg);color:var(--klh-css-ink);font-size:var(--klh-css-font-size-xs);padding:2px 6px}.rgl-page-browser-undo{border-bottom:1px solid var(--klh-css-border);background:var(--klh-css-alert-warn-bg,#fff7ed);font-size:var(--klh-css-font-size-sm);color:var(--klh-css-ink);align-items:center;gap:10px;padding:8px 12px;display:flex}.rgl-page-browser-undo-btn{border:1px solid var(--klh-css-accent);border-radius:var(--klh-css-radius);background:var(--klh-css-accent);color:#fff;cursor:pointer;font-weight:600;font-size:var(--klh-css-font-size-sm);padding:3px 14px}.rgl-page-browser-undo-btn:hover{opacity:.9}.rgl-page-browser-undo-kbd{font-size:var(--klh-css-font-size-xs);color:var(--klh-css-ink);opacity:.6;margin-left:auto}.rgl-page-browser-preview{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.rgl-page-browser-preview-empty{height:100%;color:var(--klh-css-ink);font-size:var(--klh-css-font-size-sm);justify-content:center;align-items:center;display:flex}.rgl-page-browser-preview-header{align-items:center;gap:8px;display:flex}.rgl-page-browser-preview-title{font-size:var(--klh-css-font-size-lg);color:var(--klh-css-ink);flex:1;font-weight:700}.rgl-page-browser-preview-meta{font-size:var(--klh-css-font-size-xs);color:var(--klh-css-ink);gap:12px;display:flex}.rgl-page-browser-preview-outer{border:1px solid var(--klh-css-border);border-radius:var(--klh-css-radius);background:var(--klh-css-bg);flex-shrink:0;position:relative;overflow:hidden}.rgl-page-browser-preview-live{pointer-events:none;position:relative}
