.ot-tree-panel{background:var(--surface-0);flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.ot-tree-panel__header{border-bottom:1px solid var(--surface-border);background:linear-gradient(180deg,var(--surface-50,#f8fafc)0%,var(--surface-0)100%);flex-shrink:0;align-items:center;gap:.625rem;padding:.875rem 1rem;display:flex}.ot-tree-panel__icon{width:32px;height:32px;color:var(--primary-color);background:#3b82f61f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ot-tree-panel__title{letter-spacing:.2px;color:var(--text-color);flex:1;min-width:0;margin:0;font-size:1rem;font-weight:700;line-height:1.3}.ot-tree-panel__count{min-width:28px;height:22px;color:var(--primary-color);font-variant-numeric:tabular-nums;background:#3b82f61f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.ot-tree-panel__body{flex:1;min-height:0;padding:.5rem .5rem .75rem;overflow:hidden auto}.ot-tree-panel__body::-webkit-scrollbar{width:6px}.ot-tree-panel__body::-webkit-scrollbar-thumb{background:var(--surface-300);border-radius:3px}.ot-tree-panel__body::-webkit-scrollbar-thumb:hover{background:var(--surface-400)}.ot-tree.p-tree{background:0 0!important;border:none!important;padding:0!important}.ot-tree .p-tree-container{gap:2px!important}.ot-tree .p-treenode-content{border-radius:8px!important;padding:.375rem .5rem!important;transition:background-color .15s!important}.ot-tree .p-treenode-content:hover{background:var(--surface-100)!important}.ot-tree .p-treenode-content.p-highlight{position:relative;color:var(--primary-color)!important;background:#3b82f61f!important}.ot-tree .p-treenode-content.p-highlight:before{content:"";background:var(--primary-color);border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.ot-tree .p-treenode-content:focus{box-shadow:none!important;outline:none!important}.ot-tree .p-treenode-content .p-tree-toggler{width:24px!important;height:24px!important;color:var(--text-color-secondary)!important;margin-right:.25rem!important}.ot-tree .p-treenode-content .p-tree-toggler:hover{background:var(--surface-200)!important;color:var(--text-color)!important}.ot-tree .p-treenode-label{flex:1;min-width:0}.ot-node{justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-width:0;display:flex}.ot-node__label{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.875rem;font-weight:600;overflow:hidden}.p-treenode-content.p-highlight .ot-node__label{color:var(--primary-color)}.ot-node__meta{flex-shrink:0;align-items:center;gap:.375rem;display:inline-flex}.ot-node__user{background:var(--surface-200);height:22px;color:var(--text-color);letter-spacing:.2px;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;justify-content:center;align-items:center;max-width:80px;padding:0 .5rem;font-size:.75rem;font-weight:600;display:inline-flex;overflow:hidden}.ot-node__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 2px #ffffffb3}.ot-node__status{text-transform:uppercase;letter-spacing:.4px;color:#fff;white-space:nowrap;border-radius:999px;align-items:center;height:22px;padding:0 .625rem;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:inset 0 -1px #0000001f}.ot-node__exceptions{background:var(--red-500,#ef4444);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 .4375rem;font-size:.6875rem;font-weight:700;display:inline-flex;box-shadow:0 1px 3px #ef444466}.ot-tree-panel__empty{text-align:center;color:var(--text-color-secondary);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:3rem 1rem;font-size:.875rem;font-weight:500;display:flex}
.ebr-record-dialog.p-dialog{width:96vw;max-width:96vw;height:94vh!important;max-height:94vh!important}.ebr-record-dialog .p-dialog-header-icon,.ebr-record-dialog .p-dialog-header-icon:enabled:hover{color:inherit}.ebr-record-dialog .p-dialog-content{flex-direction:column;padding:0;display:flex;overflow:hidden}.ebr-record-dialog .p-dialog-footer{padding:.6rem 1.25rem}
.grid-designer-root.gd-tabshell{flex-direction:column}.grid-designer-root.gd-tabshell .gd-tabstrip{background:var(--gd-panel);border-bottom:1px solid var(--gd-line);flex:none;align-items:center;gap:.5rem;min-height:40px;padding:.3rem .6rem;display:flex}.grid-designer-root.gd-tabshell .gd-tabstrip__tabs{scrollbar-width:thin;flex:0 auto;align-items:center;gap:.25rem;min-width:0;display:flex;overflow:auto hidden}.grid-designer-root.gd-tabshell .gd-tab{min-width:0;max-width:240px;color:var(--gd-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;border-bottom-width:2px;border-radius:6px 6px 0 0;flex:0 auto;align-items:center;gap:.4rem;padding:.25rem .3rem .25rem .65rem;font-size:.85rem;font-weight:600;line-height:1.3;display:inline-flex}.grid-designer-root.gd-tabshell .gd-tab:hover{background:var(--gd-line-soft);color:var(--gd-ink)}.grid-designer-root.gd-tabshell .gd-tab:focus-visible{outline:2px solid var(--gd-blue);outline-offset:-2px}.grid-designer-root.gd-tabshell .gd-tab--apppage,.gd-tp--apppage,.gd-tp-kind--apppage{--gd-kind-accent:var(--primary-color,#2f6df6)}.grid-designer-root.gd-tabshell .gd-tab--step,.gd-tp--step,.gd-tp-kind--step{--gd-kind-accent:var(--indigo-500,#6366f1)}.grid-designer-root.gd-tabshell .gd-tab--property,.gd-tp--property,.gd-tp-kind--property{--gd-kind-accent:var(--purple-500,#a855f7)}.grid-designer-root.gd-tabshell .gd-tab.is-active{background:var(--gd-bg);border-color:var(--gd-line);border-bottom-color:var(--gd-kind-accent,var(--gd-blue));color:var(--gd-ink);font-weight:700}.grid-designer-root.gd-tabshell .gd-tab__kind{background:color-mix(in srgb,var(--gd-kind-accent,var(--gd-blue))12%,transparent);width:20px;height:20px;color:var(--gd-kind-accent,var(--gd-blue));border-radius:5px;flex:none;place-items:center;font-size:.7rem;display:grid}.grid-designer-root.gd-tabshell .gd-tab__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.grid-designer-root.gd-tabshell .gd-tab__label--new{color:var(--gd-muted);font-style:italic}.grid-designer-root.gd-tabshell .gd-tab__close{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;font-size:.7rem;display:grid}.grid-designer-root.gd-tabshell .gd-tab__close:hover{background:var(--gd-danger,var(--red-600));color:#fff}.grid-designer-root.gd-tabshell .gd-tabstrip__add{width:30px;height:30px;color:var(--gd-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:inline-flex}.grid-designer-root.gd-tabshell .gd-tabstrip__add:hover{color:var(--gd-blue);background:var(--gd-blue-soft)}.grid-designer-root.gd-tabshell .gd-tabstrip__add:focus-visible{outline:2px solid var(--gd-blue);outline-offset:-2px}.grid-designer-root.gd-tabshell .gd-tabpanes{flex:auto;min-width:0;min-height:0;position:relative}.grid-designer-root.gd-tabshell .gd-tabpane{min-width:0;min-height:0;display:flex;position:absolute;inset:0}.grid-designer-root.gd-tabshell .gd-tabpane:not(.is-active){opacity:0;visibility:hidden;pointer-events:none;z-index:0}.grid-designer-root.gd-tabshell .gd-tabpane.is-active{z-index:1}.gd-tp-dialog .p-dialog-header{background:radial-gradient(120% 180% at 0% 0%,color-mix(in srgb,var(--primary-color)6%,transparent)0%,transparent 55%),var(--surface-card);padding-bottom:.5rem}.p-dialog-mask .gd-tp-dialog .p-dialog-content{padding:.75rem 1.25rem 0!important}.gd-tp{flex-direction:column;gap:.7rem;height:min(72vh,680px);display:flex}.gd-tp-kinds{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.45rem;display:flex}.gd-tp-kind{border:1.5px solid var(--surface-border);background:var(--surface-card);color:var(--text-color-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.38rem .9rem;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.gd-tp-kind svg{flex:none}.gd-tp-kind:hover{border-color:color-mix(in srgb,var(--gd-kind-accent,var(--primary-color))50%,var(--surface-border));color:var(--text-color)}.gd-tp-kind.is-on{background:var(--gd-kind-accent,var(--primary-color));color:#fff;border-color:#0000}.gd-tp-search-wrap{flex-shrink:0;position:relative}.gd-tp-search-icon{color:var(--text-color-secondary);font-size:.85rem;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.gd-tp-search{border:1px solid var(--surface-border);background:var(--surface-card);width:100%;color:var(--text-color);border-radius:999px;outline:none;padding:.7rem 2.4rem .7rem 2.35rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.gd-tp-search::placeholder{color:var(--text-color-secondary)}.gd-tp-search:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color)16%,transparent)}.gd-tp-search-clear{width:1.5rem;height:1.5rem;color:var(--text-color-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}.gd-tp-search-clear:hover{background:var(--surface-hover);color:var(--text-color)}.gd-tp-mark{background:color-mix(in srgb,var(--primary-color)20%,transparent);color:inherit;border-radius:3px;padding:0 1px}.gd-tp-body{flex:1;gap:.75rem;min-height:0;display:flex}.gd-tp-folders{background:var(--surface-ground);border:1px solid var(--surface-border);border-radius:12px;flex-direction:column;flex:0 0 12.5rem;gap:.15rem;padding:.4rem;display:flex;overflow-y:auto}.gd-tp-folders-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-color-secondary);padding:.35rem .5rem .25rem;font-size:.72rem;font-weight:800}.gd-tp-folder{color:var(--text-color-secondary);text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;border-radius:8px;align-items:center;gap:.45rem;padding:.5rem .6rem;font-size:.88rem;font-weight:600;transition:background .13s,color .13s,border-color .13s;display:flex}.gd-tp-folder i{flex-shrink:0;font-size:.82rem}.gd-tp-folder>span:first-of-type{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.gd-tp-folder:hover{background:var(--surface-hover);color:var(--text-color)}.gd-tp-folder.is-on{background:color-mix(in srgb,var(--primary-color)10%,transparent);border-left-color:var(--primary-color);color:var(--primary-color)}.gd-tp-folder-count{background:var(--surface-card);border:1px solid var(--surface-border);color:var(--text-color-secondary);font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;padding:.08rem .5rem;font-size:.72rem;font-weight:700}.gd-tp-list{flex-direction:column;flex:1;gap:.3rem;min-width:0;padding:.1rem;display:flex;overflow-y:auto}.gd-tp-row{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:.6rem;padding:.62rem .75rem;transition:background .12s,border-color .12s,box-shadow .12s;display:flex}.gd-tp-row.is-active{background:color-mix(in srgb,var(--primary-color)8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary-color)40%,transparent)}.gd-tp-row.is-open .gd-tp-id{color:var(--primary-color)}.gd-tp-row-icon{background:color-mix(in srgb,var(--gd-kind-accent,var(--primary-color))8%,transparent);width:1.6rem;height:1.6rem;color:var(--gd-kind-accent,var(--primary-color));border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;display:inline-flex}.gd-tp-main{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.gd-tp-id{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;font-weight:700;overflow:hidden}.gd-tp-desc{color:var(--text-color-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;overflow:hidden}.gd-tp-meta{flex-shrink:0;align-items:center;gap:.35rem;min-width:0;max-width:45%;display:flex}.gd-tp-badge{background:color-mix(in srgb,var(--primary-color)9%,transparent);border:1px solid color-mix(in srgb,var(--primary-color)22%,transparent);min-width:0;max-width:14rem;color:var(--primary-color);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex;overflow:hidden}.gd-tp-badge i{font-size:.7rem}.gd-tp-tag{background:var(--surface-ground);border:1px solid var(--surface-border);color:var(--text-color-secondary);white-space:nowrap;border-radius:999px;padding:.18rem .55rem;font-size:.75rem;font-weight:600}.gd-tp-open{background:color-mix(in srgb,var(--green-500,#22c55e)14%,transparent);color:var(--green-600,#16a34a);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.gd-tp-open i{font-size:.7rem}.gd-tp-go{color:var(--text-color-secondary);font-size:.82rem;transition:transform .12s}.gd-tp-row.is-active .gd-tp-go{color:var(--primary-color);transform:translate(2px)}.gd-tp-state{color:var(--text-color-secondary);justify-content:center;align-items:center;gap:.5rem;padding:2.5rem 1rem;font-size:.92rem;display:flex}.gd-tp-state--empty{text-align:center;flex-direction:column;gap:.5rem}.gd-tp-state-icon{background:color-mix(in srgb,var(--primary-color)8%,transparent);width:2.75rem;height:2.75rem;color:var(--primary-color);border-radius:12px;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.gd-tp-state-title{color:var(--text-color);font-weight:700}.gd-tp-clear{color:var(--primary-color);cursor:pointer;background:0 0;border:0;font-size:.88rem;font-weight:700;text-decoration:underline}.gd-tp-foot{border-top:1px solid var(--surface-border);color:var(--text-color-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:.55rem .25rem .8rem;font-size:.8rem;display:flex}.gd-tp-hints kbd{border:1px solid var(--surface-border);background:var(--surface-card);min-width:1.2rem;color:var(--text-color-secondary);text-align:center;border-bottom-width:2px;border-radius:5px;padding:.08rem .35rem;font-family:inherit;font-size:.72rem;font-weight:700;display:inline-block}.gd-tp-count{font-variant-numeric:tabular-nums;font-weight:600}@media (max-width:640px){.gd-tp-folders{display:none}}
:root{--rpt-primary:#2563eb;--rpt-primary-dark:#1d4ed8;--rpt-primary-light:#3b82f6;--rpt-primary-50:#eff6ff;--rpt-primary-100:#dbeafe;--rpt-success:#10b981;--rpt-success-light:#d1fae5;--rpt-warning:#f59e0b;--rpt-warning-light:#fef3c7;--rpt-error:#ef4444;--rpt-error-light:#fee2e2;--rpt-orange:#ea580c;--rpt-cyan:#0891b2;--rpt-cyan-light:#cffafe;--rpt-purple:#7c3aed;--rpt-purple-light:#ede9fe;--rpt-gray-50:#f9fafb;--rpt-gray-100:#f3f4f6;--rpt-gray-200:#e5e7eb;--rpt-gray-300:#d1d5db;--rpt-gray-400:#9ca3af;--rpt-gray-500:#6b7280;--rpt-gray-600:#4b5563;--rpt-gray-700:#374151;--rpt-gray-800:#1f2937;--rpt-gray-900:#111827;--rpt-white:#fff;--rpt-font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--rpt-font-mono:"JetBrains Mono",Consolas,monospace;--rpt-shadow-sm:0 1px 2px #0000000d;--rpt-shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--rpt-shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--rpt-shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--rpt-radius-sm:6px;--rpt-radius-md:8px;--rpt-radius-lg:12px}.report-template-builder *,.report-template-builder :before,.report-template-builder :after{box-sizing:border-box;margin:0;padding:0}.report-template-builder body{font-family:var(--rpt-font-sans);background:var(--rpt-gray-100);color:var(--rpt-gray-800);height:100vh;overflow:hidden}.report-template-builder #root{height:100vh}.report-template-builder ::-webkit-scrollbar{width:8px;height:8px}.report-template-builder ::-webkit-scrollbar-track{background:var(--rpt-gray-100)}.report-template-builder ::-webkit-scrollbar-thumb{background:var(--rpt-gray-300);border-radius:4px}.report-template-builder ::-webkit-scrollbar-thumb:hover{background:var(--rpt-gray-400)}.report-template-builder .reportapp{flex-direction:column;height:100vh;display:flex}.report-template-builder .reportmain{flex:1;display:flex;position:relative;overflow:hidden}.report-template-builder .header{background:linear-gradient(135deg,var(--rpt-primary)0%,var(--rpt-primary-dark)100%);color:#fff;z-index:50;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 20px;display:flex;box-shadow:0 2px 8px #00000026}.report-template-builder .header-left{align-items:center;gap:14px;display:flex}.report-template-builder .header-logo{align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.report-template-builder .header-logo svg{width:24px;height:24px}.report-template-builder .header-divider{background:#ffffff4d;width:1px;height:24px}.report-template-builder .header-title input{border-radius:var(--rpt-radius-sm);color:#fff;width:220px;font-size:13px;font-weight:600;font-family:var(--rpt-font-sans);background:#ffffff26;border:1px solid #ffffff40;padding:7px 14px}.report-template-builder .header-title input::placeholder{color:#fff9}.report-template-builder .header-title input:focus{background:#ffffff40;border-color:#ffffff80;outline:none}.report-template-builder .header-right{align-items:center;gap:8px;display:flex}.report-template-builder .btn{font-family:var(--rpt-font-sans);border-radius:var(--rpt-radius-md);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.report-template-builder .btn svg{flex-shrink:0;width:15px;height:15px}.report-template-builder .btn-primary{background:var(--rpt-primary);color:var(--rpt-white)}.report-template-builder .btn-primary:hover{background:var(--rpt-primary-dark)}.report-template-builder .btn-secondary{color:var(--rpt-white);background:#ffffff26;border:1px solid #ffffff4d}.report-template-builder .btn-secondary:hover{background:#ffffff40}.report-template-builder .btn-success{background:var(--rpt-success);color:var(--rpt-white)}.report-template-builder .btn-ghost{color:var(--rpt-gray-600);background:0 0}.report-template-builder .btn-ghost:hover{background:var(--rpt-gray-100);color:var(--rpt-gray-800)}.report-template-builder .btn-danger{background:var(--rpt-error);color:var(--rpt-white)}.report-template-builder .btn-danger:hover{background:var(--rpt-error)}.report-template-builder .btn-sm{padding:5px 10px;font-size:11px}.report-template-builder .panel{background:var(--rpt-white);flex-direction:column;transition:width .25s;display:flex;overflow:hidden}.report-template-builder .panel-left{border-right:1px solid var(--rpt-gray-200);width:300px;min-width:260px}.report-template-builder .panel-center{background:var(--rpt-gray-50);flex-direction:column;flex:1;min-width:400px;display:flex}.report-template-builder .panel-right{border-left:1px solid var(--rpt-gray-200);width:340px;min-width:300px}.report-template-builder .panel.collapsed{border:none;overflow:hidden;width:0!important;min-width:0!important}.report-template-builder .panel-header{background:linear-gradient(135deg,var(--rpt-gray-700)0%,var(--rpt-gray-800)100%);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.report-template-builder .panel-header-title{text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.report-template-builder .panel-header-title svg{width:15px;height:15px}.report-template-builder .panel-content{flex:1;overflow:hidden auto}.report-template-builder .tabs{border-bottom:1px solid var(--rpt-gray-200);background:var(--rpt-white);flex-shrink:0;display:flex}.report-template-builder .tab{text-align:center;cursor:pointer;color:var(--rpt-gray-500);font-size:12px;font-weight:600;font-family:var(--rpt-font-sans);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 12px;transition:all .15s}.report-template-builder .tab:hover{color:var(--rpt-gray-700);background:var(--rpt-gray-50)}.report-template-builder .tab.active{color:var(--rpt-primary);border-bottom-color:var(--rpt-primary);background:var(--rpt-primary-50)}.report-template-builder .splitter{cursor:col-resize;background:var(--rpt-gray-200);flex-shrink:0;width:6px;transition:background .15s;position:relative}.report-template-builder .splitter:hover,.report-template-builder .splitter.active{background:var(--rpt-primary)}.report-template-builder .canvas-header{border-bottom:1px solid var(--rpt-gray-200);background:var(--rpt-white);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.report-template-builder .canvas-header-left{align-items:center;gap:10px;display:flex}.report-template-builder .canvas-header-title{color:var(--rpt-gray-700);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.report-template-builder .canvas-header-title svg{width:16px;height:16px;color:var(--rpt-gray-400)}.report-template-builder .canvas-scroll{flex-direction:column;flex:1;align-items:center;gap:24px;padding:30px;display:flex;overflow-y:auto}.report-template-builder .canvas-page{background:var(--rpt-white);box-shadow:var(--rpt-shadow-lg);border-radius:2px;position:relative}.report-template-builder .canvas-page.letter{width:8.5in;min-height:auto}.report-template-builder .canvas-page.legal{width:8.5in;min-height:14in}.report-template-builder .canvas-page.a4{width:210mm;min-height:297mm}.report-template-builder .canvas-page.a3{width:297mm;min-height:420mm}.report-template-builder .canvas-page.landscape.letter{width:11in;min-height:8.5in}.report-template-builder .canvas-page.landscape.a4{width:297mm;min-height:210mm}.report-template-builder .canvas-page-inner{min-height:100%;position:relative}.report-template-builder .rpt-component{cursor:pointer;border:2px solid #0000;border-radius:4px;margin-bottom:4px;transition:border-color .15s;position:relative}.report-template-builder .rpt-component:hover{border-color:var(--rpt-gray-300)}.report-template-builder .rpt-component.selected{border-color:var(--rpt-primary);box-shadow:0 0 0 3px #2563eb1a}.report-template-builder .rpt-component-badge{text-transform:uppercase;letter-spacing:.5px;opacity:0;z-index:5;color:#fff;border-radius:0 0 4px 4px;padding:1px 6px;font-size:9px;font-weight:700;transition:opacity .15s;position:absolute;top:-1px;left:8px}.report-template-builder .rpt-component:hover .rpt-component-badge,.report-template-builder .rpt-component.selected .rpt-component-badge{opacity:1}.report-template-builder .badge-text{background:var(--rpt-warning)}.report-template-builder .badge-richtext{background:#db2777}.report-template-builder .badge-table{background:#059669}.report-template-builder .badge-section{background:var(--rpt-primary)}.report-template-builder .badge-repeater{background:var(--rpt-purple)}.report-template-builder .badge-columns{background:#4f46e5}.report-template-builder .badge-image{background:var(--rpt-cyan)}.report-template-builder .badge-divider{background:var(--rpt-gray-500)}.report-template-builder .badge-spacer{background:var(--rpt-gray-400)}.report-template-builder .badge-datetime{background:#0d9488}.report-template-builder .badge-pagebreak{background:var(--rpt-error)}.report-template-builder .badge-toc{background:#7c2d12}.report-template-builder .rpt-text-empty{color:var(--rpt-gray-400);padding:8px;font-size:12px;font-style:italic}.report-template-builder .rpt-section{border-radius:8px;overflow:hidden}.report-template-builder .rpt-section-header{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.report-template-builder .rpt-section-body{padding:12px}.report-template-builder .rpt-section-add{border:2px dashed var(--rpt-gray-300);border-radius:var(--rpt-radius-sm);color:var(--rpt-gray-400);cursor:pointer;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:8px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.report-template-builder .rpt-section-add:hover{border-color:var(--rpt-primary);color:var(--rpt-primary);background:var(--rpt-primary-50)}.report-template-builder .rpt-section-add svg{width:14px;height:14px}.report-template-builder .rpt-columns{display:flex}.report-template-builder .rpt-column{flex:1}.report-template-builder .rpt-column-label{text-transform:uppercase;letter-spacing:.5px;color:var(--rpt-gray-400);margin-bottom:8px;font-size:9px;font-weight:700}.report-template-builder .rpt-repeater{border:2px dashed var(--rpt-purple);border-radius:8px;overflow:hidden}.report-template-builder .rpt-repeater-header{background:var(--rpt-purple-light);color:var(--rpt-purple);align-items:center;gap:8px;padding:8px 12px;font-size:11px;font-weight:700;display:flex}.report-template-builder .rpt-repeater-body{padding:10px}.report-template-builder .rpt-repeater-item{border:1px solid var(--rpt-gray-200);border-radius:6px;margin-bottom:8px;overflow:hidden}.report-template-builder .rpt-repeater-item-header{background:var(--rpt-gray-100);color:var(--rpt-gray-600);border-bottom:1px solid var(--rpt-gray-200);align-items:center;gap:6px;padding:6px 10px;font-size:10px;font-weight:600;display:flex}.report-template-builder .rpt-repeater-item-badge{background:var(--rpt-purple);color:var(--rpt-white);border-radius:10px;padding:1px 6px;font-size:9px}.report-template-builder .rpt-repeater-item-body{padding:10px}.report-template-builder .rpt-repeater-more{text-align:center;color:var(--rpt-gray-400);padding:8px;font-size:11px;font-style:italic}.report-template-builder .rpt-table{border-collapse:collapse;width:100%;font-size:12px}.report-template-builder .rpt-table th,.report-template-builder .rpt-table td{border:1px solid var(--rpt-gray-200);text-align:left;padding:8px 10px}.report-template-builder .rpt-table th{font-weight:600}.report-template-builder .rpt-image-placeholder{border:2px dashed var(--rpt-gray-300);border-radius:var(--rpt-radius-sm);color:var(--rpt-gray-400);justify-content:center;align-items:center;gap:8px;padding:32px;font-size:12px;display:flex}.report-template-builder .rpt-pagebreak{border:2px dashed var(--rpt-error-light);border-radius:var(--rpt-radius-sm);color:var(--rpt-error);text-transform:uppercase;background:#fff5f5;justify-content:center;align-items:center;gap:8px;margin:16px 0;padding:12px;font-size:11px;font-weight:700;display:flex}.report-template-builder .rpt-pagebreak svg{width:14px;height:14px}.report-template-builder .rpt-toc-entry{align-items:baseline;gap:4px;padding:4px 0;font-size:12px;display:flex}.report-template-builder .rpt-toc-label{white-space:nowrap}.report-template-builder .rpt-toc-dots{border-bottom:1px dotted var(--rpt-gray-300);flex:1;min-width:20px;margin:0 8px}.report-template-builder .rpt-toc-page{color:var(--rpt-gray-500);font-size:11px}.report-template-builder .rpt-richtext h1{margin-bottom:12px;font-size:24px;font-weight:700}.report-template-builder .rpt-richtext h2{margin-bottom:10px;font-size:20px;font-weight:700}.report-template-builder .rpt-richtext h3{margin-bottom:8px;font-size:16px;font-weight:600}.report-template-builder .rpt-richtext p{margin-bottom:8px;line-height:1.6}.report-template-builder .rpt-richtext ul,.report-template-builder .rpt-richtext ol{margin-bottom:8px;padding-left:24px}.report-template-builder .rpt-richtext li{margin-bottom:4px;line-height:1.5}.report-template-builder .rpt-richtext blockquote{border-left:3px solid var(--rpt-primary);background:var(--rpt-gray-50);margin:12px 0;padding:8px 16px;font-style:italic}.report-template-builder .rpt-richtext pre{background:var(--rpt-gray-800);color:#e5e7eb;font-family:var(--rpt-font-mono);border-radius:6px;margin:12px 0;padding:12px 16px;font-size:12px;overflow-x:auto}.report-template-builder .rpt-richtext code{background:var(--rpt-gray-100);font-family:var(--rpt-font-mono);border-radius:3px;padding:2px 6px;font-size:.9em}.report-template-builder .rpt-richtext pre code{background:0 0;padding:0}.report-template-builder .rpt-richtext a{color:var(--rpt-primary)}.report-template-builder .rpt-richtext table{border-collapse:collapse;width:100%;margin:12px 0}.report-template-builder .rpt-richtext table th,.report-template-builder .rpt-richtext table td{border:1px solid var(--rpt-gray-200);padding:8px}.report-template-builder .prop-empty{color:var(--rpt-gray-400);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.report-template-builder .prop-empty svg{width:40px;height:40px;margin-bottom:12px}.report-template-builder .prop-section{border-bottom:1px solid var(--rpt-gray-200)}.report-template-builder .prop-section-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.report-template-builder .prop-section-header:hover{background:var(--rpt-gray-50)}.report-template-builder .prop-section-title{color:var(--rpt-gray-700);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.report-template-builder .prop-section-title svg{width:15px;height:15px;color:var(--rpt-gray-500)}.report-template-builder .prop-section-toggle svg{width:14px;height:14px;color:var(--rpt-gray-400);transition:transform .2s}.report-template-builder .prop-section.open .prop-section-toggle svg{transform:rotate(180deg)}.report-template-builder .prop-section-body{padding:0 16px 16px;display:none}.report-template-builder .prop-section.open .prop-section-body{display:block}.report-template-builder .prop-row{margin-bottom:12px}.report-template-builder .prop-label{color:var(--rpt-gray-500);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.report-template-builder .prop-input{border:1px solid var(--rpt-gray-200);border-radius:var(--rpt-radius-sm);width:100%;font-size:13px;font-family:var(--rpt-font-sans);color:var(--rpt-gray-800);padding:7px 10px}.report-template-builder .prop-input:focus{border-color:var(--rpt-primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.report-template-builder .prop-input.mono{font-family:var(--rpt-font-mono);font-size:12px}.report-template-builder .prop-select{border:1px solid var(--gray-200);border-radius:var(--rpt-radius-sm);width:100%;font-size:13px;font-family:var(--rpt-font-sans);color:var(--rpt-gray-800);background:var(--rpt-white);cursor:pointer;padding:7px 10px}.report-template-builder .prop-select:focus{border-color:var(--rpt-primary);outline:none}.report-template-builder .prop-textarea{border:1px solid var(--rpt-gray-200);border-radius:var(--rpt-radius-sm);width:100%;font-size:13px;font-family:var(--rpt-font-sans);color:var(--rpt-gray-800);resize:vertical;min-height:80px;padding:8px 10px}.report-template-builder .prop-textarea:focus{border-color:var(--rpt-primary);outline:none}.report-template-builder .prop-row-2{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.report-template-builder .prop-color-row{align-items:center;gap:6px;display:flex}.report-template-builder .prop-color-preview{border-radius:var(--radius-sm);border:1px solid var(--gray-200);cursor:pointer;width:32px;height:32px;padding:0}.report-template-builder .prop-toggle-row{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.report-template-builder .prop-toggle-label{color:var(--rpt-gray-600);font-size:12px;font-weight:500}.report-template-builder .prop-toggle{cursor:pointer;width:36px;height:20px;display:inline-block;position:relative}.report-template-builder .prop-toggle input{display:none}.report-template-builder .prop-toggle-slider{background:var(--rpt-gray-300);border-radius:10px;transition:all .2s;position:absolute;inset:0}.report-template-builder .prop-toggle-slider:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;bottom:2px;left:2px}.report-template-builder .prop-toggle input:checked+.prop-toggle-slider{background:var(--rpt-primary)}.report-template-builder .prop-toggle input:checked+.prop-toggle-slider:before{transform:translate(16px)}.report-template-builder .prop-expr-row{gap:6px;display:flex}.report-template-builder .prop-expr-btn{background:var(--rpt-gray-100);border:1px solid var(--rpt-gray-200);border-radius:var(--rpt-radius-sm);cursor:pointer;width:32px;height:32px;color:var(--rpt-gray-600);flex-shrink:0;justify-content:center;align-items:center;display:flex}.report-template-builder .prop-expr-btn:hover{background:var(--rpt-primary-50);color:var(--rpt-primary);border-color:var(--rpt-primary)}.report-template-builder .prop-expr-btn svg{width:14px;height:14px}.report-template-builder .prop-delete-btn{background:var(--rpt-error-light);width:100%;color:var(--rpt-error);border-radius:var(--rpt-radius-sm);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--rpt-font-sans);border:1px solid #fca5a5;justify-content:center;align-items:center;gap:6px;padding:10px;display:flex}.report-template-builder .prop-delete-btn:hover{background:var(--rpt-error);color:var(--rpt-white)}.report-template-builder .prop-delete-btn svg{width:14px;height:14px}.report-template-builder .comp-tree-item{cursor:pointer;color:var(--rpt-gray-700);border-left:2px solid #0000;align-items:center;gap:8px;padding:6px 12px;font-size:12px;transition:background .1s;display:flex}.report-template-builder .comp-tree-item:hover{background:var(--rpt-gray-50)}.report-template-builder .comp-tree-item.selected{background:var(--rpt-primary-50);border-left-color:var(--rpt-primary);color:var(--rpt-primary);font-weight:600}.report-template-builder .comp-tree-item svg{width:14px;height:14px;color:var(--rpt-gray-400);flex-shrink:0}.report-template-builder .comp-tree-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.report-template-builder .comp-tree-page-divider{text-transform:uppercase;letter-spacing:.5px;color:var(--rpt-error);border-top:1px dashed var(--rpt-error-light);border-bottom:1px dashed var(--rpt-error-light);background:#fff5f5;align-items:center;gap:8px;padding:6px 12px;font-size:10px;font-weight:700;display:flex}.report-template-builder .schema-tree-node{cursor:pointer;align-items:center;gap:6px;padding:4px 8px;font-size:12px;transition:background .1s;display:flex}.report-template-builder .schema-tree-node:hover{background:var(--rpt-gray-50)}.report-template-builder .schema-tree-expand{width:14px;color:var(--rpt-gray-400);text-align:center;flex-shrink:0;font-size:10px}.report-template-builder .schema-tree-key{font-family:var(--rpt-font-mono);font-size:12px;font-weight:500}.report-template-builder .schema-tree-type{text-transform:uppercase;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.report-template-builder .schema-tree-type.obj{color:#be185d;background:#fce7f3}.report-template-builder .schema-tree-type.arr{background:var(--purple-light);color:var(--purple)}.report-template-builder .schema-tree-type.str{background:var(--rpt-primary-100);color:var(--rpt-primary)}.report-template-builder .schema-tree-type.num{background:var(--rpt-success-light);color:var(--rpt-success)}.report-template-builder .schema-tree-type.boo{background:var(--warning-light);color:#d97706}.report-template-builder .schema-tree-children{border-left:1px solid var(--gray-200);margin-left:16px}.report-template-builder .modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.report-template-builder .modal{border-radius:var(--rpt-radius-lg);box-shadow:var(--rpt-shadow-xl);background:#fff;flex-direction:column;max-height:90vh;animation:.2s modalIn;display:flex}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.report-template-builder .modal-sm{width:500px}.report-template-builder .modal-md{width:700px}.report-template-builder .modal-lg{width:900px}.report-template-builder .modal-full{width:calc(100vw - 60px);height:calc(100vh - 60px)}.report-template-builder .modal-header{background:var(--rpt-gray-800);color:var(--rpt-white);border-radius:var(--rpt-radius-lg)var(--rpt-radius-lg)0 0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.report-template-builder .modal-header h3{font-size:14px;font-weight:700}.report-template-builder .modal-close{width:28px;height:28px;color:var(--rpt-white);cursor:pointer;background:#ffffff26;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.report-template-builder .modal-close:hover{background:#ffffff40}.report-template-builder .modal-close svg{width:16px;height:16px}.report-template-builder .modal-body{flex:1;padding:20px;overflow-y:auto}.report-template-builder .modal-footer{border-top:1px solid var(--rpt-gray-200);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.report-template-builder .expr-builder{height:60vh;display:flex}.report-template-builder .expr-builder-left{border-right:1px solid var(--rpt-gray-200);width:260px;padding:12px;overflow-y:auto}.report-template-builder .expr-builder-center{flex-direction:column;flex:1;padding:16px;display:flex}.report-template-builder .expr-builder-right{border-left:1px solid var(--rpt-gray-200);width:280px;padding:12px;overflow-y:auto}.report-template-builder .expr-input{width:100%;min-height:60px;font-family:var(--rpt-font-mono);border:2px solid var(--rpt-gray-200);border-radius:var(--rpt-radius-sm);resize:none;color:var(--rpt-gray-800);flex:1;padding:10px;font-size:13px}.report-template-builder .expr-input:focus{border-color:var(--rpt-primary);outline:none}.report-template-builder .expr-preview{background:var(--rpt-gray-900);border-radius:var(--rpt-radius-sm);font-family:var(--rpt-font-mono);color:#67e8f9;white-space:pre-wrap;word-break:break-all;min-height:60px;margin-top:12px;padding:12px;font-size:12px;overflow-x:auto}.report-template-builder .expr-preview.error{color:#fca5a5}.report-template-builder .expr-func-title{text-transform:uppercase;color:var(--rpt-gray-500);margin-bottom:6px;font-size:10px;font-weight:700}.report-template-builder .expr-func-chips{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.report-template-builder .expr-chip{font-size:11px;font-family:var(--rpt-font-mono);cursor:pointer;background:var(--rpt-gray-100);color:var(--rpt-gray-700);border:1px solid var(--rpt-gray-200);border-radius:4px;padding:3px 8px;transition:all .1s}.report-template-builder .expr-chip:hover{background:var(--rpt-primary-50);color:var(--rpt-primary);border-color:var(--rpt-primary)}.report-template-builder .add-comp-dropdown{display:inline-block;position:relative}.report-template-builder .add-comp-menu{border:1px solid var(--rpt-gray-200);border-radius:var(--rpt-radius-md);box-shadow:var(--rpt-shadow-lg);z-index:100;background:#fff;min-width:200px;margin-top:4px;position:absolute;top:100%;left:0}.report-template-builder .add-comp-item{color:var(--rpt-gray-700);cursor:pointer;text-align:left;width:100%;font-size:12px;font-weight:500;font-family:var(--rpt-font-sans);background:0 0;border:none;align-items:center;gap:10px;padding:8px 14px;transition:background .1s;display:flex}.report-template-builder .add-comp-item:hover{background:var(--rpt-gray-50)}.report-template-builder .add-comp-item svg{width:16px;height:16px;color:var(--rpt-gray-500)}.report-template-builder .add-comp-sep{background:var(--rpt-gray-200);height:1px;margin:4px 0}.report-template-builder .toast-container{z-index:2000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.report-template-builder .toast{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left:4px solid var(--success);background:#fff;min-width:240px;padding:12px 16px;font-size:13px;font-weight:500;animation:.3s toastIn}.report-template-builder .toast.error{border-left-color:var(--error)}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.report-template-builder .preview-container{flex-direction:column;height:100%;display:flex}.report-template-builder .preview-toolbar{background:var(--rpt-gray-100);border-bottom:1px solid var(--rpt-gray-200);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.report-template-builder .preview-toolbar-group{align-items:center;gap:8px;display:flex}.report-template-builder .preview-scroll{background:var(--rpt-gray-200);flex-direction:column;flex:1;align-items:center;gap:20px;padding:30px;display:flex;overflow-y:auto}.report-template-builder .preview-page{background:#fff;position:relative;overflow:hidden;box-shadow:0 4px 24px #00000026}.report-template-builder .preview-page.letter{width:8.5in;height:11in}.report-template-builder .preview-page.a4{width:210mm;height:297mm}.report-template-builder .preview-page-content{flex-direction:column;height:100%;display:flex}.report-template-builder .preview-page-header{border-bottom:1px solid var(--rpt-gray-200);color:var(--rpt-gray-500);justify-content:space-between;padding:8px 20px;font-size:10px;display:flex}.report-template-builder .preview-page-footer{border-top:1px solid var(--rpt-gray-200);color:var(--rpt-gray-500);justify-content:space-between;margin-top:auto;padding:8px 20px;font-size:10px;display:flex}.report-template-builder .preview-page-body{flex:1;padding:20px;overflow:hidden}.report-template-builder .table-editor-modal{width:1100px;max-width:95vw;height:85vh}.report-template-builder .table-editor-body{flex-direction:column;width:100%;height:100%;display:flex;position:relative;max-height:none!important;padding:0!important;overflow:auto!important}.report-template-builder .table-editor-body-inner{width:100%;position:absolute}.report-template-builder .table-editor-body-inner .cell-style-panel{overflow:unset!important}.report-template-builder .table-editor-toolbar{background:var(--rpt-gray-50);border-bottom:1px solid var(--rpt-gray-200);align-items:center;gap:8px;padding:12px 16px;display:flex}.report-template-builder .table-editor-content{flex:1;min-height:200px;padding:16px;overflow:auto}.report-template-builder .table-editor-grid{border-collapse:collapse;width:100%}.report-template-builder .table-editor-grid th,.report-template-builder .table-editor-grid td{border:1px solid var(--rpt-gray-300);min-width:100px;padding:0;position:relative}.report-template-builder .table-editor-grid th{background:var(--rpt-gray-100)}.report-template-builder .table-editor-cell{align-items:center;min-height:36px;display:flex}.report-template-builder .table-editor-cell input{font-size:12px;font-family:var(--rpt-font-sans);background:0 0;border:none;outline:none;flex:1;padding:8px}.report-template-builder .table-editor-cell input:focus{background:var(--rpt-primary-50)}.report-template-builder .table-editor-cell-actions{display:none;position:absolute;top:2px;right:2px}.report-template-builder .table-editor-grid td:hover .table-editor-cell-actions,.report-template-builder .table-editor-grid th:hover .table-editor-cell-actions{gap:2px;display:flex}.report-template-builder .table-cell-btn{border:1px solid var(--rpt-gray-300);cursor:pointer;width:20px;height:20px;color:var(--rpt-gray-500);background:#fff;border-radius:3px;justify-content:center;align-items:center;font-size:10px;display:flex}.report-template-builder .table-cell-btn:hover{background:var(--rpt-gray-100);color:var(--rpt-gray-700)}.report-template-builder .table-editor-add-row,.report-template-builder .table-editor-add-col{color:var(--rpt-primary);background:var(--rpt-primary-50);border:1px dashed var(--rpt-primary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:8px;font-size:11px;font-weight:600;display:flex}.report-template-builder .table-editor-add-row:hover,.report-template-builder .table-editor-add-col:hover{background:var(--rpt-primary-100);border-color:var(--rpt-primary)}.report-template-builder .table-editor-toolbar .btn:disabled{opacity:.4;cursor:not-allowed}.report-template-builder .table-editor-toolbar .btn svg{flex-shrink:0}.report-template-builder .cell-style-panel{border-top:1px solid var(--rpt-gray-200);background:var(--rpt-gray-50);max-height:280px;padding:16px;overflow-y:auto}.report-template-builder .cell-style-title{color:var(--rpt-gray-600);text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:700}.report-template-builder .cell-style-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.report-template-builder .cell-style-item label{color:var(--rpt-gray-600);margin-bottom:4px;font-size:10px;font-weight:600;display:block}.report-template-builder .cell-style-item select,.report-template-builder .cell-style-item input[type=color]{border:1px solid var(--rpt-gray-300);border-radius:4px;width:100%;padding:5px;font-size:11px}.report-template-builder .cell-style-item input[type=color]{cursor:pointer;height:32px}.report-template-builder .canvas-empty{text-align:center;color:var(--rpt-gray-400);flex-direction:column;justify-content:center;align-items:center;padding:80px 40px;display:flex}.report-template-builder .canvas-empty svg{width:48px;height:48px;margin-bottom:16px}.report-template-builder .canvas-empty h3{margin-bottom:8px;font-size:16px;font-weight:600}.report-template-builder .canvas-empty p{font-size:13px}.report-template-builder .json-editor{width:100%;min-height:300px;font-family:var(--font-mono);border:1px solid var(--rpt-gray-200);border-radius:var(--rpt-radius-sm);resize:vertical;color:var(--rpt-gray-800);padding:12px;font-size:12px;line-height:1.6}.report-template-builder .json-editor:focus{border-color:var(--rpt-primary);outline:none}.report-template-builder .json-status{border-radius:var(--rpt-radius-sm);margin-top:8px;padding:6px 12px;font-size:11px;font-weight:600}.report-template-builder .json-status.valid{background:var(--rpt-success-light);color:#059669}.report-template-builder .json-status.invalid{background:var(--rpt-error-light);color:var(--rpt-error)}.report-template-builder .page-break-divider{text-align:center;color:var(--rpt-error);text-transform:uppercase;letter-spacing:1px;border-top:2px dashed var(--rpt-error-light);margin:16px 0;padding:8px;font-size:10px;font-weight:700}.report-template-builder h1,.report-template-builder h2,.report-template-builder h3,.report-template-builder h4,.report-template-builder h5,.report-template-builder h6{color:var(--rpt-white)!important}.report-template-builder .rpt-richtext h1,.report-template-builder .rpt-richtext h2,.report-template-builder .rpt-richtext h3,.report-template-builder .rpt-richtext h4,.report-template-builder .rpt-richtext h5,.report-template-builder .rpt-richtext h6{color:var(--surface-800)!important}@media print{.report-template-builder .header,.report-template-builder .panel-left,.report-template-builder .panel-right,.report-template-builder .splitter,.report-template-builder .canvas-header{display:none!important}.report-template-builder .main{display:block!important}.report-template-builder .panel-center{width:100%!important}.report-template-builder .canvas-page{box-shadow:none!important;margin:0!important}.report-template-builder .rpt-component{border:none!important}.report-template-builder .rpt-component-badge{display:none!important}}.report-template-builder-dialog .p-dialog-header{background:linear-gradient(135deg,var(--rpt-primary)0%,var(--rpt-primary-dark)100%);border-bottom:none;padding:0}.report-template-builder-dialog .p-dialog-header-icons{display:none}.report-template-builder-dialog .p-dialog-content{padding:0!important;overflow:hidden!important}.report-template-builder-dialog .reportapp{height:100%}.report-template-builder-dialog .reportmain{height:94%}
.pfe-dialog.p-dialog{flex-direction:column!important;width:min(78vw,92rem)!important;min-width:min(56rem,96vw)!important;max-width:96vw!important;height:94vh!important;max-height:96vh!important;display:flex!important}.pfe-dialog.p-dialog .p-dialog-content,.pfe-dialog-content{padding:var(--dynamic-padding-16)var(--dynamic-padding-24)var(--dynamic-padding-12)!important;background:var(--surface-50,#f8fafc)!important;flex:auto!important;overflow:auto!important}.pfe-shell{gap:var(--dynamic-gap-12)!important;font-family:var(--font-family)!important;color:var(--text-color)!important;flex-direction:column!important;display:flex!important}.pfe-progress{align-items:center!important;gap:var(--dynamic-gap-8)!important;font-family:var(--font-family)!important;font-size:var(--dynamic-font-12)!important;white-space:nowrap!important;flex-shrink:0!important;font-weight:600!important;display:flex!important}.pfe-progress--header{color:var(--primary-color-text,#fff)!important}.pfe-progress-track{background:#ffffff47!important;border-radius:999px!important;width:5rem!important;height:.375rem!important;overflow:hidden!important}.pfe-progress-fill{background:#fff!important;border-radius:999px!important;height:100%!important;transition:width .2s!important}.pfe-section{background:var(--surface-0,#fff)!important;border:1px solid var(--surface-border,#e2e8f0)!important;border-radius:12px!important;padding:.875rem 1rem!important}.pfe-section-head{border-bottom:1px solid var(--surface-border,#e2e8f0)!important;justify-content:space-between!important;align-items:center!important;gap:.5rem!important;margin:0 0 .75rem!important;padding:0 0 .5rem!important;display:flex!important}.pfe-section-title{font-family:var(--font-family)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--text-color-secondary)!important;margin:0!important;font-size:11px!important;font-weight:600!important}.pfe-section-meta{color:var(--text-color-secondary)!important;font-size:11px!important}.pfe-identity-grid,.pfe-constraints-grid{grid-template-columns:1fr 1fr!important;gap:.875rem!important;display:grid!important}.pfe-identity-grid .pfe-span-2,.pfe-constraints-grid .pfe-span-2{grid-column:1/-1!important}.pfe-field-hint{color:var(--text-color-secondary)!important;margin-top:.25rem!important;font-size:11px!important}.pfe-combo-options{flex-direction:column;gap:.5rem;display:flex}.pfe-combo-options-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.pfe-combo-options-label{margin:0}.pfe-combo-options-subtitle{margin-top:0;margin-bottom:.35rem}.pfe-combo-options-grid{border:1px solid var(--surface-border,#e2e8f0);background:#fff;border-radius:12px;overflow:hidden}.pfe-combo-datatable .p-datatable-wrapper{max-height:320px}.pfe-combo-datatable .p-datatable-thead>tr>th{background:var(--surface-50,#f8fafc);border-bottom:1px solid var(--surface-border,#e2e8f0);font-family:var(--font-family);font-size:var(--dynamic-font-14,14px);color:var(--text-color,#0f172a);padding:.75rem .85rem;font-weight:600}.pfe-combo-datatable .p-datatable-tbody>tr>td{vertical-align:middle;border-bottom:1px solid var(--surface-border,#eef2f7);padding:.6rem .75rem}.pfe-combo-datatable .p-datatable-tbody>tr:last-child>td{border-bottom:none}.pfe-combo-datatable .p-row-reorder-handle{cursor:grab;color:var(--text-color-secondary,#94a3b8)}.pfe-combo-col-head{font-size:inherit;font-weight:inherit;color:inherit;align-items:center;gap:.35rem;display:inline-flex}.pfe-combo-col-tip{color:var(--text-color-secondary,#64748b);cursor:help;font-size:.875rem}.pfe-combo-required{color:var(--red-500,#ef4444)}.pfe-combo-index{background:color-mix(in srgb,var(--primary-color)12%,#fff);min-width:1.65rem;height:1.65rem;color:var(--primary-color);border-radius:8px;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.pfe-combo-input-wrap{width:100%;display:block}.pfe-combo-input-wrap .pfe-combo-input-icon{color:var(--text-color-secondary,#94a3b8);pointer-events:none;z-index:1;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.pfe-combo-input-wrap .pfe-combo-input{border-radius:8px;width:100%;padding-left:2rem}.pfe-combo-input-wrap--required .pfe-combo-input:placeholder-shown{border-color:color-mix(in srgb,var(--red-500,#ef4444)35%,var(--surface-border,#e2e8f0))}.pfe-combo-row-actions{justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.pfe-combo-action-btn{width:2rem;height:2rem;padding:0}.pfe-combo-add-row{border:1.5px dashed var(--surface-border,#cbd5e1);width:calc(100% - 1rem);color:var(--text-color-secondary,#64748b);font-family:var(--font-family);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;margin:.65rem auto;padding:.65rem 1rem;font-size:.875rem;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:flex}.pfe-combo-add-row:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background:color-mix(in srgb,var(--primary-color)6%,#fff)}.pfe-combo-options-foot{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pfe-combo-options-tip{color:var(--text-color-secondary,#64748b);align-items:center;gap:.35rem;font-size:.75rem;display:inline-flex}.pfe-combo-options-count{background:color-mix(in srgb,var(--primary-color)12%,#fff);color:var(--primary-color);white-space:nowrap;border-radius:999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}@media screen and (max-width:960px){.pfe-dialog.p-dialog{width:94vw!important;min-width:0!important}.pfe-identity-grid,.pfe-constraints-grid{grid-template-columns:1fr!important}.pfe-combo-options-head,.pfe-combo-options-foot{flex-direction:column;align-items:stretch}.pfe-combo-options-count{align-self:flex-end}}
.workflow-breadcrumb-tree-backdrop{z-index:1000;background:0 0;animation:.15s workflowBreadcrumbBackdropIn;position:fixed;inset:0}.workflow-breadcrumb-tree-backdrop-closing{animation:.18s forwards workflowBreadcrumbBackdropOut}.workflow-breadcrumb-tree-panel{background-color:var(--surface-a);border:1px solid var(--surface-border);z-index:1001;transform-origin:0 0;border-radius:.875rem;flex-direction:column;min-height:0;animation:.18s cubic-bezier(.16,1,.3,1) workflowBreadcrumbTreeIn;display:flex;position:fixed;overflow:hidden;box-shadow:0 .75rem 2rem #00000038,0 .125rem .5rem #00000014}.workflow-breadcrumb-tree-panel-closing{animation:.16s forwards workflowBreadcrumbTreeOut}.workflow-breadcrumb-tree-panel__header{background:linear-gradient(180deg,var(--surface-b)0%,var(--surface-a)100%);border-bottom:1px solid var(--surface-border);flex:none;justify-content:space-between;align-items:center;padding:.75rem .5rem .75rem 1rem;display:flex}.workflow-breadcrumb-tree-panel__title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-color-secondary);font-size:.75rem;font-weight:700}.workflow-breadcrumb-tree-panel__close{width:1.75rem;height:1.75rem;color:var(--text-color-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.workflow-breadcrumb-tree-panel__close:hover{background-color:var(--surface-hover);color:var(--text-color)}.workflow-breadcrumb-tree-panel__body{flex:auto;min-height:0;padding:.25rem .375rem .375rem;overflow:hidden}.workflow-breadcrumb-tree-panel__body .spec-tree-container{height:100%;box-shadow:none;background-color:#0000;border-radius:.5rem}.workflow-breadcrumb-tree-panel__body .spec-tree-container-wrapper,.workflow-breadcrumb-tree-panel__body .spec-tree-container-wrapper-responsive{height:100%;overflow:hidden!important}.workflow-breadcrumb-tree-panel__body .spec-tree-menu{flex-direction:column;min-height:0;display:flex;overflow:hidden auto;height:auto!important;padding-bottom:.5rem!important;position:static!important}.workflow-breadcrumb-tree-panel__body .spec-tree-menu-item-container{height:auto!important;position:static!important;overflow:visible!important}@keyframes workflowBreadcrumbBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes workflowBreadcrumbBackdropOut{0%{opacity:1}to{opacity:0}}@keyframes workflowBreadcrumbTreeIn{0%{opacity:0;transform:translateY(-.5rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes workflowBreadcrumbTreeOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-.375rem)scale(.98)}}
.lip{flex-direction:column;gap:12px;min-width:0;display:flex}.lip-search{box-sizing:border-box;border:1px solid var(--surface-border);background:var(--surface-card);width:100%;color:var(--text-color);font:inherit;border-radius:8px;padding:9px 12px;font-size:14px}.lip-search:focus{outline:2px solid var(--primary-color);outline-offset:0;border-color:var(--primary-color)}.lip-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-height:48vh;padding:4px;display:grid;overflow:auto}.lip-empty{color:var(--text-color-secondary);grid-column:1/-1;padding:16px 4px;font-size:13px}.lip-cell{border:1px solid var(--surface-border);background:var(--surface-card);min-width:0;color:var(--text-color);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 6px;display:flex}.lip-cell:hover{border-color:var(--primary-color);background:var(--highlight-bg,var(--surface-hover))}.lip-cell:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.lip-cell.on{border-color:var(--primary-color);background:var(--highlight-bg,var(--surface-hover));border-width:2px;padding:9px 5px}.lip-cell-ico{width:22px;height:22px;color:var(--primary-color)}.lip-cell-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-color-secondary);font-size:10.5px;overflow:hidden}.lip-field{border:1px solid var(--surface-border);background:var(--surface-card);min-width:220px;max-width:100%;min-height:38px;color:var(--text-color);font:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:inline-flex}.lip-field:hover:not(:disabled){border-color:var(--primary-color)}.lip-field:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.lip-field:disabled{opacity:.6;cursor:default}.lip-field-ico{width:22px;height:22px;color:var(--primary-color);flex:none;place-items:center;display:inline-grid}.lip-field-lbl{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.lip-field-caret{color:var(--text-color-secondary);flex:none;font-size:11px}.lip-foot{justify-content:flex-end;align-items:center;gap:8px;display:flex}
