/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.profile-container{position:relative;display:inline-block}.user-avatar-image{width:100%;height:100%;border-radius:var(--radius-full);object-fit:cover}.profile-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;width:300px;background:var(--color-bg-primary);border-radius:12px;box-shadow:0 4px 24px #0000001f;border:1px solid var(--color-border-primary);z-index:var(--z-dropdown);overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-var(--space-2)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-dropdown-header{padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.profile-info{display:flex;align-items:center;gap:var(--space-3)}.profile-avatar-large{width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-on-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);font-family:var(--font-family-sans);flex-shrink:0;overflow:hidden}.profile-avatar-image-large{width:100%;height:100%;border-radius:var(--radius-full);object-fit:cover}.profile-avatar-initials-large{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-weight:var(--font-weight-bold);letter-spacing:.02em}.profile-details{flex:1;display:flex;flex-direction:column;gap:var(--space-0-5);min-width:0}.profile-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text-primary);font-family:var(--font-family-sans);line-height:var(--line-height-tight);word-break:break-word}.profile-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:var(--font-family-sans);line-height:var(--line-height-tight);word-break:break-word}.profile-department{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:var(--font-family-sans);line-height:var(--line-height-tight);margin-top:var(--space-0-5)}.profile-role{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-family-sans);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-sm);width:fit-content;margin-top:var(--space-1);border:1px solid}.profile-role.district_operator,.profile-role.admin,.profile-role.administrator{background:var(--color-success-bg);color:var(--color-success-text);border:1.5px solid var(--color-success)}.profile-role.document_reviewer,.profile-role.reviewer{background:var(--color-primary-bg);color:var(--color-primary-dark);border-color:var(--color-secondary)}.profile-role.final_approver,.profile-role.approver{background:#faf5ff;color:#553c9a;border-color:#c4b5fd}.profile-role.general_user,.profile-role.user,.profile-role.student{background:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-gray-300)}.profile-role.teacher,.profile-role.instructor{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning)}.profile-role.manager,.profile-role.supervisor{background:#f0f9ff;color:#0369a1;border-color:#7dd3fc}.profile-role.guest{background:var(--color-gray-50);color:var(--color-gray-600);border-color:var(--color-gray-200)}.profile-debug-info{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-primary)}.profile-debug-info small{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:var(--font-family-mono)}.profile-dropdown-divider{height:1px;background:var(--color-border-primary)}.profile-menu-divider{height:1px;background:var(--color-border-primary);margin:var(--space-2) 0}.profile-dropdown-menu{padding:var(--space-2) 0}.profile-dropdown-menu .rp-tooltip-trigger{display:block;width:100%}.profile-menu-item{width:100%;padding:var(--space-3) var(--space-5);border:none;background:none;display:flex;align-items:center;gap:var(--space-3);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm);font-family:var(--font-family-sans);color:var(--color-text-secondary);text-align:left;position:relative}.profile-menu-item:hover:not(:disabled){background:#677eea14;color:var(--color-text-primary)}.profile-menu-item:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:-2px;background:#677eea0d;color:var(--color-text-primary)}.profile-menu-item:active:not(:disabled){background:#677eea1f}.profile-menu-item:disabled{cursor:not-allowed;opacity:.6}.profile-menu-item.navigating{background:var(--color-primary-bg);color:var(--color-primary-dark);animation:pulse-navigating 1s ease-in-out infinite}.profile-menu-item.logout{color:var(--color-error-hover);border-top:1px solid var(--color-border-primary);margin-top:var(--space-1)}.profile-menu-item.logout:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error-text)}.profile-menu-item.logout.signing-out{background:var(--color-error-bg);color:var(--color-error-text);animation:pulse-logout .5s ease-in-out infinite}.profile-menu-icon{font-size:var(--font-size-base);width:20px;display:flex;justify-content:center;align-items:center;flex-shrink:0}.profile-menu-label{flex:1;font-weight:var(--font-weight-medium);min-width:0}.profile-dropdown-footer{padding:10px 16px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary)}.session-info{text-align:center}.session-info small{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-family:var(--font-family-sans);display:block;line-height:var(--line-height-tight)}.session-details{margin-top:var(--space-1);display:flex;flex-direction:column;gap:var(--space-0-5)}.session-role{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-family-sans)}.session-department{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-family:var(--font-family-sans)}@keyframes pulse-signing-out{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.98)}}@keyframes pulse-loading{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-logout{0%,to{transform:scale(1)}50%{transform:scale(.98)}}@keyframes pulse-navigating{0%,to{background:var(--color-primary-bg)}50%{background:var(--color-primary-surface)}}@media (max-width: 1199px){.profile-dropdown{width:280px}.profile-dropdown-header{padding:var(--space-4)}.profile-menu-item,.profile-dropdown-footer{padding:var(--space-2-5) var(--space-4)}}@media (max-width: 1023px){.profile-dropdown{width:260px;right:-var(--space-2)}.profile-dropdown-header{padding:var(--space-3)}.profile-info{gap:var(--space-2)}.profile-avatar-large{width:45px;height:45px;font-size:var(--font-size-base)}.profile-name{font-size:var(--font-size-sm)}.profile-email{font-size:var(--font-size-xs)}.profile-menu-item{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.profile-dropdown-footer{padding:var(--space-2) var(--space-3)}}@media (max-width: 767px){.profile-dropdown{width:240px;right:-var(--space-3)}.profile-dropdown-header{padding:var(--space-2-5)}.profile-info{gap:var(--space-2)}.profile-avatar-large{width:40px;height:40px;font-size:var(--font-size-sm)}.profile-details{gap:var(--space-0-5)}.profile-name{font-size:var(--font-size-sm)}.profile-email{font-size:var(--font-size-xs)}.profile-role{font-size:var(--font-size-xs);padding:var(--space-0-5) var(--space-1-5)}.profile-department{font-size:var(--font-size-xs)}.profile-menu-item{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.profile-menu-icon{width:16px;font-size:var(--font-size-sm)}.profile-menu-label{font-size:var(--font-size-xs)}.profile-dropdown-footer{padding:var(--space-2)}.session-info small,.session-role,.session-department{font-size:var(--font-size-xs)}}@media (max-width: 480px){.profile-dropdown{width:220px;right:-var(--space-4);border-radius:var(--radius-lg)}.profile-dropdown-header{padding:var(--space-2)}.profile-info{flex-direction:column;align-items:center;text-align:center;gap:var(--space-2)}.profile-avatar-large{width:36px;height:36px;font-size:var(--font-size-sm)}.profile-details{align-items:center}.profile-name,.profile-email{font-size:var(--font-size-xs)}.profile-role{font-size:var(--font-size-xs);padding:var(--space-0-5) var(--space-1)}.profile-menu-item{padding:var(--space-1-5) var(--space-2);gap:var(--space-1-5)}.profile-menu-item:hover:not(:disabled){transform:none}.profile-menu-icon{width:14px;font-size:var(--font-size-xs)}.profile-menu-label{font-size:var(--font-size-xs)}.profile-dropdown-footer{padding:var(--space-1-5)}.session-info small,.session-role,.session-department{font-size:var(--font-size-xs)}}@media (prefers-reduced-motion: reduce){.user-avatar:hover,.profile-menu-item:hover,.profile-role:hover{transform:none!important}.profile-dropdown,.user-avatar.signing-out,.user-avatar.loading,.profile-menu-item.logout.signing-out,.profile-menu-item.navigating{animation:none!important}*{transition:none!important}}@media (prefers-contrast: high){.user-avatar,.profile-dropdown,.profile-avatar-large,.profile-role{border-width:2px}.profile-menu-item:focus-visible{outline-width:3px}.profile-dropdown-divider,.profile-menu-divider{height:2px}}.profile-container:focus-within .profile-dropdown{outline:1px solid transparent}.profile-dropdown:focus-within{box-shadow:var(--shadow-2xl),0 0 0 3px var(--color-border-focus)}.profile-dropdown[role=menu],.profile-menu-item[role=menuitem]{position:relative}.profile-menu-item[tabindex="-1"]{outline:none}.profile-menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.profile-menu-item[aria-busy=true]:after{content:"";position:absolute;right:var(--space-3);width:12px;height:12px;border:2px solid var(--color-border-primary);border-top:2px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}@media (prefers-color-scheme: dark){.profile-dropdown-header{background:var(--color-gray-800)}.profile-dropdown-footer{background:var(--color-gray-800);border-top-color:var(--color-gray-700)}.profile-menu-item:hover:not(:disabled){background:#677eea26}.profile-menu-item:focus-visible{background:#677eea1a}.profile-menu-item.logout:hover:not(:disabled){background:var(--color-error-bg)}.profile-menu-item.navigating{background:#3b82f61a}.profile-role.final_approver,.profile-role.approver{background:#8b5cf61a;color:#a78bfa;border-color:#8b5cf64d}.profile-role.manager,.profile-role.supervisor{background:#0ea5e91a;color:#38bdf8;border-color:#0ea5e94d}}@media print{.profile-container,.profile-dropdown{display:none!important}}.vistas-container{position:relative;display:inline-block;overflow:visible}.vistas-badge{display:flex;align-items:center;gap:8px;padding:7px 12px;height:38px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--color-text-primary);font-weight:500;font-size:14px;font-family:var(--font-family-sans);cursor:pointer;transition:background .12s ease,border-color .12s ease;white-space:nowrap;letter-spacing:.02em}.vistas-badge-logo{height:22px;width:auto;object-fit:contain;filter:none}.vistas-badge:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.vistas-badge:focus-visible{outline:2px solid var(--color-primary-muted);outline-offset:2px}.vistas-badge:active:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.vistas-badge:disabled{opacity:.5;cursor:not-allowed}.vistas-badge-text{flex:1;white-space:nowrap}.vistas-badge-arrow{font-size:10px;transition:transform .2s ease;opacity:.9;flex-shrink:0}.vistas-badge-arrow.open{transform:rotate(180deg)}.vistas-dropdown{background:var(--color-bg-primary);border-radius:12px;box-shadow:0 4px 24px #0000001f;border:1px solid var(--color-border-primary);min-width:300px;max-width:380px;z-index:calc(var(--z-sticky) + 10);overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}@keyframes vistasDropdownSlide{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.vistas-dropdown-header{padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);text-align:left;display:flex;align-items:center;gap:12px}.vistas-dropdown-logo{height:32px;width:auto;object-fit:contain}.vistas-suite-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:var(--font-family-sans);margin:0 0 2px;line-height:var(--line-height-tight)}.vistas-header-icon{display:none}.vistas-suite-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:var(--font-family-sans);margin:0;font-weight:var(--font-weight-normal);line-height:var(--line-height-tight)}.vistas-dropdown-divider{height:1px;background:linear-gradient(90deg,transparent,var(--color-border-primary),transparent);margin:0}.vistas-dropdown-menu{padding:8px 0}.vistas-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 16px;background:none;border:none;cursor:pointer;font-family:var(--font-family-sans);text-align:left;transition:background .2s ease;position:relative}.vistas-menu-item:hover:not(:disabled){background:#677eea14}.vistas-menu-item:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:-2px;background:#677eea0d}.vistas-menu-item:active:not(:disabled){background:#677eea1f}.vistas-menu-item:disabled{opacity:.6;cursor:not-allowed}.vistas-menu-icon-container{width:36px;height:36px;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:none}.vistas-menu-item:hover .vistas-menu-icon-container{background:#677eea26}.vistas-menu-icon{font-size:var(--font-size-xl);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.vistas-menu-logo{max-width:28px;max-height:28px;width:auto;height:auto;object-fit:contain}.vistas-menu-content{flex:1;min-width:0}.vistas-menu-label{display:block;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 var(--space-1) 0;line-height:var(--line-height-tight);font-family:var(--font-family-sans)}.vistas-menu-description{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);margin:0;font-family:var(--font-family-sans)}.vistas-dropdown-footer{padding:10px 16px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);text-align:center}.vistas-footer-text{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:var(--font-family-sans);font-weight:var(--font-weight-normal);display:flex;align-items:center;justify-content:center;gap:6px;opacity:.7}@media (max-width: 1199px){.vistas-dropdown{min-width:300px;max-width:380px}.vistas-dropdown-header{padding:var(--space-4) var(--space-5)}.vistas-menu-item{padding:var(--space-3) var(--space-5)}.vistas-dropdown-footer{padding:var(--space-2-5) var(--space-5)}}@media (max-width: 1023px){.vistas-dropdown{right:var(--space-1);min-width:280px;max-width:320px}.vistas-menu-icon-container{width:44px;height:44px}.vistas-menu-icon{font-size:var(--font-size-lg)}.vistas-suite-title{font-size:var(--font-size-base)}}@media (max-width: 767px){.vistas-dropdown{right:var(--space-2);left:var(--space-2);min-width:auto;width:auto;max-width:none}.vistas-badge{padding:6px 12px;font-size:13px}.vistas-badge-text{display:none}.vistas-badge:after{content:"VISTAS";font-weight:var(--font-weight-bold);font-size:var(--font-size-xs)}.vistas-dropdown-header,.vistas-dropdown-footer{padding:var(--space-4)}.vistas-menu-item{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.vistas-menu-icon-container{width:40px;height:40px}.vistas-menu-icon{font-size:var(--font-size-lg)}.vistas-suite-title{font-size:var(--font-size-base)}.vistas-suite-subtitle{font-size:var(--font-size-xs)}}@media (max-width: 480px){.vistas-dropdown{border-radius:var(--radius-lg);margin:var(--space-1)}.vistas-badge{padding:6px 10px;font-size:12px}.vistas-badge:after{content:"V360"}.vistas-dropdown-header{padding:var(--space-3)}.vistas-suite-title{font-size:var(--font-size-sm)}.vistas-suite-subtitle{font-size:var(--font-size-xs)}.vistas-menu-item{padding:var(--space-2-5) var(--space-3);gap:var(--space-2)}.vistas-menu-description{display:none}.vistas-menu-icon-container{width:36px;height:36px}.vistas-menu-icon{font-size:var(--font-size-base)}.vistas-menu-label{font-size:var(--font-size-sm)}.vistas-dropdown-footer{padding:var(--space-2-5)}.vistas-footer-text{font-size:var(--font-size-xs)}}@media (prefers-reduced-motion: reduce){.vistas-dropdown,.vistas-badge,.vistas-menu-item,.vistas-badge-arrow,.vistas-menu-icon-container{animation:none!important;transition:none!important}.vistas-badge:before{transition:none!important}.vistas-menu-item:hover,.vistas-badge:hover{transform:none!important}}@media (prefers-contrast: high){.vistas-badge{border:2px solid var(--color-bg-primary)}.vistas-dropdown{border:2px solid var(--color-border-secondary)}.vistas-menu-item{border-bottom:1px solid var(--color-border-primary)}.vistas-menu-icon-container{border-width:2px}.vistas-menu-item:focus-visible{outline-width:3px}}.vistas-dropdown[aria-hidden=true] .vistas-menu-item{visibility:hidden}.vistas-menu-item:focus{z-index:1}.vistas-container:focus-within .vistas-dropdown{outline:1px solid transparent}.vistas-dropdown:focus-within{box-shadow:var(--shadow-2xl),0 0 0 3px var(--color-border-focus)}.vistas-dropdown[role=menu],.vistas-menu-item[role=menuitem]{position:relative}.vistas-menu-item[tabindex="-1"]{outline:none}.vistas-menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.vistas-menu-item[aria-busy=true]{position:relative}.vistas-menu-item[aria-busy=true]:after{content:"";position:absolute;right:var(--space-4);width:16px;height:16px;border:2px solid var(--color-border-primary);border-top:2px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}@media (prefers-color-scheme: dark){.vistas-dropdown{background:var(--color-gray-800);border-color:var(--color-gray-600)}.vistas-dropdown-header{background:linear-gradient(135deg,var(--color-gray-700) 0%,var(--color-primary-darkest) 100%);border-bottom-color:var(--color-gray-600)}.vistas-suite-title{color:var(--color-gray-100)}.vistas-suite-subtitle{color:var(--color-gray-400)}.vistas-menu-item:hover{background:#677eea26}.vistas-menu-item:focus-visible{background:#677eea1a}.vistas-menu-item:active{background:#677eea33}.vistas-menu-label{color:var(--color-gray-100)}.vistas-menu-description{color:var(--color-gray-400)}.vistas-menu-icon-container{background:#677eea26;border-color:#677eea33}.vistas-menu-item:hover .vistas-menu-icon-container{background:#677eea33}.vistas-dropdown-footer{background:var(--color-gray-800);border-top-color:var(--color-gray-600)}.vistas-footer-text{color:var(--color-gray-400)}.vistas-badge{background:transparent;border-color:transparent}.vistas-badge:hover:not(:disabled){background:#ffffff12;border-color:#ffffff1f}.vistas-badge:active:not(:disabled){background:#ffffff12;border-color:#ffffff1f}.vistas-badge:focus-visible{outline-color:var(--color-border-focus)}}@media print{.vistas-container,.vistas-dropdown{display:none!important}}.header{grid-column:1 / -1;grid-row:1;background:var(--color-bg-primary);color:var(--color-text-primary);box-shadow:0 1px 4px #00000014;padding:0!important;margin:0!important;z-index:200;position:relative}.header-content{position:fixed;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;height:80px;padding:var(--space-4) 16px var(--space-4) 20px;overflow:visible;gap:var(--space-2);background:var(--color-bg-primary)}.header-logo-link{display:flex;align-items:center;justify-content:center;text-decoration:none;flex-shrink:0;width:200px;transition:opacity .2s ease}.header-logo-link:hover{opacity:.8}.header-app-logo{height:52px;width:auto;flex-shrink:0}.header-app-text{display:flex;flex-direction:column;justify-content:center;margin-left:10px;gap:1px}.header-app-title{font-size:15px;font-weight:var(--font-weight-bold);color:var(--color-brand-navy);white-space:nowrap;line-height:1.2;letter-spacing:-.01em}.header-app-subtitle{font-size:10px;font-weight:var(--font-weight-normal);color:var(--color-text-muted);white-space:nowrap;line-height:1.2}.header-content .header-left{position:absolute;left:0;top:0;bottom:0;width:220px;display:flex;align-items:center;justify-content:center}.header-client-badge{position:fixed;left:50%;top:40px;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;font-family:var(--font-family-sans);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:250}.header-client-badge .badge-label{font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);line-height:1}.header-client-badge .badge-separator{display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--color-border-secondary);flex-shrink:0}.header-client-badge .badge-value{font-size:14px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;line-height:1}.app-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2)}.app-logo{height:1.8em;width:auto;vertical-align:middle}.header-button{display:flex;align-items:center;gap:8px;padding:8px 16px;height:40px;border-radius:8px;border:1px solid var(--color-border-primary);background:transparent;color:var(--color-text-primary);font-weight:500;font-size:14px;font-family:var(--font-family-sans);cursor:pointer;transition:background .2s ease,border-color .2s ease;white-space:nowrap}.header-button:hover:not(:disabled){background:var(--color-primary-bg);border-color:var(--color-primary-border)}.header-button:focus-visible{outline:2px solid var(--color-primary-muted);outline-offset:2px}.header-button:active:not(:disabled){background:var(--color-primary-surface);border-color:var(--color-primary-subtle)}.header-button:disabled{opacity:.5;cursor:not-allowed}.header-center{flex:0 0 auto;display:flex;justify-content:flex-start;align-items:center;gap:12px;margin-left:auto}.header-nav{display:flex;gap:var(--space-2);align-items:center}.header-nav-button{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);color:var(--color-text-primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.header-nav-button:hover{background:var(--color-primary-bg)}.header-nav-button.active{background:var(--color-primary-surface);border-color:var(--color-primary-muted);font-weight:var(--font-weight-semibold)}.nav-icon{font-size:var(--font-size-base)}.nav-label{white-space:nowrap}.header-right{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto}.profile-container .user-avatar{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;height:38px;width:auto;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--color-text-primary);font-family:var(--font-family-sans);cursor:pointer;transition:background .12s ease,border-color .12s ease;white-space:nowrap;overflow:visible;font-size:14px}.profile-container .user-avatar:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.profile-container .user-avatar:focus-visible{outline:2px solid var(--color-primary-muted);outline-offset:2px}.profile-container .user-avatar:active:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.profile-container .user-avatar:disabled{opacity:.5;cursor:not-allowed}.profile-container .user-avatar.signing-out{animation:pulse .5s ease-in-out infinite}.user-avatar-icon-wrap{width:28px;height:28px;border-radius:50%;background:var(--color-brand-navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.user-avatar-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-weight:700;font-size:11px;color:var(--color-text-inverse);letter-spacing:.02em}.user-avatar-name{font-size:14px;font-weight:500;color:var(--color-text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis}.user-avatar-chevron{font-size:10px;opacity:.8;transition:transform .2s ease;flex-shrink:0}.user-avatar-chevron.open{transform:rotate(180deg)}.feedback-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;height:40px;border-radius:8px;border:1px solid var(--color-border-primary);background:transparent;color:var(--color-text-primary);font-weight:500;font-size:14px;font-family:var(--font-family-sans);cursor:pointer;transition:background .2s ease,border-color .2s ease;white-space:nowrap}.feedback-btn:hover:not(:disabled){background:var(--color-primary-bg);border-color:var(--color-primary-border)}.feedback-btn:focus-visible{outline:2px solid var(--color-primary-muted);outline-offset:2px}.feedback-btn:active:not(:disabled){background:var(--color-primary-surface);border-color:var(--color-primary-subtle)}.feedback-btn:disabled{opacity:.5;cursor:not-allowed}.feedback-icon{font-size:14px;line-height:1;color:inherit;opacity:.9}.feedback-label{font-size:14px;font-weight:500;white-space:nowrap;color:inherit}.auth-loading{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary)}.loading-spinner{font-size:var(--font-size-base)}.login-mode{display:flex;align-items:center;gap:var(--space-2)}.system-ready{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--space-2);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-primary)}.system-ready:hover{background:var(--color-primary-bg)}.user-badge{display:flex;align-items:center;gap:var(--space-2);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-primary)}.user-badge:hover{background:var(--color-primary-bg)}.user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap}@media (max-width: 767px){.header-content{min-height:56px;padding:var(--space-2) var(--space-4)}.app-title{font-size:var(--font-size-xl)}.header-center,.header-client-badge{display:none}}@media (max-width: 480px){.header-content{height:52px}.app-title{font-size:var(--font-size-lg)}}@media (prefers-color-scheme: dark){.header{background:var(--color-bg-tertiary);box-shadow:0 1px 4px #0006}.header-content{background:var(--color-bg-tertiary)}.header-button{border-color:var(--color-border-primary)}.header-button:hover:not(:disabled){background:var(--color-primary-alpha-12);border-color:var(--color-border-secondary)}.header-button:focus-visible{outline-color:var(--color-border-focus)}.header-button:active:not(:disabled){background:#60a5fa2e;border-color:var(--color-border-secondary)}.header-nav-button{background:#ffffff0f;border-color:var(--color-border-primary)}.header-nav-button:hover{background:var(--color-primary-alpha-12)}.header-nav-button.active{background:var(--color-primary-alpha-20);border-color:var(--color-border-focus)}.profile-container .user-avatar{background:transparent;border-color:transparent}.profile-container .user-avatar:hover:not(:disabled){background:#ffffff12;border-color:#ffffff1f}.profile-container .user-avatar:active:not(:disabled){background:#ffffff12;border-color:#ffffff1f}.user-avatar-icon-wrap{background:var(--color-brand-navy)}.feedback-btn{border-color:var(--color-border-primary)}.feedback-btn:hover:not(:disabled){background:var(--color-primary-alpha-12);border-color:var(--color-border-secondary)}.feedback-btn:focus-visible{outline-color:var(--color-border-focus)}.feedback-btn:active:not(:disabled){background:#60a5fa2e;border-color:var(--color-border-secondary)}.auth-loading,.system-ready{background:#ffffff0f;border-color:var(--color-border-primary)}.system-ready:hover{background:var(--color-primary-alpha-12)}.user-badge{background:#ffffff0f;border-color:var(--color-border-primary)}.user-badge:hover{background:var(--color-primary-alpha-12)}}@media print{.header{background:#fff!important;color:#000!important;box-shadow:none;border-bottom:2px solid #000;position:static}.app-title{color:#000!important}.header-center,.header-right{display:none}}.client-selector{position:relative;margin-right:16px}.client-selector-trigger{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px var(--color-primary-alpha-30)}.client-selector-trigger:hover{background:linear-gradient(135deg,#5568d3,#6a3f8f);box-shadow:0 4px 12px var(--color-primary-alpha-40);transform:translateY(-2px)}.client-selector-trigger:active{transform:translateY(0);box-shadow:0 2px 6px var(--color-primary-alpha-30)}.client-icon{font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.client-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.dropdown-arrow{font-size:10px;transition:transform .3s ease;margin-left:4px}.client-selector-dropdown{position:fixed;min-width:320px;max-width:380px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001f;z-index:10000;overflow:hidden;will-change:transform;transform:translateZ(0)}.client-selector-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#667eea;color:#fff;font-weight:600;font-size:14px;border-radius:12px 12px 0 0}.header-icon{font-size:20px}.client-selector-list{max-height:400px;overflow-y:auto;padding:8px}.client-selector-list::-webkit-scrollbar{width:8px}.client-selector-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.client-selector-list::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.client-selector-list::-webkit-scrollbar-thumb:hover{background:#5568d3}.client-option{display:flex;align-items:center;gap:12px;width:calc(100% - 8px);padding:10px 12px;margin:2px 4px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .2s ease;text-align:left;position:relative}.client-option:hover{background:#f7f8fc}.client-option.active{background:#667eea14;border-left:3px solid #667eea;padding-left:9px}.client-option-icon{font-size:24px;line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.client-option-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.client-option-name{font-weight:600;font-size:14px;color:#2d3748;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-option-desc{font-size:12px;color:#718096}.active-indicator{font-size:16px;color:#667eea;flex-shrink:0;font-weight:700}.client-divider{height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);margin:8px 0}.no-clients{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:#a0aec0}.no-clients-icon{font-size:48px;opacity:.5}.no-clients-text{font-size:14px;font-weight:500}.client-selector-footer{padding:12px 16px;background:#f7f8fc;border-top:1px solid #e2e8f0}.footer-note{display:flex;align-items:center;gap:6px;font-size:11px;color:#718096;font-weight:500}@media (max-width: 768px){.client-selector-dropdown{min-width:300px}.client-name{max-width:150px}}@media (max-width: 480px){.client-selector{margin-right:8px}.client-selector-trigger{padding:6px 12px;font-size:13px}.client-name{max-width:100px}.client-selector-dropdown{min-width:280px;right:-8px}}@keyframes inlineProgressShimmer{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes inlineProgressPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes inlineQueuedBarPulse{0%,to{opacity:.15}50%{opacity:.35}}.inline-row-progress{display:flex;flex-direction:column;gap:4px;padding:4px 0;min-width:140px}.inline-row-progress__header{display:flex;align-items:baseline;gap:6px}.inline-row-progress__stage{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1}.inline-row-progress__percentage{color:var(--color-text-secondary, #475569);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1}.inline-row-progress__bar-track{height:4px;background-color:var(--color-gray-200, #e2e8f0);border-radius:2px;overflow:hidden;position:relative}.inline-row-progress__bar-fill{height:100%;border-radius:2px;transition:width .5s ease;position:relative;overflow:hidden}.inline-row-progress__bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);width:50%;animation:inlineProgressShimmer 2s ease-in-out infinite}.inline-row-progress--queued .inline-row-progress__bar-fill:after{display:none}.inline-row-progress--queued .inline-row-progress__bar-fill{animation:inlineQueuedBarPulse 2.5s ease-in-out infinite}.inline-row-progress--queued .inline-row-progress__stage{animation:inlineProgressPulse 2s ease-in-out infinite}.inline-row-progress__message{color:var(--color-text-tertiary, #64748b);font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}@media (prefers-color-scheme: dark){.download-icon{color:var(--color-gray-500)!important}}.job-details-container{max-width:1200px;margin:0 auto;padding:var(--space-6);background:var(--color-bg-secondary);min-height:100vh}.job-details-container>.rp-btn-back{margin-bottom:var(--space-6)}.rp-job-header{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--color-border-primary)}.job-header-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.job-header-main h1{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);flex:1}.job-metadata{display:flex;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-4)}.metadata-link{color:var(--color-primary);cursor:pointer;text-decoration:underline;transition:color var(--transition-fast)}.metadata-link:hover{color:var(--color-primary-dark)}.job-section{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--color-border-primary)}.job-section h2{margin:0 0 var(--space-6) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6)}.summary-stat{text-align:center;padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border-primary)}.summary-stat-value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.summary-stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.progress-bar-container{margin-top:var(--space-6)}.progress-bar{width:100%;height:24px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--color-border-primary)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);transition:width .5s ease;border-radius:var(--radius-full)}.progress-text{text-align:center;margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.pdf-actions{display:flex;gap:var(--space-3);align-items:center}.pdfs-list{display:flex;flex-direction:column;gap:var(--space-3)}.job-details-container .pdf-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer}.job-details-container .pdf-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.job-details-container .pdf-item-selected{border-color:var(--color-primary);background:var(--color-primary-bg)}.pdf-checkbox{width:20px;height:20px;cursor:pointer;flex-shrink:0}.pdf-info{flex:1;min-width:0}.pdf-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-base);margin-bottom:var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-stats{display:flex;gap:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pdf-stats span{display:inline-block}.processing-log{display:flex;flex-direction:column;gap:var(--space-2);max-height:500px;overflow-y:auto;padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border-primary)}.log-entry{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family-mono)}.log-icon{flex-shrink:0;font-size:var(--font-size-lg)}.log-timestamp{flex-shrink:0;color:var(--color-text-secondary);min-width:180px}.log-message{flex:1;color:var(--color-text-primary);word-break:break-word}.log-entry-info{background:var(--color-bg-primary);border-left:3px solid var(--color-primary)}.log-entry-info .log-icon{color:var(--color-primary)}.log-entry-success{background:var(--color-success-bg);border-left:4px solid var(--color-success)}.log-entry-success .log-icon{color:var(--color-success-hover)}.log-entry-warning{background:#f59e0b0d;border-left:4px solid var(--color-warning)}.log-entry-warning .log-icon{color:var(--color-warning-hover)}.log-entry-error{background:var(--color-error-bg);border-left:4px solid var(--color-error)}.log-entry-error .log-icon{color:var(--color-error-hover)}.config-snapshot{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--color-border-primary);max-height:400px;overflow-y:auto}.config-json{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-primary);margin:0;white-space:pre-wrap;word-break:break-word}.config-unavailable{text-align:center;color:var(--color-text-secondary);font-style:italic;margin:var(--space-6) 0}.workflow-config{display:flex;flex-direction:column;gap:var(--space-6)}.config-section{background:var(--color-bg-primary);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--color-border-primary)}.config-section-title{margin:0 0 var(--space-3) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:2px solid var(--color-border-primary);padding-bottom:var(--space-2)}.config-items{display:flex;flex-direction:column;gap:var(--space-3)}.job-details-container .config-item{display:flex;justify-content:flex-start;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);background:var(--color-bg-secondary);border-radius:var(--radius-sm);border-bottom:none}.job-details-container .config-label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);flex-shrink:0}.job-details-container .config-value{color:var(--color-text-primary);font-family:var(--font-family-mono);font-size:var(--font-size-sm);word-break:break-word}.job-id{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-primary);word-break:break-all}.portfolio-upload-card{padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg)}.portfolio-status-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.portfolio-status-icon{font-size:20px}.portfolio-status-header span{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-text-primary)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);font-size:var(--font-size-sm)}.portfolio-stat{display:flex;flex-direction:column;gap:var(--space-1)}.portfolio-stat-label{color:var(--color-text-secondary);margin-bottom:var(--space-1)}.portfolio-stat-value{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.portfolio-stat-success{color:var(--color-success)}.portfolio-stat-error{color:var(--color-error)}.portfolio-error{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-error-text)}.log-empty{padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);text-align:center;color:var(--color-text-secondary)}.log-empty p{margin:0}.log-technical-wrapper{margin-top:var(--space-2);margin-left:var(--space-6)}.log-technical-summary{cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.log-technical-details{margin-top:var(--space-2);padding:var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);font-size:11px;overflow:auto;max-width:100%;color:var(--color-text-primary)}.job-details-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4)}.job-details-loading p{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.job-details-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4);text-align:center}.error-icon{font-size:64px}.job-details-error h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.job-details-error p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}@media (prefers-color-scheme: dark){.job-details-container .config-snapshot{background:#1e293b;border-color:#334155}.job-details-container .job-section .config-section{background:#0f172a;border-color:#334155}.job-details-container .config-section-title{color:#f1f5f9;border-bottom-color:#475569}.job-details-container .config-item{background:#1e293b}.job-details-container .config-label{color:#94a3b8}.job-details-container .config-value{color:#f1f5f9}.job-details-container .processing-log{background:#1e293b;border-color:#334155}.job-details-container .log-entry.log-entry-info{background:#0f172a}.job-details-container .log-entry.log-entry-success{background:var(--color-success-bg)}.job-details-container .log-entry.log-entry-warning{background:#f59e0b1a}.job-details-container .log-entry.log-entry-error{background:var(--color-error-bg)}.job-details-container .log-timestamp{color:#94a3b8}.job-details-container .log-message{color:#f1f5f9}.job-details-container .pdf-item{background:#1e293b;border-color:#334155}.job-details-container .pdf-item:hover{border-color:#60a5fa}.job-details-container .pdf-item.pdf-item-selected{background:#3b82f626;border-color:#60a5fa}.job-details-container .pdf-name{color:#f1f5f9}.job-details-container .pdf-stats{color:#94a3b8}.job-details-container .summary-stat{background:#1e293b;border-color:#334155}.job-details-container .summary-stat-value{color:#f1f5f9}.job-details-container .summary-stat-label{color:#94a3b8}.job-details-container .progress-bar{background:#334155;border-color:#475569}.job-details-container .job-id{background:#1e293b;border-color:#334155;color:#cbd5e1}.job-details-container .config-unavailable{color:#94a3b8}.job-details-container .log-empty{background:#1e293b;border-color:#334155;color:#94a3b8}.job-details-container .log-technical-summary{color:#94a3b8}.job-details-container .log-technical-details{background:#0f172a;border-color:#334155;color:#cbd5e1}.job-details-container .portfolio-upload-card{background:#1e293b;border-color:#334155}.job-details-container .portfolio-status-header span{color:#f1f5f9}.job-details-container .portfolio-stat-label{color:#94a3b8}.job-details-container .portfolio-stat-value{color:#f1f5f9}.job-details-container .portfolio-error{background:#ef444426;border-color:#ef444466;color:var(--color-error-border)}}@media (max-width: 768px){.job-details-container,.rp-job-header{padding:var(--space-4)}.job-header-main{flex-direction:column;align-items:flex-start}.job-metadata{flex-direction:column;gap:var(--space-3)}.summary-stats{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}.pdf-actions{width:100%;flex-direction:column}.pdf-item{flex-wrap:wrap}.log-entry{flex-direction:column;gap:var(--space-2)}.log-timestamp{min-width:auto}}.jobs-container{padding:24px;max-width:1400px;margin:0 auto;background:var(--color-bg-secondary);min-height:100vh;position:relative;z-index:auto}.jobs-count{display:inline-block;padding:4px 10px;background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:12px;font-size:14px;font-weight:500}.polling-indicator{display:flex;align-items:center;gap:8px;padding:6px 12px;background-color:var(--color-success-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-success);border-radius:8px}.polling-dot{width:8px;height:8px;background-color:var(--color-success);border-radius:50%;animation:pulse 2s ease-in-out infinite}.polling-text{font-size:13px;color:var(--color-success-text);font-weight:500}.jobs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.job-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.job-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.job-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.job-card-title{display:flex;align-items:center;gap:12px;flex:1}.job-icon{font-size:24px;flex-shrink:0}.job-card-title h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary);line-height:1.3}.status-badge{display:inline-block;padding:0;border-radius:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;background:none;border:none}.status-processing{background:none;color:var(--color-gray-500);border:none}.status-processing .status-icon{display:inline-block;animation:spin-processing 2s linear infinite}.status-completed{background:none;color:var(--color-primary-dark);border:none}.status-queued{background:none;color:var(--color-primary);border:none}.status-failed{background:none;color:var(--color-error-hover);border:none}.status-partial-success{background:none;color:var(--color-warning);border:none}.status-pending{background:none;color:var(--color-gray-400);border:none}.job-card-body{margin-bottom:16px}.job-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.job-info-item{display:flex;gap:8px}.job-info-label{font-size:14px;color:var(--color-text-secondary);font-weight:500}.job-info-value{font-size:14px;color:var(--color-text-primary)}.progress-container{margin-top:12px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.progress-label{font-size:13px;font-weight:600;color:var(--color-text-primary)}.progress-stats{font-size:13px;color:var(--color-text-secondary);font-family:monospace}.progress-track{height:8px;background-color:var(--color-bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark));border-radius:4px;transition:width .5s ease-out}.job-card-footer{display:flex;justify-content:flex-end}.view-details-btn{padding:8px 16px;background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.detail-section{margin-bottom:28px;flex-shrink:0}.job-detail-modal .rp-modal-body{display:flex;flex-direction:column;overflow:hidden;gap:0}.job-detail-modal .log-section{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:0}.job-detail-modal .log-body{flex:1;min-height:0;max-height:none;overflow-y:auto}.detail-title{font-size:14px;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.sum-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.sum-item{display:flex;flex-direction:column;gap:4px}.sum-label{font-size:12px;color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.sum-value{font-size:15px;color:var(--color-text-primary);font-weight:500}.counts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.count-box{text-align:center;padding:16px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.count-value{font-size:32px;font-weight:700;color:var(--color-primary);margin-bottom:4px}.count-label{font-size:13px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.pdf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.pdf-header .detail-title{margin-bottom:0;flex-shrink:0}.pdf-actions{display:flex;gap:12px;align-items:center}.job-detail-modal .pdf-list{max-height:300px;overflow-y:auto;border:1px solid var(--color-border-primary);border-radius:8px;background-color:var(--color-bg-primary)}.jdm-pdf-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-primary);border:none;border-bottom:1px solid var(--color-border-primary);border-radius:0;cursor:pointer;transition:background-color .15s}.jdm-pdf-item:last-child{border-bottom:none}.jdm-pdf-item:hover{background-color:var(--color-primary-surface)}.jdm-pdf-item.pdf-item--selected{background-color:var(--color-primary-surface);border-bottom-color:var(--color-primary-border)}.jdm-pdf-item.pdf-item--selected:last-child{border-bottom:1px solid var(--color-primary-border)}.job-detail-modal .pdf-check{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.job-detail-modal .pdf-icon{font-size:20px;flex-shrink:0;color:var(--color-text-secondary)}.job-detail-modal .pdf-name{font-size:14px;color:var(--color-primary);flex:1;font-weight:500}.job-detail-modal .pdf-name:hover{text-decoration:underline}.log-body{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:16px;max-height:250px;overflow-y:auto}.log-entry{padding:12px;margin-bottom:8px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px}.log-entry.log-entry--error{background-color:var(--color-error-bg);border-left-width:4px;border-left-color:var(--color-error)}.log-entry-head{display:flex;gap:8px;margin-bottom:4px;font-size:12px}.log-level{font-weight:600;color:var(--color-text-secondary)}.log-level.log-level--error{color:var(--color-error-text)}.log-cat{font-weight:600;color:var(--color-text-tertiary)}.log-time{font-size:11px;color:var(--color-text-tertiary);font-family:monospace}.log-msg{font-size:13px;color:var(--color-text-primary)}.log-msg.log-msg--error{color:var(--color-error-text)}.log-details{margin-top:8px;background:transparent}.log-details-btn{cursor:pointer;font-size:12px;color:var(--color-text-tertiary);padding:4px 0}.log-code{margin-top:8px;padding:8px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;font-size:11px;overflow:auto;max-height:200px;font-family:monospace;color:var(--color-text-primary)}.log-empty{padding:16px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:6px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.job-detail-modal .rp-modal-footer .rp-btn-secondary{background:var(--color-bg-secondary)}.job-detail-modal .rp-modal-footer .rp-btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary)}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.log-header .detail-title{margin-bottom:0}.log-toggles{display:flex;gap:4px}.log-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--color-border-primary);border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;background:var(--color-bg-secondary);color:var(--color-text-tertiary);opacity:.5;transition:opacity .15s,background-color .15s,border-color .15s}.log-toggle.active{opacity:1}.log-toggle-info.active{color:var(--color-primary);border-color:var(--color-primary);background:#4f46e50f}.log-toggle-warning.active{color:var(--color-warning-text);border-color:var(--color-warning);background:#fbbf2414}.log-toggle-error.active{color:var(--color-error-hover);border-color:var(--color-error);background:#ef44440f}.log-entry.log-entry--warning{background-color:#fbbf240d;border-left-width:4px;border-left-color:var(--color-warning)}.log-level.log-level--warning,.log-msg.log-msg--warning{color:var(--color-warning-text)}.job-row{cursor:default}.job-name{font-weight:500;color:var(--color-text-primary)}.workflow-name,.dataset-name{color:var(--color-text-secondary);font-size:13px}.student-count,.pdf-count{text-align:center;font-weight:500;color:var(--color-text-primary)}@media (max-width: 1024px){.header-right{width:100%;justify-content:flex-start}.jobs-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.sum-grid{grid-template-columns:1fr}.pdf-header{flex-direction:column;align-items:flex-start}.pdf-actions{width:100%}}@media (max-width: 768px){.jobs-container{padding:16px}.header-left h1{font-size:24px}.jobs-list,.counts-grid{grid-template-columns:1fr}}@media (prefers-color-scheme: dark){.jobs-container{background-color:var(--color-gray-900)}.header-left h1,.modal-header h2,.job-card-title h3,.empty h3,.job-name,.detail-title,.progress-label,.log-msg{color:var(--color-gray-100)!important}.sum-label{color:var(--color-gray-300)!important}.jobs-count,.client-badge,.job-info-label,.job-info-value,.progress-stats,.sum-value,.count-label,.pdf-name,.log-time,.detail-muted,.student-count,.pdf-count,.loading p,.error p,.empty p,.date,.status-processing{color:var(--color-gray-400)!important}.status-completed{color:var(--color-primary)!important}.status-queued{color:#60a5fa!important}.status-failed{color:var(--color-error)!important}.status-partial-success{color:var(--color-warning)!important}.status-pending{color:var(--color-gray-500)!important}.job-card,.count-box,.pdf-list,.log-body,.job-card:hover{box-shadow:0 4px 6px #0006}.modal-content-large{background-color:var(--color-gray-800)!important}.modal-header,.modal-footer{background-color:var(--color-gray-800)!important;border-color:var(--color-gray-700)!important}.modal-body{background-color:var(--color-gray-900)!important}.progress-track{background-color:var(--color-gray-700)}.job-detail-modal .pdf-list{background-color:var(--color-gray-800)}.job-detail-modal .pdf-item{background-color:var(--color-gray-800);border-bottom-color:var(--color-gray-700)}.job-detail-modal .pdf-item:hover{background-color:#4f46e526}.job-detail-modal .pdf-item--selected{background-color:#4f46e533}.job-detail-modal .pdf-name{color:#60a5fa!important}.job-detail-modal .pdf-icon{color:var(--color-gray-400)}.log-entry{background-color:var(--color-gray-800);border-color:var(--color-gray-700)}.log-entry.log-entry--error{background-color:var(--color-error-bg);border-color:color-mix(in srgb,var(--color-error) 30%,transparent)}.log-level.log-level--error,.log-msg.log-msg--error{color:var(--color-error)!important}.log-code{background-color:var(--color-gray-900);border-color:var(--color-gray-700)}.log-empty{background-color:var(--color-gray-800);border-color:var(--color-gray-700)}.log-toggle{background:var(--color-gray-800);border-color:var(--color-gray-700);color:var(--color-gray-500)}.log-toggle-info.active{color:#60a5fa;border-color:#60a5fa;background:#60a5fa1a}.log-toggle-warning.active{color:var(--color-warning-border);border-color:var(--color-warning);background:#fbbf241a}.log-toggle-error.active{color:var(--color-error);border-color:var(--color-error);background:var(--color-error-bg)}.log-entry.log-entry--warning{background-color:#fbbf2414;border-color:#fbbf244d}.log-level.log-level--warning,.log-msg.log-msg--warning{color:var(--color-warning-border)!important}.view-details-btn,.action-button,.action-button:hover{background-color:var(--color-gray-600)!important;border-color:var(--color-gray-500)!important}.view-details-btn:hover{background-color:var(--color-primary)!important;color:var(--color-text-on-primary)!important;border-color:var(--color-primary)!important}.client-name,.count-value{color:#60a5fa!important}.polling-indicator{background-color:var(--color-success-bg);border-color:#10b9814d}.polling-text{color:var(--color-success)}}.doc-type-icon{color:var(--color-text-tertiary);margin-right:.375rem;font-size:.875rem}td.workflow-name.rp-table-col-longtext .rp-tooltip-trigger{display:inline-flex}.field-selector{display:flex;flex-direction:column;gap:6px}.field-selector--disabled{opacity:.6;pointer-events:none}.field-selector-selected{display:flex;flex-direction:column;gap:6px}.selected-summary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;background:var(--color-bg-secondary);border:none;border-radius:6px;cursor:pointer;transition:background .15s ease}.selected-summary:hover{background:var(--color-bg-tertiary)}.selected-label{font-size:12px;font-weight:500;color:var(--color-text-secondary)}.selected-toggle-icon{font-size:10px;color:var(--color-text-tertiary)}.selected-chips{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0}.selected-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 10px;background:var(--color-bg-tertiary);color:var(--color-text-primary);border-radius:12px;font-size:12px;font-weight:500}.selected-chip button{display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;width:16px;height:16px;padding:0;cursor:pointer;color:var(--color-text-tertiary);font-size:10px}.selected-chip button:hover{color:var(--color-error)}.field-selector-body{border:1px solid var(--color-border-primary);border-radius:8px;background:var(--color-bg-primary);overflow:hidden}.field-selector-search{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--color-border-primary)}.field-selector-search .search-icon{position:static;flex-shrink:0;color:var(--color-text-tertiary);font-size:12px;margin-right:8px}.field-selector .field-selector-search input{flex:1;padding:0;border:none;border-radius:0;font-size:13px;background:transparent;color:var(--color-text-primary)}.field-selector .field-selector-search input:focus{outline:none;border:none;box-shadow:none}.field-selector-search .search-clear{position:absolute;right:6px;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:4px 6px;display:flex;align-items:center;justify-content:center}.field-selector-search .search-clear:hover{color:var(--color-text-primary)}.field-selector-list{display:flex;flex-direction:column;gap:1px;max-height:200px;overflow-y:auto;padding:4px}.field-selector-empty{padding:20px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.field-option{display:flex;align-items:center;gap:8px;padding:5px 8px;border:none;border-radius:4px;background:none;cursor:pointer;text-align:left;transition:background .1s ease;width:100%}.field-option:hover:not(:disabled){background:var(--color-bg-secondary)}.field-option.selected{background:#3b82f614}.field-option.pii-blocked{opacity:.5;cursor:not-allowed}.field-option:disabled{cursor:not-allowed}.field-checkbox{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--color-border-secondary);border-radius:3px;flex-shrink:0;color:#fff;font-size:8px;background:var(--color-bg-primary)}.field-option.selected .field-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.field-option.pii-blocked .field-checkbox{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.field-name{font-weight:400;color:var(--color-text-primary);font-size:14px;flex:1}.field-option.selected .field-name{font-weight:500}.field-label{font-size:12px;color:var(--color-text-tertiary);margin-left:auto}.pii-badge{font-size:9px;font-weight:600;padding:1px 5px;background:var(--color-error);color:#fff;border-radius:3px;text-transform:uppercase}.field-selector-actions{display:flex;align-items:center;gap:4px}.field-count{font-size:12px;color:var(--color-text-tertiary);margin-right:auto}.pii-count{color:var(--color-error)}.btn-text{background:none;border:none;padding:4px 8px;font-size:12px;color:var(--color-text-secondary);cursor:pointer;transition:color .15s ease}.btn-text:hover:not(:disabled){color:var(--color-primary)}.btn-text:disabled{opacity:.4;cursor:not-allowed}.code-display{display:flex;flex-direction:column;gap:16px}.code-display--loading,.code-display--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:var(--color-bg-secondary);border:2px dashed var(--color-border-primary);border-radius:12px;color:var(--color-text-secondary);text-align:center;min-height:200px}.code-loading{display:flex;flex-direction:column;align-items:center;gap:16px}.code-loading-spinner{width:40px;height:40px;border:3px solid var(--color-border-primary);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s linear infinite}.code-loading span{font-size:14px;color:var(--color-text-secondary)}.empty-icon{font-size:48px;color:var(--color-border-secondary);margin-bottom:16px}.code-display--empty p{margin:0;font-size:15px}.empty-hint{font-size:13px!important;margin-top:8px!important;opacity:.7}.code-explanation{padding:16px;background:var(--color-primary-surface);border:1px solid var(--color-primary-subtle);border-radius:10px}.explanation-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--color-primary);font-weight:600;font-size:14px}.code-explanation p{margin:0;color:var(--color-text-primary);font-size:14px;line-height:1.6}.code-warnings{display:flex;flex-direction:column;gap:8px}.code-warning{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:8px;color:var(--color-warning-text);font-size:13px}.warning-icon{flex-shrink:0}.code-block{border:1px solid var(--color-border-primary);border-radius:10px;overflow:hidden;background:#1e1e2e}.code-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#2d2d3f;border-bottom:1px solid #3d3d4f}.code-language{font-size:12px;font-weight:600;color:#a0a0b0;text-transform:uppercase;letter-spacing:.5px}.copy-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff1a;border:none;border-radius:6px;color:#a0a0b0;font-size:12px;cursor:pointer;transition:all .15s ease}.copy-btn:hover{background:#ffffff26;color:#fff}.copy-btn.copied{background:#22c55e33;color:#4ade80}.code-content{margin:0;padding:20px;overflow-x:auto;font-family:Fira Code,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;color:#e0e0e0}.code-content code{font-family:inherit;white-space:pre}.code-content::-webkit-scrollbar{height:8px}.code-content::-webkit-scrollbar-track{background:#2d2d3f}.code-content::-webkit-scrollbar-thumb{background:#4d4d5f;border-radius:4px}.code-content::-webkit-scrollbar-thumb:hover{background:#5d5d6f}.ai-output--idle .code-display--empty{border-color:var(--color-border-primary);opacity:.8}.ai-output--loading .code-display--loading{border-color:var(--color-primary);border-style:solid;animation:subtlePulse 2s ease-in-out infinite}@keyframes subtlePulse{0%,to{opacity:.7}50%{opacity:1}}.test-results{border:1px solid var(--color-border-primary);border-radius:12px;overflow:hidden;background:var(--color-bg-primary)}.test-results--loading,.test-results--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:var(--color-bg-secondary);border:2px dashed var(--color-border-primary);color:var(--color-text-secondary);text-align:center;min-height:150px}.test-loading{display:flex;flex-direction:column;align-items:center;gap:16px}.test-loading-spinner{width:32px;height:32px;border:3px solid var(--color-border-primary);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s linear infinite}.test-loading span{font-size:14px}.test-results--empty .empty-icon{font-size:36px;color:var(--color-border-primary);margin-bottom:12px}.test-results--empty p{margin:0;font-size:14px}.test-results--empty .empty-hint{font-size:12px!important;margin-top:8px!important;opacity:.7}.test-results--success{border-color:var(--color-success)}.test-results--error{border-color:var(--color-error)}.test-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--color-border-primary)}.test-results--success .test-header{background:linear-gradient(135deg,var(--color-success-bg) 0%,var(--color-success-border) 100%);border-bottom-color:var(--color-success-border)}.test-results--error .test-header{background:linear-gradient(135deg,var(--color-error-bg) 0%,var(--color-error-bg) 100%);border-bottom-color:var(--color-error-border)}.test-status{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px}.status-success{color:var(--color-success-hover)}.status-error{color:var(--color-error-hover)}.test-time{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.test-section{padding:16px 20px;border-bottom:1px solid var(--color-border-primary)}.test-section:last-child{border-bottom:none}.test-section h4{margin:0 0 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.test-data{background:var(--color-bg-secondary);border-radius:8px;padding:12px 16px}.test-data pre{margin:0;font-family:Fira Code,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;color:var(--color-text-primary);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.test-result-value{display:flex;align-items:baseline;gap:10px;padding:16px;background:linear-gradient(135deg,var(--color-success-bg) 0%,var(--color-success-border) 100%);border-radius:8px}.result-value{font-family:Fira Code,Monaco,Consolas,monospace;font-size:16px;font-weight:600;color:var(--color-success-hover)}.result-null{font-family:Fira Code,Monaco,Consolas,monospace;font-size:16px;font-style:italic;color:#9ca3af}.result-type{font-size:12px;color:var(--color-text-secondary)}.test-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;padding:12px 16px}.test-error pre{margin:0;font-family:Fira Code,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;color:var(--color-error-hover);white-space:pre-wrap;word-break:break-word}.test-warnings{display:flex;flex-direction:column;gap:8px}.test-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:var(--color-warning-bg);border-radius:6px;font-size:13px;color:var(--color-warning-text)}@media (prefers-color-scheme: dark){.test-results{background:var(--color-bg-primary);border-color:var(--color-border-primary)}.test-results--success{border-color:var(--color-success)}.test-results--success .test-header{background:#22c55e26;border-bottom-color:#22c55e4d}.test-results--error{border-color:var(--color-error)}.test-results--error .test-header{background:#ef444426;border-bottom-color:color-mix(in srgb,var(--color-error) 30%,transparent)}.status-success{color:var(--color-success)}.status-error{color:var(--color-error)}.test-header,.test-section{border-bottom-color:var(--color-border-primary)}.test-section h4{color:var(--color-text-secondary)}.test-data{background:var(--color-bg-secondary)}.test-data pre{color:var(--color-text-primary)}.test-result-value{background:#22c55e26}.result-value{color:var(--color-success)}.test-error{background:#ef444426;border-color:color-mix(in srgb,var(--color-error) 30%,transparent)}.test-error pre{color:var(--color-error)}.test-warning{background:#fbbf2426;color:var(--color-warning)}.test-results--loading,.test-results--empty{background:var(--color-bg-secondary);border-color:var(--color-border-primary);color:var(--color-text-secondary)}}.transform-type-selector{margin-bottom:24px}.transform-type-selector-title{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.transform-type-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.transform-type-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 16px;background:var(--color-bg-primary);border:2px solid var(--color-border-primary);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:center}.transform-type-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #3b82f61a}.transform-type-card.selected{border-color:var(--color-primary);background:var(--color-primary-bg);box-shadow:0 0 0 3px #3b82f626}.transform-type-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--color-bg-secondary);color:var(--color-primary);font-size:20px}.transform-type-card.selected .transform-type-card-icon{background:var(--color-primary);color:#fff}.transform-type-card-content{display:flex;flex-direction:column;gap:4px}.transform-type-card-label{font-size:15px;font-weight:600;color:var(--color-text-primary)}.transform-type-card-description{font-size:13px;color:var(--color-text-secondary);line-height:1.4}.transform-type-cards .rp-tooltip-trigger{display:flex;flex-direction:column;align-items:stretch}.transform-type-cards .rp-tooltip-trigger>.transform-type-card{flex:1}.transform-type-badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:10px}.badge--basic{background:var(--color-success-bg);color:var(--color-success-text)}.badge--intermediate{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge--advanced{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}@media (prefers-color-scheme: dark){.transform-type-card.selected{background:#60a5fa1a}.badge--basic{background:#22c55e33;color:#86efac}.badge--intermediate{background:#f59e0b33;color:var(--color-warning-border)}}@media (max-width: 600px){.transform-type-cards{grid-template-columns:1fr}}.static-transform-form{padding:4px 0}.static-transform-form .form-group{margin-bottom:16px}.static-transform-form .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--color-text-primary)}.static-transform-form .required{color:var(--color-error)}.static-transform-form .optional{font-weight:400;color:var(--color-text-secondary);font-size:12px}.static-transform-form .field-locked{opacity:.7;cursor:not-allowed}.static-transform-form .helpText{display:block;margin-top:4px;font-size:12px;color:var(--color-text-secondary)}.static-transform-form input[type=text],.static-transform-form select,.static-transform-form textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border-primary);border-radius:8px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .15s ease}.static-transform-form input[type=text]:focus,.static-transform-form select:focus,.static-transform-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.static-transform-form textarea{resize:vertical;min-height:60px}.static-transform-preview{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:16px;background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:8px;font-size:14px;color:var(--color-success-text)}.static-transform-preview .preview-icon{color:var(--color-success);font-size:16px;flex-shrink:0}.static-transform-error{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:16px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;font-size:14px;color:var(--color-error-text)}.static-save-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;font-size:14px;font-weight:600}.rp-tooltip-trigger:has(.static-save-btn){display:block;width:100%}@media (prefers-color-scheme: dark){.static-transform-preview{background:#22c55e1a;border-color:#22c55e4d;color:#86efac}.static-transform-error{background:var(--color-error-bg);border-color:color-mix(in srgb,var(--color-error) 30%,transparent);color:var(--color-error-border)}}.expression-reference{border:1px solid var(--color-border-primary);border-radius:10px;overflow:hidden;margin-bottom:16px}.expression-reference-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:var(--color-bg-secondary);border:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--color-text-primary);transition:background .15s}.expression-reference-toggle:hover{background:var(--color-bg-tertiary, #e5e7eb)}.expression-reference-toggle svg{color:var(--color-text-secondary);font-size:12px}.expression-reference-content{padding:16px;border-top:1px solid var(--color-border-primary);max-height:400px;overflow-y:auto}.ref-section{margin-bottom:20px}.ref-section:last-child{margin-bottom:0}.ref-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin:0 0 10px}.ref-variables{display:flex;flex-direction:column;gap:8px}.ref-variable{padding:8px 12px;background:var(--color-bg-secondary);border-radius:6px}.ref-variable-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.ref-var-name{font-size:13px;font-weight:600;color:var(--color-primary);background:#3b82f61a;padding:1px 6px;border-radius:4px}.ref-var-type{font-size:11px;color:var(--color-text-secondary);font-style:italic}.ref-var-desc{font-size:12px;color:var(--color-text-secondary)}.ref-var-keys{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.ref-var-key{font-size:11px;padding:1px 6px;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px;color:var(--color-text-secondary)}.ref-functions{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}.ref-function{display:flex;flex-direction:column;padding:6px 10px;background:var(--color-bg-secondary);border-radius:6px}.ref-func-name{font-size:12px;font-weight:600;color:var(--color-text-primary)}.ref-func-desc{font-size:11px;color:var(--color-text-secondary)}.ref-examples{display:flex;flex-direction:column;gap:8px}.ref-example{border:1px solid var(--color-border-primary);border-radius:6px;overflow:hidden}.ref-example-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--color-bg-secondary)}.ref-example-label{font-size:12px;font-weight:500;color:var(--color-text-primary)}.ref-copy-btn{display:flex;align-items:center;gap:4px;padding:2px 8px;background:none;border:1px solid var(--color-border-primary);border-radius:4px;font-size:11px;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.ref-copy-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.ref-example-code{display:block;padding:8px 10px;font-size:12px;font-family:JetBrains Mono,Fira Code,monospace;color:var(--color-text-primary);background:var(--color-bg-primary);word-break:break-all;white-space:pre-wrap}.expression-transform-form{padding:4px 0}.expression-form-layout{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}@media (max-width: 900px){.expression-form-layout{grid-template-columns:1fr}}.expression-form-main .form-group{margin-bottom:16px}.expression-form-main .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--color-text-primary)}.expression-form-main .required{color:var(--color-error)}.expression-form-main .optional{font-weight:400;color:var(--color-text-secondary);font-size:12px}.expression-form-main .field-locked{opacity:.7;cursor:not-allowed}.expression-form-main .helpText{display:block;margin-top:4px;font-size:12px;color:var(--color-text-secondary)}.expression-form-main input[type=text],.expression-form-main select,.expression-form-main textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border-primary);border-radius:8px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .15s ease}.expression-form-main input[type=text]:focus,.expression-form-main select:focus,.expression-form-main textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.expression-textarea{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace!important;font-size:13px!important;line-height:1.5;resize:vertical;min-height:80px}.expression-validation-success{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:16px;background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:8px;font-size:13px;color:var(--color-success-text)}.expression-validation-success svg{color:var(--color-success)}.expression-validation-error{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:16px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;font-size:13px;color:var(--color-error-text)}.expression-actions{display:flex;gap:10px;margin-bottom:16px}.expression-actions .btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:600;flex:1}.expression-actions .rp-tooltip-trigger{flex:1;display:flex}.expression-test-results{margin-top:16px}.expression-test-results h4{font-size:14px;font-weight:600;margin:0 0 10px;color:var(--color-text-primary)}.expression-form-reference{position:sticky;top:0}@media (prefers-color-scheme: dark){.expression-validation-success{background:#22c55e1a;border-color:#22c55e4d;color:#86efac}.expression-validation-error{background:var(--color-error-bg);border-color:color-mix(in srgb,var(--color-error) 30%,transparent);color:var(--color-error-border)}}.freetext-manager,.freetext-editor{padding:2rem;max-width:1400px;margin:0 auto;width:100%;background:var(--color-bg-secondary);min-height:calc(100vh - 64px)}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center}.error-message{background:var(--color-error-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-error);color:var(--color-error-hover);padding:1rem;border-radius:.5rem;margin-bottom:1.5rem}.header-nav{margin-bottom:1rem}.rp-freetext-manager-header{margin-bottom:2rem;background:var(--color-bg-primary);padding:2rem;border-radius:.75rem;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;gap:1rem}.freetext-manager-header-content{flex:1}.rp-freetext-manager-header h1{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .5rem}.rp-freetext-manager-header p{color:var(--color-text-secondary);margin:0}.ft-page-stats{display:flex;align-items:center;gap:6px;flex-shrink:0}.ft-stat-pill{display:flex;flex-direction:column;align-items:center;padding:10px 18px;background:var(--color-bg-subtle);border:1px solid var(--color-border-primary);border-radius:8px;text-align:center;min-width:76px}.ft-stat-n{font-size:22px;font-weight:700;letter-spacing:-.04em;line-height:1;margin-bottom:3px;font-family:var(--font-family-mono);color:var(--color-text-primary)}.ft-stat-n--green{color:var(--color-success)}.ft-stat-n--muted{color:var(--color-gray-400)}.ft-stat-l{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--color-gray-400)}.ft-stat-pill--clickable{cursor:pointer;transition:border-color .15s,background .15s}.ft-stat-pill--clickable:not(.ft-stat-pill--active):hover{border-color:var(--color-primary);background:var(--color-bg-subtle)}.ft-stat-pill--active{border-color:var(--color-primary);background:var(--color-primary-bg)}@media (prefers-color-scheme: dark){.ft-stat-pill--active{background:#60a5fa1f}}.ft-stat-pill--active .ft-stat-l{color:var(--color-primary)}.search-bar{margin-bottom:1.5rem}.search-input{width:100%;max-width:400px;padding:.75rem 1rem;border:1px solid var(--color-border-primary);border-radius:.5rem;font-size:1rem;background:var(--color-bg-primary);color:var(--color-text-primary)}.workflow-list{display:flex;flex-direction:column;gap:0}.ft-list-section{margin-bottom:1.5rem}.ft-section-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:0 2px}.ft-section-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-400);white-space:nowrap;font-family:var(--font-mono, monospace)}.ft-section-count{font-size:10px;font-weight:700;color:var(--color-gray-400);background:var(--color-border-primary);border-radius:3px;padding:1px 6px;font-family:var(--font-mono, monospace)}.ft-section-rule{flex:1;height:1px;background:var(--color-border-primary)}.ft-list-rows{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:9px;overflow:hidden}.ft-list-row{display:flex;align-items:center;height:48px;border-bottom:1px solid var(--color-border-primary);cursor:pointer;transition:background .08s;position:relative}.ft-list-row:last-child{border-bottom:none}.ft-list-row:hover{background:var(--color-bg-subtle)}@media (prefers-color-scheme: dark){.ft-list-row:hover{background:#ffffff0d}}.ft-row-dot{width:3px;align-self:stretch;flex-shrink:0;background:var(--color-border-primary)}.ft-list-row.ok .ft-row-dot{background:var(--color-success)}.ft-row-inner{flex:1;display:flex;align-items:center;gap:12px;padding:0 16px 0 13px;min-width:0}.ft-row-name-group{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.ft-row-name{font-size:13.5px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-row-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.ft-row-fields{font-size:12px;font-weight:500;color:var(--color-text-secondary);font-family:var(--font-mono, monospace);white-space:nowrap}.ft-list-row.ok .ft-row-fields{color:var(--color-success-text);font-weight:600}.ft-row-status{font-size:12px;font-weight:500;color:var(--color-text-secondary);width:110px;text-align:right}.ft-list-row.ok .ft-row-status{color:var(--color-success-text);font-weight:600}.ft-row-chevron{font-size:16px;color:var(--color-border-primary);flex-shrink:0;transition:color .12s,transform .12s;padding-right:4px}.ft-list-row:hover .ft-row-chevron{color:var(--color-primary);transform:translate(2px)}.status-badge{padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.status-badge.configured{background:var(--color-success-bg);color:var(--color-success-text);border:1.5px solid var(--color-success)}.status-badge.not-configured{background:var(--color-error-bg);color:var(--color-error-hover);border:1.5px solid var(--color-error)}.ft-reorder-btn{display:inline-flex;align-items:center;gap:6px;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.ft-reorder-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-subtle)}.ft-reorder-btn--active{border-color:var(--color-success-border);color:var(--color-success-text);background:var(--color-success-bg)}.ft-reorder-btn--active:hover{border-color:var(--color-success);color:var(--color-success-text);background:var(--color-success-bg);opacity:.85}.ft-section-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--color-text-tertiary);cursor:grab;border-radius:4px;flex-shrink:0;transition:color .12s,background .12s}.ft-section-drag-handle:hover{color:var(--color-primary);background:var(--color-bg-subtle)}.ft-section-drag-handle:active{cursor:grabbing}.ft-list-rows--reordering .ft-list-row{cursor:default;pointer-events:none}.fields-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-primary)}.fields-header h2{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:1rem 0 .5rem}.fields-header p{color:var(--color-text-secondary);margin:0}.fields-list{display:grid;gap:1rem}.field-card{border:1px solid var(--color-border-primary);border-radius:.5rem;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;transition:border-color .2s}.field-card:hover{border-color:var(--color-primary)}.field-info h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.field-dimensions{font-size:.875rem;color:var(--color-text-secondary);margin:0 0 .5rem}.field-status{font-size:.875rem;font-weight:500;margin:0}.field-status.configured{color:var(--color-active)}.field-status.not-configured{color:var(--color-inactive)}.btn-edit{background:var(--color-brand-blue);color:var(--color-text-on-primary);border:none;padding:.5rem 1.5rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background .2s}.rp-freetext-editor-header{background:var(--color-bg-primary);padding:1.5rem 2rem;border-radius:.75rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.freetext-editor-header-content{display:flex;flex-direction:column;gap:.25rem}.rp-freetext-editor-header h1{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin:0}.rp-freetext-editor-header p{color:var(--color-text-tertiary);font-size:.75rem;margin:0;opacity:.7}.rp-freetext-editor-header .field-dimensions{color:var(--color-text-tertiary);font-size:.7rem;opacity:.6;align-self:flex-start}.editor-actions{display:flex;gap:1rem;margin-top:1.5rem;background:var(--color-bg-primary);padding:1rem;border-radius:.75rem;box-shadow:var(--shadow-sm)}.btn-preview,.btn-save,.btn-cancel,.btn-reset{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;border:none}.btn-preview{background:var(--color-purple);color:var(--color-text-on-primary)}.btn-preview:hover:not(:disabled){background:var(--color-purple-dark)}.btn-save{background:var(--color-brand-blue);color:var(--color-text-on-primary)}.btn-save:hover:not(:disabled){background:var(--color-brand-blue-dark);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.btn-cancel{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.btn-cancel:hover{background:var(--color-bg-tertiary)}.btn-reset{background:var(--color-warning);color:#fff}.btn-reset:hover{background:var(--color-warning-hover)}.btn-reset:disabled{opacity:.5;cursor:not-allowed}.btn-preview:disabled,.btn-save:disabled{opacity:.5;cursor:not-allowed}.editor-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.editor-panel{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:.75rem;padding:0;box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column}.preview-panel{background:var(--color-bg-primary);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow-sm)}.preview-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.editor-panel h2,.preview-panel h2{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.editor-panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--color-border-primary)}.editor-mode-tabs{display:inline-flex;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;padding:3px;gap:2px}.editor-mode-tab{padding:5px 12px;border-radius:5px;font-size:12px;font-weight:500;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.editor-mode-tab.active{background:var(--color-bg-primary);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.editor-mode-tab:hover:not(.active){color:var(--color-text-primary)}.html-code-textarea{display:block;width:calc(100% - 36px);min-height:280px;height:300px;margin:14px 18px;font-family:monospace;font-size:13px;line-height:1.5;resize:vertical;padding:12px;border:1.5px solid var(--color-border-primary);border-radius:8px;background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .15s,box-shadow .15s}.html-code-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.quill-editor-wrapper{border:1px solid var(--color-border-primary);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column}.quill-editor-wrapper .ql-toolbar{border:none;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary);flex-shrink:0}.quill-editor-wrapper .ql-container{border:none;font-family:Arial,Helvetica,sans-serif;font-size:14px;flex:1;overflow-y:auto}.quill-editor-wrapper .ql-editor{min-height:300px;height:100%}.quill-editor-wrapper .ql-editor p{margin:0;padding:0}.quill-editor-wrapper .ql-toolbar button{position:relative}.quill-editor-wrapper .ql-toolbar button:after{content:attr(data-tooltip);position:absolute;bottom:-28px;left:50%;transform:translate(-50%);background:var(--color-gray-800, #1f2937);color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100}.quill-editor-wrapper .ql-toolbar button:hover:after{opacity:1}.quill-editor-wrapper .ql-toolbar button.ql-bold:after{content:"Bold (Ctrl+B)"}.quill-editor-wrapper .ql-toolbar button.ql-italic:after{content:"Italic (Ctrl+I)"}.quill-editor-wrapper .ql-toolbar button.ql-underline:after{content:"Underline (Ctrl+U)"}.quill-editor-wrapper .ql-toolbar button.ql-strike:after{content:"Strikethrough"}.quill-editor-wrapper .ql-toolbar button.ql-list[value=ordered]:after{content:"Numbered List"}.quill-editor-wrapper .ql-toolbar button.ql-list[value=bullet]:after{content:"Bullet List"}.quill-editor-wrapper .ql-toolbar button.ql-indent[value="-1"]:after{content:"Decrease Indent"}.quill-editor-wrapper .ql-toolbar button.ql-indent[value="+1"]:after{content:"Increase Indent"}.quill-editor-wrapper .ql-toolbar button.ql-align:after{content:"Text Alignment"}.quill-editor-wrapper .ql-toolbar button.ql-link:after{content:"Insert Link"}.quill-editor-wrapper .ql-toolbar button.ql-image:after{content:"Insert Image"}.quill-editor-wrapper .ql-toolbar button.ql-clean:after{content:"Clear Formatting"}.quill-editor-wrapper .ql-toolbar button.ql-blockquote:after{content:"Blockquote"}.quill-editor-wrapper .ql-toolbar button.ql-code-block:after{content:"Code Block"}.quill-editor-wrapper .ql-toolbar button.ql-script[value=sub]:after{content:"Subscript"}.quill-editor-wrapper .ql-toolbar button.ql-script[value=super]:after{content:"Superscript"}.quill-editor-wrapper .ql-picker.ql-font{width:130px}.quill-editor-wrapper .ql-picker.ql-size{width:70px}.quill-editor-wrapper .ql-picker.ql-font .ql-picker-label:before,.quill-editor-wrapper .ql-picker.ql-font .ql-picker-item:before{content:"Font"}.quill-editor-wrapper .ql-picker.ql-font .ql-picker-label[data-value=Arial]:before,.quill-editor-wrapper .ql-picker.ql-font .ql-picker-item[data-value=Arial]:before{content:"Arial";font-family:Arial}.quill-editor-wrapper .ql-picker.ql-font .ql-picker-label[data-value=Helvetica]:before,.quill-editor-wrapper .ql-picker.ql-font .ql-picker-item[data-value=Helvetica]:before{content:"Helvetica";font-family:Helvetica}.quill-editor-wrapper .ql-picker.ql-font .ql-picker-label[data-value="Times New Roman"]:before,.quill-editor-wrapper .ql-picker.ql-font .ql-picker-item[data-value="Times New Roman"]:before{content:"Times New Roman";font-family:Times New Roman}.quill-editor-wrapper .ql-picker.ql-font .ql-picker-label[data-value="Courier New"]:before,.quill-editor-wrapper .ql-picker.ql-font .ql-picker-item[data-value="Courier New"]:before{content:"Courier New";font-family:Courier New}.quill-editor-wrapper .ql-picker.ql-font .ql-picker-label[data-value=Georgia]:before,.quill-editor-wrapper .ql-picker.ql-font .ql-picker-item[data-value=Georgia]:before{content:"Georgia";font-family:Georgia}.quill-editor-wrapper .ql-picker.ql-font .ql-picker-label[data-value=Verdana]:before,.quill-editor-wrapper .ql-picker.ql-font .ql-picker-item[data-value=Verdana]:before{content:"Verdana";font-family:Verdana}.quill-editor-wrapper .ql-picker.ql-font .ql-picker-label[data-value=Tahoma]:before,.quill-editor-wrapper .ql-picker.ql-font .ql-picker-item[data-value=Tahoma]:before{content:"Tahoma";font-family:Tahoma}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item:before{content:"Size"}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label[data-value="10px"]:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item[data-value="10px"]:before{content:"10px"}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label[data-value="12px"]:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item[data-value="12px"]:before{content:"12px"}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label[data-value="14px"]:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item[data-value="14px"]:before{content:"14px"}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label[data-value="16px"]:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item[data-value="16px"]:before{content:"16px"}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label[data-value="18px"]:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item[data-value="18px"]:before{content:"18px"}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label[data-value="20px"]:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item[data-value="20px"]:before{content:"20px"}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label[data-value="24px"]:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item[data-value="24px"]:before{content:"24px"}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label[data-value="28px"]:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item[data-value="28px"]:before{content:"28px"}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label[data-value="32px"]:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item[data-value="32px"]:before{content:"32px"}.quill-editor-wrapper .ql-picker.ql-size .ql-picker-label[data-value="36px"]:before,.quill-editor-wrapper .ql-picker.ql-size .ql-picker-item[data-value="36px"]:before{content:"36px"}.preview-image-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.preview-image-container img{width:100%;height:auto;object-fit:contain;border:1px solid var(--color-border-primary);border-radius:.5rem;box-shadow:var(--shadow-md)}.preview-note{font-size:.75rem;color:var(--color-text-tertiary);margin:0}.preview-placeholder{display:flex;align-items:center;justify-content:center;min-height:300px;border:2px dashed var(--color-border-primary);border-radius:.5rem;color:var(--color-text-tertiary);text-align:center;padding:2rem}@media (max-width: 968px){.editor-container{grid-template-columns:1fr}.freetext-manager,.freetext-editor{padding:1rem}.editor-actions{flex-wrap:wrap}}@media (max-width: 640px){.rp-freetext-manager-header h1,.rp-freetext-editor-header h1{font-size:1.5rem}.field-card{padding:1rem}.field-content{grid-template-columns:1fr;gap:1rem;margin-left:2rem}.field-thumbnail{width:100%;max-width:200px;height:auto;aspect-ratio:4/3}.field-actions-column{width:100%;align-items:stretch}.btn-edit{width:100%}.field-name{font-size:1rem}}.freetext-field-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.freetext-field-actions.compact{gap:.25rem}.freetext-field-actions .action-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;border-radius:.375rem;border:1px solid var(--color-border-primary);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.freetext-field-actions.compact .action-button{padding:.375rem .5rem;font-size:.8125rem}.freetext-field-actions.compact .action-button span{display:none}.freetext-field-actions .action-button:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-secondary)}.freetext-field-actions .action-button:disabled{opacity:.5;cursor:not-allowed}.freetext-field-actions .copy-button:hover:not(:disabled){background:var(--color-primary-surface);border-color:var(--color-primary);color:var(--color-primary-dark)}.freetext-field-actions .paste-button.compatible:hover:not(:disabled){background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success-text)}.freetext-field-actions .paste-button.incompatible{border-color:var(--color-warning);color:var(--color-warning-text)}.freetext-field-actions .paste-button.incompatible:hover:not(:disabled){background:var(--color-warning-bg);border-color:var(--color-warning-hover)}.freetext-field-actions .clear-button:hover:not(:disabled){background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error-hover)}.freetext-field-actions .content-indicator{display:inline-flex;align-items:center;color:var(--color-success);font-size:.875rem;margin-left:.25rem}.freetext-field-actions .text-success{color:var(--color-success)}.freetext-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.freetext-header label{margin-bottom:0}.fieldDescription{display:block;font-size:.875rem;color:var(--color-text-tertiary);font-weight:400;margin-top:.25rem}@media (prefers-color-scheme: dark){.quill-editor-wrapper .ql-editor{background:var(--color-bg-primary);color:var(--color-text-primary)}.quill-editor-wrapper .ql-toolbar button{color:var(--color-text-primary)}.quill-editor-wrapper .ql-toolbar button:hover{color:var(--color-primary)}.quill-editor-wrapper .ql-toolbar .ql-stroke{stroke:var(--color-text-primary)}.quill-editor-wrapper .ql-toolbar .ql-fill{fill:var(--color-text-primary)}.quill-editor-wrapper .ql-toolbar .ql-picker-label{color:var(--color-text-primary)}.status-badge.configured{background:var(--color-success-bg);color:var(--color-active);border:1.5px solid var(--color-active)}.status-badge.not-configured{background:var(--color-error-bg);color:var(--color-error);border:1.5px solid var(--color-error)}.freetext-field-actions .copy-button:hover:not(:disabled){background:var(--color-gray-700);border-color:var(--color-primary-muted);color:var(--color-primary-muted)}.freetext-field-actions .paste-button.compatible:hover:not(:disabled){background:var(--color-gray-700);border-color:var(--color-success);color:var(--color-success)}.freetext-field-actions .paste-button.incompatible:hover:not(:disabled){background:var(--color-gray-700);border-color:var(--color-warning);color:var(--color-warning)}.freetext-field-actions .clear-button:hover:not(:disabled){background:var(--color-gray-700);border-color:var(--color-error);color:var(--color-error)}.btn-preview{background:var(--color-primary)!important}.btn-preview:hover:not(:disabled){background:var(--color-primary-muted)!important;transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.btn-save{background:var(--color-primary)!important}.btn-save:hover:not(:disabled){background:var(--color-primary)!important;transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.field-status.configured{color:var(--color-active);background:color-mix(in srgb,var(--color-success) 15%,transparent);border:1px solid var(--color-active)}.field-dimensions{background:var(--color-bg-tertiary, rgba(255, 255, 255, .05))}}.field-card{position:relative;border:1px solid var(--color-border-primary);border-radius:.75rem;padding:1.5rem;background:var(--color-bg-primary);transition:all .2s ease;cursor:pointer}.field-card:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .02));border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.field-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.field-card.dragging{opacity:.5;cursor:grabbing}.field-card.collapsed{padding:1rem 1.5rem}@media (prefers-color-scheme: dark){.field-card:hover{background:var(--color-bg-hover, rgba(255, 255, 255, .03))}}.field-drag-handle{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);cursor:grab;padding:.5rem;font-size:1.125rem;transition:color .2s}.field-drag-handle:hover{color:var(--color-primary)}.field-drag-handle:active{cursor:grabbing}.field-content{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;margin-left:2.5rem;align-items:center}.field-card.collapsed .field-content{gap:1rem}.field-card.collapsed .field-info-container{gap:0}.field-thumbnail{width:120px;height:90px;border-radius:.5rem;overflow:hidden;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.field-card.collapsed .field-thumbnail{display:none}.field-thumbnail img{width:100%;height:100%;object-fit:cover}.field-thumbnail-placeholder{color:var(--color-text-tertiary);font-size:.875rem;text-align:center;padding:.5rem}.field-thumbnail-loading{width:24px;height:24px;border:2px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.field-info-container{display:flex;flex-direction:column;gap:.75rem;min-width:0}.field-header-row{display:flex;align-items:center}.field-name-section{display:flex;align-items:center;gap:.75rem}.field-name{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.4}.field-collapse-toggle{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;font-size:1rem;transition:all .2s;border-radius:.25rem}.field-collapse-toggle:hover{color:var(--color-primary);background:var(--color-bg-secondary)}.field-collapse-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.field-expanded-details{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;transition:all .2s ease}.field-card.collapsed .field-expanded-details{display:none}.field-dimensions{font-size:.8125rem;color:var(--color-text-secondary);margin:0;padding:.375rem .625rem;background:var(--color-bg-secondary);border-radius:.375rem;font-weight:500}.field-status{font-size:.8125rem;font-weight:500;margin:0;padding:.375rem .625rem;border-radius:.375rem;display:inline-flex;align-items:center;gap:.375rem}.field-status.configured{color:var(--color-active);background:var(--color-success-bg);border:1px solid color-mix(in srgb,var(--color-success) 20%,transparent)}.field-status.not-configured{color:var(--color-text-tertiary);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary)}.field-actions-row{display:flex;gap:.5rem;align-items:center}.field-actions-column{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;justify-content:center}.btn-edit{background:var(--color-brand-blue);color:var(--color-text-on-primary);border:none;padding:.5rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-edit:hover{background:var(--color-brand-blue-dark)}.btn-edit:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.apply-workflows-dialog{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.apply-workflows-dialog .modal-header{padding:1.5rem;border-bottom:1px solid var(--color-border-primary)}.apply-workflows-dialog h2{font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.apply-workflows-dialog .dialog-subheader{font-size:.875rem;color:var(--color-text-secondary);margin:0}.bulk-apply-warning{background:#fbbf241a;border-left:3px solid var(--color-warning);padding:.75rem 1rem;margin:1rem 1.5rem;border-radius:.375rem;font-size:.875rem}.workflow-selection-controls{display:flex;gap:.5rem;padding:.5rem 1.5rem;border-bottom:1px solid var(--color-border-primary)}.workflow-selection-controls button{font-size:.875rem;padding:.375rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:.375rem;cursor:pointer;transition:all .2s}.workflow-selection-controls button:hover{background:var(--color-primary-surface);border-color:var(--color-primary);color:var(--color-primary)}.workflow-checkbox-list{flex:1;overflow-y:auto;padding:1rem 1.5rem;max-height:400px}.workflow-checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--color-border-primary);border-radius:.375rem;margin-bottom:.5rem;cursor:pointer;transition:all .2s}.workflow-checkbox-item:hover{background:var(--color-bg-secondary);border-color:var(--color-primary)}.workflow-checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.workflow-item-info{flex:1}.workflow-item-name{font-weight:500;margin:0 0 .25rem}.workflow-status-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;font-weight:500}.workflow-status-badge.configured{background:var(--color-success-bg);color:var(--color-active);border:1px solid var(--color-active)}.workflow-status-badge.not-configured{background:var(--color-bg-secondary);color:var(--color-text-tertiary);border:1px solid var(--color-border-primary)}.apply-workflows-dialog .modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--color-border-primary)}.apply-workflows-dialog .btn-skip{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);padding:.75rem 1.5rem;border-radius:.375rem;font-weight:500;cursor:pointer}.apply-workflows-dialog .btn-apply{background:var(--color-brand-blue);color:var(--color-text-on-primary);border:none;padding:.75rem 1.5rem;border-radius:.375rem;font-weight:500;cursor:pointer}.apply-workflows-dialog .btn-apply:hover:not(:disabled){background:var(--color-brand-blue-dark);transform:translateY(-1px)}.apply-workflows-dialog .btn-apply:disabled{opacity:.5;cursor:not-allowed}.dialog-empty-state{padding:3rem;text-align:center;color:var(--color-text-tertiary)}.fields-view .rp-data-table tbody tr.row-selected,.fields-view .rp-data-table tbody tr.row-selected:hover{background-color:var(--color-gray-200)}@media (prefers-color-scheme: dark){.fields-view .rp-data-table tbody tr.row-selected,.fields-view .rp-data-table tbody tr.row-selected:hover{background-color:var(--color-gray-700)}}.table-col-drag{width:50px!important;max-width:50px!important;min-width:50px!important;text-align:center!important;padding:12px 8px!important}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--color-text-tertiary);cursor:grab;border-radius:4px;transition:all .15s ease}.drag-handle:hover{color:var(--color-primary);background:var(--color-bg-secondary)}.table-col-thumbnail{width:100px!important;max-width:100px!important;min-width:100px!important;padding:8px 12px!important}.freetext-table-thumbnail{width:80px;height:60px;border-radius:6px;overflow:hidden;border:1px solid var(--color-border-primary);background:var(--color-gray-100);display:flex;align-items:center;justify-content:center}.freetext-table-thumbnail img{width:100%;height:100%;object-fit:cover}.freetext-table-thumbnail .thumbnail-placeholder{color:var(--color-text-tertiary);font-size:1.25rem}.rp-data-table .status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:500;white-space:nowrap}.rp-data-table .status-badge.configured{background:var(--color-success-bg);color:var(--color-active);border:1px solid var(--color-active)}.rp-data-table .status-badge.not-configured{background:var(--color-error-bg);color:var(--color-text-tertiary);border:1px solid var(--color-border-primary)}@media (prefers-color-scheme: dark){.drag-handle:hover{background:var(--color-gray-700)}.freetext-table-thumbnail{border-color:var(--color-gray-600);background:var(--color-gray-700)}.rp-data-table .status-badge.configured{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-active)}.rp-data-table .status-badge.not-configured{background:var(--color-gray-700);color:var(--color-text-tertiary);border-color:var(--color-gray-600)}}.rp-modal-content{background-color:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:600px;width:90%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;animation:slideUp .3s ease-out;margin:auto;position:relative}.workflow-modal{max-width:900px!important;width:95%!important;height:calc(100vh - 40px)!important;max-height:calc(100vh - 40px)!important}.workflow-modal .rp-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:none;background:var(--color-bg-primary);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);flex-shrink:0}.workflow-modal .rp-modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.workflow-modal .rp-modal-close{background:none;border:none;font-size:20px;color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-2);line-height:1;border-radius:var(--radius-md);transition:color var(--transition-fast),background-color var(--transition-fast)}.workflow-modal .rp-modal-close:hover{color:var(--color-text-primary);background-color:var(--color-bg-secondary)}.workflow-modal .rp-modal-body{padding:var(--space-6);overflow-y:auto;flex:1;min-height:0;background-color:var(--color-bg-primary)}.workflow-form{display:flex;flex-direction:column}.workflow-modal .form-group{margin-bottom:var(--space-6)}.workflow-modal .form-group:last-child{margin-bottom:0}.workflow-modal .form-group label{display:block;margin-bottom:var(--space-1-5, 6px);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.workflow-modal .form-group .radio-label,.workflow-modal .form-group .checkbox-label{display:flex;margin-bottom:0}.workflow-modal .form-group input[type=text],.workflow-modal .form-group textarea,.workflow-modal .form-group select{width:100%;padding:var(--space-2-5) var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background-color:var(--color-bg-primary);color:var(--color-text-primary)}.workflow-modal .form-group input[type=text]:focus,.workflow-modal .form-group textarea:focus,.workflow-modal .form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.workflow-modal .form-group input[type=text]:disabled,.workflow-modal .form-group textarea:disabled,.workflow-modal .form-group select:disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed;opacity:.6}.workflow-modal .form-group textarea{resize:vertical;min-height:72px}.workflow-modal .form-group input.rp-error,.workflow-modal .form-group textarea.rp-error,.workflow-modal .form-group select.rp-error{border-color:var(--color-error)}.workflow-modal .required{color:var(--color-error);margin-left:2px}.workflow-modal .field-error{display:block;margin-top:var(--space-2);font-size:12px;color:var(--color-error)}.workflow-modal .help-text{display:block;margin-top:var(--space-2);font-size:12px;color:var(--color-text-tertiary);line-height:1.4}.workflow-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 640px){.workflow-modal .form-row{grid-template-columns:1fr}}.radio-group{display:flex;flex-direction:column;gap:var(--space-1)}.radio-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background-color:transparent;transition:background-color var(--transition-fast)}.radio-label:hover{background-color:var(--color-bg-secondary)}.radio-label input[type=radio]{width:16px;height:16px;padding:0;margin:0;cursor:pointer;flex-shrink:0;accent-color:var(--color-primary)}.radio-label input[type=radio]:checked+span{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.radio-label span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.4;transition:color var(--transition-fast)}.workflow-modal .checkbox-label{display:flex;align-items:flex-start;gap:var(--space-2-5);cursor:pointer;margin-bottom:0!important}.workflow-modal .checkbox-label input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;cursor:pointer;flex-shrink:0;position:relative;top:2px;accent-color:var(--color-primary)}.workflow-modal .checkbox-label span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.5}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-2)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);background-color:transparent}.checkbox-label:hover{border-color:var(--color-border-secondary);background-color:var(--color-bg-secondary)}.checkbox-label input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;cursor:pointer;flex-shrink:0;position:relative;top:2px;accent-color:var(--color-primary)}.checkbox-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.checkbox-title{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:1.4}.checkbox-description{font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:1.4}.checkbox-label input[type=checkbox]:checked+.checkbox-content .checkbox-title{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.checkbox-label input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.checkbox-label:has(input[type=checkbox]:disabled){opacity:.6;cursor:not-allowed}.checkbox-label:has(input[type=checkbox]:disabled):hover{border-color:var(--color-border-primary);background-color:transparent}.checkbox-group .checkbox-label{padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background-color:transparent}.checkbox-group .checkbox-label:hover{background-color:var(--color-bg-secondary)}.checkbox-group .checkbox-label input[type=checkbox]:checked+span{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.checkbox-group.horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--space-1)}.workflow-modal .rp-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-primary);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);flex-shrink:0;background-color:var(--color-bg-primary)}.unsaved-indicator{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-right:auto}.error-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-error-bg);border-left:3px solid var(--color-error);border-radius:var(--radius-md);margin-bottom:var(--space-5);color:var(--color-error-hover);font-size:var(--font-size-sm)}.rp-error-icon{font-size:16px;flex-shrink:0}.workflow-modal .info-box{padding:var(--space-3) var(--space-4);background-color:var(--color-bg-secondary);border:none;border-left:3px solid var(--color-border-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:1.5;margin-bottom:var(--space-4)}.workflow-modal .info-box strong{font-weight:var(--font-weight-semibold)}.custom-filters-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.custom-filter-row{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:var(--space-2);align-items:center;padding:var(--space-3);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg)}@media (max-width: 768px){.custom-filter-row{grid-template-columns:1fr;gap:var(--space-2)}}.filter-field-select,.filter-operator-select,.filter-value-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.filter-field-select:focus,.filter-operator-select:focus,.filter-value-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.remove-filter-btn{padding:var(--space-2);background-color:transparent;color:var(--color-text-tertiary);border:none;border-radius:var(--radius-md);font-size:16px;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast);line-height:1}.remove-filter-btn:hover{background-color:var(--color-error-bg);color:var(--color-error-hover)}.add-filter-btn{padding:var(--space-2-5) var(--space-4);background-color:transparent;color:var(--color-primary);border:1px dashed var(--color-border-secondary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);margin-top:var(--space-3)}.add-filter-btn:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.multi-input{display:flex;gap:var(--space-2);align-items:center}.multi-input input{flex:1}.multi-input button{padding:var(--space-2-5) var(--space-4);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);white-space:nowrap}.multi-input button:hover{background-color:var(--color-primary-dark)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background-color:var(--color-primary-surface);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.tag-remove{background:none;border:none;color:var(--color-primary);font-size:14px;cursor:pointer;padding:0;line-height:1;transition:color var(--transition-fast)}.tag-remove:hover{color:var(--color-primary-dark)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-6);gap:var(--space-4)}.loading-state p{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.sortable-list{display:flex;flex-direction:column;gap:var(--space-2)}.sortable-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);background-color:transparent;position:relative}.sortable-option.dragging{opacity:.5;z-index:1000;box-shadow:var(--shadow-md)}.sortable-option:hover{border-color:var(--color-border-secondary);background-color:var(--color-bg-secondary)}.drag-handle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-tertiary);cursor:grab;flex-shrink:0;touch-action:none;transition:color var(--transition-fast)}.drag-handle:hover{color:var(--color-text-secondary)}.drag-handle:active{cursor:grabbing}.sortable-option input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;cursor:pointer;flex-shrink:0;position:relative;top:2px;accent-color:var(--color-primary)}.sortable-option .checkbox-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.sortable-option .checkbox-title{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:1.4}.sortable-option .checkbox-description{font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:1.4}.sortable-option input[type=checkbox]:checked+.checkbox-content .checkbox-title{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.sortable-option input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.sortable-option:has(input[type=checkbox]:disabled){opacity:.6;cursor:not-allowed!important}.sortable-option:has(input[type=checkbox]:disabled):hover{border-color:var(--color-border-primary);background-color:transparent}.sortable-option:has(input[type=checkbox]:disabled) .drag-handle{cursor:not-allowed;opacity:.5}.freetext-fields-list{display:flex;flex-direction:column;gap:var(--space-3)}.warning-text{color:var(--color-warning-text);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--space-2)}.freetext-editor{margin-bottom:var(--space-6)}.freetext-editor .ql-container{min-height:200px;font-family:var(--font-family-sans, "Inter", sans-serif);font-size:var(--font-size-sm);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);border-color:var(--color-border-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary)}.freetext-editor .ql-toolbar{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);background-color:var(--color-bg-secondary);border-color:var(--color-border-primary)}.freetext-editor .ql-editor{min-height:200px;max-height:400px;overflow-y:auto;color:var(--color-text-primary)}.freetext-editor .ql-editor.ql-blank:before{color:var(--color-text-tertiary);font-style:italic}.freetext-editor .ql-toolbar button:hover,.freetext-editor .ql-toolbar button:focus,.freetext-editor .ql-toolbar button.ql-active{color:var(--color-primary)}.freetext-editor .ql-stroke{stroke:currentColor}.freetext-editor .ql-fill{fill:currentColor}.split-config-toggle{margin-top:var(--space-4);padding:var(--space-4);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg)}.split-config-toggle label{display:block;margin-bottom:var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}@media (max-width: 768px){.rp-modal-overlay{padding:0;align-items:flex-start}.rp-modal-content{max-height:100vh;border-radius:0}.workflow-modal{width:100%!important;max-width:100%!important;max-height:100vh!important;border-radius:0!important}.workflow-modal .rp-modal-header,.workflow-modal .rp-modal-footer{border-radius:0}.multi-input{flex-direction:column}.multi-input button{width:100%}}.transforms-create-mode-message{display:flex;gap:var(--space-4);padding:var(--space-5);background-color:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-lg);color:var(--color-warning-text)}.transforms-create-mode-message .warning-icon{font-size:24px;color:var(--color-warning);flex-shrink:0;margin-top:2px}.transforms-create-mode-message h4{margin:0 0 var(--space-2) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-warning-text)}.transforms-create-mode-message p{margin:0;font-size:var(--font-size-sm);color:var(--color-warning-text);line-height:1.5}.transforms-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);gap:var(--space-3)}.transforms-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border-primary);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s linear infinite}.transforms-loading p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.transforms-error{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5);background-color:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-lg);color:var(--color-error-text)}.transforms-error svg{font-size:20px;color:var(--color-error)}.transforms-error .btn-retry{margin-left:auto;padding:var(--space-2) var(--space-4);background-color:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast)}.transforms-error .btn-retry:hover{background-color:var(--color-error-hover)}.transforms-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center}.transforms-empty-state .empty-state-icon{font-size:64px;margin-bottom:var(--space-4);opacity:.5}.transforms-empty-state h4{margin:0 0 var(--space-2) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.transforms-empty-state p{margin:0 0 var(--space-5) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:400px}.btn-add-transform,.btn-add-transform-bottom{padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.btn-add-transform:hover,.btn-add-transform-bottom:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.btn-add-transform-bottom{margin-top:var(--space-5);width:100%}.transforms-list{display:flex;flex-direction:column;gap:var(--space-4)}.transform-card{padding:var(--space-4);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.transform-card.enabled{border-left:4px solid var(--color-success)}.transform-card.disabled{opacity:.6;border-left:4px solid var(--color-text-tertiary)}.transform-card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.transform-card-title{display:flex;align-items:center;gap:var(--space-2);flex:1}.transform-field-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.transform-type-badge{padding:2px 8px;background-color:var(--color-primary-surface);color:var(--color-primary-dark);font-size:11px;font-weight:var(--font-weight-semibold);text-transform:uppercase;border-radius:var(--radius-sm);letter-spacing:.5px}.transform-disabled-badge{padding:2px 8px;background-color:var(--color-bg-tertiary);color:var(--color-text-tertiary);font-size:11px;font-weight:var(--font-weight-medium);text-transform:uppercase;border-radius:var(--radius-sm)}.transform-card-actions{display:flex;align-items:center;gap:var(--space-2)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-bg-tertiary);transition:var(--transition-fast);border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-fast);border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-success)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.btn-expand,.btn-delete{background:none;border:none;padding:var(--space-2);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:var(--radius-sm)}.btn-expand:hover,.btn-delete:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-delete:hover{color:var(--color-error)}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.transform-card-description{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-primary);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.transform-card-details{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-primary)}.transform-code-preview{margin-bottom:var(--space-4)}.transform-code-preview .code-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background-color:var(--color-bg-secondary);border-radius:var(--radius-md) var(--radius-md) 0 0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.transform-code-preview pre{margin:0;padding:var(--space-3);background-color:var(--color-bg-tertiary);border-radius:0 0 var(--radius-md) var(--radius-md);overflow-x:auto}.transform-code-preview code{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:12px;line-height:1.6;color:var(--color-text-primary)}.transform-metadata{display:flex;flex-wrap:wrap;gap:var(--space-4)}.rp-meta-item{display:flex;gap:var(--space-2);font-size:var(--font-size-xs)}.rp-meta-label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.rp-meta-value{color:var(--color-text-tertiary)}.transform-editor{display:flex;flex-direction:column;gap:var(--space-5)}.transform-editor-back{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast);align-self:flex-start}.transform-editor-back:hover{background-color:var(--color-bg-secondary)}.transform-editor-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.transform-step{padding:var(--space-4);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);background-color:var(--color-bg-primary)}.transform-step-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.transform-step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:50%;flex-shrink:0}.transform-step-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.transform-step-loading{padding:var(--space-4);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.transform-output-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4)}@media (max-width: 640px){.transform-output-row{grid-template-columns:1fr}}.btn-generate-transform{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);align-self:flex-start}.btn-generate-transform:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.btn-generate-transform:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.transform-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.btn-test-transform{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-test-transform:hover:not(:disabled){background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.btn-test-transform:disabled{opacity:.5;cursor:not-allowed}.btn-save-transform{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);background-color:var(--color-success);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-save-transform:hover:not(:disabled){background-color:var(--color-success-hover)}.btn-save-transform:disabled{opacity:.5;cursor:not-allowed}.btn-edit-transform{background:none;border:none;padding:var(--space-2);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:var(--radius-sm)}.btn-edit-transform:hover{background-color:var(--color-bg-secondary);color:var(--color-primary)}.btn-edit-transform:disabled{opacity:.5;cursor:not-allowed}.logo-override-section{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-3)}.logo-card{border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-bg-primary)}.logo-card-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.logo-card-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.logo-card-select{padding:var(--space-1-5, 6px) var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-family:inherit;font-weight:var(--font-weight-medium);background-color:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--transition-fast)}.logo-card-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.logo-card-well{display:flex;align-items:center;justify-content:center;min-height:120px;padding:var(--space-5);background-image:linear-gradient(45deg,var(--color-bg-secondary) 25%,transparent 25%),linear-gradient(-45deg,var(--color-bg-secondary) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-bg-secondary) 75%),linear-gradient(-45deg,transparent 75%,var(--color-bg-secondary) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.logo-card-img-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.logo-card-img{max-width:100%;max-height:100px;object-fit:contain;border-radius:var(--radius-sm)}.logo-card-badge-template{position:absolute;top:var(--space-2);right:var(--space-2);background:var(--color-primary-bg);color:var(--color-primary-dark);border:1px solid var(--color-primary-border);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.03em}.logo-card-uploading,.logo-card-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.logo-card-empty svg{font-size:24px;opacity:.4}.logo-card-dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-4) var(--space-5);border:2px dashed var(--color-border-secondary);border-radius:var(--radius-lg);cursor:pointer;text-align:center;transition:border-color var(--transition-fast),background-color var(--transition-fast);background-color:#fff9}.logo-card-dropzone:hover{border-color:var(--color-primary);background-color:#3b82f60a}.logo-card-dropzone-icon{font-size:24px;color:var(--color-text-tertiary)}.logo-card-dropzone-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.logo-card-dropzone-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.logo-card-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2-5) var(--space-4);border-top:1px solid var(--color-border-primary);background-color:var(--color-bg-primary);min-height:36px}.logo-card-status{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.logo-card-actions{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.logo-card-btn-replace{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);cursor:pointer;transition:opacity var(--transition-fast)}.logo-card-btn-replace:hover{opacity:.8}.logo-card-btn-remove{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);background:none;border:none;cursor:pointer;padding:0;transition:color var(--transition-fast)}.logo-card-btn-remove:hover{color:var(--color-error)}.logo-card-btn-remove:disabled{opacity:.5;cursor:not-allowed}.logo-card-error{display:block;padding:var(--space-2) var(--space-4) var(--space-3);font-size:var(--font-size-xs);color:var(--color-error)}.content-login{display:flex;height:100vh;min-height:100vh;overflow:hidden;font-family:var(--font-family-sans)}.login-brand-panel{width:65%;flex-shrink:0;background-image:url(/images/report-login-main-image.jpg);background-size:cover;background-position:20% center;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:44px 48px}.login-brand-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000026,#000000b8);pointer-events:none}.login-brand-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:space-between}.login-brand-headline{font-size:40px;font-weight:800;color:#fff;line-height:1.15;letter-spacing:-.03em;margin:0;font-family:var(--font-family-sans);white-space:nowrap}.login-brand-headline em{font-style:normal;color:#60a5fa}.login-brand-copy{padding-bottom:12px}.login-brand-desc{font-size:14px;color:#ffffffbf;line-height:1.55;max-width:480px;margin:0 0 20px;font-family:var(--font-family-sans)}.login-brand-features{display:flex;flex-direction:column;gap:14px}.login-brand-feature{display:flex;align-items:flex-start}.login-feature-text{font-size:14px;color:#ffffffbf;line-height:1.4;font-family:var(--font-family-sans)}.login-feature-text strong{color:#60a5fa;font-weight:600;display:block;margin-bottom:2px;font-size:14px}.login-form-panel{flex:1;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;position:relative;overflow-y:auto}.login-form-container{width:100%;max-width:320px;position:relative}.login-form-logo{position:absolute;bottom:calc(100% + 50px);left:50%;transform:translate(-50%);height:90px;width:auto}.login-form-heading{margin-bottom:28px}.login-form-heading h1{font-size:24px;font-weight:800;color:#0f172a;letter-spacing:-.03em;margin:0;line-height:1.2;font-family:var(--font-family-sans)}.login-form-group{margin-bottom:20px}.login-label-text{display:block;font-size:13.5px;font-weight:600;color:#334155;margin-bottom:7px;font-family:var(--font-family-sans)}.login-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.login-label-row .login-label-text{margin-bottom:0}.login-input{width:100%;height:46px;padding:0 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;color:#0f172a;background:#f8fafc;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;font-family:var(--font-family-sans);box-sizing:border-box}.login-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px var(--color-primary-alpha-08);background:#fff}.login-input:hover:not(:focus):not(:disabled){border-color:#cbd5e1}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-input::placeholder{color:#94a3b8}.login-password-wrap{position:relative}.login-input--password{padding-right:52px}.login-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#94a3b8;font-size:14px;padding:4px 6px;border-radius:5px;transition:color .12s,background .12s;display:flex;align-items:center;justify-content:center}.login-password-toggle:hover{color:#334155;background:#e2e8f0}.login-submit-btn{width:100%;height:48px;background:var(--color-brand-blue);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s;font-family:var(--font-family-sans);display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;box-shadow:0 2px 8px #1a73e840;margin-top:4px}.login-submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transition:left .4s}.login-submit-btn:hover:not(:disabled):before{left:100%}.login-submit-btn:hover:not(:disabled){background:var(--color-brand-blue-dark);box-shadow:0 4px 16px #1a73e859;transform:translateY(-1px)}.login-submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #1a73e840}.login-submit-btn:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none;transform:none}.login-btn-arrow{transition:transform .15s}.login-submit-btn:hover:not(:disabled) .login-btn-arrow{transform:translate(3px)}.login-form-footer{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:11.5px;color:#94a3b8;font-family:var(--font-family-sans)}.forgot-password-link{font-size:12px;color:#2563eb;text-decoration:none;font-weight:500;font-family:var(--font-family-sans);transition:color .12s}.forgot-password-link:hover{color:#1d4ed8;text-decoration:underline}.field-error{display:block;margin-top:5px;font-size:12px;color:#dc2626;font-family:var(--font-family-sans)}.error-message{background:var(--color-error-bg);border:1px solid #fca5a5;border-left:4px solid #dc2626;color:#991b1b;padding:14px 16px;border-radius:10px;margin-bottom:18px;font-size:13.5px;font-family:var(--font-family-sans);animation:login-shake .5s ease-in-out}.error-message.session-expired{background:linear-gradient(135deg,#fff3cd,#fff8e1);border:2px solid #ffc107;color:#856404;animation:login-fade-in .4s ease-out}.session-expired-header{font-size:14px;font-weight:700;margin-bottom:6px;color:#856404}.session-expired-text{font-size:14px;color:#856404;line-height:1.5}.error-message.verification-required{background:linear-gradient(135deg,#e0f2fe,#dbeafe);border:2px solid #3b82f6;color:#1e40af;animation:login-fade-in .4s ease-out}.verification-required-header{font-size:14px;font-weight:700;margin-bottom:6px;color:#1e40af}.verification-required-text{font-size:14px;color:#1e40af;line-height:1.5;margin-bottom:10px}.resend-link{display:inline-block;color:#2563eb;font-weight:600;font-size:14px;text-decoration:underline;transition:color .12s;font-family:var(--font-family-sans)}.resend-link:hover{color:#1d4ed8;text-decoration:none}@keyframes login-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes login-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.login-brand-panel{display:none}.login-form-panel{background:#f8fafc}}@media (max-width: 480px){.login-form-panel{padding:40px 24px}.login-form-container{max-width:100%}.login-form-heading h1{font-size:22px}}@media (prefers-reduced-motion: reduce){.login-submit-btn,.login-input,.login-password-toggle,.login-btn-arrow{transition:none!important}.login-submit-btn:before{display:none}.login-status-dot,.error-message{animation:none!important}.login-submit-btn:hover:not(:disabled){transform:none!important}}@media (prefers-contrast: high){.login-input{border-width:2px}.login-submit-btn{outline:2px solid #fff}}@media (prefers-color-scheme: dark){.login-form-panel{background:var(--color-bg-primary)}.login-form-heading h1{color:var(--color-text-primary)}.login-label-text{color:var(--color-text-secondary)}.login-input{background:var(--color-bg-secondary);border-color:var(--color-border-secondary);color:var(--color-text-primary)}.login-input:focus{background:var(--color-bg-tertiary);border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.login-input:hover:not(:focus):not(:disabled){border-color:var(--color-border-primary)}.login-input::placeholder{color:var(--color-text-tertiary)}.login-input:-webkit-autofill,.login-input:-webkit-autofill:hover,.login-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-bg-secondary) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important;caret-color:var(--color-text-primary)}.login-password-toggle{color:var(--color-text-tertiary)}.login-password-toggle:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.forgot-password-link{color:var(--color-primary)}.forgot-password-link:hover{color:var(--color-secondary)}.login-form-footer{color:var(--color-text-tertiary)}.error-message{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.field-error{color:var(--color-error)}}.dashboard-chart-card{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-primary);transition:all var(--transition-fast);display:flex;flex-direction:column;width:100%;height:100%;min-height:0;container-type:inline-size}.dashboard-chart-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.chart-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-primary);flex-shrink:0}.chart-card-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:1.4}.chart-toggle-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.chart-toggle-btn:hover{background:var(--color-bg-primary);border-color:var(--color-primary);color:var(--color-primary)}.chart-toggle-btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.chart-toggle-btn:active{transform:scale(.98)}.toggle-icon{font-size:var(--font-size-sm)}.chart-card-body{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-2) 0;width:100%;min-height:0;position:relative;overflow:hidden}.chart-card-body>.jobs-timeline-chart,.chart-card-body>.job-status-chart,.chart-card-body>.active-job-progress-bars,.chart-card-body>div:not(.text-stats){width:100%;height:100%;min-height:250px;max-height:400px}.chart-card-body>.text-stats{width:100%;height:auto;min-height:0}.text-stats{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);text-align:center;width:100%}.chart-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center;width:100%;min-height:200px}.chart-empty-state .empty-icon,.chart-empty-state .empty-icon svg{font-size:3rem;color:var(--color-border-primary);margin-bottom:var(--space-4)}.chart-empty-state .empty-message{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--space-2) 0}.chart-empty-state .empty-hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}@media (min-width: 768px) and (max-width: 1023px){.dashboard-chart-card{padding:var(--space-5)}.chart-card-body>.jobs-timeline-chart,.chart-card-body>.job-status-chart,.chart-card-body>.active-job-progress-bars,.chart-card-body>div:not(.text-stats){min-height:300px;max-height:450px}}@media (min-width: 1024px){.chart-card-body>.jobs-timeline-chart,.chart-card-body>.job-status-chart,.chart-card-body>.active-job-progress-bars,.chart-card-body>div:not(.text-stats){min-height:280px;max-height:420px}}@media (min-width: 1280px){.chart-card-body>.jobs-timeline-chart,.chart-card-body>.job-status-chart,.chart-card-body>.active-job-progress-bars,.chart-card-body>div:not(.text-stats){min-height:300px;max-height:480px}}@media (max-width: 767px){.dashboard-chart-card{padding:var(--space-4)}.chart-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.chart-card-header h3{font-size:var(--font-size-sm)}.chart-toggle-btn{align-self:flex-end;padding:var(--space-1-5) var(--space-2-5);font-size:.7rem}.chart-toggle-btn span{display:none}.chart-card-body>.jobs-timeline-chart,.chart-card-body>.job-status-chart,.chart-card-body>.active-job-progress-bars,.chart-card-body>div:not(.text-stats){min-height:220px;max-height:350px}.chart-empty-state{padding:var(--space-8) var(--space-4);min-height:180px}.chart-empty-state .empty-icon,.chart-empty-state .empty-icon svg{font-size:2.5rem}.chart-empty-state .empty-message{font-size:var(--font-size-sm)}.chart-empty-state .empty-hint{font-size:var(--font-size-xs)}}@media (max-width: 480px){.dashboard-chart-card{padding:var(--space-3)}.chart-card-body>.jobs-timeline-chart,.chart-card-body>.job-status-chart,.chart-card-body>.active-job-progress-bars,.chart-card-body>div:not(.text-stats){min-height:200px;max-height:320px}.chart-empty-state{padding:var(--space-6) var(--space-3)}}@media (prefers-reduced-motion: reduce){.dashboard-chart-card:hover,.chart-toggle-btn:active{transform:none!important}}@media (prefers-contrast: high){.dashboard-chart-card,.chart-toggle-btn{border-width:2px}}@media (prefers-color-scheme: dark){.dashboard-chart-card{background-color:var(--color-gray-900);border-color:var(--color-gray-700);box-shadow:0 1px 3px #0000004d}.dashboard-chart-card:hover{background-color:var(--color-gray-750, #2d3748);box-shadow:0 4px 6px #0006}.chart-card-header{border-bottom-color:var(--color-gray-700)}.chart-card-header h3{color:var(--color-gray-100)!important}.chart-toggle-btn{background-color:var(--color-gray-700);border-color:var(--color-gray-600);color:var(--color-gray-300)}.chart-toggle-btn:hover{background-color:var(--color-gray-900);border-color:var(--color-primary);color:var(--color-primary)}.chart-empty-state .empty-icon,.chart-empty-state .empty-icon svg{color:var(--color-gray-700)}.chart-empty-state .empty-message{color:var(--color-gray-300)}.chart-empty-state .empty-hint{color:var(--color-gray-400)}}.job-status-chart{width:100%;max-width:100%;height:100%;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2);overflow:visible;box-sizing:border-box}.job-status-chart .timeline-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap;width:100%;max-width:100%}.job-status-chart .date-range-presets{display:flex;border-radius:var(--radius-xl);border:1px solid var(--color-border-primary);background:var(--color-bg-primary);padding:4px;gap:2px;flex-shrink:1;min-width:0}.job-status-chart .preset-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .15s ease;white-space:nowrap;flex:1;min-width:0;text-align:center}.job-status-chart .preset-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.job-status-chart .preset-btn.active{background:var(--color-bg-secondary);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.job-status-chart .date-range-inputs{display:flex;align-items:center;justify-content:center;gap:var(--space-1);border-radius:var(--radius-xl);border:1px solid var(--color-border-primary);background:var(--color-bg-primary);padding:4px 6px;flex-shrink:1;min-width:0}.job-status-chart .date-input-group{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1-5) var(--space-2);background:transparent;border:none;border-radius:var(--radius-md);transition:background .15s ease;position:relative;flex-shrink:1;min-width:0}.job-status-chart .date-input-group:hover{background:var(--color-bg-secondary)}.job-status-chart .date-input-group:focus-within{background:var(--color-bg-secondary)}.job-status-chart .calendar-icon{color:var(--color-text-tertiary);font-size:var(--font-size-xs);flex-shrink:0}.job-status-chart .date-input{border:none;background:transparent;font-size:var(--font-size-xs);color:var(--color-text-primary);font-family:inherit;font-weight:var(--font-weight-medium);padding:0;outline:none;cursor:pointer;width:85px;max-width:85px;min-width:75px;text-align:center}.job-status-chart .date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;left:0;top:0}.job-status-chart .date-separator{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center}.job-status-chart .chart-container{flex:1;display:flex;align-items:center;justify-content:center;min-height:300px;width:100%;max-width:100%;position:relative;overflow:visible;box-sizing:border-box}.job-status-chart .chart-container canvas{max-width:100%!important;max-height:100%!important}.chart-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);color:var(--color-text-secondary);text-align:center}.empty-icon{font-size:var(--font-size-4xl);margin-bottom:var(--space-4);opacity:.5}.empty-message{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.empty-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;opacity:.7}@media (max-width: 767px){.job-status-chart .timeline-controls{flex-direction:column;align-items:stretch;gap:var(--space-2)}.job-status-chart .date-range-presets{width:100%}.job-status-chart .preset-btn{flex:1;text-align:center}.job-status-chart .date-range-inputs{width:100%;justify-content:space-between}.job-status-chart .date-input-group{flex:1}.job-status-chart .date-input{min-width:80px}}@media (prefers-color-scheme: dark){.job-status-chart .date-range-presets,.job-status-chart .date-range-inputs{background-color:var(--color-gray-700);border-color:var(--color-gray-600)}.job-status-chart .preset-btn{color:var(--color-gray-300)}.job-status-chart .preset-btn:hover{background-color:var(--color-gray-600);color:var(--color-gray-100)}.job-status-chart .preset-btn.active{background-color:var(--color-gray-800);color:var(--color-gray-100)}.job-status-chart .date-input-group:hover,.job-status-chart .date-input-group:focus-within{background-color:var(--color-gray-600)}.job-status-chart .date-input{color:var(--color-gray-100)}.job-status-chart .calendar-icon,.job-status-chart .date-separator{color:var(--color-gray-400)}}.jobs-timeline-chart{width:100%;max-width:100%;height:100%;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2);overflow:visible;box-sizing:border-box}.timeline-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap;width:100%;max-width:100%}.date-range-presets{display:flex;border-radius:var(--radius-xl);border:1px solid var(--color-border-primary);background:var(--color-bg-primary);padding:4px;gap:2px;flex-shrink:1;min-width:0}.preset-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .15s ease;white-space:nowrap;flex:1;min-width:0;text-align:center}.preset-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.preset-btn.active{background:var(--color-bg-secondary);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.date-range-inputs{display:flex;align-items:center;justify-content:center;gap:var(--space-1);border-radius:var(--radius-xl);border:1px solid var(--color-border-primary);background:var(--color-bg-primary);padding:4px 6px;flex-shrink:1;min-width:0}.date-input-group{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1-5) var(--space-2);background:transparent;border:none;border-radius:var(--radius-md);transition:background .15s ease;position:relative;flex-shrink:1;min-width:0}.date-input-group:hover{background:var(--color-bg-secondary)}.date-input-group:focus-within{background:var(--color-bg-secondary)}.calendar-icon{color:var(--color-text-tertiary);font-size:var(--font-size-xs);flex-shrink:0}.date-input{border:none;background:transparent;font-size:var(--font-size-xs);color:var(--color-text-primary);font-family:inherit;font-weight:var(--font-weight-medium);padding:0;outline:none;cursor:pointer;width:85px;max-width:85px;min-width:75px;text-align:center}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;left:0;top:0}.date-separator{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center}.chart-container{flex:1;display:flex;align-items:center;justify-content:center;min-height:300px;width:100%;max-width:100%;position:relative;overflow:visible;box-sizing:border-box;padding:0 var(--space-2)}.chart-container canvas{max-width:100%!important;max-height:100%!important;width:100%!important;height:auto!important}@media (max-width: 767px){.timeline-controls{flex-direction:column;align-items:stretch;gap:var(--space-2)}.date-range-presets{width:100%}.preset-btn{flex:1;text-align:center}.date-range-inputs{width:100%;justify-content:space-between}.date-input-group{flex:1}.date-input{min-width:80px}}@media (prefers-color-scheme: dark){.date-range-presets,.date-range-inputs{background-color:var(--color-gray-700);border-color:var(--color-gray-600)}.preset-btn{color:var(--color-gray-300)}.preset-btn:hover{background-color:var(--color-gray-600);color:var(--color-gray-100)}.preset-btn.active{background-color:var(--color-gray-800);color:var(--color-gray-100)}.date-input-group:hover,.date-input-group:focus-within{background-color:var(--color-gray-600)}.date-input{color:var(--color-gray-100)}.calendar-icon,.date-separator{color:var(--color-gray-400)}}.active-job-progress{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2);width:100%;max-width:100%;overflow-x:hidden}.job-progress-item{display:flex;flex-direction:column;gap:var(--space-2)}.job-progress-header{display:flex;justify-content:space-between;align-items:center}.job-progress-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:var(--space-3)}.job-progress-percentage{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);min-width:50px;text-align:right}.job-progress-bar-container{width:100%;height:8px;background:#e2e8f0;border-radius:var(--radius-full);overflow:hidden}.job-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-secondary),var(--color-primary));border-radius:var(--radius-full);transition:width .5s ease-out}.job-progress-details{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-text-secondary)}@media (max-width: 767px){.job-progress-header{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.job-progress-percentage{align-self:flex-end}}.dashboard{background:var(--color-bg-secondary);padding:var(--space-8) var(--space-6);max-width:var(--container-xl);margin:0 auto}.client-context-badge{padding:var(--space-3) var(--space-4);background:var(--color-primary);color:var(--color-text-on-primary);border-radius:var(--radius-lg);display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-base);box-shadow:var(--shadow-sm);white-space:nowrap;flex-shrink:0}.client-context-badge strong{font-weight:var(--font-weight-bold)}.user-badge{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}.role-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid;white-space:nowrap;transition:all var(--transition-fast)}.role-badge:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.role-badge[data-role=district_operator]{background:var(--color-success-bg);color:var(--color-success-text);border:1.5px solid var(--color-success)}.role-badge[data-role=document_reviewer]{background:var(--color-primary-bg);color:var(--color-primary-dark);border-color:var(--color-secondary)}.role-badge[data-role=final_approver]{background:var(--color-primary-bg);color:var(--color-primary-dark);border-color:var(--color-primary-border)}.role-badge[data-role=general_user]{background:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-gray-300)}.org-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-3);background:var(--color-gray-100);color:var(--color-gray-700);border-radius:var(--radius-full);border:1px solid var(--color-gray-300);white-space:nowrap;transition:all var(--transition-fast)}.org-badge:hover{background:var(--color-gray-200);transform:translateY(-1px)}.dashboard-content{max-width:var(--container-xl);margin:0 auto;display:grid;grid-template-columns:1fr;gap:var(--space-6);padding:0}@media (min-width: 1024px){.dashboard-content{grid-template-columns:2fr 1fr}}.dashboard-main,.dashboard-sidebar{display:flex;flex-direction:column;gap:var(--space-6)}@media (min-width: 1024px){.dashboard-sidebar{align-self:start}}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4)}.dashboard-loading .spinner{width:40px;height:40px;border:4px solid var(--color-border-primary);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.dashboard-loading p{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.dashboard-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media (min-width: 768px){.dashboard-stats{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.dashboard-stats{grid-template-columns:repeat(5,1fr)}}.stat-card{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-primary);display:flex;flex-direction:column;gap:var(--space-2);transition:all var(--transition-fast);position:relative;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--color-gray-400);background:var(--color-bg-secondary)}.stat-card:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.stat-card:focus{outline:2px solid var(--color-primary);outline-offset:2px}.stat-icon{font-size:36px;line-height:1;flex-shrink:0}.stat-info{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8)}.dashboard-card h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0}.dashboard-card p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-3)}.dashboard-card ul{list-style:none;padding:0;margin:0}.dashboard-card li{font-size:var(--font-size-base);color:var(--color-text-secondary);padding:var(--space-2) 0;line-height:var(--line-height-relaxed)}.status-check-icon{color:var(--color-success);margin-right:var(--space-2);font-size:var(--font-size-lg)}.dashboard-grid{display:grid;gap:var(--space-6);padding:var(--space-8);max-width:var(--container-xl);margin:0 auto;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-grid[data-columns="1"]{grid-template-columns:minmax(300px,400px);justify-content:center}.dashboard-grid[data-columns="2"]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-width:600px}.dashboard-grid[data-columns="3"]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:900px}.dashboard-grid[data-columns="4"]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.dashboard-card{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-primary);transition:all var(--transition-fast)}.dashboard-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.dashboard-card.card-blue:before{background:var(--color-secondary)}.dashboard-card.card-green:before{background:var(--color-success)}.dashboard-card.card-purple:before{background:var(--color-primary)}.dashboard-card.card-orange:before{background:var(--color-warning)}.dashboard-card.card-red:before{background:var(--color-error)}.dashboard-card.card-teal:before{background:var(--color-primary)}.card-header{margin-bottom:var(--space-4)}.card-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-family:var(--font-family-sans);margin:0 0 var(--space-4) 0;display:flex;align-items:center;gap:var(--space-2);line-height:var(--line-height-tight)}.card-content{text-align:center}.stat-number{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-family:var(--font-family-sans);margin:0 0 var(--space-2) 0;line-height:1;display:flex;align-items:center;justify-content:center;min-height:3.5rem}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-family:var(--font-family-sans);text-transform:uppercase;letter-spacing:.05em}.stat-number.loading{animation:pulse 1.5s ease-in-out infinite}.quick-actions{padding:var(--space-8);max-width:var(--container-xl);margin:0 auto}.quick-actions h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-family:var(--font-family-sans);margin:0 0 var(--space-6) 0;line-height:var(--line-height-tight)}.action-buttons{display:flex;gap:var(--space-4);flex-wrap:wrap}.action-btn{padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);font-family:var(--font-family-sans);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.action-btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.action-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.action-btn.primary{background:var(--color-primary);color:var(--color-text-on-primary)}.action-btn.primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.action-btn.secondary{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.action-btn.secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-border-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.dashboard-section{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-primary)}.dashboard-section h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-family:var(--font-family-sans);margin-bottom:var(--space-4);line-height:var(--line-height-tight)}.activity-card{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-6);border:1px solid var(--color-border-primary);transition:all var(--transition-fast)}.activity-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.error-card{background:var(--color-error-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-error);color:var(--color-error-text)}.error-card:before{background:var(--color-error)}@media (max-width: 1199px){.dashboard{padding:var(--space-5)}.dashboard-grid{padding:var(--space-6);gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.quick-actions{padding:var(--space-6)}}@media (max-width: 1023px){.dashboard{padding:var(--space-4)}.dashboard-grid{padding:var(--space-5);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-card{padding:var(--space-5)}.stat-number{font-size:var(--font-size-3xl)}.quick-actions{padding:var(--space-5)}.action-buttons{gap:var(--space-3)}.action-btn{padding:var(--space-2-5) var(--space-5);font-size:var(--font-size-sm)}.user-badge{margin-top:var(--space-3)}}@media (max-width: 767px){.dashboard{padding:var(--space-3)}.dashboard-grid{grid-template-columns:1fr;padding:var(--space-4);gap:var(--space-4)}.dashboard-card{padding:var(--space-4)}.stat-number{font-size:var(--font-size-3xl);min-height:3rem}.quick-actions{padding:var(--space-4)}.quick-actions h3{font-size:var(--font-size-xl)}.action-buttons{gap:var(--space-2);justify-content:center}.action-btn{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);flex:1;min-width:120px;justify-content:center}.user-badge{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.role-badge,.org-badge{width:fit-content}}@media (max-width: 480px){.dashboard{padding:var(--space-2)}.dashboard-grid{padding:var(--space-3);gap:var(--space-3)}.dashboard-card{padding:var(--space-3)}.card-header h3{font-size:var(--font-size-base)}.stat-number{font-size:var(--font-size-2xl);min-height:2.5rem}.stat-label{font-size:var(--font-size-xs)}.quick-actions{padding:var(--space-3)}.quick-actions h3{font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.action-buttons{flex-direction:column;align-items:stretch}.action-btn{width:100%;padding:var(--space-3) var(--space-4)}}@media (prefers-reduced-motion: reduce){.dashboard-card:hover,.action-btn:hover,.role-badge:hover,.org-badge:hover{transform:none!important}.stat-number{animation:none!important}*{transition:none!important}}@media (prefers-contrast: high){.dashboard-card,.action-btn{border-width:2px}.dashboard-card:before{height:6px}.role-badge,.org-badge{border-width:2px}}.dashboard:focus-within .dashboard-card{outline:1px solid transparent}.dashboard-card:focus-within{outline:2px solid var(--color-border-focus);outline-offset:2px}.stat-number[aria-label*=loading]{position:relative}.stat-number[aria-label*=loading]:after{content:"";position:absolute;width:20px;height:20px;border:2px solid var(--color-border-primary);border-top:2px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite;margin-left:var(--space-2)}@media print{.dashboard{padding:0;background:#fff;max-width:none}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:12pt 0;gap:12pt;page-break-inside:avoid}.dashboard-card{box-shadow:none;border:1px solid #000;background:#fff;page-break-inside:avoid;margin-bottom:6pt}.dashboard-card:before{display:none}.stat-number{font-size:24pt;color:#000}.stat-label{font-size:10pt;color:#333}.quick-actions{display:none}.user-badge{margin-top:6pt}.role-badge,.org-badge{border:1px solid #000;background:#fff!important;color:#000!important;font-size:8pt}.card-header h3{font-size:12pt;color:#000}}.quick-actions-section{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-primary)}.quick-actions-section h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0}.quick-actions{display:flex;flex-direction:column;gap:var(--space-3)}@media (max-width: 1023px){.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}}.quick-action-btn{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--transition-fast);text-align:left;display:flex;flex-direction:column;gap:var(--space-1);box-shadow:var(--shadow-sm);width:100%}.quick-action-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-gray-400);box-shadow:var(--shadow-md);transform:translateY(-1px)}.quick-action-btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.quick-action-btn.primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.quick-action-btn.primary .action-title,.quick-action-btn.primary .action-desc{color:var(--color-text-on-primary)}.quick-action-btn:active{transform:translateY(0)}.quick-action-btn .action-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:block}.quick-action-btn .action-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);display:block;line-height:var(--line-height-relaxed)}@media (max-width: 768px){.quick-actions{grid-template-columns:1fr}}.quick-upload-section h2{display:flex;align-items:center;gap:var(--space-2)}.quick-upload-section h2 svg{font-size:var(--font-size-lg);color:var(--color-primary)}.upload-error-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-error-text);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.upload-error-message svg{font-size:var(--font-size-base);color:var(--color-error);flex-shrink:0}.quick-upload-area{border:2px dashed var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;background:var(--color-bg-secondary);transition:all var(--transition-fast);cursor:pointer}.quick-upload-area:hover{border-color:var(--color-primary);background:var(--color-primary-bg)}.quick-upload-area.drag-active{border-color:var(--color-primary);background:var(--color-primary-bg);transform:scale(1.02)}.quick-upload-area.has-file{background:var(--color-bg-primary);border-color:var(--color-success);border-style:solid;cursor:default;padding:var(--space-4)}.upload-drop-icon{font-size:36px;color:var(--color-text-tertiary);margin-bottom:var(--space-3)}.quick-upload-area.drag-active .upload-drop-icon{color:var(--color-primary)}.upload-drop-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-3) 0}.upload-browse-btn{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);margin-bottom:var(--space-2)}.upload-browse-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.upload-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}.upload-file-selected{display:flex;align-items:center;gap:var(--space-3)}.upload-file-icon{font-size:28px;color:var(--color-primary);flex-shrink:0}.upload-file-info{flex:1;text-align:left;min-width:0}.upload-file-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1);word-break:break-word;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-size{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.upload-remove-btn{width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-error-bg);color:var(--color-error-hover);border:1px solid var(--color-error-border);cursor:pointer;font-size:var(--font-size-lg);line-height:1;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.upload-remove-btn:hover{background:var(--color-error-bg);border-color:var(--color-error-border)}.upload-progress-section{margin-top:var(--space-4);padding:var(--space-3);background:var(--color-primary-bg);border-radius:var(--radius-md)}.upload-progress-bar{width:100%;height:6px;background:var(--color-gray-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2)}.upload-progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);animation:upload-progress-animation 1.5s ease-in-out infinite}@keyframes upload-progress-animation{0%{width:0%}50%{width:70%}to{width:100%}}.upload-progress-text{font-size:var(--font-size-xs);color:var(--color-primary-dark);font-weight:var(--font-weight-medium);text-align:center;margin:0}.upload-submit-btn{width:100%;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--transition-fast)}.upload-submit-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.upload-submit-btn:disabled{opacity:.6;cursor:not-allowed}@media (prefers-color-scheme: dark){.quick-upload-area{background:var(--color-gray-800);border-color:var(--color-gray-600)}.quick-upload-area:hover,.quick-upload-area.drag-active{background:var(--color-gray-750, #2d3748);border-color:var(--color-primary)}.quick-upload-area.has-file{background:var(--color-gray-800);border-color:var(--color-success)}.upload-drop-icon,.upload-drop-text{color:var(--color-gray-400)}.upload-hint{color:var(--color-gray-500)}.upload-file-name{color:var(--color-gray-100)}.upload-file-size{color:var(--color-gray-400)}.upload-progress-section{background:#60a5fa1a}.upload-progress-bar{background:var(--color-gray-700)}.upload-progress-text{color:var(--color-primary)}.upload-error-message{background:#ef444426;border-color:color-mix(in srgb,var(--color-error) 30%,transparent);color:var(--color-error)}}.dashboard-charts-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-top:var(--space-4);width:100%}@media (min-width: 1280px){.dashboard-charts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px) and (max-width: 1279px){.dashboard-charts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px) and (max-width: 1023px){.dashboard-charts-grid{grid-template-columns:1fr}}@media (max-width: 767px){.dashboard-charts-grid{grid-template-columns:1fr;gap:var(--space-3)}}@media (prefers-color-scheme: dark){.dashboard{background-color:var(--color-gray-900)}.card-header h3,.dashboard-section h2,.quick-actions h3,.quick-actions-section h2,.stat-value,.stat-number,.action-title{color:var(--color-gray-100)!important}.stat-label,.action-desc,.dashboard-card p,.dashboard-card li{color:var(--color-gray-300)!important}.stat-card,.dashboard-card,.dashboard-section,.activity-card,.quick-actions-section{background-color:var(--color-gray-800);border-color:var(--color-gray-700);box-shadow:0 1px 3px #0000004d}.quick-action-btn{background-color:var(--color-gray-700);border-color:var(--color-gray-600);box-shadow:0 1px 3px #0000004d}.stat-card:hover,.dashboard-card:hover{background-color:var(--color-gray-750, #2d3748);border-color:var(--color-gray-600);box-shadow:0 4px 6px #0006}.quick-action-btn:hover{background-color:var(--color-gray-650, #374151);border-color:var(--color-gray-500);box-shadow:0 4px 6px #0006}.quick-action-btn.primary{background-color:var(--color-primary)!important;border-color:var(--color-primary)!important;box-shadow:0 2px 4px #60a5fa4d!important}.quick-action-btn.primary:hover{background-color:var(--color-primary-dark)!important;border-color:var(--color-primary-dark)!important;box-shadow:0 4px 8px #60a5fa66!important}.quick-action-btn.primary .action-title,.quick-action-btn.primary .action-desc{color:var(--color-text-on-primary)!important}.stat-card{background-color:var(--color-gray-800)!important;border-color:var(--color-gray-700)!important}.stat-card:hover{background-color:var(--color-gray-750, #2d3748)!important;border-color:var(--color-primary)!important}.role-badge,.org-badge{background-color:var(--color-gray-700);border-color:var(--color-gray-600);color:var(--color-gray-100)}.role-badge[data-role=district_operator]{background-color:#22c55e26;color:var(--color-success);border-color:#22c55e4d}.role-badge[data-role=document_reviewer]{background-color:#60a5fa26;color:var(--color-primary);border-color:#60a5fa4d}.role-badge[data-role=final_approver]{background-color:#a855f726;color:#c084fc;border-color:#a855f74d}.role-badge[data-role=general_user]{background-color:var(--color-gray-700);color:var(--color-gray-300);border-color:var(--color-gray-600)}.action-btn.secondary{background-color:var(--color-gray-800);border-color:var(--color-gray-700);color:var(--color-gray-100)}.action-btn.secondary:hover{background-color:var(--color-gray-700);border-color:var(--color-gray-600)}}.dashboard-section .rp-action-pill-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;transition:color .2s ease,transform .2s ease}.dashboard-section .rp-action-pill-btn:hover{transform:scale(1.15)}.pinned-user-selector{padding:6px 28px 6px 12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);background-color:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px}.pinned-user-selector:hover{border-color:var(--color-primary-muted);background-color:var(--color-primary-bg);box-shadow:var(--shadow-sm)}.pinned-user-selector:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f633}.pinned-user-selector:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-gray-100)}@media (prefers-color-scheme: dark){.pinned-user-selector{background-color:var(--color-gray-800);border-color:var(--color-gray-600);color:var(--color-gray-100);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.pinned-user-selector:hover{background-color:#60a5fa26;border-color:var(--color-primary)}.pinned-user-selector:focus{box-shadow:0 0 0 3px #60a5fa40}.pinned-user-selector:disabled{background-color:var(--color-gray-700)}.pinned-user-selector option{background-color:var(--color-gray-800);color:var(--color-gray-100)}}.workflows-container{max-width:1400px;margin:0 auto;padding:20px;background:var(--color-bg-secondary);min-height:100vh;position:relative;border-radius:12px}.workflows-count{display:inline-block;padding:4px 10px;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:12px;font-size:14px;font-weight:500}.rp-warning{background-color:#f59e0b0d;border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-warning)}.empty-hint{font-size:14px!important;color:var(--color-text-tertiary)!important;font-style:italic}.search-input{width:100%;padding:10px 40px 10px 16px;border:1px solid var(--color-border-primary);border-radius:8px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .2s,box-shadow .2s}.workflow-name{font-weight:500;color:var(--color-text-primary)}.client-name{color:var(--color-primary);font-weight:500;font-size:13px}.description{color:var(--color-text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflows-container .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;border:1px solid transparent}.workflows-container .status-active{background-color:var(--color-primary-surface);color:var(--color-primary-dark);border-color:var(--color-primary-subtle)}.workflows-container .status-inactive{background-color:var(--color-gray-100);color:var(--color-gray-400);border-color:var(--color-gray-300)}.status-toggle-wrapper{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.status-toggle-input{position:absolute;opacity:0;width:0;height:0}.status-toggle-slider{position:relative;width:32px;height:16px;background-color:var(--color-gray-300);border-radius:8px;transition:background-color .3s;flex-shrink:0}.status-toggle-slider:before{content:"";position:absolute;width:12px;height:12px;left:2px;top:2px;background-color:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 1px 3px #0003}.status-toggle-input:checked+.status-toggle-slider{background-color:var(--color-active);box-shadow:0 0 0 3px var(--color-active-glow)}.status-toggle-input:checked+.status-toggle-slider:before{transform:translate(16px)}.status-toggle-input:focus+.status-toggle-slider{box-shadow:0 0 0 2px var(--color-border-focus)}.status-toggle-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--color-inactive);min-width:60px}.status-toggle-input:checked~.status-toggle-label{color:var(--color-active);font-weight:600}.status-toggle-wrapper:hover .status-toggle-slider{opacity:.9}.actions-column{width:80px;text-align:center}.actions{text-align:center;position:relative;overflow:visible;vertical-align:middle}.actions-dropdown{position:relative;display:inline-block}.actions-button{padding:4px 12px;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-secondary);border-radius:6px;font-size:18px;font-weight:700;line-height:1;cursor:pointer;transition:all .2s}.actions-button:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-primary)}.actions-menu{position:fixed;margin-top:4px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:8px;box-shadow:var(--shadow-lg);min-width:150px;z-index:1000;overflow:hidden;animation:slideDown .2s ease-out;pointer-events:auto}.action-item{display:block;width:100%;padding:10px 16px;background:none;border:none;border-top:1px solid var(--color-border-primary);text-align:left;font-size:14px;color:var(--color-text-primary);cursor:pointer;transition:background-color .15s}.action-item:first-child{border-top:none}.action-item:hover{background-color:var(--color-bg-secondary)}.action-item-danger{color:var(--color-error-hover)}.action-item-danger:hover{background-color:var(--color-error-bg)}.footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border-primary);text-align:center}.footer-note{color:var(--color-text-tertiary);font-size:14px;margin:0;font-style:italic}@media (prefers-color-scheme: dark){.workflow-name,.client-name{color:var(--color-gray-100)!important}.description,.mode{color:var(--color-gray-300)!important}.date{color:var(--color-gray-400)!important}.workflows-container .status-active{background-color:var(--color-primary-darkest);color:var(--color-primary-border);border-color:var(--color-primary-dark)}.workflows-container .status-inactive{background-color:var(--color-gray-800);color:var(--color-gray-500);border-color:var(--color-gray-700)}.status-toggle-slider{background-color:var(--color-gray-600)}.status-toggle-input:checked+.status-toggle-slider{background-color:var(--color-active);box-shadow:0 0 0 3px var(--color-active-glow)}.status-toggle-label{color:var(--color-inactive)}.status-toggle-input:checked~.status-toggle-label{color:var(--color-active)}}@media (max-width: 1024px){.header-right{width:100%;justify-content:flex-start}.search-container{width:100%}}@media (max-width: 768px){.workflows-container{padding:16px}.header-left h1{font-size:24px}}.workflows-table-wrapper .rp-table-col-actions{width:135px!important;max-width:135px!important;min-width:135px!important}.workflows-table-wrapper.powerschool-enabled .rp-table-col-actions{width:215px!important;max-width:215px!important;min-width:215px!important}.rp-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease;overflow-y:auto;padding:20px 0}.modal-container{background:var(--color-bg-primary);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:calc(100vh - 40px);display:flex;flex-direction:column;animation:slideUp .3s ease;margin:auto;position:relative}.template-detail-modal{max-width:700px;width:90%;max-height:85vh}.rp-modal-header{padding:24px;border-bottom:1px solid var(--color-border-primary);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.rp-modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary)}.rp-modal-close{background:none;border:none;font-size:24px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.rp-modal-close:hover{background:var(--color-gray-100);color:var(--color-text-primary)}.rp-modal-body{padding:24px;overflow-y:auto;flex:1}.loading-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.loading-section .spinner{width:32px;height:32px;border:3px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-section p{margin:0;color:var(--color-text-secondary);font-size:14px}.error-section{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-error-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-error);border-radius:8px;margin-bottom:20px}.error-section .error-icon{font-size:20px}.error-section p{margin:0;color:var(--color-error-hover);font-size:14px}.rp-modal-footer{padding:16px 24px;border-top:1px solid var(--color-border-primary);display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.rp-btn-secondary{padding:8px 16px;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:6px;font-size:14px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s}.rp-btn-secondary:hover{background:var(--color-gray-100);border-color:var(--color-gray-400)}.template-detail-section{margin-bottom:var(--space-4)}.template-detail-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--space-3) 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.section-header h3{margin:0}.divider{height:1px;background:var(--color-border-primary);margin:var(--space-6) 0}.workflows-list,.logos-list,.options-list,.freetext-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.workflow-item,.logo-item,.option-item,.freetext-item{font-size:var(--font-size-base);color:var(--color-text-primary);padding:var(--space-2) 0}.option-header,.logo-header,.freetext-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.option-key,.logo-key,.freetext-key{color:var(--color-text-tertiary);font-size:13px;font-weight:400}.option-description{color:var(--color-text-tertiary);font-size:13px;margin-top:4px;padding-left:0}.logo-dimensions,.freetext-dimensions{color:var(--color-text-tertiary);font-size:13px;margin-top:4px}.required-badge{background:var(--color-error-bg);color:var(--color-error-hover);border:1.5px solid var(--color-error);font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.empty-message{text-align:center;padding:var(--space-4);color:var(--color-text-secondary);font-style:italic;margin:0}.rp-btn-link{background:transparent;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;padding:var(--space-1) var(--space-2);transition:color var(--transition-fast)}.rp-btn-link:hover{color:var(--color-primary-dark);text-decoration:underline}@media (max-width: 768px){.template-detail-modal{width:95%;max-height:90vh}.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}@media (prefers-color-scheme: dark){.modal-container{background:var(--color-bg-elevated);box-shadow:0 20px 60px #0009}.rp-modal-header{border-bottom-color:var(--color-border-primary)}.rp-modal-header h2{color:var(--color-text-primary)}.rp-modal-close{color:var(--color-text-secondary)}.rp-modal-close:hover{background:var(--color-gray-700);color:var(--color-text-primary)}.loading-section .spinner{border:3px solid var(--color-gray-700);border-top-color:var(--color-primary)}.loading-section p{color:var(--color-text-secondary)}.error-section{background:var(--color-error-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-error)}.error-section p{color:var(--color-error)}.rp-modal-footer{border-top-color:var(--color-border-primary)}.rp-btn-secondary{background:var(--color-gray-800);border-color:var(--color-border-primary);color:var(--color-text-primary)}.rp-btn-secondary:hover{background:var(--color-gray-700);border-color:var(--color-border-secondary)}.option-key,.logo-key,.freetext-key,.option-description,.logo-dimensions,.freetext-dimensions{color:var(--color-text-tertiary)}.required-badge{background:var(--color-error-bg);color:var(--color-error);border:1.5px solid var(--color-error)}.template-detail-section h3,.section-header h3{color:var(--color-text-primary)!important}.divider{background:var(--color-gray-600)}}.container{padding:20px;max-width:1400px;margin:0 auto;background:var(--color-bg-secondary);min-height:100vh;position:relative;border-radius:12px}.header-left{display:flex;align-items:center;gap:20px}.header-left h1{margin:0;font-size:28px;font-weight:600;color:var(--color-primary-dark)}.rp-count{display:inline-block;padding:4px 10px;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:12px;font-size:14px;font-weight:500}.header-right{display:flex;align-items:center;gap:16px}.client-badge{display:inline-block;padding:8px 16px;background-color:var(--color-primary-border);color:var(--color-primary-dark);border-radius:8px;font-size:14px;font-weight:500}.rp-retry{padding:10px 24px;background-color:var(--color-brand-blue);color:var(--color-text-on-primary);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.rp-retry:hover{background-color:var(--color-brand-blue-dark)}.controls{display:flex;justify-content:flex-end;align-items:center;margin-bottom:24px}.search-container{position:relative;width:300px}.search-input{width:100%;padding:8px 36px 8px 12px;border:1px solid var(--color-border-primary);border-radius:8px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary);font-size:16px;cursor:pointer;padding:4px;line-height:1;transition:color .2s}.search-clear:hover{color:var(--color-text-primary)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.card-icon{font-size:32px;flex-shrink:0}.card-title{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary);line-height:1.3}.card-description{color:var(--color-text-secondary);font-size:14px;line-height:1.5;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-footer{display:flex;justify-content:flex-end}.view-details-btn{padding:8px 16px;background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.view-details-btn:hover{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.actions{vertical-align:middle}.rp-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-in-out}.rp-modal-content{background-color:var(--color-bg-secondary);border-radius:12px;box-shadow:0 10px 40px #0003;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.rp-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid var(--color-border-primary);background-color:var(--color-bg-primary)}.rp-modal-body{padding:24px;background-color:var(--color-bg-secondary)}.rp-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border-primary);background-color:var(--color-bg-primary);border-bottom-left-radius:12px;border-bottom-right-radius:12px;flex-shrink:0}.detail-section:last-child{margin-bottom:0}.detail-title{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.detail-value{font-size:16px;color:var(--color-text-primary);margin:0;line-height:1.5}.detail-muted{font-size:14px;color:var(--color-text-secondary);margin:0;font-family:monospace}.options-list{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:16px}.option-item{display:flex;gap:12px;padding:8px 0}.option-item:not(:last-child){border-bottom:1px solid var(--color-border-primary)}.option-bullet{color:var(--color-primary);font-size:20px;font-weight:700;line-height:1.5;flex-shrink:0}.option-content{color:var(--color-text-secondary);font-size:14px;line-height:1.5;flex:1}.rp-btn-secondary{padding:10px 24px;background-color:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s}.rp-btn-secondary:hover{background-color:var(--color-bg-secondary);border-color:var(--color-gray-400)}@media (max-width: 1024px){.header{flex-direction:column;align-items:flex-start;gap:12px}.header-right{width:100%;justify-content:flex-start}.controls{justify-content:flex-start}.search-container{width:100%}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width: 768px){.container{padding:16px}.header-left h1{font-size:24px}.grid{grid-template-columns:1fr}}.rp-warning{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;margin-bottom:16px;background-color:var(--color-warning-bg);border:1px solid var(--color-warning-hover);border-radius:8px;color:var(--color-warning-text)}@media (prefers-color-scheme: dark){.card-title,.card-description{color:var(--color-gray-100)!important}.card-description,.detail-title{color:var(--color-gray-300)!important}.detail-value{color:var(--color-gray-100)!important}.detail-muted{color:var(--color-gray-400)!important}.rp-modal-header h2{color:var(--color-gray-100)!important}.option-content{color:var(--color-gray-300)!important}}.template-details-container{max-width:1200px;margin:0 auto;padding:var(--space-6);background:var(--color-bg-secondary);min-height:100vh}.template-details-container>.rp-btn-back{margin-bottom:var(--space-6)}.rp-template-header{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--color-border-primary)}.template-header-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.template-header-main h1{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);flex:1}.template-section{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--color-border-primary)}.template-section h2{margin:0 0 var(--space-6) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.rp-btn-primary,.rp-btn-secondary{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:none}.rp-btn-primary{background:var(--color-primary);color:#fff}.rp-btn-primary:disabled{opacity:.5;cursor:not-allowed}.rp-btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.rp-btn-secondary:hover:not(:disabled){background:var(--color-bg-primary);transform:translateY(-1px)}.template-details-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4)}.template-details-loading p{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.template-details-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4);text-align:center}.error-icon{font-size:48px;color:var(--color-error)}.template-details-error h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.template-details-error p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.logo-manager{display:flex;flex-direction:column;gap:var(--space-4)}.logo-info-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.5}.logo-info-icon{color:var(--color-primary);margin-top:2px;flex-shrink:0}.logo-slots{display:flex;flex-direction:column;gap:var(--space-4)}.logo-slot-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.logo-slot-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-gray-300, #cbd5e1)}.logo-slot-card.has-logo{display:grid;grid-template-columns:200px 1fr}.logo-card-preview{display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:linear-gradient(45deg,var(--color-gray-100, #f1f5f9) 25%,transparent 25%),linear-gradient(-45deg,var(--color-gray-100, #f1f5f9) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-gray-100, #f1f5f9) 75%),linear-gradient(-45deg,transparent 75%,var(--color-gray-100, #f1f5f9) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border-primary);min-height:120px}.logo-card-preview img{max-width:160px;max-height:96px;display:block;object-fit:contain}.logo-card-body{display:flex;flex-direction:column;justify-content:center;padding:var(--space-5);gap:var(--space-1)}.logo-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.logo-card-title{display:flex;align-items:center;gap:var(--space-2)}.logo-slot-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.logo-badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);letter-spacing:.02em;white-space:nowrap}.logo-badge--active{background:var(--color-success-bg);color:var(--color-success-hover)}.logo-card-dimensions{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-medium);white-space:nowrap}.logo-card-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.logo-card-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.logo-btn-replace,.logo-btn-delete{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:none}.logo-btn-replace{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.logo-btn-replace:hover:not(.disabled){background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary)}.logo-btn-delete{background:transparent;color:var(--color-text-tertiary)}.logo-btn-delete:hover:not(.disabled){color:var(--color-error);background:var(--color-error-bg)}.logo-btn-replace.disabled,.logo-btn-delete.disabled{opacity:.4;cursor:not-allowed}.logo-upload-area{display:block;padding:var(--space-8);background:var(--color-bg-secondary);border:2px dashed var(--color-border-primary);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-fast)}.logo-upload-area:hover:not(.disabled):not(.uploading){background:var(--color-primary-bg);border-color:var(--color-primary)}.logo-upload-area.uploading,.logo-upload-area.disabled{opacity:.6;cursor:not-allowed}.logo-upload-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.logo-upload-icon{font-size:var(--font-size-2xl);color:var(--color-text-tertiary)}.logo-upload-area:hover:not(.disabled):not(.uploading) .logo-upload-icon{color:var(--color-primary)}.logo-upload-text{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.logo-upload-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.logo-error{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-error-text)}.logo-message{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm)}.logo-message--error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text)}.logo-message--info{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);color:var(--color-text-secondary)}.logo-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.logo-loading-spinner{font-size:var(--font-size-lg);color:var(--color-primary)}.logo-tips{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.logo-tips-icon{color:var(--color-warning);margin-top:2px;flex-shrink:0}.logo-tips ul{margin:var(--space-1) 0 0 var(--space-4);padding:0}.logo-tips li{margin-bottom:var(--space-1)}@media (prefers-color-scheme: dark){.logo-info-banner{background:var(--color-primary-alpha-08);border-color:#2563eb4d}.logo-slot-card{background:var(--color-gray-800, #1e293b);border-color:var(--color-gray-700, #334155)}.logo-slot-card:hover{border-color:var(--color-gray-600, #475569)}.logo-card-preview{background-color:var(--color-gray-700, #334155);background-image:linear-gradient(45deg,var(--color-gray-600, #475569) 25%,transparent 25%),linear-gradient(-45deg,var(--color-gray-600, #475569) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-gray-600, #475569) 75%),linear-gradient(-45deg,transparent 75%,var(--color-gray-600, #475569) 75%);border-right-color:var(--color-gray-700, #334155)}.logo-badge--active{background:rgba(var(--color-success),.15);color:var(--color-success)}.logo-btn-replace{background:var(--color-gray-700, #334155);border-color:var(--color-gray-600, #475569);color:var(--color-gray-200, #e2e8f0)}.logo-btn-replace:hover:not(.disabled){background:#2563eb26;border-color:#60a5fa;color:#60a5fa}.logo-btn-delete{color:var(--color-gray-400, #94a3b8)}.logo-btn-delete:hover:not(.disabled){color:var(--color-error);background:var(--color-error-bg)}.logo-upload-area{background:var(--color-gray-800, #1e293b);border-color:var(--color-gray-600, #475569)}.logo-upload-area:hover:not(.disabled):not(.uploading){background:var(--color-primary-alpha-08);border-color:#60a5fa}.logo-error,.logo-message--error{background:var(--color-error-bg);border-color:color-mix(in srgb,var(--color-error) 30%,transparent);color:var(--color-error)}}@media (max-width: 768px){.template-details-container,.rp-template-header{padding:var(--space-4)}.template-header-main{flex-direction:column;align-items:flex-start}.logo-slot-card.has-logo{grid-template-columns:1fr}.logo-card-preview{border-right:none;border-bottom:1px solid var(--color-border-primary);min-height:100px}.logo-card-actions{flex-wrap:wrap}}.datasets-container{padding:24px;max-width:1400px;margin:0 auto;background:var(--color-bg-secondary);min-height:100vh;position:relative;z-index:auto}.datasets-count{display:inline-block;padding:4px 10px;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:12px;font-size:14px;font-weight:500}.refresh-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.refresh-button:hover{background:var(--color-bg-secondary);border-color:var(--color-gray-400)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.refresh-button:active:not(:disabled){transform:scale(.98)}.upload-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-brand-blue);color:var(--color-text-on-primary);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.upload-btn:hover{background:var(--color-brand-blue-dark)}.upload-btn:active{transform:scale(.98)}.loading-inline,.empty-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.dataset-name{font-weight:500;color:var(--color-text-primary)}.student-count{color:var(--color-primary);font-weight:600}.date{color:var(--color-text-tertiary);font-size:13px}.actions{display:flex;gap:8px;align-items:center}.detail-section{margin-bottom:24px}.detail-title{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:var(--color-text-secondary);font-weight:500}.detail-value{font-size:15px;color:var(--color-text-primary);font-weight:500}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.history-date{font-size:12px;color:var(--color-text-secondary)}.history-name{font-size:14px;color:var(--color-text-primary);flex:1;margin:0 12px}.history-status{font-size:12px;font-weight:600;padding:4px 8px;border-radius:4px;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.filter-section{margin-bottom:20px;padding:16px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.filter-row{display:flex;align-items:flex-end;gap:12px}.student-preview-modal .filter-row{display:flex;align-items:center;gap:8px}.student-preview-modal .filter-field{flex-direction:row;align-items:center;gap:8px}.student-preview-modal .filter-field label{white-space:nowrap;margin:0}.filter-field{display:flex;flex-direction:column;gap:6px}.filter-field label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.filter-input{padding:8px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary)}.filter-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.student-table{max-height:400px;overflow-y:auto;border:1px solid var(--color-border-primary);border-radius:8px}.studentTable--expandable{max-height:500px;overflow-y:auto;border:1px solid var(--color-border-primary);border-radius:8px}.studentTable--expandable .rp-table-fixed{max-height:none;overflow-y:visible}.student-preview-modal .rp-modal-body{display:flex;flex-direction:column;overflow:hidden;gap:8px}.student-preview-modal .filter-section{flex:0 0 auto;padding:8px 12px;margin-bottom:0}.student-preview-modal .studentTable--expandable{flex:1;min-height:0;max-height:none}.table-col-student{width:300px!important;min-width:250px!important;padding:12px 16px!important}.table-col-grade{width:100px!important;min-width:80px!important;text-align:center!important}.table-col-school{width:200px!important;min-width:150px!important}.table-col-gpa{width:140px!important;min-width:120px!important;text-align:center!important;font-variant-numeric:tabular-nums}.student-info{display:flex;flex-direction:column;gap:4px}.student-info-primary{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--color-text-primary)}.student-name{font-size:14px;line-height:1.4}.student-info-secondary{font-size:12px;color:var(--color-text-secondary);padding-left:20px}.expand-indicator{flex-shrink:0;width:12px;color:var(--color-text-secondary);font-size:10px;transition:transform .15s ease-out;-webkit-user-select:none;user-select:none}.row-expanded .expand-indicator{color:var(--color-primary)}.expanded-row{background-color:#f3f4f6!important;border-bottom:1px solid var(--color-border-primary)!important}.expanded-row:hover{background-color:#f3f4f6!important}.expanded-row td{padding:0!important;border-top:1px solid var(--color-border-primary)}.expanded-row-content{padding:16px 20px;animation:expandRow .2s ease-out}@keyframes expandRow{0%{opacity:0;max-height:0;transform:translateY(-4px)}to{opacity:1;max-height:200px;transform:translateY(0)}}.rp-data-table tbody tr.clickable{cursor:pointer;transition:background-color .15s ease-out}.rp-data-table tbody tr.clickable:hover{background-color:var(--color-gray-100)}.rp-data-table tbody tr.clickable:active{background-color:var(--color-bg-tertiary)}.rp-data-table tbody tr.row-expanded{background-color:#e5e7eb;border-bottom-color:transparent}.rp-data-table td.text-muted,.detail-value.text-muted{color:var(--color-text-tertiary);font-style:normal}@media (prefers-color-scheme: dark){.studentTable--expandable{background-color:var(--color-gray-800);border-color:var(--color-gray-700)}.student-info-primary{color:var(--color-gray-100)}.student-info-secondary,.expand-indicator{color:var(--color-gray-400)}.row-expanded .expand-indicator{color:var(--color-primary)}.expanded-row{background-color:var(--color-gray-700)!important;border-bottom-color:var(--color-gray-600)!important}.expanded-row:hover{background-color:var(--color-gray-600)!important}.expanded-row td{border-top-color:var(--color-gray-600)}.rp-data-table tbody tr.clickable:hover{background-color:var(--color-gray-600)}.rp-data-table tbody tr.row-expanded{background-color:var(--color-gray-700)}.rp-data-table td.text-muted,.detail-value.text-muted{color:var(--color-gray-500)}}@media (max-width: 768px){.table-col-student{min-width:200px!important}.table-col-school{min-width:120px!important}.expanded-row-content{padding:12px 16px}.detail-grid{grid-template-columns:1fr}}.student-count{margin-top:12px;font-size:13px;color:var(--color-text-secondary);text-align:right}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.form-input{width:100%;padding:10px 12px;border:1px solid var(--color-border-primary);border-radius:8px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary)}.form-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.form-input:disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed}.info-box{padding:12px;background-color:var(--color-warning-bg);border:1px solid var(--color-warning-hover);border-radius:8px;margin-top:12px}.info-box p{margin:0;font-size:14px;color:var(--color-warning-text)}@media (max-width: 1024px){.detail-grid,.filter-row{grid-template-columns:1fr}}@media (max-width: 768px){.datasets-container{padding:16px}.actions{flex-direction:column}}.preview-info{margin-top:16px;padding:16px;background-color:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border-primary)}.preview-loading{margin:0;color:var(--color-text-secondary);font-size:14px;font-style:italic}.preview-result{display:flex;flex-direction:column;gap:12px}.preview-count{margin:0;color:var(--color-success);font-size:14px;line-height:1.5}.preview-count strong{font-weight:600;font-size:16px}@media (prefers-color-scheme: dark){.dataset-name{color:var(--color-gray-100)!important}.date{color:var(--color-gray-400)!important}.modal-header h2,.detail-value,.history-name{color:var(--color-gray-100)!important}.detail-title,.detail-label,.history-date{color:var(--color-gray-300)!important}.form-input{background:var(--color-gray-800, #1f2937)!important;border-color:var(--color-gray-600, #4b5563)!important;color:var(--color-gray-100, #f3f4f6)!important}.form-input:focus{background:var(--color-gray-700, #374151)!important;border-color:var(--color-primary, #3b82f6)!important}.form-input:disabled{background:var(--color-gray-900, #111827)!important;color:var(--color-gray-500, #6b7280)!important}.dataset-info{background:var(--color-gray-800, #1f2937)!important;border-color:var(--color-gray-600, #4b5563)!important}.dataset-info p{color:var(--color-gray-300, #d1d5db)!important}.dataset-info strong{color:var(--color-gray-100, #f3f4f6)!important}.refresh-button i{color:var(--color-gray-300, #d1d5db)!important}.upload-btn i{color:var(--color-text-on-primary, #ffffff)!important}}.paginationBar{display:flex;align-items:center;justify-content:space-between;padding:12px 0 4px;gap:12px}.paginationInfo{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.upload-dataset-modal{max-width:600px;width:90%}.upload-area{border:2px dashed var(--color-border-primary, #d1d5db);border-radius:var(--radius-md, 8px);padding:var(--space-8, 2rem);text-align:center;background:var(--color-bg-secondary, #f9fafb);transition:all .2s ease;margin-bottom:var(--space-6, 1.5rem);cursor:pointer}.upload-area.drag-active{border-color:var(--color-secondary);background:var(--color-primary-bg)}.upload-area.has-file{background:#fff;border-color:var(--color-success);cursor:default}.upload-icon{font-size:48px;margin-bottom:var(--space-4, 1rem)}.upload-text{font-size:var(--font-size-base, 1rem);color:var(--color-text-secondary, #6b7280);margin-bottom:var(--space-2, .5rem)}.browse-button{display:inline-block;padding:var(--space-2, .5rem) var(--space-4, 1rem);background:var(--color-brand-blue);color:#fff;border-radius:var(--radius-md, 8px);cursor:pointer;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);transition:background-color .2s ease;margin-bottom:var(--space-2, .5rem)}.browse-button:hover{background:var(--color-brand-blue-dark)}.upload-hint{font-size:var(--font-size-sm, .875rem);color:var(--color-text-tertiary, #9ca3af);margin-top:var(--space-2, .5rem)}.file-selected{display:flex;align-items:center;gap:var(--space-4, 1rem);padding:var(--space-4, 1rem);background:#fff;border-radius:var(--radius-md, 8px)}.file-icon{font-size:32px;flex-shrink:0}.file-info{flex:1;text-align:left}.file-name{font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #111827);margin-bottom:var(--space-1, .25rem);word-break:break-word}.file-size{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280)}.remove-file-button{padding:var(--space-2, .5rem) var(--space-3, .75rem);background:var(--color-error, var(--color-error-bg));color:var(--color-error, var(--color-error-hover));border:1px solid var(--color-error, var(--color-error-border));border-radius:var(--radius-md, 8px);cursor:pointer;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);transition:all .2s ease}.remove-file-button:hover{background:var(--color-error, var(--color-error-bg));border-color:var(--color-error, var(--color-error-border))}.form-section{margin-bottom:var(--space-4, 1rem)}.form-label{display:block;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #111827);margin-bottom:var(--space-2, .5rem)}.form-input,.form-textarea{width:100%;padding:var(--space-2, .5rem) var(--space-3, .75rem);border:1px solid var(--color-border-primary, #d1d5db);border-radius:var(--radius-md, 8px);font-size:var(--font-size-base, 1rem);color:var(--color-text-primary, #111827);background:#fff;transition:border-color .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e51a}.form-input:disabled,.form-textarea:disabled{background:var(--color-bg-secondary, #f9fafb);cursor:not-allowed}.form-textarea{resize:vertical;min-height:80px}.upload-progress{margin-top:var(--space-4, 1rem);padding:var(--space-4, 1rem);background:var(--color-primary-bg);border-radius:var(--radius-md, 8px)}.progress-bar{width:100%;height:8px;background:var(--color-gray-200, #e5e7eb);border-radius:var(--radius-full, 9999px);overflow:hidden;margin-bottom:var(--space-2, .5rem)}.progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full, 9999px);animation:progress 1.5s ease-in-out infinite}@keyframes progress{0%{width:0%}50%{width:70%}to{width:100%}}.progress-text{font-size:var(--font-size-sm, .875rem);color:var(--color-primary-dark);font-weight:var(--font-weight-medium, 500);text-align:center}.error-message{padding:var(--space-3, .75rem) var(--space-4, 1rem);background:var(--color-error, var(--color-error-bg));border:1px solid var(--color-error, var(--color-error-border));border-radius:var(--radius-md, 8px);color:var(--color-error, var(--color-error-text));font-size:var(--font-size-sm, .875rem);margin-bottom:var(--space-4, 1rem)}.error-message413{border-color:var(--color-error, var(--color-error-border));background:var(--color-error, var(--color-error-bg))}.error-message413 strong{display:block;font-size:var(--font-size-base, 1rem);margin-bottom:var(--space-1, .25rem)}.upload-btn{padding:var(--space-2, .5rem) var(--space-4, 1rem);background:var(--color-brand-blue);color:#fff;border:none;border-radius:var(--radius-md, 8px);cursor:pointer;font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-medium, 500);transition:background-color .2s ease}.upload-btn:hover:not(:disabled){background:var(--color-brand-blue-dark)}.upload-btn:disabled{background:var(--color-gray-300, #d1d5db);cursor:not-allowed}.cancel-btn{padding:var(--space-2, .5rem) var(--space-4, 1rem);background:#fff;color:var(--color-text-secondary, #6b7280);border:1px solid var(--color-border-primary, #d1d5db);border-radius:var(--radius-md, 8px);cursor:pointer;font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-medium, 500);transition:all .2s ease}.cancel-btn:hover:not(:disabled){background:var(--color-bg-secondary, #f9fafb);border-color:var(--color-gray-300, #d1d5db)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme: dark){.cancel-btn{background:var(--color-gray-800, #1f2937)!important;color:var(--color-gray-300, #d1d5db)!important;border-color:var(--color-gray-600, #4b5563)!important}.cancel-btn:hover:not(:disabled){background:var(--color-gray-700, #374151)!important;border-color:var(--color-gray-500, #6b7280)!important}.upload-btn:disabled{background:var(--color-gray-700, #374151)!important;color:var(--color-gray-500, #6b7280)!important}.upload-area{background:var(--color-gray-800, #1f2937)!important;border-color:var(--color-gray-600, #4b5563)!important}.upload-area.has-file,.file-selected{background:var(--color-gray-800, #1f2937)!important}.file-name{color:var(--color-gray-100, #f3f4f6)!important}.file-size,.upload-text{color:var(--color-gray-400, #9ca3af)!important}.upload-hint{color:var(--color-gray-500, #6b7280)!important}}.rp-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease;overflow-y:auto;padding:var(--space-5) 0}.rp-modal-content{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-width:700px;width:90%;max-height:calc(100vh - 60px);display:flex;flex-direction:column;animation:slideUp .3s ease;margin:auto;position:relative}.powerschool-modal{max-width:700px}.rp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-shrink:0}.rp-modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--space-2)}.rp-modal-header.rp-error{background:linear-gradient(135deg,var(--color-gray-700) 0%,var(--color-gray-800) 100%);border-left:4px solid var(--color-error)}.rp-modal-close{background:var(--color-white-20);border:none;color:#fff;font-size:var(--font-size-2xl);cursor:pointer;width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);line-height:1}.rp-modal-close:hover:not(:disabled){background:var(--color-white-30);transform:rotate(90deg)}.rp-modal-close:disabled{opacity:.5;cursor:not-allowed}.rp-modal-body{padding:var(--space-6);overflow-y:auto;flex:1;min-height:0}.form-group{margin-bottom:var(--space-5)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary)}.form-group select{width:100%;padding:var(--space-3) var(--space-3-5);border:2px solid var(--color-border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-primary);transition:all var(--transition-fast);box-sizing:border-box}.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-group select:disabled{background:var(--color-bg-secondary);cursor:not-allowed;opacity:.6}.help-text,.form-hint{display:flex;align-items:center;gap:var(--space-1-5);margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.hint-icon{font-size:var(--font-size-sm);color:var(--color-primary);flex-shrink:0}.school-list-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.school-search-input{flex:1;min-width:200px;padding:var(--space-2) var(--space-3);border:2px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-primary);transition:all var(--transition-fast)}.school-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.school-search-input::placeholder{color:var(--color-text-tertiary)}.select-actions{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.select-link{background:none;border:none;color:var(--color-primary);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:var(--font-size-sm)}.select-link:hover{background:var(--color-primary-bg);color:var(--color-primary-dark)}.select-link:active{transform:scale(.98)}.select-link:disabled{opacity:.5;cursor:not-allowed}.separator{color:var(--color-border-secondary)}.school-list-container{max-height:300px;overflow-y:auto;border:2px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--space-3);background:var(--color-bg-primary);scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}.school-list-container::-webkit-scrollbar{width:8px}.school-list-container::-webkit-scrollbar-track{background:transparent}.school-list-container::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full);transition:background-color var(--transition-fast)}.school-list-container::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.school-checkbox-item{display:flex;align-items:center;padding:var(--space-2) var(--space-2-5);min-height:36px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative;margin-bottom:var(--space-0-5)}.school-checkbox-item:hover{background:var(--color-bg-secondary)}.school-checkbox-item:active{background:var(--color-primary-bg)}.school-checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;margin-right:var(--space-2);flex-shrink:0;accent-color:var(--color-primary)}.school-checkbox-item input[type=checkbox]:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}.school-name{flex:1;font-size:var(--font-size-xs);color:var(--color-text-primary);line-height:1.3}.school-checkbox-item input[type=checkbox]:checked+.school-name{font-weight:var(--font-weight-medium);color:var(--color-primary)}.school-list-footer{margin-top:var(--space-3);min-height:44px;height:44px}.selection-summary{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.2;height:44px;max-height:44px;flex-wrap:nowrap;overflow:hidden;box-sizing:border-box}.selection-summary>svg,.selection-summary>.svg-inline--fa{flex-shrink:0;width:14px;height:14px}.selection-summary>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;flex-grow:0}.selection-summary.success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text);padding:var(--space-2-5) var(--space-3)}.selection-summary.rp-empty{background:var(--color-gray-50);border:1px solid var(--color-border-primary);color:var(--color-text-secondary);padding:var(--space-2-5) var(--space-3);flex-direction:row!important;text-align:left!important}.dataset-info{color:var(--color-success-hover);font-weight:var(--font-weight-normal);margin-left:var(--space-1);white-space:nowrap;flex-shrink:0}.loading-state-container{display:flex;align-items:center;justify-content:center;min-height:200px;padding:var(--space-8)}.loading-state{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.loading-icon{color:var(--color-primary);font-size:2.5rem}.loading-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin:0}.loading-subtext{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.error-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-left-width:4px;border-left-color:var(--color-error);border-radius:var(--radius-lg);margin-top:var(--space-4);color:var(--color-error-text);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.error-icon{font-size:var(--font-size-lg);flex-shrink:0;margin-top:2px}.empty-state{text-align:center;padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.empty-icon{font-size:3rem;color:var(--color-gray-400)}.empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.empty-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;max-width:400px}.rp-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);flex-shrink:0;border-top:1px solid var(--color-border-secondary);background:var(--color-bg-primary)}.button-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-1-5);background:#ffffff40;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1;margin-left:var(--space-1)}@media (prefers-color-scheme: dark){.school-list-container::-webkit-scrollbar-thumb{background:var(--color-gray-600)}.school-list-container::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.selection-summary.success{background:var(--color-success-bg);border-color:#10b9814d;color:var(--color-success)}.selection-summary.rp-empty{background:var(--color-gray-800);border-color:var(--color-gray-700)}.error-banner{background:var(--color-error-bg);border-color:color-mix(in srgb,var(--color-error) 30%,transparent);color:var(--color-error)}.empty-icon{color:var(--color-gray-600)}.school-search-input{background:var(--color-gray-800);border-color:var(--color-gray-700);color:var(--color-text-primary)}.school-search-input:focus{border-color:var(--color-primary)}.school-checkbox-item:hover{background:var(--color-gray-800)}.school-checkbox-item:active,.select-link:hover{background:#3b82f61a}}@media (max-width: 768px){.rp-modal-overlay{padding:0;align-items:flex-start}.rp-modal-content{width:95%;max-height:100vh;border-radius:0}.rp-modal-header{border-radius:0;padding:var(--space-4) var(--space-5)}.rp-modal-header h2{font-size:var(--font-size-lg)}.rp-modal-body{padding:var(--space-5)}.school-list-header{flex-direction:column;align-items:stretch}.school-search-input{width:100%}.select-actions{justify-content:center}}@media (max-width: 480px){.rp-modal-content{width:100%;max-height:100vh;border-radius:0}.rp-modal-header{padding:var(--space-3-5) var(--space-4);border-radius:0}.rp-modal-header h2{font-size:var(--font-size-base)}.rp-modal-body{padding:var(--space-4)}.rp-modal-footer{flex-direction:column;padding:0 var(--space-4) var(--space-4)}}.powerschool-progress-modal{max-width:600px;width:90%}.powerschool-progress-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-on-primary, white);border-radius:12px 12px 0 0;flex-shrink:0}.powerschool-progress-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--color-text-on-primary, white)}.powerschool-progress-modal .modal-close-btn{background:none;border:none;color:var(--color-text-on-primary, white);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.powerschool-progress-modal .modal-close-btn:hover{background-color:#fff3}.powerschool-progress-modal .modal-body{max-height:70vh;overflow-y:auto}.progress-section{background-color:var(--color-bg-secondary, #f9f9f9);border:1px solid var(--color-border-primary, #ddd);border-radius:8px;padding:20px;margin-bottom:20px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-label{font-weight:600;font-size:15px;color:var(--color-text-primary, #333)}.progress-count{font-size:14px;color:var(--color-text-secondary, #666)}.progress-bar-container{width:100%;height:12px;background-color:var(--color-bg-tertiary, #e0e0e0);border-radius:6px;overflow:hidden;margin-bottom:12px}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark));border-radius:6px;transition:width .3s ease;position:relative}.progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.progress-bar.has-errors{background:linear-gradient(90deg,var(--color-warning),var(--color-warning-hover))}.progress-bar.complete{background:linear-gradient(90deg,var(--color-success),var(--color-success-hover))}.progress-bar.complete:after{animation:none}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-stats{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--color-text-secondary, #666)}.stat{display:flex;align-items:center;gap:6px}.stat.error{color:var(--color-error)}.schools-section{margin-bottom:20px}.section-title{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--color-text-primary, #333)}.schools-list{display:flex;flex-direction:column;gap:10px}.school-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--color-bg-secondary, #f9f9f9);border:1px solid var(--color-border-primary, #ddd);border-radius:6px;transition:all .2s ease}.school-item.completed,.school-item.success{background-color:var(--color-success-bg);border-color:var(--color-success)}.school-item.failed,.school-item.error{background-color:var(--color-error-bg);border-color:var(--color-error)}.school-item.processing,.school-item.ingesting,.school-item.running{background-color:var(--color-primary-bg);border-color:var(--color-primary)}.school-info{display:flex;align-items:center;gap:12px}.status-icon{font-size:18px}.status-icon.success{color:var(--color-success)}.status-icon.error{color:var(--color-error)}.status-icon.processing{color:var(--color-primary)}.status-icon.pending{color:var(--color-text-tertiary, #999);font-size:10px}.school-name{font-weight:500;font-size:14px;color:var(--color-text-primary, #333)}.school-status{font-size:13px;color:var(--color-text-secondary, #666)}.completion-section{border:2px solid var(--color-success);border-radius:8px;padding:20px;background-color:var(--color-success-bg)}.completion-section.has-errors{border-color:var(--color-warning);background-color:var(--color-warning-bg)}.completion-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.completion-icon{font-size:32px;color:var(--color-success)}.completion-section.has-errors .completion-icon{color:var(--color-warning)}.completion-header h3{margin:0;font-size:20px;color:var(--color-text-primary, #333)}.completion-details p{margin-bottom:12px;color:var(--color-text-primary, #333);line-height:1.5}.dataset-list{list-style:none;padding:0;margin:16px 0}.dataset-item{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--color-primary);font-size:14px}.dataset-item svg{flex-shrink:0}.failed-list{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-primary, #ddd)}.failed-header{font-weight:600;color:var(--color-error-hover);margin-bottom:8px}.failed-list ul{list-style:none;padding:0;margin:0}.failed-list li{padding:6px 0;color:var(--color-text-secondary, #666);font-size:13px}.btn-view-datasets{width:100%;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;font-size:15px;font-weight:600}.modal-footer .footer-note{display:flex;align-items:center;gap:10px;color:var(--color-text-secondary, #666);font-size:14px;width:100%;justify-content:center}.footer-note svg{color:var(--color-primary)}@media (max-width: 768px){.powerschool-progress-modal{width:95%;max-width:none}.progress-section{padding:16px}.school-item{padding:10px 12px}.completion-header h3{font-size:18px}.completion-icon{font-size:28px}}.dataset-details-container{max-width:1200px;margin:0 auto;padding:var(--space-6);background:var(--color-bg-secondary);min-height:100vh}.dataset-details-container>.rp-btn-back{margin-bottom:var(--space-6)}.dataset-header{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--color-border-primary)}.dataset-header-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.dataset-header-main h1{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);flex:1}.status-badge{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.status-ready{background:#e8f1fe;color:#1e4bb8;border:1px solid #C5D9F5}.status-processing{background:#dbeafe;color:#1e40af;border:1px solid #93C5FD}.status-error{background:#bfdbfe;color:#1e3a8a;border:1px solid #93C5FD}@media (prefers-color-scheme: dark){.status-ready{background:#3b82f633!important;color:#93c5fd!important;border-color:#3b82f64d!important}.status-processing{background:#3b82f626!important;color:#bfdbfe!important;border-color:#3b82f640!important}.status-error{background:#ef444433!important;color:#fca5a5!important;border-color:color-mix(in srgb,var(--color-error) 30%,transparent)!important}}.dataset-metadata{display:flex;flex-wrap:wrap;gap:var(--space-6)}.dataset-section{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--color-border-primary)}.dataset-section h2{margin:0 0 var(--space-6) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.section-header h2{margin:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6);margin-bottom:var(--space-6)}.info-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border-primary)}.info-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.dataset-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.dataset-actions .rp-btn-secondary i{margin-right:var(--space-2)}@media (prefers-color-scheme: dark){.dataset-actions .rp-btn-secondary i{color:var(--color-gray-700, #334155)}}.jobs-list{display:flex;flex-direction:column;gap:var(--space-3)}.job-item{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer}.job-item>:first-child{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.job-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.job-info{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.job-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-progress{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.progress-bar{width:100%;height:8px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--color-border-primary)}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:var(--radius-full);transition:width .3s ease;animation:pulse 2s infinite}.progress-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-2)}.activity-log-section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-primary)}.activity-log-toggle{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--space-2) 0;display:flex;align-items:center;gap:var(--space-2);transition:color var(--transition-fast)}.activity-log-toggle:hover{color:var(--color-primary)}.activity-log-entries{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-primary);max-height:300px;overflow-y:auto}.activity-log-entry{display:flex;gap:var(--space-3);font-size:var(--font-size-sm);line-height:1.5;padding:var(--space-2);border-bottom:1px solid var(--color-border-primary)}.activity-log-entry:last-child{border-bottom:none}.log-timestamp{flex-shrink:0;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-family:var(--font-family-mono);min-width:70px}.log-message{color:var(--color-text-primary);flex:1;word-break:break-word}.empty-message{text-align:center;padding:var(--space-8);color:var(--color-text-secondary);font-style:italic}.dataset-id{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-primary);word-break:break-all}.dataset-details-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4)}.dataset-details-loading p{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.dataset-details-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4);text-align:center}.error-icon{font-size:64px;color:var(--color-error)}@media (prefers-color-scheme: dark){.error-icon{color:var(--color-error)!important}}.dataset-details-error h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.dataset-details-error p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.dataset-details-container,.dataset-header{padding:var(--space-4)}.dataset-header-main{flex-direction:column;align-items:flex-start}.info-grid{grid-template-columns:1fr}.section-header,.job-item{flex-direction:column;align-items:flex-start}}.dependencies-container{padding:24px;max-width:1400px;margin:0 auto;background:var(--color-gray-50);min-height:100vh}.dependencies-header{margin-bottom:32px}.dependencies-header-title{display:flex;align-items:center;gap:12px;margin-bottom:6px}.dependencies-header-title h1{margin:0;font-size:28px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.025em}.dependencies-header-title .icon{color:var(--color-primary)}.dependencies-header-subtitle{margin:0;color:var(--color-text-secondary);font-size:15px;line-height:1.5}.kpi-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.kpi-card{padding:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;transition:all .15s;position:relative}.kpi-card.clickable{cursor:pointer}.kpi-card-content{display:flex;justify-content:space-between;align-items:flex-start}.kpi-card-info{flex:1}.kpi-card-label{font-size:12px;color:var(--color-text-secondary);margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.kpi-card-value{font-size:32px;font-weight:700;color:var(--color-text-primary);line-height:1}.kpi-card-warning-badge{padding:4px 8px;background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:12px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:4px}.kpi-card-warning-badge.error{background:var(--color-error-bg);color:var(--color-error-text)}.kpi-card-action-hint{font-size:11px;color:var(--color-primary);margin-top:12px;display:flex;align-items:center;gap:4px}.filter-section{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;padding:20px;margin-bottom:20px}.filter-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.filter-row:last-child{margin-bottom:0}.filter-control{display:flex;gap:8px;align-items:center}.filter-label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.filter-select{padding:8px 32px 8px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-primary);cursor:pointer}.filter-checkbox-wrapper{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:6px;background:transparent;border:1px solid transparent;transition:all .15s}.filter-checkbox-wrapper.active{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.filter-checkbox{cursor:pointer;width:16px;height:16px}.filter-checkbox-label{font-size:14px;color:var(--color-text-secondary);font-weight:500}.filter-count-badge{padding:2px 6px;background:var(--color-warning-text);color:#fff;border-radius:10px;font-size:11px;font-weight:600}.filter-spacer{flex:1;min-width:20px}.search-wrapper{min-width:300px;position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary)}.search-input{width:100%;padding:10px 40px 10px 36px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary)}.search-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .15s}.search-clear-btn:hover{color:var(--color-text-primary)}.quick-filters-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.quick-filters-label{font-size:12px;color:var(--color-text-secondary);font-weight:500}.quick-filter-chip{padding:4px 10px;border-radius:16px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid}.quick-filter-chip.workflow{background:var(--color-entity-workflow-bg);color:var(--color-entity-workflow);border-color:#bfdbfe}.quick-filter-chip.workflow.active{background:var(--color-entity-workflow-bg);border-color:var(--color-primary)}.quick-filter-chip.workflow:not(.active):hover{background:#dbeafe}.quick-filter-chip.dataset{background:var(--color-entity-dataset-bg);color:var(--color-entity-dataset);border-color:#ddd6fe}.quick-filter-chip.dataset.active{background:var(--color-entity-dataset-bg);border-color:#6366f1}.quick-filter-chip.dataset:not(.active):hover{background:#e0e7ff}.quick-filter-chip.job{background:var(--color-entity-job-bg);color:var(--color-entity-job);border-color:var(--color-error-border)}.quick-filter-chip.job.active{background:var(--color-error-bg);border-color:var(--color-error-hover)}.quick-filter-chip.job:not(.active):hover{background:var(--color-error-bg)}.results-summary{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--color-gray-50);border-radius:6px;border:1px solid var(--color-border-primary)}.results-info{display:flex;align-items:center;gap:12px}.results-count{font-size:14px;font-weight:500;color:var(--color-text-primary)}.clear-filters-btn{padding:4px 8px;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px;font-size:12px;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;gap:4px;font-weight:500;transition:all .15s}.clear-filters-btn:hover{background:var(--color-gray-100);color:var(--color-text-primary)}.bulk-actions{display:flex;gap:8px}.export-btn{padding:6px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s}.export-btn:hover{background:var(--color-gray-100)}.table-wrapper{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.type-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.type-icon.workflow{background:var(--color-entity-workflow-bg);color:var(--color-entity-workflow)}.type-icon.dataset{background:var(--color-entity-dataset-bg);color:var(--color-entity-dataset)}.type-icon.job{background:var(--color-entity-job-bg);color:var(--color-entity-job)}.status-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize;display:inline-flex;align-items:center;gap:6px}.status-badge.active,.status-badge.completed{background:var(--color-status-active-bg);color:var(--color-status-active)}.status-badge.inactive,.status-badge.failed{background:var(--color-status-failed-bg);color:var(--color-status-failed)}.status-badge.processing{background:var(--color-status-processing-bg);color:var(--color-status-processing)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.entity-name-wrapper{display:flex;align-items:center;gap:10px}.entity-info{min-width:0}.entity-name{font-weight:600;color:var(--color-text-primary);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-id{font-size:12px;color:var(--color-text-tertiary);margin-top:2px;font-family:monospace}.relationships{font-size:13px;color:var(--color-text-secondary)}.relationship-row{display:flex;flex-direction:column;gap:4px}.relationship-item{display:flex;align-items:center;gap:6px}.relationship-icon{color:var(--color-text-tertiary);width:14px}.relationship-secondary{color:var(--color-text-tertiary)}.type-label{font-size:13px;color:var(--color-text-secondary);font-weight:500;text-transform:capitalize}.expanded-row-content{padding:20px;background:var(--color-gray-50);border-top:1px solid var(--color-border-primary)}.dependency-info-container{padding:16px;background:var(--color-gray-50);border:1px solid var(--color-border-primary);border-radius:8px}.dependency-info-container--has-deps{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.dependency-info-container--has-deps .dependency-info-title-icon,.dependency-info-container--has-deps .dependency-info-chevron{color:var(--color-warning)}.dependency-info-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;cursor:pointer}.dependency-info-title{display:flex;align-items:center;gap:8px}.dependency-info-title-icon{color:var(--color-text-tertiary)}.dependency-info-title-text{font-weight:600;font-size:14px;color:var(--color-text-primary)}.dependency-info-chevron{color:var(--color-text-tertiary);font-size:12px}.dependency-info-content{padding-left:24px}.dependency-info-content>div{padding:12px;border-radius:6px;font-size:13px;display:flex;align-items:flex-start;border:1px solid;gap:8px}.dependency-info-content>div[style*="background: rgb(240, 253, 244)"],.dependency-info-content>div[style*="background:#f0fdf4"]{background:var(--color-success-bg)!important;border-color:var(--color-success-border)!important;color:var(--color-success-text)!important}.dependency-info-content>div[style*="background: rgb(254, 249, 195)"],.dependency-info-content>div[style*="background:#fef9c3"]{background:var(--color-warning-bg)!important;border-color:var(--color-warning-border)!important;color:var(--color-warning-text)!important}.dependency-info-content>div[style*="background: rgb(254, 242, 242)"],.dependency-info-content>div[style*="background:#fef2f2"]{background:var(--color-error-bg)!important;border-color:var(--color-error-border)!important;color:var(--color-error-text)!important}.dependency-info-message{padding:12px;border-radius:6px;font-size:13px;display:flex;align-items:center;border:1px solid}.dependency-info-message-icon{margin-right:6px;flex-shrink:0}.dependency-info-message.success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.dependency-info-message.warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.dependency-info-message.error{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.loading p{color:var(--color-text-secondary);font-size:16px;margin:0}@media (prefers-color-scheme: dark){.dependencies-container{background:var(--color-gray-900)}.kpi-card{background:var(--color-gray-800);border-color:var(--color-gray-700)}.kpi-card-warning-badge{background:#fbbf2433;color:var(--color-warning-border)}.kpi-card-warning-badge.error{background:#ef444433;color:var(--color-error)}.filter-section,.results-summary,.table-wrapper{background:var(--color-gray-800);border-color:var(--color-gray-700)}.expanded-row-content{background:var(--color-gray-900);border-color:var(--color-gray-700)}.dependency-info-container{background:var(--color-gray-800);border-color:var(--color-gray-700)}.dependency-info-title-text{color:var(--color-gray-100)}.dependency-info-title-icon,.dependency-info-chevron{color:var(--color-gray-500)}.dependency-info-content>div[style*="background: rgb(240, 253, 244)"],.dependency-info-content>div[style*="background:#f0fdf4"]{background:#10b98126!important;border-color:#10b9814d!important;color:var(--color-success-hover)!important}.dependency-info-content>div[style*="background: rgb(254, 249, 195)"],.dependency-info-content>div[style*="background:#fef9c3"]{background:#fbbf2426!important;border-color:#fbbf244d!important;color:var(--color-warning-border)!important}.dependency-info-content>div[style*="background: rgb(254, 242, 242)"],.dependency-info-content>div[style*="background:#fef2f2"]{background:#ef444426!important;border-color:color-mix(in srgb,var(--color-error) 30%,transparent)!important;color:var(--color-error)!important}.dependency-info-message.success{background:#10b98126;border-color:#10b9814d;color:var(--color-success-hover)}.dependency-info-message.warning{background:#fbbf2426;border-color:#fbbf244d;color:var(--color-warning-border)}.dependency-info-message.error{background:#ef444426;border-color:color-mix(in srgb,var(--color-error) 30%,transparent);color:var(--color-error)}.clear-filters-btn:hover,.export-btn:hover,.action-btn:hover{background:var(--color-gray-700)}.quick-filter-chip.workflow:not(.active){background:#3b82f626;color:#60a5fa;border-color:#60a5fa4d}.quick-filter-chip.workflow.active{background:#3b82f640;border-color:#60a5fa}.quick-filter-chip.dataset:not(.active){background:#8b5cf626;color:#a78bfa;border-color:#a78bfa4d}.quick-filter-chip.dataset.active{background:#8b5cf640;border-color:#a78bfa}.quick-filter-chip.job:not(.active){background:#ef444426;color:var(--color-error);border-color:#f871714d}.quick-filter-chip.job.active{background:#ef444440;border-color:var(--color-error)}}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px}.header-left{display:flex;align-items:center;gap:16px}.header-left h1{margin:0;font-size:28px;font-weight:600;color:var(--color-text-primary)}.count{display:inline-block;padding:4px 10px;background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:12px;font-size:14px;font-weight:500}.header-right{display:flex;align-items:center;gap:12px}.client-badge{display:inline-block;padding:6px 14px;background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:8px;font-size:14px;font-weight:500}.sort-name{font-weight:500;color:var(--color-text-primary)}.sort-name .rp-tooltip-trigger,.description .rp-tooltip-trigger{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.description{color:var(--color-text-tertiary)}.type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.type-system{background-color:var(--color-primary-surface);color:var(--color-primary-darker)}.type-custom{background-color:var(--color-success-bg);color:var(--color-success-text)}.fields{vertical-align:top;width:280px;max-width:280px}.field-stack{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.field-item{display:inline-flex;align-items:flex-start;gap:6px;padding:1px 0;font-size:13px;line-height:1.3}.field-item--primary{color:var(--color-text-primary);font-weight:500}.field-item--primary .field-order{background-color:var(--color-primary);color:var(--color-text-on-primary)}.field-item--secondary{color:var(--color-text-tertiary);font-weight:400}.field-item--secondary .field-order{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.row-selected .field-item--secondary .field-order{background-color:var(--color-gray-300)}.field-order{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:4px;font-size:11px;font-weight:600;flex-shrink:0}.field-name{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;word-break:break-word;flex:none}.field-direction{font-size:10px;opacity:.6;flex-shrink:0}.form-group{display:block;flex:none;gap:0;margin-bottom:14px}.form-group label{display:block;margin-bottom:5px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;box-sizing:border-box;height:34px;padding:0 10px;border:1px solid var(--color-border-secondary);border-radius:5px;font-size:13px;font-family:inherit;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .15s}.form-group textarea{height:56px;padding:7px 10px;resize:none}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha-12)}.required{color:var(--color-error);margin-left:2px}.help-text{color:var(--color-text-disabled);font-size:10px;font-weight:400;letter-spacing:0;text-transform:none;margin-left:6px}.field-error{display:block;margin-top:4px;font-size:11px;color:var(--color-error)}.form-group:has(.field-row){background:none;border:none;border-radius:0;padding:0;margin-top:0;margin-bottom:14px;counter-reset:field-counter}.form-group:has(.field-row)>label:first-child{display:flex;align-items:center;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:6px}.form-group:has(.field-row) .field-row{display:flex;flex-direction:row;align-items:center;gap:6px;width:100%;padding:7px 10px;background:var(--color-bg-primary);border-left:1px solid var(--color-border-secondary);border-right:1px solid var(--color-border-secondary);border-bottom:1px solid var(--color-border-primary);margin-bottom:0}.form-group:has(.field-row) .field-row:first-of-type{border-top:1px solid var(--color-border-secondary);border-top-left-radius:6px;border-top-right-radius:6px}.form-group:has(.field-row) .field-row:before{content:counter(field-counter);counter-increment:field-counter;font-size:11px;font-weight:600;color:var(--color-text-disabled);width:16px;text-align:center;flex-shrink:0}.field-row .field-input,.field-row select.field-input{flex:1 1 auto;min-width:0;width:auto;height:28px;padding:0 8px;border:1px solid var(--color-border-primary);border-radius:4px;font-size:12px;background-color:var(--color-bg-subtle);color:var(--color-text-primary);-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.field-row .field-input:focus,.field-row select.field-input:focus{border-color:var(--color-primary);outline:none}.field-row .order-select{flex-shrink:0;width:120px;height:28px;padding:0 8px;border:1px solid var(--color-border-primary);border-radius:4px;font-size:12px;background-color:var(--color-bg-subtle);color:var(--color-text-secondary)}.field-row .order-select:focus{border-color:var(--color-primary);outline:none}.remove-field-btn{padding:3px;background-color:transparent;color:var(--color-text-disabled);border:none;border-radius:4px;font-size:13px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;opacity:0;transition:opacity .12s,color .12s,background-color .12s}.form-group:has(.field-row) .field-row:hover .remove-field-btn{opacity:1}.remove-field-btn:hover:not(:disabled){color:var(--color-error);background-color:var(--color-error-bg)}.add-field-btn{display:flex;align-items:center;gap:4px;width:100%;box-sizing:border-box;padding:6px 10px;font-size:12px;font-weight:500;font-family:inherit;color:var(--color-primary);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-top:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px;cursor:pointer;transition:background-color .12s;margin-top:0}.add-field-btn:hover:not(:disabled){background-color:var(--color-bg-hover);color:var(--color-primary-dark)}.info-box{display:flex;align-items:flex-start;gap:4px;padding:0;background-color:transparent;border:none;margin-top:6px}.info-box p{margin:0;font-size:11px;color:var(--color-text-disabled);line-height:1.4}.info-box p svg{opacity:.6;margin-right:4px}.error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--color-error-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-error);border-radius:8px;margin-bottom:16px;color:var(--color-error-text);font-size:14px}@media (max-width: 1024px){.header{flex-direction:column;align-items:flex-start;gap:12px}}@media (max-width: 768px){.container{padding:16px}.order-select{width:100%}}.create-button:disabled{background-color:var(--color-gray-400);cursor:not-allowed;opacity:.6}.create-button:disabled:hover{background-color:var(--color-gray-400)}@media (prefers-color-scheme: dark){.info-box p{color:var(--color-text-tertiary)}.type-system{background-color:#3b82f633;color:var(--color-primary-subtle)}.type-custom{background-color:#10b98133;color:var(--color-success)}.sort-name{color:var(--color-text-primary)}.description{color:var(--color-text-tertiary)}.field-item--primary{color:var(--color-text-primary)}.field-item--primary .field-order{background-color:var(--color-primary);color:#fff}.field-item--secondary{color:var(--color-text-tertiary)}.field-item--secondary .field-order{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.row-selected .field-item--secondary .field-order{background-color:var(--color-gray-600)}.field-direction{opacity:.5}.client-badge,.count{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.remove-field-btn{color:var(--color-text-tertiary)}.remove-field-btn:hover:not(:disabled){color:var(--color-error);background-color:color-mix(in srgb,var(--color-error) 12%,transparent)}.form-group:has(.field-row) .field-row{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.field-row .field-input,.field-row select.field-input,.field-row .order-select{background-color:var(--color-bg-tertiary);border-color:var(--color-border-primary)}.add-field-btn{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.add-field-btn:hover:not(:disabled){background-color:var(--color-bg-tertiary)}}.sortdef-detail-modal{max-width:600px;width:90%}.sortdef-detail-info{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border-primary)}.sortdef-detail-row{display:flex;align-items:center;gap:var(--space-3)}.sortdef-detail-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);min-width:80px}.sortdef-detail-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.type-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.type-system{background:var(--color-primary-bg);color:var(--color-primary-dark);border:1px solid var(--color-primary-border)}.type-custom{background:var(--color-success-bg);color:var(--color-success-text);border:1.5px solid var(--color-success)}@media (prefers-color-scheme: dark){.type-system{background:#3b82f633;color:var(--color-primary-subtle);border-color:var(--color-primary)}.type-custom{background:#10b98133;color:var(--color-success);border-color:var(--color-success-hover)}.sortdef-detail-section{background:var(--color-bg-secondary)}.sortdef-field-item--primary .sortdef-field-order{background-color:var(--color-primary);color:#fff}.sortdef-field-item--secondary .sortdef-field-order{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.sortdef-field-direction{opacity:.5}}.sortdef-detail-section{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--color-border-primary)}.sortdef-detail-section h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3) 0}.sortdef-fields-stack{display:flex;flex-direction:column;gap:6px}.sortdef-field-item{display:flex;align-items:center;gap:10px;padding:6px 0}.sortdef-field-item--primary{color:var(--color-text-primary)}.sortdef-field-item--primary .sortdef-field-order{background-color:var(--color-primary);color:var(--color-text-on-primary)}.sortdef-field-item--primary .sortdef-field-name{font-weight:500;color:var(--color-text-primary)}.sortdef-field-item--secondary{color:var(--color-text-tertiary)}.sortdef-field-item--secondary .sortdef-field-order{background-color:var(--color-bg-secondary);color:var(--color-text-secondary)}.sortdef-field-item--secondary .sortdef-field-name{font-weight:400;color:var(--color-text-tertiary)}.sortdef-field-order{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:6px;font-size:12px;font-weight:600;flex-shrink:0}.sortdef-field-name{font-family:var(--font-mono, ui-monospace, monospace);font-size:14px}.sortdef-field-direction{font-size:11px;opacity:.6;margin-left:-6px}.empty-message{text-align:center;padding:var(--space-6);color:var(--color-text-secondary);font-style:italic;margin:0}@media (max-width: 768px){.sortdef-detail-modal{width:95%}.sortdef-detail-row{flex-direction:column;align-items:flex-start}.sortdef-detail-label{min-width:auto}}.disclaimer-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.disclaimer-modal{background:var(--color-bg-primary);border-radius:12px;max-width:700px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.disclaimer-modal-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--color-border-primary);flex-shrink:0}.disclaimer-modal-icon{font-size:28px;color:var(--color-primary)}.disclaimer-custom-icon{width:28px;height:28px;object-fit:contain;filter:brightness(0) saturate(100%) invert(32%) sepia(98%) saturate(1234%) hue-rotate(196deg) brightness(95%) contrast(96%)}@media (prefers-color-scheme: dark){.disclaimer-custom-icon{filter:brightness(0) saturate(100%) invert(58%) sepia(52%) saturate(682%) hue-rotate(182deg) brightness(103%) contrast(97%)}}.disclaimer-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary);flex:1}.disclaimer-version{font-size:.75rem;color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:4px 10px;border-radius:12px}.disclaimer-modal-content{padding:20px 24px;overflow-y:auto;flex:1}.disclaimer-warning{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:8px;margin-bottom:20px;color:var(--color-warning-text);font-weight:500}.disclaimer-warning svg{color:var(--color-warning);font-size:18px}.disclaimer-text{color:var(--color-text-primary);line-height:1.6}.disclaimer-text h2,.disclaimer-text h3{margin-top:1.5rem;margin-bottom:.75rem;color:var(--color-text-primary)}.disclaimer-text h2:first-child,.disclaimer-text h3:first-child{margin-top:0}.disclaimer-text h2{font-size:1.25rem;font-weight:600}.disclaimer-text h3{font-size:1.1rem;font-weight:600}.disclaimer-text p{margin-bottom:1rem}.disclaimer-text ul{margin:.5rem 0 1rem;padding-left:1.5rem}.disclaimer-text li{margin-bottom:.5rem}.disclaimer-text strong{color:var(--color-text-primary)}.disclaimer-modal-footer{padding:16px 24px;border-top:1px solid var(--color-border-primary);display:flex;justify-content:flex-end;flex-shrink:0}.disclaimer-acknowledge-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:600}.disclaimer-acknowledge-btn:disabled{opacity:.7;cursor:not-allowed}.label-info-icon{opacity:.45;font-size:.72em;margin-left:5px;cursor:help;vertical-align:middle}.ai-transform-container{max-width:1600px}.ai-transform-container .rp-page-header{margin-bottom:32px}.ai-transform-container .page-icon{font-size:28px;color:var(--color-primary);margin-right:12px}.ai-transform-container .page-custom-icon{width:32px;height:32px;object-fit:contain;filter:brightness(0) saturate(100%) invert(32%) sepia(98%) saturate(1234%) hue-rotate(196deg) brightness(95%) contrast(96%)}@media (prefers-color-scheme: dark){.ai-transform-container .page-custom-icon{filter:brightness(0) saturate(100%) invert(58%) sepia(52%) saturate(682%) hue-rotate(182deg) brightness(103%) contrast(97%)}}.badge--beta{display:inline-flex;align-items:center;padding:4px 10px;margin-left:12px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:12px}.ai-transform-container .error-message{display:flex;align-items:center;gap:12px;padding:20px 24px;background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:12px;color:var(--color-warning-text)}.ai-transform-container .error-message svg{font-size:24px;color:var(--color-warning-border)}.ai-transform-container .error-message p{margin:0;font-size:15px}.ai-transform-content{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}@media (max-width: 1200px){.ai-transform-content{grid-template-columns:1fr}}.ai-transform-panel{background:var(--color-bg-primary);border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000a}.ai-transform-panel .rp-btn-back{margin-bottom:16px}.rp-btn-back+.ai-transform-content{margin-top:16px}.ai-transform-panel h2{display:flex;align-items:center;gap:10px;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--color-border-primary);font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.ai-transform-panel h2 svg{color:var(--color-primary)}.ai-transform-panel h3{display:flex;align-items:center;gap:8px;margin:24px 0 16px;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.ai-transform-panel h3 svg{color:var(--color-text-secondary);font-size:14px}.form-group{margin-bottom:20px}.form-group:last-of-type{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--color-text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;height:auto;padding:12px 16px;border:1px solid var(--color-border-primary);border-radius:10px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);transition:all .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.ai-transform-container .form-group input:valid,.ai-transform-container .form-group select:valid,.ai-transform-container .form-group textarea:valid{border-color:var(--color-border-primary)}.form-group textarea{resize:vertical;min-height:100px;line-height:1.5}.form-group .hint{margin:8px 0 0;font-size:13px;color:var(--color-text-secondary)}.generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;font-size:15px;font-weight:600}.generate-btn svg{font-size:18px}.rp-tooltip-trigger:has(.generate-btn){display:block;width:100%}.output-actions{display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border-primary)}.output-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600}.output-actions .rp-tooltip-trigger{flex:1;display:flex}.workflow-selector{display:flex;gap:8px;align-items:center;flex:1}.workflow-selector select{flex:1;padding:10px 14px;font-size:14px;border:1px solid var(--color-border-primary);border-radius:8px;background:var(--color-bg-primary);color:var(--color-text-primary)}.workflow-selector .btn{flex:0 0 auto;min-width:80px}.btn-success{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-hover) 100%);color:#fff;border:none}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,var(--color-success-hover) 0%,var(--color-success-text) 100%)}.btn-success:disabled{opacity:.6;cursor:not-allowed}.rp-toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:10px;box-shadow:0 4px 20px #00000026;z-index:1000;animation:slideIn .3s ease;background-color:var(--color-bg-primary)}.rp-toast-success{border-left:4px solid var(--color-success);color:var(--color-text-primary)}.rp-toast-error{border-left:4px solid var(--color-error);color:var(--color-text-primary)}.toast-message{font-size:14px;font-weight:500;color:var(--color-text-primary)}.toast-close{background:var(--color-bg-tertiary);border:none;color:var(--color-text-secondary);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1}.toast-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.ai-transform-container .rp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px}.ai-transform-container .spinner{width:48px;height:48px;border:4px solid var(--color-border-primary);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s linear infinite}.ai-step-section{margin-bottom:20px;padding:16px;border:1px solid var(--color-border-primary);border-radius:10px;background:var(--color-bg-primary)}.ai-step-section:last-of-type{margin-bottom:24px}.ai-step-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.ai-step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.ai-step-title{font-size:14px;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.3px}.ai-step-body .form-group{margin-bottom:12px}.ai-step-body .form-group:last-child{margin-bottom:0}.ai-step-section--emphasis .ai-step-title{color:var(--color-primary)}.field-search-wrapper{margin-bottom:12px}.field-search{width:100%;padding:10px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;background:#fff;transition:border-color .2s}.field-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.category-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:12px;background:var(--color-bg-secondary, #f9fafb);border-radius:8px}.category-btn{padding:6px 14px;background:#fff;border:1px solid var(--color-border);border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.category-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.category-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.category-btn:disabled{opacity:.5;cursor:not-allowed}.replace-mode-toggle{display:flex;gap:0;margin-bottom:20px;background:var(--color-bg-secondary, #f3f4f6);border-radius:8px;padding:4px}.mode-btn{flex:1;padding:10px 16px;background:transparent;border:none;border-radius:6px;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.mode-btn:hover:not(:disabled){background:#6366f11a;color:var(--color-primary)}.mode-btn.active{background:#fff;color:var(--color-primary);box-shadow:0 1px 3px #0000001a}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.ai-output-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ai-output-row .form-group{margin-bottom:0;position:relative}.ai-output-row select{max-height:200px;overflow-y:auto}.ai-transform-container .mode-toggle{display:flex;gap:8px;margin-bottom:16px}.ai-transform-container .form-group label.mode-option{display:inline-flex!important;align-items:center;gap:8px;padding:10px 16px;margin-bottom:0;border:1px solid var(--color-border-primary);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-primary);transition:all .2s ease}.ai-transform-container .form-group label.mode-option:hover{border-color:var(--color-primary);color:var(--color-text-primary)}.ai-transform-container .form-group label.mode-option.active{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary)}.ai-transform-container .mode-option input[type=radio]{width:16px!important;height:16px!important;margin:0!important;padding:0!important;flex-shrink:0;accent-color:var(--color-primary);display:inline-block!important;vertical-align:middle}.ai-step-section--intent{background:var(--color-bg-secondary)}.ai-step-section--intent textarea{min-height:120px}.ai-output--idle{border:1px solid var(--color-border-primary)}.ai-output--idle h2{color:var(--color-text-secondary)}.ai-output--loading{border:1px solid var(--color-primary)}.ai-output--generated{border:1px solid var(--color-success)}.ai-output--generated h2 svg{color:var(--color-success)}@media (max-width: 768px){.ai-transform-panel{padding:16px}.output-actions{flex-direction:column}.output-actions .btn{width:100%}.ai-output-row{grid-template-columns:1fr}}@media (prefers-color-scheme: dark){.ai-transform-container .form-group label.mode-option.active{border-color:var(--color-primary);background:#60a5fa26;color:var(--color-primary)}.ai-transform-container .rp-btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.ai-transform-container .rp-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-secondary)}}.account-settings{padding:var(--space-6);max-width:1200px;margin:0 auto;width:100%;background:var(--color-bg-secondary);font-family:var(--font-family-sans);min-height:100vh}.account-settings-header{margin-bottom:var(--space-6);background:var(--color-bg-primary);padding:var(--space-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border-primary);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.account-settings-header-content{display:flex;flex-direction:column;gap:0}.account-settings-header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;display:flex;align-items:center;gap:var(--space-3)}.account-settings-header p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.settings-tabs{display:flex;gap:var(--space-2);margin-bottom:0;padding:0 var(--space-8);background:var(--color-bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border:1px solid var(--color-border-primary);border-bottom:none;overflow:hidden}.account-settings .settings-tabs .tab-btn{background:transparent;border:none;border-bottom:3px solid transparent;padding:12px 20px;font-size:16px;font-weight:500;color:#6b7280!important;cursor:pointer;transition:all .2s ease;white-space:nowrap;position:relative;margin-bottom:-2px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;text-decoration:none!important;opacity:1!important;visibility:visible!important;display:inline-flex;align-items:center;gap:var(--space-2)}.account-settings .settings-tabs .tab-btn:hover:not(.active){color:#2563eb!important;background:var(--color-primary-bg)}.account-settings .settings-tabs .tab-btn.active{color:#2563eb!important;border-bottom-color:#2563eb!important;font-weight:600!important;background:var(--color-primary-bg);opacity:1!important;visibility:visible!important}.account-settings .settings-tabs .tab-btn:before,.account-settings .settings-tabs .tab-btn:after{display:none!important;content:none!important}.message{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border:1px solid;box-shadow:var(--shadow-sm)}.message.success{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-success)}.message.rp-error{background:var(--color-error-bg);color:var(--color-error-text);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-error)}.message.info{background:var(--color-primary-bg);color:var(--color-primary-dark);border-color:var(--color-primary-subtle)}.info-banner{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-base);text-align:center}.settings-content{background:var(--color-bg-primary);border-radius:0 0 var(--radius-xl) var(--radius-xl);border-top-left-radius:0;border-top-right-radius:0;padding:var(--space-8);box-shadow:var(--shadow-xs);border:1px solid var(--color-border-primary);border-top:none;min-height:400px}.settings-content .field-row{flex-direction:column;align-items:flex-start}.settings-content .field-label{margin-left:0}.profile-section,.security-section,.preferences-section{display:flex;flex-direction:column;gap:var(--space-6)}.profile-section h2,.security-section h2,.preferences-section h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:var(--space-6) 0 var(--space-4) 0;padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border-primary)}.profile-section h2:first-child,.security-section h2:first-child,.preferences-section h2:first-child{margin-top:0}.profile-identity-header{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-8) 0;border-bottom:1px solid var(--color-border-primary);margin-bottom:var(--space-8)}.identity-avatar{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.avatar-circle{width:96px;height:96px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);display:flex;align-items:center;justify-content:center;border:3px solid var(--color-primary-border);box-shadow:var(--shadow-sm);overflow:hidden}.avatar-circle img{width:100%;height:100%;object-fit:cover}.avatar-initials{color:var(--color-text-on-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);text-transform:uppercase}.identity-info{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.identity-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.identity-email{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);margin:0}.identity-role-badge{align-self:flex-start}.avatar-btn{background:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);display:none}.profile-section.edit-mode .avatar-btn{display:inline-block}.avatar-btn:hover{background:var(--color-primary-bg);color:var(--color-primary);border-color:var(--color-primary-border)}.profile-editable-section{padding:var(--space-6) 0;border-bottom:1px solid var(--color-border-primary);margin-bottom:var(--space-6)}.profile-editable-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-5) 0;letter-spacing:-.01em}.field-row{display:flex;flex-direction:column;gap:var(--space-1-5);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-primary)}.field-row:last-child{border-bottom:none}.field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.field-value{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);line-height:var(--line-height-normal)}.section-actions{margin-top:var(--space-6);display:flex;gap:var(--space-3)}.role-badge,.auth-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.role-badge{background:var(--color-primary-surface);color:var(--color-primary-dark);border:1px solid var(--color-primary-subtle)}.auth-badge{background:var(--color-success-bg);color:var(--color-success-text);border:1.5px solid var(--color-success)}.status-active{color:var(--color-success-text);background:var(--color-success-bg);border:1.5px solid var(--color-success);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.status-disabled{color:var(--color-error-text);background:var(--color-error-bg);border:1.5px solid var(--color-error);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.profile-system-section{padding:var(--space-6) 0}.profile-system-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.section-helper{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-5);line-height:var(--line-height-relaxed)}.system-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5);padding-top:var(--space-3)}.system-field{display:flex;flex-direction:column;gap:var(--space-1-5)}.system-field-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.system-field-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.system-fields-readonly{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border-primary)}.edit-form{display:flex;flex-direction:column;gap:var(--space-5);padding:0;background:transparent;border:none;border-radius:0}.password-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border-primary)}.form-group label{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.form-group input,.form-group select{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-family:var(--font-family-sans);transition:all var(--transition-fast);background:var(--color-bg-primary);color:var(--color-text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-surface)}.form-group input:disabled,.form-group select:disabled{background:var(--color-bg-secondary);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.6}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.rp-btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-on-primary);border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.rp-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary-dark) 100%);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.rp-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.rp-btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-secondary);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.rp-btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border-tertiary)}.rp-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.password-requirements{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4)}.password-requirements h4{margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.password-requirements ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.password-requirements li{font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;color:var(--color-text-tertiary)}.password-requirements li.valid{color:var(--color-success-text);font-weight:var(--font-weight-medium)}.password-requirements li.valid:before{content:"✅"}.password-requirements li:before{content:"○";color:var(--color-text-tertiary)}.password-note{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-warning-text)}.security-info{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--space-6);margin-top:var(--space-6)}.security-info h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0}.security-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-primary)}.security-item:last-child{border-bottom:none}.security-item label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.pref-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.pref-group label{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.pref-group select{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);font-size:var(--font-size-base);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.pref-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-surface)}.pref-group.checkbox{flex-direction:row;align-items:center;gap:var(--space-3)}.pref-group.checkbox label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.pref-group.checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary)}@media (max-width: 1023px){.account-settings{padding:var(--space-4)}.settings-content{padding:var(--space-6)}.profile-identity-header{gap:var(--space-5)}.avatar-circle{width:80px;height:80px}.identity-name{font-size:var(--font-size-xl)}.system-fields-grid{grid-template-columns:1fr}}@media (max-width: 767px){.account-settings{padding:var(--space-3)}.account-settings-header{padding:var(--space-4)}.account-settings-header h1{font-size:var(--font-size-2xl)}.settings-content{padding:var(--space-4)}.settings-tabs{gap:0;padding:0 var(--space-4)}.tab-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.profile-identity-header{flex-direction:column;text-align:center;align-items:center;gap:var(--space-4);padding:var(--space-6) 0}.identity-info{align-items:center}.identity-role-badge{align-self:center}.avatar-circle{width:80px;height:80px}.system-fields-grid{grid-template-columns:1fr}.section-actions,.form-actions{flex-direction:column}.rp-btn-primary,.rp-btn-secondary{width:100%;justify-content:center}.security-item{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}@media (max-width: 480px){.account-settings{padding:var(--space-2)}.account-settings-header h1{font-size:var(--font-size-xl)}.settings-content{padding:var(--space-3)}.profile-section h2,.security-section h2,.preferences-section h2{font-size:var(--font-size-lg)}.tab-btn{padding:var(--space-2);font-size:var(--font-size-xs)}}@media (prefers-reduced-motion: reduce){*{transition:none!important;transform:none!important}}.settings-content:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-color-scheme: dark){.account-settings{background:var(--color-gray-900)}.settings-content,.account-settings-header,.settings-tabs{background:var(--color-gray-800);border-color:var(--color-gray-700)}.profile-identity-header{border-bottom-color:var(--color-gray-700)}.avatar-circle{border-color:var(--color-primary-muted);box-shadow:0 4px 6px #0006}.profile-editable-section,.profile-system-section,.field-row{border-bottom-color:var(--color-gray-700)}.password-form,.security-info,.password-requirements{background:var(--color-gray-700);border-color:var(--color-gray-600)}.rp-btn-secondary{background:var(--color-gray-700);color:var(--color-gray-300);border-color:var(--color-gray-600)}.rp-btn-secondary:hover{background:var(--color-gray-600);color:var(--color-gray-100)}.system-fields-readonly{border-top-color:var(--color-gray-700)}}.help-support{padding:var(--space-6);max-width:var(--container-max);margin:0 auto;width:100%;background:var(--color-bg-secondary);font-family:var(--font-family-sans);animation:fadeInPage var(--duration-300) var(--ease-out)}.help-support-header{margin-bottom:var(--space-8);background:var(--color-bg-primary);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-primary);position:relative;overflow:hidden}.help-support-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary-muted) 0%,var(--color-primary) 50%,var(--color-primary-muted) 100%);background-size:200% 100%;animation:headerShimmer 3s infinite linear}@keyframes headerShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.header-nav{margin-bottom:var(--space-4)}.help-support-header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;line-height:var(--line-height-tight)}.help-support-header p{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0 0 var(--space-4) 0;line-height:var(--line-height-relaxed);max-width:600px}.user-context{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-primary)}.user-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.help-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-md);border:1px solid var(--color-border-primary);min-height:600px}.section-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--space-6);line-height:var(--line-height-relaxed);max-width:700px}.contact-section h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0;line-height:var(--line-height-tight)}.contact-form{display:flex;flex-direction:column;gap:var(--space-6);margin-bottom:var(--space-8)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group select,.form-group textarea{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-sans);transition:all var(--transition-fast);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:var(--line-height-normal)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);background:var(--color-bg-primary)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--color-border-secondary)}.form-group textarea{resize:vertical;min-height:120px;line-height:var(--line-height-relaxed);font-family:var(--font-family-sans)}.form-group textarea::placeholder{color:var(--color-text-tertiary);font-style:italic}.form-group small{font-size:var(--font-size-xs);color:var(--color-text-tertiary);align-self:flex-end;font-weight:var(--font-weight-normal)}.user-details{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);padding:var(--space-5)}.user-details h4{margin:0 0 var(--space-4) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.user-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0}.detail-item label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.detail-item span{color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);text-align:right}.submit-btn{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-on-primary);border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);align-self:flex-start;display:flex;align-items:center;gap:var(--space-2);box-shadow:var(--shadow-sm);min-height:48px;position:relative;overflow:hidden}.submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--duration-300)}.submit-btn:hover:not(:disabled):before{left:100%}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary-darker) 100%);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-md)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;background:var(--color-gray-400)}.submit-btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media (max-width: 768px){.help-support,.help-support-header{padding:var(--space-4)}.help-content{padding:var(--space-5)}.user-details-grid{grid-template-columns:1fr}.help-support-header h1{font-size:var(--font-size-2xl)}.help-support-header p{font-size:var(--font-size-base)}.user-info{flex-direction:column;align-items:flex-start;gap:var(--space-1)}}@media (max-width: 480px){.help-support{padding:var(--space-2)}.help-support-header{padding:var(--space-3)}.help-content{padding:var(--space-4)}.help-support-header h1{font-size:var(--font-size-xl)}.contact-form{gap:var(--space-4)}.user-details{padding:var(--space-4)}.detail-item{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.detail-item span{text-align:left}}@media (prefers-contrast: high){.help-support-header,.help-content,.user-details,.form-group input,.form-group select,.form-group textarea{border-width:2px}.submit-btn{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){.help-support{animation:none}.help-support-header:before{animation:none}.submit-btn:hover:not(:disabled){transform:none}.submit-btn:before{transition:none}}@media (prefers-color-scheme: dark){.user-details{background:var(--color-gray-800);border-color:var(--color-gray-600)}}@media print{.help-support{break-inside:avoid;padding:0;background:#fff!important;animation:none}.help-support-header{background:#fff!important;border:1px solid #000;box-shadow:none;break-inside:avoid}.help-support-header:before{display:none}.help-content{background:#fff!important;border:1px solid #000;box-shadow:none;border-radius:0}.submit-btn{display:none}.contact-form{break-inside:avoid}.form-group input,.form-group select,.form-group textarea{background:#fff!important;border:1px solid #000}.user-details{background:#f0f0f0!important;border:1px solid #000}.section-description{font-size:12pt;color:#333!important}.help-support-header h1{font-size:18pt;color:#000!important}.submit-btn:before{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.help-content{isolation:isolate}@media (max-width: 768px){.submit-btn{min-height:48px}}.rp-print-services{padding:var(--space-6);max-width:var(--container-max);margin:0 auto;width:100%;background:var(--color-bg-secondary);font-family:var(--font-family-sans);animation:fadeInPage var(--duration-300) var(--ease-out)}@keyframes fadeInPage{0%{opacity:0;transform:translateY(var(--space-4))}to{opacity:1;transform:translateY(0)}}.rp-print-services-header{margin-bottom:var(--space-6)}.rp-print-services-title{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1)}.rp-print-services-title h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.rp-print-services-title-icon{font-size:1.5rem;color:var(--color-primary)}.rp-print-services-header p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.rp-print-services-hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border-radius:var(--radius-lg);padding:var(--space-10);margin-bottom:var(--space-6);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.rp-print-services-hero:after{content:"";position:absolute;right:-20px;top:-20px;width:200px;height:200px;background:#ffffff0d;border-radius:50%;pointer-events:none}.rp-print-services-hero-text{flex:1;min-width:0}.rp-print-services-hero h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-2) 0}.rp-print-services-hero p{font-size:var(--font-size-base);opacity:.9;line-height:var(--line-height-relaxed);max-width:600px;margin:0}.rp-print-services-hero-cta{flex-shrink:0;padding:var(--space-3) var(--space-8)!important;font-size:var(--font-size-lg)!important;background:#fff3!important;border:2px solid rgba(255,255,255,.6)!important;color:#fff!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap}.rp-print-services-hero-cta:hover{background:#ffffff59!important;border-color:#fff!important}.rp-print-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.rp-print-services-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-200) var(--ease-out),transform var(--duration-200) var(--ease-out)}.rp-print-services-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.rp-print-services-card-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:var(--space-3)}.rp-print-services-card h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.rp-print-services-card p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.rp-print-services-how{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--space-8);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.rp-print-services-how>h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-5) 0}.rp-print-services-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.rp-print-services-step{text-align:center;position:relative}.rp-print-services-step:not(:last-child):after{content:"";position:absolute;right:calc(var(--space-3) * -1);top:24px;width:var(--space-6);height:2px;background:var(--color-border-primary)}.rp-print-services-step-number{width:48px;height:48px;border-radius:50%;background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 auto var(--space-3)}.rp-print-services-step h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.rp-print-services-step p{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.rp-print-services-callout{background:var(--color-primary-bg);border:1px solid var(--color-primary-alpha-20, #bfdbfe);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);display:flex;align-items:flex-start;gap:var(--space-4)}.rp-print-services-callout-icon{color:var(--color-primary);font-size:1.5rem;flex-shrink:0;margin-top:2px}.rp-print-services-callout h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.rp-print-services-callout p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.rp-print-services-contact{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-5)}.rp-print-services-contact>a[class*=rp-btn]{padding:var(--space-3) var(--space-8)!important;font-size:var(--font-size-lg)!important;flex-shrink:0}.rp-print-services-contact-info h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.rp-print-services-contact-info p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.rp-print-services-contact-details{display:flex;gap:var(--space-6);align-items:center;flex-wrap:wrap}.rp-print-services-contact-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.rp-print-services-contact-item svg{color:var(--color-primary)}.rp-print-services-cta-icon{margin-right:var(--space-2)}@media (max-width: 640px){.rp-print-services-hero{flex-direction:column;align-items:flex-start}.rp-print-services-steps{grid-template-columns:1fr}.rp-print-services-step:not(:last-child):after{display:none}.rp-print-services-contact{flex-direction:column;align-items:flex-start}}@media (prefers-color-scheme: dark){.rp-print-services-card,.rp-print-services-how{background:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.rp-print-services-callout{background:var(--color-primary-alpha-08, #1e3a5f);border-color:var(--color-primary-alpha-20, #2563eb44)}.rp-print-services-card-icon,.rp-print-services-step-number{background:var(--color-primary-alpha-08, #1e3a5f)}.rp-print-services-contact{background:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}}@media (prefers-reduced-motion: reduce){.rp-print-services{animation:none}.rp-print-services-card{transition:none}}.user-create-modal{max-width:700px}.form-group{margin-bottom:20px;flex:1}.form-row{display:flex;gap:16px;margin-bottom:20px;align-items:flex-start}.form-group label{display:block;margin-bottom:8px;font-weight:600;font-size:14px;color:var(--color-text-primary)}.form-group .required{color:var(--color-error-hover)}.form-group input.rp-error,.form-group select.rp-error{border-color:var(--color-error)}.form-group input.rp-error:focus,.form-group select.rp-error:focus{box-shadow:0 0 0 3px #f565651a}.field-error{display:block;margin-top:6px;font-size:12px;color:var(--color-error-hover);font-weight:500}.form-group-readonly-client{align-self:flex-start!important}.readonly-field{display:block;position:relative}.readonly-input{width:100%;padding:10px 14px;border:2px solid var(--color-border-primary);border-radius:8px;font-size:14px;background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:not-allowed;box-sizing:border-box;font-weight:500}.readonly-hint{display:block;margin-top:6px;font-size:12px;color:var(--color-text-secondary);font-style:italic;line-height:1.3;position:absolute;white-space:nowrap}.error-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--color-error-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-error);border-radius:8px;margin-bottom:20px;color:var(--color-error-hover);font-size:14px}.error-icon{font-size:18px}.info-banner{display:flex;gap:10px;padding:12px 16px;background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:8px;margin-bottom:20px;color:var(--color-primary-dark);font-size:13px}.info-icon{font-size:18px;flex-shrink:0}.info-content{flex:1}.info-content strong{display:block;margin-bottom:6px}.info-content ul{margin:0;padding-left:20px}.info-content li{margin:2px 0}@media (max-width: 768px){.form-row{flex-direction:column;gap:0}.form-group{margin-bottom:16px}}@media (max-width: 480px){.rp-btn-primary,.rp-btn-secondary{width:100%}}.client-create-modal{max-width:800px}.form-section{margin-bottom:28px;padding-bottom:24px;border-bottom:2px solid var(--color-border-primary)}.form-section:last-of-type{border-bottom:none;margin-bottom:24px}.section-title{margin:0 0 16px;font-size:16px;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:2px}.form-row-three{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.field-hint{display:block;margin-top:6px;font-size:12px;color:var(--color-text-secondary);font-style:italic;line-height:1.4}.optional-text{font-size:12px;color:var(--color-text-secondary);font-weight:400;font-style:italic}@media (max-width: 768px){.client-create-modal{max-width:100%}.form-row-three{grid-template-columns:1fr}.form-section{margin-bottom:20px;padding-bottom:16px}.section-title{font-size:15px}}.client-edit-modal{max-width:800px}.client-info-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:8px;margin-bottom:20px;color:var(--color-text-primary);font-size:14px}.client-info-banner .info-icon{font-size:20px;flex-shrink:0}.client-info-banner strong{color:var(--color-primary)}.client-info-banner small{color:var(--color-text-secondary);font-size:12px}.disabled-field{background:var(--color-bg-secondary)!important;cursor:not-allowed!important;opacity:.7}.field-note{display:block;margin-top:6px;font-size:11px;color:var(--color-text-secondary);font-style:italic}@media (max-width: 768px){.client-edit-modal{max-width:100%}}.role-create-modal{max-width:800px}.role-create-modal .modal-body{padding:24px}.role-create-modal .section-description{margin:4px 0 16px;font-size:13px;color:var(--color-text-secondary)}.role-create-modal .permissions-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.role-create-modal .permissions-header>div{flex:1}.role-create-modal .permissions-header h3{margin:0 0 4px}.role-create-modal .permissions-groups{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto;padding:16px;background:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border-primary)}.role-create-modal .permission-group{background:var(--color-bg-primary);padding:12px;border-radius:6px;border:1px solid var(--color-border-primary)}.role-create-modal .permission-category{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text-primary);padding-bottom:8px;border-bottom:2px solid var(--color-border-primary)}.role-create-modal .permission-checkboxes{display:flex;flex-direction:column;gap:8px}.role-create-modal .permission-checkbox-label{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:4px;cursor:pointer;transition:background .2s}.role-create-modal .permission-checkbox-label:hover{background:var(--color-bg-secondary)}.role-create-modal .permission-checkbox-label input[type=checkbox]{margin-top:2px;cursor:pointer}.role-create-modal .permission-name{font-size:13px;font-weight:500;color:var(--color-text-primary);flex-shrink:0}.role-create-modal .permission-desc{font-size:12px;color:var(--color-text-secondary);margin-left:auto;text-align:right}.role-create-modal .selected-permissions-summary{margin-top:12px;padding:12px;background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:6px;text-align:center;color:var(--color-primary-dark);font-size:14px}@media (max-width: 768px){.role-create-modal{max-width:100%}.role-create-modal .permissions-header{flex-direction:column}.role-create-modal .permissions-groups{max-height:300px}}.role-assignment-panel{padding:24px;background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-md)}.panel-header{margin-bottom:24px}.panel-header h2{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:10px}.panel-description{margin:0;font-size:14px;color:var(--color-text-secondary);line-height:1.5}.panel-content{display:grid;grid-template-columns:1fr 1fr;gap:24px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--color-border-primary)}.section-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.section-count{font-size:13px;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:4px 10px;border-radius:12px}.user-list-section{background:var(--color-bg-secondary);padding:16px;border-radius:10px;max-height:600px;overflow-y:auto}.user-list{display:flex;flex-direction:column;gap:8px}.user-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--color-bg-primary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.user-item:hover{border-color:var(--color-primary);transform:translate(4px);box-shadow:0 2px 8px var(--color-primary-alpha-20)}.user-item.active{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-alpha-08) 0%,rgba(29,78,216,.1) 100%)}.user-item:disabled{opacity:.6;cursor:not-allowed}.user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-weight:600;font-size:15px;color:var(--color-text-primary);margin-bottom:4px}.user-email{font-size:13px;color:var(--color-text-secondary);margin-bottom:8px}.role-badge{display:inline-block;padding:3px 8px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.role-assignment-section{background:var(--color-bg-secondary);padding:16px;border-radius:10px;max-height:600px;overflow-y:auto}.role-list{display:flex;flex-direction:column;gap:12px}.role-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:var(--color-bg-primary);border:2px solid var(--color-border-primary);border-radius:8px;transition:all .2s ease}.role-item:hover{border-color:var(--color-border-secondary);box-shadow:0 2px 8px #0000000d}.role-item.assigned{border-color:var(--color-success);border-width:2px;background:var(--color-success-bg)}.role-info{flex:1;min-width:0}.role-name{font-weight:600;font-size:15px;color:var(--color-text-primary);margin-bottom:4px;display:flex;align-items:center;gap:8px}.assigned-indicator{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-success-bg);border:1px solid var(--color-success);color:var(--color-success-text);font-size:11px;font-weight:600;border-radius:4px}.role-description{font-size:13px;color:var(--color-text-secondary);line-height:1.4}.role-actions{flex-shrink:0}.btn-assign,.btn-remove{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-assign{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff}.btn-assign:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary-dark) 100%);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-primary-alpha-40)}.btn-remove{border:1.5px solid var(--color-error);background:transparent;color:var(--color-error-hover)}.btn-remove:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error-hover);border-color:var(--color-error-border);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-error) 30%,transparent)}.btn-remove:active:not(:disabled){background:color-mix(in srgb,var(--color-error) 12%,transparent);border-color:var(--color-error);transform:translateY(0)}.btn-assign:disabled,.btn-remove:disabled{opacity:.6;cursor:not-allowed}.btn-remove:disabled{border-color:var(--color-border-secondary);color:var(--color-text-tertiary)}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;color:var(--color-text-secondary)}.loading-spinner{font-size:32px;animation:spin 1s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;color:var(--color-text-tertiary)}.empty-icon{font-size:48px;opacity:.5}.empty-state p{margin:0;font-size:14px;font-weight:500}@media (max-width: 1024px){.panel-content{grid-template-columns:1fr}.user-list-section,.role-assignment-section{max-height:400px}}@media (max-width: 768px){.role-assignment-panel{padding:16px}.panel-header h2{font-size:20px}.section-header h3{font-size:16px}.user-item{padding:10px}.user-avatar{width:40px;height:40px;font-size:14px}.role-item{flex-direction:column;align-items:flex-start}.role-actions,.btn-assign,.btn-remove{width:100%}}.admin-panel{padding:24px;min-height:100vh;background:var(--color-bg-secondary)}.rp-admin-panel-header{padding:20px}.user-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;font-size:14px;font-weight:600;border-radius:8px;box-shadow:0 2px 8px var(--color-primary-alpha-30)}.user-badge:hover{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.client-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:13px;font-weight:500;border-radius:6px}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-md)}.denied-icon{font-size:64px;margin-bottom:16px}.access-denied h2{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--color-text-primary)}.access-denied p{margin:0;font-size:14px;color:var(--color-text-secondary);text-align:center}.tab-navigation{display:flex;gap:12px;margin-bottom:24px;padding:12px;background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-md)}.tab{display:flex;align-items:center;gap:8px;padding:12px 24px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:15px;font-weight:500;color:var(--color-text-secondary)}.tab:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.tab.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 2px 8px var(--color-primary-alpha-30)}.tab-icon{font-size:18px}.tab-label{font-weight:600}.tab-content{background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-md);padding:24px}.rp-tab-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--color-border-primary)}.rp-tab-header h2{margin:0 0 4px;font-size:24px;font-weight:700;color:var(--color-text-primary)}.rp-tab-header p{margin:0;font-size:14px;color:var(--color-text-secondary)}.tab-actions{display:flex;gap:12px}.rp-btn-primary,.rp-btn-secondary{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.rp-btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff}.rp-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary-dark) 100%);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-primary-alpha-40)}.rp-btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.rp-btn-secondary:hover:not(:disabled){background:var(--color-border-secondary);transform:translateY(-2px)}.btn-danger{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid var(--color-error);background:transparent;color:var(--color-error-hover);display:inline-flex;align-items:center;gap:6px}.btn-danger:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error-hover);border-color:var(--color-error-border);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-error) 30%,transparent)}.btn-danger:active:not(:disabled){background:color-mix(in srgb,var(--color-error) 12%,transparent);border-color:var(--color-error);transform:translateY(0)}.btn-danger:disabled{opacity:.5;cursor:not-allowed;border-color:var(--color-border-secondary);color:var(--color-text-tertiary)}.btn-destructive{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent;background:transparent;color:var(--color-text-secondary);display:inline-flex;align-items:center;gap:6px}.btn-destructive:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error-hover);border-color:var(--color-error-border)}.btn-destructive:active:not(:disabled){background:color-mix(in srgb,var(--color-error) 12%,transparent);color:var(--color-error-text);border-color:var(--color-error);transform:translateY(0)}.btn-destructive:disabled{opacity:.5;cursor:not-allowed}.btn-destructive.btn-small{padding:6px 12px;font-size:13px;gap:4px}.btn-destructive .fa-trash,.btn-destructive .fa-trash-can{font-size:.9em}.rp-btn-primary:active:not(:disabled),.rp-btn-secondary:active:not(:disabled),.btn-danger:active:not(:disabled){transform:translateY(0)}.rp-btn-primary:disabled,.rp-btn-secondary:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-small{padding:6px 12px;font-size:13px}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.user-card{background:var(--color-bg-secondary);border-radius:10px;padding:16px;transition:all .2s ease}.user-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px var(--color-primary-alpha-20);transform:translateY(-2px)}.user-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border-primary)}.user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;cursor:default}.user-card:hover .user-avatar{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff}.user-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.user-email{margin:0;font-size:13px;color:var(--color-text-secondary)}.user-card-body{display:flex;flex-direction:column;gap:12px}.user-detail{display:flex;flex-direction:column;gap:6px}.detail-label{font-size:12px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.user-roles{display:flex;flex-wrap:wrap;gap:6px}.role-badge{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.no-roles{font-size:12px;color:var(--color-text-tertiary);font-style:italic}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;border-radius:4px;background:transparent;border:1.5px solid transparent;transition:all .2s ease}.status-badge.active{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success-text)}.status-badge.inactive{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error-text)}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.role-card{background:var(--color-bg-secondary);border-radius:10px;padding:20px;transition:all .2s ease}.role-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px var(--color-primary-alpha-20);transform:translateY(-2px)}.role-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.role-card-header h3{margin:0;font-size:16px;font-weight:700;color:var(--color-text-primary)}.user-count-badge{padding:4px 10px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:11px;font-weight:600;border-radius:12px}.role-description{margin:0 0 12px;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.role-meta{display:flex;gap:12px;padding-top:12px;border-top:1px solid var(--color-border-primary)}.role-meta small{font-size:11px;color:var(--color-text-tertiary)}.create-role-section{margin-bottom:32px;padding:20px;background:var(--color-bg-secondary);border:2px dashed var(--color-border-secondary);border-radius:10px}.create-role-section h3{margin:0 0 16px;font-size:18px;font-weight:700;color:var(--color-text-primary)}.create-role-form{width:100%}.form-row{display:flex;gap:12px;align-items:flex-end}.form-group{flex:1}.form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:13px;color:var(--color-text-primary)}.required{color:var(--color-error-hover)}.form-group input,.form-group select{width:100%;padding:10px 14px;border:2px solid var(--color-border-primary);border-radius:8px;font-size:14px;transition:all .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-08)}.form-group input:disabled,.form-group select:disabled{background:var(--color-bg-secondary);cursor:not-allowed;opacity:.6}.permissions-section{margin-top:24px;padding:20px;background:var(--color-bg-primary);border:2px solid var(--color-border-primary);border-radius:10px}.permissions-section h4{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--color-text-primary)}.permissions-description{margin:0 0 20px;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.permissions-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:16px}.permission-group{padding:16px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.permission-category{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;border-bottom:2px solid var(--color-border-secondary)}.permission-checkboxes{display:flex;flex-direction:column;gap:10px}.permission-checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s ease}.permission-checkbox-label:hover{background:var(--color-bg-tertiary)}.permission-checkbox-label input[type=checkbox]{margin-top:2px;width:16px;height:16px;cursor:pointer;flex-shrink:0;accent-color:var(--color-primary)}.permission-checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.permission-name{font-size:13px;font-weight:600;color:var(--color-text-primary);display:block;margin-bottom:2px}.permission-desc{font-size:12px;color:var(--color-text-secondary);display:block;line-height:1.4}.selected-permissions-summary{padding:12px 16px;background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:8px;text-align:center;color:var(--color-primary-dark);font-size:14px}.selected-permissions-summary strong{font-weight:700}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.client-card{background:var(--color-bg-secondary);border-radius:10px;padding:20px;transition:all .2s ease;cursor:pointer}.client-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px var(--color-primary-alpha-20);transform:translateY(-2px)}.client-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border-primary)}.client-card-header h3{margin:0;font-size:18px;font-weight:700;color:var(--color-text-primary)}.client-card-body{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.client-detail{display:flex;justify-content:space-between;align-items:center;font-size:13px}.subscription-badge{padding:4px 10px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:11px;font-weight:600;border-radius:12px;text-transform:uppercase}.client-card-footer{display:flex;flex-wrap:wrap;gap:18px;padding-top:12px;border-top:1px solid var(--color-border-primary);align-items:center}.client-card-footer .rp-btn-secondary,.client-card-footer .btn-destructive{flex:1;min-width:0;justify-content:center}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px 16px;color:var(--color-text-secondary)}.loading-spinner{font-size:48px;animation:spin 1s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px 16px;color:var(--color-text-tertiary)}.empty-icon{font-size:64px;opacity:.5}.empty-state p{margin:0;font-size:16px;font-weight:500}.error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-size:14px;background:var(--color-error-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-error);color:var(--color-error-text);margin-bottom:20px}.error-icon{font-size:18px;color:var(--color-error);flex-shrink:0}.success-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-size:14px;background:var(--color-success-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-success);color:var(--color-success-text);margin-bottom:20px}.success-icon{font-size:18px;color:var(--color-success);flex-shrink:0}.info-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-size:14px;background:var(--color-primary-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-secondary);color:var(--color-primary-dark);margin-bottom:20px}.info-icon{font-size:18px;color:var(--color-secondary);flex-shrink:0}.close-btn{margin-left:auto;background:transparent;border:none;color:inherit;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s ease}.close-btn:hover{background:#0000001a}.assign-roles-tab{padding:0}@media (max-width: 1024px){.users-grid,.roles-grid,.clients-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.tab-navigation{flex-wrap:wrap}.form-row{flex-direction:column;align-items:stretch}.form-row button{width:100%}}@media (max-width: 768px){.admin-panel{padding:16px}.rp-admin-panel-header{flex-direction:column;align-items:flex-start;gap:16px}.header-info{align-items:flex-start}.header-content h1{font-size:24px}.tab{flex:1;justify-content:center}.rp-tab-header{flex-direction:column;align-items:flex-start;gap:16px}.tab-actions{width:100%;flex-direction:column}.tab-actions button{width:100%}.users-grid,.roles-grid,.clients-grid{grid-template-columns:1fr}}@media (max-width: 480px){.admin-panel{padding:12px}.tab-content{padding:16px}.tab{padding:8px 12px;font-size:13px}.tab-icon{font-size:16px}.tab-label{display:none}}.permissions-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.permissions-header>div{flex:1}.permissions-header h4{margin:0 0 4px}.permissions-header .permissions-description{margin:0}.permissions-header .btn-small{white-space:nowrap;margin-top:0}.unverified-badge{display:inline-block;margin-left:8px;font-size:14px;cursor:help}.user-card-footer{padding:12px 16px;border-top:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:0 0 12px 12px;display:flex;flex-wrap:wrap;gap:18px;align-items:center}.user-card-footer .rp-tooltip-trigger:has(.status-select){flex-basis:100%}.user-card-footer .rp-tooltip-trigger:has(.status-select){flex:0 0 100%}.user-card-footer .rp-btn-link,.user-card-footer .btn-destructive{flex:1;min-width:0;justify-content:center;padding-top:6px;padding-bottom:6px}.user-card-footer .rp-tooltip-trigger,.client-card-footer .rp-tooltip-trigger{flex:1;min-width:0;display:flex}.user-card-footer .rp-btn-link+.btn-destructive:before,.client-card-footer .rp-btn-secondary+.btn-destructive:before{content:"";position:absolute;left:-13px;top:50%;transform:translateY(-50%);height:24px;width:1px;background:var(--color-border-secondary)}.user-card-footer .rp-tooltip-trigger:last-child,.client-card-footer .rp-btn-secondary+.rp-tooltip-trigger{position:relative}.user-card-footer .rp-tooltip-trigger:has(.status-select)+.rp-tooltip-trigger:before{content:none}.user-card-footer .rp-tooltip-trigger+.rp-tooltip-trigger:before,.client-card-footer .rp-btn-secondary+.rp-tooltip-trigger:before{content:"";position:absolute;left:-9px;top:50%;transform:translateY(-50%);height:24px;width:1px;background:var(--color-border-secondary)}.user-card-footer .btn-destructive,.client-card-footer .btn-destructive{position:relative;margin-left:0}.user-card-footer .rp-btn-link+.btn-destructive,.client-card-footer .rp-btn-secondary+.btn-destructive{margin-left:8px}.status-select{flex:1;min-width:150px;padding:8px 12px;border:1px solid var(--color-border-secondary);border-radius:6px;background:var(--color-bg-primary);font-size:14px;color:var(--color-text-primary);cursor:pointer;transition:all .2s}.status-select:hover:not(:disabled){border-color:var(--color-primary)}.status-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-08)}.status-select:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-secondary)}.rp-btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:4px 8px;font-size:13px;text-decoration:none;transition:all .2s;border-radius:4px}.rp-btn-link:hover{background:var(--color-primary-bg);color:var(--color-primary-dark)}.rp-btn-link:active{background:var(--color-primary-surface)}.btn-small{font-size:12px;padding:4px 8px}.tab-icon{font-size:20px;margin-right:8px;vertical-align:middle}.error-icon,.success-icon,.info-icon{font-size:18px;flex-shrink:0;margin-right:10px}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.4;color:#a0aec0}.loading-spinner{font-size:24px;animation:fa-spin 2s linear infinite;margin-right:8px}.denied-icon{font-size:64px;margin-bottom:16px;color:#e53e3e}.user-badge svg,.client-badge svg{margin-right:6px;font-size:16px}.status-badge svg{margin-right:4px;font-size:14px}.rp-btn-primary svg,.rp-btn-secondary svg{margin-right:6px}.rp-modal-header h2 svg{margin-right:8px}.unverified-badge svg{color:var(--color-warning);margin-left:6px}.app-access-section{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border-secondary)}.app-access-controls{display:flex;flex-direction:column;gap:6px;margin-top:4px}.app-access-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:6px;transition:background .2s ease;font-size:13px;color:#333;-webkit-user-select:none;user-select:none}.app-access-checkbox:hover{background:#f5f5f5}.app-access-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#007bff;margin:0}.app-access-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.app-access-checkbox span{font-weight:500}.app-access-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.app-badge{display:inline-block;padding:4px 10px;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.app-badge.enabled{background:var(--color-success-bg);border:1.5px solid var(--color-success);color:var(--color-success-text)}.app-badge.disabled{background:#6b72801a;border:1.5px solid #d1d5db;color:#6b7280}.app-access-checkbox input[type=checkbox]:disabled{cursor:wait}@media (max-width: 768px){.app-access-controls{font-size:12px}.app-access-checkbox{padding:4px 8px}.app-badge{font-size:10px;padding:3px 8px}}.health-check-container{padding:2rem;max-width:800px;margin:0 auto}.health-check-header{text-align:center;margin-bottom:2rem}.health-check-header h1{font-size:2rem;margin-bottom:.5rem;color:#333}.health-check-header p{color:#666;font-size:1.1rem}.health-check-content{display:flex;flex-direction:column;gap:1.5rem}.config-section{background:#f5f5f5;padding:1.5rem;border-radius:8px;border:1px solid #ddd}.config-section h2{margin-top:0;margin-bottom:1rem;font-size:1.3rem;color:#333}.config-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #ddd}.config-item:last-child{border-bottom:none}.config-item strong{color:#555}.config-item code{background:#fff;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;color:#06c}.status-success{color:#28a745;font-weight:700}.status-warning{color:#ffc107;font-weight:700}.test-section{text-align:center;padding:1.5rem}.test-button{background:#06c;color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;border-radius:8px;cursor:pointer;font-weight:700;transition:all .3s ease}.test-button:hover:not(:disabled){background:#0052a3;transform:translateY(-2px);box-shadow:0 4px 8px #0066cc4d}.test-button:disabled{background:#ccc;cursor:not-allowed}.result-section{padding:1.5rem;border-radius:8px;border:2px solid}.result-section.loading{border-color:#06c;background:#e6f2ff;text-align:center}.result-section.error{border-color:#dc3545;background:#ffe6e6}.result-section.success{border-color:#28a745;background:#e6ffe6}.result-section h3{margin-top:0;margin-bottom:1rem}.error-message{color:#dc3545;font-weight:700;margin:1rem 0;padding:1rem;background:#fff;border-radius:4px}.result-data{margin-top:1rem}.result-data h4{margin-bottom:.5rem;color:#333}.result-data pre{background:#fff;padding:1rem;border-radius:4px;overflow-x:auto;font-family:Courier New,monospace;font-size:.9rem;border:1px solid #ddd}.instructions{background:#fff9e6;padding:1.5rem;border-radius:8px;border:1px solid #ffd700}.instructions h3{margin-top:0;color:#333}.instructions ol{margin:1rem 0;padding-left:1.5rem}.instructions li{margin-bottom:.5rem;color:#555}.instructions code{background:#ffe6cc;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9rem}details{margin-top:1rem;background:#fff;padding:1rem;border-radius:4px;border:1px solid #ddd}summary{cursor:pointer;font-weight:700;color:#06c}summary:hover{text-decoration:underline}details ul{margin:1rem 0 0;padding-left:1.5rem}details li{margin-bottom:.5rem;color:#555}.backend-tester{padding:24px;max-width:1400px;margin:0 auto}.tester-header{margin-bottom:24px}.tester-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:#111827}.tester-header p{margin:0;color:#6b7280;font-size:16px}.tester-header .test-info{margin-top:12px;padding:12px;background-color:#eff6ff;border-left:4px solid #3b82f6;border-radius:4px;font-size:14px;color:#1e40af;line-height:1.6}.tester-header .test-info strong{color:#1e3a8a;font-weight:600}.tester-controls{margin-bottom:24px;padding:16px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.rp-btn-primary{padding:12px 24px;background-color:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.rp-btn-primary:hover:not(:disabled){background-color:#4338ca}.rp-btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}.warning{margin:12px 0 0;color:var(--color-error-hover);font-size:14px;font-weight:500}.current-test{margin:12px 0 0;color:#4f46e5;font-size:14px;font-weight:500;animation:pulse 1.5s ease-in-out infinite}.test-results{display:flex;flex-direction:column;gap:16px}.no-results{padding:40px;text-align:center;background-color:#f9fafb;border-radius:8px;border:2px dashed #d1d5db}.no-results p{margin:0;color:#6b7280;font-size:16px}.test-result{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden}.test-header{display:flex;align-items:center;gap:12px;padding:16px;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.test-icon{font-size:24px;line-height:1}.test-header h3{margin:0;font-size:18px;font-weight:600;color:#111827;text-transform:capitalize}.test-body{padding:16px;background-color:#1e1e1e;overflow-x:auto}.test-body pre{margin:0;font-family:Courier New,monospace;font-size:13px;color:#d4d4d4;white-space:pre-wrap;word-wrap:break-word}.test-summary{margin-top:24px;padding:20px;background-color:#eff6ff;border-radius:8px;border:1px solid #bfdbfe}.test-summary h2{margin:0 0 12px;font-size:20px;font-weight:600;color:#1e40af}.test-summary p{margin:4px 0;color:#1e40af;font-size:16px}@media (max-width: 768px){.backend-tester{padding:16px}.tester-header h1{font-size:24px}.test-body pre{font-size:11px}}.container{padding:24px;max-width:1400px;margin:0 auto;background:var(--color-bg-secondary);min-height:100vh;position:relative;z-index:auto}.container>.rp-page-header{margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.rp-page-header-tabs{display:flex;gap:0;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-top:none;border-bottom-left-radius:12px;border-bottom-right-radius:12px;padding:0 var(--space-5);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.rp-page-header-tab{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;transition:color .15s,border-color .15s}.rp-page-header-tab:hover{color:var(--color-primary)}.rp-page-header-tab--active{color:var(--color-primary);font-weight:var(--font-weight-semibold, 600);border-bottom-color:var(--color-primary)}.translation-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.translation-status-active{background-color:var(--color-success-bg);color:var(--color-success-text)}.translation-status-draft{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.translation-status-archived{background-color:var(--color-error-bg);color:var(--color-error-hover)}.region-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.region-status-approved{background-color:var(--color-success-bg);color:var(--color-success-text)}.region-status-pending{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.container>.rp-btn-back{margin-bottom:var(--space-4)}.template-detail-header{margin-bottom:24px;padding:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);box-shadow:var(--shadow-sm);border-radius:12px}.template-detail-header-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.template-detail-header-title{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0}.template-detail-header-top h1{margin:0;font-size:28px;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.template-detail-description{margin:var(--space-2) 0 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.template-detail-metadata{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.template-detail-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary)}.template-detail-actions{display:flex;gap:8px;flex-shrink:0}.settings-section{margin-bottom:24px;padding:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);box-shadow:var(--shadow-sm);border-radius:12px;animation:slideDown .2s ease-out}.settings-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.settings-form-group{margin-bottom:16px}.settings-form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.settings-form-group input[type=text],.settings-form-group select{width:100%;max-width:400px;padding:10px 12px;border:1px solid var(--color-border-primary);border-radius:8px;font-size:14px;font-family:inherit;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .2s,box-shadow .2s}.settings-form-group input:focus,.settings-form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;max-width:400px;padding:8px 0}.settings-toggle-row label{margin-bottom:0;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.settings-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:var(--color-gray-400);border-radius:12px;transition:background-color .2s}.settings-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .2s}.settings-toggle input:checked+.settings-toggle-slider{background-color:var(--color-primary)}.settings-toggle input:checked+.settings-toggle-slider:before{transform:translate(20px)}.settings-save-bar{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--color-border-primary);margin-top:16px}.settings-disabled-notice{padding:12px 16px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;color:var(--color-text-tertiary);font-size:14px;text-align:center}.settings-toggle-btn{padding:8px 12px;background:none;border:1px solid var(--color-border-primary);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:14px;transition:all .2s}.settings-toggle-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.settings-toggle-btn.active{background-color:var(--color-primary-surface);color:var(--color-primary);border-color:var(--color-primary)}.region-bounds{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;color:var(--color-text-tertiary)}.rp-approve-all-btn.rp-btn-primary{background:var(--color-success, #16a34a);background-color:var(--color-success, #16a34a);border-color:var(--color-success, #16a34a)}.rp-approve-all-btn.rp-btn-primary:hover:not(:disabled){background:var(--color-success-hover, #059669);background-color:var(--color-success-hover, #059669)}@media (prefers-color-scheme: dark){.translation-status-active{background-color:#10b98133;color:var(--color-success)}.translation-status-draft{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.translation-status-archived{background-color:color-mix(in srgb,var(--color-error) 12%,transparent);color:var(--color-error)}.region-status-approved{background-color:#10b98133;color:var(--color-success)}.region-status-pending{background-color:#f59e0b33;color:var(--color-warning)}.settings-toggle-btn.active{background-color:#3b82f633;color:var(--color-primary-subtle);border-color:var(--color-primary)}}.rp-lang-picker{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg, 12px);padding:var(--space-6);margin-top:var(--space-4)}.rp-lang-picker h3{font-size:var(--font-size-lg, 1.1rem);font-weight:var(--font-weight-semibold, 600);margin:0;display:flex;align-items:center;gap:var(--space-2)}.rp-lang-picker h3 svg{color:var(--color-primary)}.rp-lang-picker-notice{color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic;margin-top:var(--space-3)}.rp-lang-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.rp-lang-picker-counter{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary)}.rp-lang-picker-count{font-weight:var(--font-weight-bold, 700);color:var(--color-primary);font-size:var(--font-size-lg, 1.1rem)}.rp-lang-picker-count.at-limit{color:var(--color-warning, #f59e0b)}.rp-lang-picker-limit{font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary)}.rp-lang-picker-info{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-primary-bg);border:1px solid var(--color-primary-alpha-20);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, .8rem);color:var(--color-primary);margin-bottom:var(--space-4)}.rp-lang-picker-toolbar{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);align-items:center}.rp-lang-picker-toolbar .rp-search-bar{flex:1}.rp-lang-picker-total{color:var(--color-text-muted);font-size:var(--font-size-xs, .75rem)}.rp-lang-picker-filter-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-md, 8px);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-sm, .8rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;white-space:nowrap;transition:all .15s;font-family:inherit}.rp-lang-picker-filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.rp-lang-picker-filter-btn.active{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary)}.rp-lang-picker-filter-count{background:var(--color-bg-primary);padding:0 6px;border-radius:10px;font-size:.7rem;font-weight:var(--font-weight-semibold, 600)}.rp-lang-picker-empty{grid-column:1 / -1;text-align:center;padding:var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-sm)}.rp-lang-picker-show-all{display:block;margin:var(--space-2) auto 0;background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);font-family:inherit;text-decoration:underline}.rp-lang-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-2);max-height:400px;overflow-y:auto;padding-right:var(--space-2)}.rp-lang-picker-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-md, 8px);background:var(--color-bg-secondary);cursor:pointer;transition:all .15s;text-align:left;font-family:inherit;font-size:inherit;color:var(--color-text-primary)}.rp-lang-picker-item:hover:not(.disabled){border-color:var(--color-primary);background:var(--color-primary-bg)}.rp-lang-picker-item.enabled{border-color:var(--color-primary);background:var(--color-primary-bg)}.rp-lang-picker-item.disabled{opacity:.45;cursor:not-allowed}.rp-lang-picker-item-check{width:20px;height:20px;border-radius:4px;border:2px solid var(--color-border-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem;color:#fff;transition:all .15s}.rp-lang-picker-item.enabled .rp-lang-picker-item-check{background:var(--color-primary);border-color:var(--color-primary)}.rp-lang-picker-item-info{flex:1;min-width:0}.rp-lang-picker-item-name{display:block;font-weight:var(--font-weight-medium, 500);font-size:var(--font-size-sm, .85rem);line-height:1.3}.rp-lang-picker-item-native{display:block;font-size:.75rem;color:var(--color-text-muted)}.rp-lang-picker-item-code{font-size:.7rem;color:var(--color-text-muted);font-family:var(--font-family-mono, monospace);flex-shrink:0}.rp-lang-picker-item-badge{font-size:.6rem;font-weight:var(--font-weight-bold, 700);padding:1px 6px;border-radius:4px;background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);flex-shrink:0}.rp-lang-picker-save{margin-top:var(--space-4);display:flex;justify-content:flex-end}@media (prefers-color-scheme: dark){.rp-lang-picker-info{background:var(--color-primary-bg);border-color:var(--color-primary-alpha-20);color:var(--color-primary-light, #c4b5fd)}.rp-lang-picker-item.enabled{background:var(--color-primary-bg);border-color:var(--color-primary)}.rp-lang-picker-item:hover:not(.disabled){background:var(--color-surface-hover);border-color:var(--color-primary)}.rp-lang-picker-item-badge{background:var(--color-warning-bg);color:var(--color-warning)}}.rp-cache-browser{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg, 12px);padding:var(--space-6);margin-top:var(--space-4)}.rp-cache-browser h3{font-size:var(--font-size-lg, 1.1rem);font-weight:var(--font-weight-semibold, 600);margin:0;display:flex;align-items:center;gap:var(--space-2)}.rp-cache-browser h3 svg{color:var(--color-primary)}.rp-cache-browser-notice{color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic;margin-top:var(--space-3)}.rp-cache-browser-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.rp-cache-browser-count{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary)}.rp-cache-browser-toolbar{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);align-items:center;flex-wrap:wrap}.rp-cache-browser-toolbar .rp-search-bar{flex:1;min-width:200px}.rp-cache-browser-filter{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, .8rem);background:var(--color-bg-secondary);color:var(--color-text-primary);outline:none;font-family:inherit}.rp-cache-browser-filter:focus{border-color:var(--color-primary)}.rp-cache-browser-loading{display:flex;justify-content:center;padding:var(--space-6)}.rp-cache-browser-empty{text-align:center;padding:var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-sm)}.rp-cache-browser-table-wrap{border:1px solid var(--color-border-primary);border-radius:var(--radius-md, 8px);overflow:hidden;max-height:500px;overflow-y:auto}.rp-cache-browser-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm, .8rem)}.rp-cache-browser-table thead{position:sticky;top:0;z-index:1}.rp-cache-browser-table th{background:var(--color-bg-tertiary, #f9fafb);padding:var(--space-2) var(--space-3);text-align:left;font-size:.7rem;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border-primary)}.rp-cache-browser-table td{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border-light, #f3f4f6);vertical-align:middle}.rp-cache-browser-table tbody tr:first-child td{border-top:none}.rp-cache-col-cat{width:100px}.rp-cache-col-lang{width:60px;font-weight:var(--font-weight-medium, 500)}.rp-cache-col-orig{width:200px;color:var(--color-text-secondary)}.rp-cache-col-trans{min-width:160px}.rp-cache-col-score{width:60px}.rp-cache-col-actions{width:90px}.rp-cache-row-flagged{background:var(--color-error-bg, #fef2f2)}.rp-cache-row-edited{background:var(--color-primary-bg, #eff6ff)}.rp-cache-row-flagged.rp-cache-row-edited{background:var(--color-error-bg, #fef2f2)}.rp-cache-cat-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.65rem;font-weight:var(--font-weight-semibold, 600);text-transform:uppercase}.rp-cache-cat-course_name{background:var(--color-primary-bg, #dbeafe);color:var(--color-primary)}.rp-cache-cat-label{background:var(--color-primary-bg);color:var(--color-primary)}.rp-cache-cat-freetext{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e)}.rp-cache-score{font-weight:var(--font-weight-semibold, 600)}.rp-cache-score-good{color:var(--color-success-text, #16a34a)}.rp-cache-score-low,.rp-cache-text-flagged{color:var(--color-error, #dc2626)}.rp-cache-edited-badge{display:inline-block;margin-left:var(--space-1, 4px);font-size:.65rem;color:var(--color-primary);font-weight:var(--font-weight-medium, 500)}.rp-cache-edit-input{width:100%;padding:3px 6px;border:1px solid var(--color-primary);border-radius:4px;font-size:var(--font-size-sm, .8rem);outline:none;font-family:inherit;background:var(--color-bg-primary);color:var(--color-text-primary)}.rp-cache-action-group{display:flex;gap:4px}.rp-cache-action-btn{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px;padding:2px 8px;font-size:.7rem;cursor:pointer;display:inline-flex;align-items:center;gap:2px;font-family:inherit;transition:all .15s}.rp-cache-action-edit{color:var(--color-primary);border-color:var(--color-primary-alpha-30, #bfdbfe)}.rp-cache-action-edit:hover{background:var(--color-primary-bg)}.rp-cache-action-delete{color:var(--color-error, #dc2626);border-color:var(--color-error-bg, #fecaca)}.rp-cache-action-delete:hover{background:var(--color-error-bg, #fef2f2)}.rp-cache-action-save{background:var(--color-success, #16a34a);color:#fff;border-color:var(--color-success, #16a34a)}.rp-cache-action-save:hover{opacity:.9}.rp-cache-action-cancel{color:var(--color-text-secondary)}.rp-cache-action-cancel:hover{background:var(--color-bg-tertiary)}.rp-cache-browser-reset{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-primary);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.rp-cache-browser-reset-info{font-size:var(--font-size-sm, .8rem);color:var(--color-text-secondary)}.rp-cache-reset-modal-body p{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary);line-height:1.5;margin:0 0 var(--space-3) 0}.rp-cache-reset-modal-detail{font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary)}.rp-cache-reset-modal-warning{color:var(--color-warning, #f59e0b);margin-right:var(--space-2)}@media (prefers-color-scheme: dark){.rp-cache-row-flagged{background:var(--color-error-bg)}.rp-cache-row-edited{background:var(--color-primary-alpha-08)}.rp-cache-cat-label{background:var(--color-primary-bg);color:var(--color-primary-light, #c4b5fd)}}.rp-review-queue{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg, 12px);padding:var(--space-6);margin-top:var(--space-4)}.rp-review-queue h3{font-size:var(--font-size-lg, 1.1rem);font-weight:var(--font-weight-semibold, 600);margin:0;display:flex;align-items:center;gap:var(--space-2)}.rp-review-queue h3 svg{color:var(--color-primary)}.rp-review-queue-notice{color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic;margin-top:var(--space-3)}.rp-review-queue-header{margin-bottom:var(--space-4)}.rp-review-stats{display:flex;gap:var(--space-4);margin-bottom:var(--space-5)}.rp-review-stat{flex:1;text-align:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md, 8px)}.rp-review-stat-number{font-size:var(--font-size-2xl, 1.5rem);font-weight:var(--font-weight-bold, 700)}.rp-review-stat-label{font-size:.7rem;opacity:.7;margin-top:2px}.rp-review-stat-total{background:var(--color-bg-tertiary, #f0f0f0);color:var(--color-text-primary)}.rp-review-stat-auto{background:var(--color-success-bg, #d1fae5);color:var(--color-success-text, #065f46)}.rp-review-stat-flagged{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e)}.rp-review-stat-approved{background:var(--color-primary-bg, #dbeafe);color:var(--color-primary-darker, #1e40af)}.rp-review-queue .rp-tabs{margin-bottom:var(--space-4)}.rp-review-queue-loading{display:flex;justify-content:center;padding:var(--space-6)}.rp-review-cards{display:flex;flex-direction:column;gap:var(--space-3);max-height:600px;overflow-y:auto;padding-right:var(--space-1)}.rp-review-card{border:1px solid var(--color-border-primary);border-radius:var(--radius-md, 8px);padding:var(--space-4);background:var(--color-bg-subtle, #fafafa);border-left-width:4px}.rp-review-card-high{border-color:var(--color-error-border, #fecaca);border-left-color:var(--color-error, #ef4444)}.rp-review-card-medium{border-color:var(--color-warning-border, #fde68a);border-left-color:var(--color-warning, #f59e0b)}.rp-review-card-low{border-color:var(--color-border-primary);border-left-color:var(--color-primary)}.rp-review-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.rp-review-severity{padding:2px 8px;border-radius:4px;font-size:.65rem;font-weight:var(--font-weight-bold, 700);text-transform:uppercase}.rp-review-severity-high{background:var(--color-error-bg, #fecaca);color:var(--color-error-text, #991b1b)}.rp-review-severity-medium{background:var(--color-warning-bg, #fde68a);color:var(--color-warning-text, #92400e)}.rp-review-severity-low{background:var(--color-primary-bg, #dbeafe);color:var(--color-primary-darker, #1e40af)}.rp-review-card-meta{font-size:var(--font-size-sm, .8rem);color:var(--color-text-secondary)}.rp-review-score-low{color:var(--color-error, #dc2626)}.rp-review-score-good{color:var(--color-success, #16a34a)}.rp-review-field{font-size:var(--font-size-sm, .8rem);margin-bottom:var(--space-1-5)}.rp-review-field-label{font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary);margin-right:var(--space-1)}.rp-review-text-original{color:var(--color-text-secondary)}.rp-review-text-cleaned{color:var(--color-success-text, #16a34a)}.rp-review-text-translated{color:var(--color-primary)}.rp-review-issues{margin-bottom:var(--space-2)}.rp-review-issue{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md, 6px);margin-bottom:3px;font-size:.75rem}.rp-review-issue-high{background:var(--color-error-bg, #fef2f2);color:var(--color-error-text, #991b1b)}.rp-review-issue-medium{background:var(--color-warning-bg, #fffbeb);color:var(--color-warning-text, #92400e)}.rp-review-issue-low{background:var(--color-primary-bg, #eff6ff);color:var(--color-primary-darker, #1e40af)}.rp-review-card-actions{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-light, #f3f4f6)}.rp-review-edit-input{flex:1;padding:var(--space-1-5) var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-md, 6px);font-size:var(--font-size-sm, .8rem);font-family:inherit;background:var(--color-bg-primary);color:var(--color-text-primary);outline:none}.rp-review-edit-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-10, var(--color-primary-alpha-08))}.rp-review-queue-footer{text-align:center;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-primary)}@media (prefers-color-scheme: dark){.rp-review-card{background:var(--color-bg-secondary)}.rp-review-card-high{border-color:color-mix(in srgb,var(--color-error) 30%,transparent);border-left-color:var(--color-error, #ef4444)}.rp-review-card-medium{border-color:#f59e0b4d;border-left-color:var(--color-warning, #f59e0b)}.rp-review-issue-high{background:var(--color-error-bg)}.rp-review-issue-medium{background:#f59e0b1a}}:root{--color-translation-accent: #7c3aed;--color-translation-accent-hover: #5b21b6;--color-translation-accent-bg: #f5f3ff;--color-translation-accent-border: #ddd6fe;--color-translation-accent-dark-bg: #2e1065;--color-translation-accent-dark-border: #4c1d95}.rp-translation-promo{padding:var(--space-6);max-width:var(--container-max, 960px);margin:0 auto;width:100%;background:var(--color-bg-secondary);font-family:var(--font-family-sans);animation:rp-translation-promo-fadeIn var(--duration-300, .3s) var(--ease-out, ease-out)}@keyframes rp-translation-promo-fadeIn{0%{opacity:0;transform:translateY(var(--space-4))}to{opacity:1;transform:translateY(0)}}.rp-translation-promo-title{display:flex;align-items:center;gap:var(--space-3)}.rp-translation-promo-title h1{font-size:var(--font-size-3xl, 1.75rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary);margin:0}.rp-translation-promo-title-icon{font-size:1.5rem;color:var(--color-translation-accent)}.rp-translation-promo .rp-page-header-card p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.rp-translation-promo-hero{background:linear-gradient(135deg,var(--color-translation-accent) 0%,var(--color-translation-accent-hover) 100%);color:#fff;border-radius:var(--radius-lg, 12px);padding:var(--space-10, 40px);margin:var(--space-6) 0;position:relative;overflow:hidden}.rp-translation-promo-hero:after{content:"";position:absolute;right:-30px;bottom:-30px;width:180px;height:180px;background:#ffffff0f;border-radius:50%}.rp-translation-promo-hero h2{font-size:var(--font-size-2xl, 1.5rem);font-weight:var(--font-weight-bold, 700);margin:0 0 var(--space-2) 0;position:relative;z-index:1}.rp-translation-promo-hero p{font-size:var(--font-size-lg, 1.05rem);opacity:.92;line-height:1.6;max-width:600px;margin:0;position:relative;z-index:1}.rp-translation-promo-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg, 12px);padding:var(--space-8, 32px);margin-bottom:var(--space-6);box-shadow:var(--shadow-md)}.rp-translation-promo-card-title{font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-semibold, 600);margin:0 0 var(--space-5) 0}.rp-translation-promo-card-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm, .9rem);margin:0 0 var(--space-5) 0}.centered{text-align:center}.rp-translation-promo-lang-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.rp-translation-promo-lang-chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:var(--font-size-sm, .8rem);font-weight:500;background:var(--color-translation-accent-bg);color:var(--color-translation-accent);border:1px solid var(--color-translation-accent-border)}.rp-translation-promo-lang-chip.more{background:var(--color-bg-secondary);color:var(--color-text-muted);border:1px dashed var(--color-border-primary);font-style:italic}.rp-translation-promo-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}.rp-translation-promo-step{text-align:center;position:relative}.rp-translation-promo-step:not(:last-child):after{content:"";position:absolute;right:calc(var(--space-2) * -1);top:24px;width:calc(var(--space-5));height:2px;background:var(--color-border-primary)}.rp-translation-promo-step-num{width:48px;height:48px;border-radius:50%;background:var(--color-translation-accent-bg);color:var(--color-translation-accent);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-bold, 700);margin:0 auto var(--space-3)}.rp-translation-promo-step h3{font-size:var(--font-size-sm, .85rem);font-weight:var(--font-weight-semibold, 600);margin:0 0 var(--space-1) 0}.rp-translation-promo-step p{font-size:.78rem;color:var(--color-text-secondary);line-height:1.4}.rp-translation-promo-features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.rp-translation-promo-feature{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg, 12px);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.rp-translation-promo-feature:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.rp-translation-promo-feature-icon{width:40px;height:40px;border-radius:var(--radius-md, 8px);background:var(--color-translation-accent-bg);color:var(--color-translation-accent);display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:var(--space-3)}.rp-translation-promo-feature h3{font-size:var(--font-size-base, .95rem);font-weight:var(--font-weight-semibold, 600);margin:0 0 var(--space-2) 0}.rp-translation-promo-feature p{font-size:var(--font-size-sm, .85rem);color:var(--color-text-secondary);line-height:1.5;margin:0}.rp-translation-promo-cta{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg, 12px);padding:var(--space-8, 32px);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-5)}.rp-translation-promo-cta-info h2{font-size:var(--font-size-lg, 1.15rem);font-weight:var(--font-weight-semibold, 600);margin:0 0 var(--space-1) 0}.rp-translation-promo-cta-info p{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary);margin:0}.rp-translation-promo-cta-contact{display:flex;gap:var(--space-5);align-items:center;flex-wrap:wrap}.rp-translation-promo-cta-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm, .9rem);color:var(--color-text-primary)}.rp-translation-promo-cta-item svg{color:var(--color-translation-accent)}@media (max-width: 768px){.rp-translation-promo-steps{grid-template-columns:repeat(2,1fr)}.rp-translation-promo-step:not(:last-child):after{display:none}.rp-translation-promo-features{grid-template-columns:1fr}.rp-translation-promo-cta{flex-direction:column;align-items:flex-start}}@media (prefers-color-scheme: dark){.rp-translation-promo-lang-chip{background:var(--color-translation-accent-dark-bg);border-color:var(--color-translation-accent-dark-border)}.rp-translation-promo-lang-chip.more{background:var(--color-bg-primary);border-color:var(--color-border-secondary)}.rp-translation-promo-step-num,.rp-translation-promo-feature-icon{background:var(--color-translation-accent-dark-bg)}}@media (prefers-reduced-motion: reduce){.rp-translation-promo{animation:none}.rp-translation-promo-feature{transition:none}}.protected-route-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:40px;text-align:center}.protected-route-loading .spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.protected-route-loading p{color:#666;font-size:16px;margin:0}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:40px;text-align:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:40px auto;max-width:600px}.access-denied h2{color:#e74c3c;font-size:32px;margin-bottom:16px;font-weight:600}.access-denied p{color:#666;font-size:16px;margin-bottom:12px;line-height:1.6}.access-denied p strong{color:#2c3e50;font-weight:600}.access-denied button{margin-top:24px;padding:12px 24px;background-color:#3498db;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.access-denied button:hover{background-color:#2980b9}.access-denied button:active{transform:translateY(1px)}@media (max-width: 768px){.access-denied{margin:20px;padding:30px 20px}.access-denied h2{font-size:24px}.access-denied p{font-size:14px}.access-denied button{width:100%;padding:14px 20px}}.layout{display:grid;grid-template-rows:80px 1fr;grid-template-columns:auto 1fr;height:100vh;width:100vw;overflow:hidden;font-family:var(--font-family-sans);color:var(--color-text-primary);background:var(--color-bg-primary)}.layout--no-header{grid-template-rows:1fr;grid-template-columns:1fr}@media (max-width: 768px){.layout{grid-template-columns:1fr;grid-template-rows:70px 1fr}}@media print{.layout{height:auto;overflow:visible;display:block}}.layout-content{grid-column:2;grid-row:2;display:block;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;height:100%!important;max-height:calc(100vh - 80px)!important;background:var(--color-bg-secondary);padding:0;margin:0}.layout .layout-content.with-sidebar{display:block!important;min-height:0!important;overflow-y:auto!important;height:100%!important}.layout-content::-webkit-scrollbar{width:8px}.layout-content::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.layout-content::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:4px}.layout-content::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.layout-content{scrollbar-width:thin;scrollbar-color:var(--color-gray-400) var(--color-bg-secondary)}.no-sidebar,div.no-sidebar,.layout-content.no-sidebar,.layout>.layout-content.no-sidebar,.layout-content.no-sidebar.no-sidebar{grid-column:1 / -1!important;grid-row:1!important;height:100vh!important;max-height:100vh!important;min-height:100vh!important;width:100%!important;overflow:hidden!important;background:transparent!important;padding:0!important;margin:0!important}.content{flex:1;background:var(--color-bg-secondary);padding:var(--space-8);display:flex;flex-direction:column}.content-section{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm);width:100%;border:1px solid var(--color-border-primary)}.content-section:hover{box-shadow:var(--shadow-md)}.content-section h1{color:var(--color-text-primary);margin:0 0 var(--space-4) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);text-align:center}.content-section p{color:var(--color-text-secondary);font-size:var(--font-size-lg);text-align:center;margin:0}.content-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;gap:var(--space-4);background:var(--color-bg-secondary)}.loading-spinner{font-size:var(--font-size-2xl);color:var(--color-text-secondary)}.content-loading p{color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.content-placeholder{padding:var(--space-10);text-align:center;background:var(--color-bg-primary);margin:var(--space-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border-primary)}.content-placeholder:hover{box-shadow:var(--shadow-lg)}.content-placeholder h2{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.content-placeholder p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-lg)}@media (max-width: 1024px){.content,.content-section{padding:var(--space-6)}.content-placeholder{padding:var(--space-8);margin:var(--space-4)}}@media (max-width: 768px){.layout-content{grid-column:1 / -1}.content{padding:var(--space-4)}.content-section{padding:var(--space-4);border-radius:var(--radius-md)}.content-section h1{font-size:var(--font-size-xl)}.content-section p{font-size:var(--font-size-base)}.content-placeholder{margin:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg)}.content-placeholder h2{font-size:var(--font-size-xl)}.content-placeholder p{font-size:var(--font-size-base)}}@media (max-width: 480px){.content{padding:var(--space-3)}.content-section{padding:var(--space-3);margin:0}.content-section h1{font-size:var(--font-size-lg)}.content-placeholder{margin:var(--space-2);padding:var(--space-4)}.content-placeholder h2{font-size:var(--font-size-lg)}}@media print{.layout-content{grid-column:1 / -1;overflow:visible;background:#fff}.content{padding:0;overflow:visible}.content-section,.content-placeholder{box-shadow:none;border:1px solid #ccc;background:#fff}.loading-spinner{display:none}}.content-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;background:var(--color-error-bg);border:1px solid var(--color-border-primary);border-left-width:4px;border-left-color:var(--color-error);border-radius:var(--radius-lg);margin:var(--space-6)}.content-error h2{color:var(--color-error-hover);margin-bottom:var(--space-4);font-size:var(--font-size-xl)}.content-error p{color:var(--color-error-text);margin-bottom:var(--space-6)}@layer reportplus.rp-tokens{:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-primary: var(--color-primary-600);--color-primary-dark: var(--color-primary-700);--color-primary-darker: var(--color-primary-800);--color-primary-darkest: var(--color-primary-900);--color-secondary: var(--color-primary-500);--color-primary-bg: var(--color-primary-50);--color-primary-surface: var(--color-primary-100);--color-primary-border: var(--color-primary-200);--color-primary-subtle: var(--color-primary-300);--color-primary-muted: var(--color-primary-400);--color-primary-rgb: 37, 99, 235;--color-sidebar-gradient-top: #005aa9;--color-sidebar-gradient-bottom: #001a4b;--color-sidebar-divider: #005aa9;--color-brand-navy: #005aa9;--color-brand-blue: #1a73e8;--color-brand-blue-dark: #1557b0;--color-purple: #8b5cf6;--color-purple-dark: #7c3aed;--color-text-body: #313131;--color-text-muted: #6f7276;--color-active: #16A34A;--color-active-dark: #15803D;--color-active-glow: rgba(22, 163, 74, .15);--color-inactive: #94A3B8;--color-success: #10b981;--color-success-hover: #059669;--color-success-bg: #ecfdf5;--color-success-border: #a7f3d0;--color-success-text: #047857;--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fbbf24;--color-warning-text: #92400e;--color-error: #ef4444;--color-error-hover: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-error-text: #b91c1c;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-650: #3d4e5e;--color-gray-700: #334155;--color-gray-750: #28374a;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--color-primary-alpha-08: color-mix(in srgb, var(--color-primary) 8%, transparent);--color-primary-alpha-12: color-mix(in srgb, var(--color-primary) 12%, transparent);--color-primary-alpha-15: color-mix(in srgb, var(--color-primary) 15%, transparent);--color-primary-alpha-20: color-mix(in srgb, var(--color-primary) 20%, transparent);--color-primary-alpha-25: color-mix(in srgb, var(--color-primary) 25%, transparent);--color-primary-alpha-30: color-mix(in srgb, var(--color-primary) 30%, transparent);--color-primary-alpha-40: color-mix(in srgb, var(--color-primary) 40%, transparent);--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-600);--color-text-tertiary: var(--color-gray-500);--color-text-disabled: var(--color-gray-400);--color-text-inverse: #ffffff;--color-text-on-primary: #ffffff;--color-bg-primary: #ffffff;--color-bg-secondary: var(--color-gray-200);--color-bg-tertiary: var(--color-gray-300);--color-bg-elevated: #ffffff;--color-bg-subtle: var(--color-gray-50);--color-bg-hover: var(--color-gray-100);--color-overlay-bg: rgba(0, 0, 0, .5);--color-white-20: rgba(255, 255, 255, .2);--color-white-30: rgba(255, 255, 255, .3);--color-border-primary: var(--color-gray-200);--color-border-secondary: var(--color-gray-300);--color-border-tertiary: var(--color-gray-400);--color-border: var(--color-border-primary);--color-border-focus: var(--color-primary-500);--color-entity-workflow-bg: #dbeafe;--color-entity-workflow: #1e40af;--color-entity-dataset-bg: #e0e7ff;--color-entity-dataset: #4338ca;--color-entity-job-bg: #fce7f3;--color-entity-job: #9f1239;--color-status-active-bg: #dbeafe;--color-status-active: #1e3a8a;--color-status-failed-bg: #fee2e2;--color-status-failed: #7f1d1d;--color-status-processing-bg: #f3f4f6;--color-status-processing: #1f2937;--space-px: 1px;--space-0: 0;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--font-family-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-mono: var(--font-family-mono);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--radius-none: 0;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-focus: 0 0 0 3px rgba(59, 130, 246, .5);--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: var(--duration-150) var(--ease-out);--transition-base: var(--duration-200) var(--ease-out);--transition-slow: var(--duration-300) var(--ease-out);--header-height: 80px;--sidebar-width: 250px;--sidebar-width-collapsed: 60px;--container-xl: 1280px;--container-max: 1400px;--z-auto: auto;--z-base: 0;--z-docked: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 1000;--z-overlay: 999;--z-tooltip: 10000;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--color-overlay: rgba(0, 0, 0, .5);--color-overlay-light: rgba(0, 0, 0, .45);--color-overlay-dark: rgba(0, 0, 0, .75);--color-white-alpha-10: rgba(255, 255, 255, .1);--color-white-alpha-15: rgba(255, 255, 255, .15);--color-white-alpha-20: rgba(255, 255, 255, .2);--color-white-alpha-30: rgba(255, 255, 255, .3);--color-white-alpha-50: rgba(255, 255, 255, .5);--color-white-alpha-70: rgba(255, 255, 255, .7);--color-white-alpha-90: rgba(255, 255, 255, .9);--color-white-alpha-95: rgba(255, 255, 255, .95);--color-error-alpha-08: rgba(239, 68, 68, .08);--color-error-alpha-12: rgba(239, 68, 68, .12);--color-badge-students-bg: #e0e7ff;--color-badge-students: #4338ca;--color-badge-none-bg: #f0fdf4;--color-badge-none: #15803d}@media (prefers-color-scheme: dark){:root{--color-text-primary: var(--color-gray-100);--color-text-secondary: var(--color-gray-300);--color-text-tertiary: var(--color-gray-400);--color-text-inverse: var(--color-gray-900);--color-bg-primary: var(--color-gray-900);--color-bg-secondary: var(--color-gray-800);--color-bg-tertiary: var(--color-gray-700);--color-bg-elevated: var(--color-gray-800);--color-bg-subtle: var(--color-gray-800);--color-bg-hover: var(--color-gray-600);--color-border-primary: var(--color-gray-700);--color-border-secondary: var(--color-gray-600);--color-border-focus: var(--color-primary-400);--color-primary: #60a5fa;--color-primary-dark: #3b82f6;--color-secondary: #93c5fd;--color-success: #34d399;--color-success-hover: #6ee7b7;--color-success-bg: #065f46;--color-success-border: #047857;--color-success-text: #a7f3d0;--color-warning: #fbbf24;--color-warning-hover: #fcd34d;--color-warning-bg: #78350f;--color-warning-border: #b45309;--color-warning-text: #fde68a;--color-error: #f87171;--color-error-hover: #fca5a5;--color-error-bg: rgba(239, 68, 68, .1);--color-error-border: rgba(239, 68, 68, .25);--color-error-text: #fecaca;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px -1px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .6);--shadow-focus: 0 0 0 3px rgba(96, 165, 250, .5);--color-entity-workflow-bg: rgba(59, 130, 246, .2);--color-entity-workflow: #60a5fa;--color-entity-dataset-bg: rgba(139, 92, 246, .2);--color-entity-dataset: #a78bfa;--color-entity-job-bg: rgba(236, 72, 153, .2);--color-entity-job: #f472b6;--color-status-active-bg: rgba(59, 130, 246, .2);--color-status-active: #60a5fa;--color-status-failed-bg: rgba(239, 68, 68, .2);--color-status-failed: #f87171;--color-status-processing-bg: rgba(107, 114, 128, .2);--color-status-processing: #d1d5db;--color-badge-students-bg: rgba(99, 102, 241, .15);--color-badge-students: #a5b4fc;--color-badge-none-bg: rgba(22, 163, 74, .15);--color-badge-none: #86efac}}}.rp-spinner--xs{width:16px;height:16px;border:2px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@media (prefers-color-scheme: dark){canvas{background:transparent!important}.rp-chartjs-legend,.rp-chartjs-legend-item,.rp-chartjs-legend-text{color:var(--color-gray-200)!important}}.rp-unsaved-changes-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay-light);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .2s ease-in-out}.rp-unsaved-changes-dialog{background-color:var(--color-bg-primary);border-radius:16px;box-shadow:var(--shadow-xl);max-width:450px;width:90%;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.rp-unsaved-changes-footer{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 20px;background-color:transparent;border-top:none}@media (max-width: 640px){.rp-unsaved-changes-dialog{max-width:95%}.rp-unsaved-changes-header{padding:20px 20px 16px}.rp-unsaved-changes-footer{padding:0 16px 16px;flex-direction:column}.rp-unsaved-changes-btn,.rp-unsaved-changes-btn-save{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.rp-unsaved-changes-dialog{background-color:var(--color-gray-900)}.rp-unsaved-changes-title{color:var(--color-text-primary)}.rp-unsaved-changes-message{color:var(--color-text-secondary)}.rp-unsaved-changes-btn-cancel{background-color:var(--color-gray-800);color:var(--color-text-primary);border-color:var(--color-border-primary)}.rp-unsaved-changes-btn-cancel:hover{background-color:var(--color-gray-700);border-color:var(--color-border-secondary)}.rp-unsaved-changes-btn-save{background-color:var(--color-primary-darkest);border-color:var(--color-primary-darkest);color:var(--color-text-on-primary)}.rp-unsaved-changes-btn-save:hover{background-color:var(--color-primary-darker);border-color:var(--color-primary-darker)}.rp-unsaved-changes-btn-discard{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-color:var(--color-border-primary)}.rp-unsaved-changes-btn-discard:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}}.rp-btn-primary,.rp-btn-secondary,.rp-btn-link{cursor:pointer;border:none;transition:all var(--transition-fast);font-weight:var(--font-weight-medium)}.rp-btn-primary:disabled,.rp-btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.rp-btn-primary,.rp-btn-secondary{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.rp-btn-primary{background:var(--color-primary);color:var(--color-text-on-primary);border:none}.rp-btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.rp-btn-secondary{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-secondary)}.rp-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);transform:translateY(-1px)}.rp-btn-link{background:transparent;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-2);transition:color var(--transition-fast)}.rp-btn-link:hover:not(:disabled){color:var(--color-primary-dark);text-decoration:underline}@media (prefers-color-scheme: dark){.rp-btn-link{color:var(--color-primary)}.rp-btn-link:hover:not(:disabled){color:var(--color-primary-muted);background:transparent!important;text-decoration:underline}}.rp-table-container{background-color:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--color-border-primary);margin-bottom:var(--space-6)}.rp-table-container--scrollable{overflow-x:auto}.rp-data-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:var(--font-size-sm);color:var(--color-text-primary)}.rp-data-table--fixed{table-layout:fixed}.rp-data-table thead{background-color:var(--color-bg-tertiary);border-bottom:2px solid var(--color-border-primary)}.rp-data-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;min-width:90px}.rp-data-table th.rp-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.rp-data-table th.rp-sortable:hover{color:var(--color-text-primary);background-color:var(--color-gray-200)}.rp-data-table th.rp-sorted{color:var(--color-primary)}.rp-data-table tbody tr{background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);transition:background-color .15s}.rp-data-table tbody tr:last-child{border-bottom:none}.rp-data-table tbody tr:hover{background-color:var(--color-gray-100)}.rp-data-table tbody tr.rp-clickable{cursor:pointer}.rp-data-table tbody tr.rp-clickable:active{background-color:var(--color-bg-tertiary)}.rp-data-table tbody tr.rp-row-selected,.rp-data-table tbody tr.rp-row-selected:hover{background-color:var(--color-gray-200)}.rp-data-table td{padding:var(--space-4);font-size:14px;color:var(--color-text-primary);vertical-align:middle}.rp-data-table td.rp-text-primary{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.rp-data-table td.rp-text-secondary{color:var(--color-text-secondary);font-size:13px}.rp-data-table td.rp-text-muted{color:var(--color-text-tertiary);font-size:13px}.rp-table-col-numeric{text-align:right!important;max-width:150px!important;width:120px!important;min-width:100px!important;white-space:nowrap!important;padding-right:var(--space-3)!important;font-variant-numeric:tabular-nums}.rp-table-col-pdf{text-align:center!important;max-width:80px!important;width:80px!important;min-width:80px!important;white-space:nowrap!important;font-variant-numeric:tabular-nums}.rp-table-col-actions{width:140px!important;max-width:140px!important;min-width:140px!important;text-align:left!important;white-space:nowrap!important;padding:var(--space-3) var(--space-6) var(--space-3) var(--space-4)!important}.rp-table-col-longtext{overflow-wrap:anywhere;word-break:break-word;white-space:normal;max-width:350px;min-width:150px}td.rp-table-col-longtext,th.rp-table-col-longtext{max-width:350px}td.rp-table-col-longtext .rp-tooltip-trigger{display:block;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.rp-table-col-status{width:140px;min-width:120px;white-space:nowrap}.rp-table-col-date{width:180px;min-width:140px;white-space:nowrap;font-variant-numeric:tabular-nums}.rp-table-col-compact{width:auto;padding:var(--space-2) var(--space-3)!important}.rp-table-action-btn{padding:6px 14px;background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.rp-table-action-btn:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.rp-table-action-btn:active{transform:scale(.98)}.rp-table-action-btn--primary{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.rp-table-action-btn--primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.rp-table-action-icon{padding:var(--space-2);background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);font-size:var(--font-size-lg)}.rp-table-action-icon:hover{color:var(--color-primary)}.rp-data-table--compact th,.rp-data-table--compact td{padding:var(--space-2) var(--space-3)}.rp-data-table--striped tbody tr:nth-child(2n){background-color:var(--color-gray-50)}.rp-data-table--bordered th,.rp-data-table--bordered td{border:1px solid var(--color-border-primary)}.rp-data-table--loading{opacity:.6;pointer-events:none}.rp-table-fixed{max-height:600px;overflow-y:auto}.rp-table-fixed .rp-data-table thead{position:sticky;top:0;z-index:10;box-shadow:var(--shadow-sm)}:root{--action-pill-icon-color: var(--color-gray-500);--action-pill-icon-hover-bg: var(--color-gray-300)}.rp-action-pill{display:inline-flex;align-items:center;gap:0;background-color:transparent;border:1px solid var(--color-gray-300);border-radius:999px;padding:4px;transition:all .2s ease-in-out}.rp-action-pill-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;border-radius:50%;color:var(--action-pill-icon-color);cursor:pointer;transition:all .15s ease-in-out;font-size:14px}.rp-action-pill-btn:hover:not(:disabled){background-color:var(--color-gray-300);color:var(--color-text-primary);transform:scale(1.05)}.rp-action-pill-btn:active:not(:disabled){transform:scale(.95)}.rp-action-pill-btn--primary{color:var(--action-pill-icon-color)}.rp-action-pill-btn--primary:hover:not(:disabled){background-color:var(--action-pill-icon-hover-bg);color:var(--color-text-primary)}.rp-action-pill-btn--success{color:var(--action-pill-icon-color)}.rp-action-pill-btn--success:hover:not(:disabled){background-color:var(--action-pill-icon-hover-bg);color:var(--color-text-primary)}.rp-action-pill-btn--danger{color:var(--action-pill-icon-color)}.rp-action-pill-btn--danger:hover:not(:disabled){background-color:var(--action-pill-icon-hover-bg);color:var(--color-text-primary)}.rp-action-pill-btn:disabled{opacity:.3;cursor:not-allowed}.rp-action-pill-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rp-custom-table tbody tr{transition:background-color .15s}.rp-custom-table tbody tr:nth-child(4n+1),.rp-custom-table tbody tr:nth-child(4n+2){background-color:var(--color-bg-primary)}.rp-custom-table tbody tr:nth-child(4n+3),.rp-custom-table tbody tr:nth-child(4n+4){background-color:var(--color-bg-secondary)}.rp-custom-table tbody tr:hover{background-color:var(--color-primary-bg)!important}.rp-custom-table tbody tr.rp-row-expanded{background-color:var(--color-primary-surface)!important}.rp-custom-table tbody tr.rp-expanded-row,.rp-custom-table tbody tr.rp-expanded-row:hover{background-color:var(--color-bg-secondary)!important}.rp-kpi-card-warning:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-warning-border)!important}@media (max-width: 768px){.rp-table-container--responsive{overflow-x:auto}.rp-data-table{min-width:600px}.rp-table-action-btn{padding:4px 10px;font-size:13px}}@media (prefers-color-scheme: dark){:root{--action-pill-icon-color: var(--color-gray-400);--action-pill-icon-hover-bg: var(--color-gray-700)}.rp-table-container{background-color:var(--color-gray-800);border-color:var(--color-gray-700);box-shadow:var(--shadow-sm)}.rp-data-table thead{background-color:var(--color-gray-700);border-bottom-color:var(--color-gray-600)}.rp-data-table th{color:var(--color-gray-300)}.rp-data-table th.rp-sortable:hover{color:var(--color-gray-100);background-color:var(--color-gray-600)}.rp-data-table th.rp-sorted{color:var(--color-primary)}.rp-data-table tbody tr{border-bottom-color:var(--color-gray-700)}.rp-data-table tbody tr:hover{background-color:var(--color-gray-600)}.rp-data-table tbody tr.rp-clickable:active,.rp-data-table tbody tr.rp-row-selected,.rp-data-table tbody tr.rp-row-selected:hover{background-color:var(--color-gray-700)}.rp-data-table td{color:var(--color-gray-200)}.rp-data-table td.rp-text-secondary{color:var(--color-gray-400)}.rp-data-table td.rp-text-muted{color:var(--color-gray-500)}.rp-data-table td.rp-workflow-name{color:var(--color-gray-400)}.rp-data-table td.rp-dataset-name{color:var(--color-gray-200)}.rp-table-action-btn{background-color:var(--color-gray-700);color:var(--color-gray-100);border-color:var(--color-gray-600)}.rp-table-action-btn:hover{background-color:var(--color-gray-600);border-color:var(--color-gray-500)}.rp-table-action-btn--primary{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.rp-table-action-btn--primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.rp-table-action-icon{color:var(--color-gray-400)}.rp-table-action-icon:hover{color:var(--color-primary)}.rp-table-fixed .rp-data-table thead{box-shadow:var(--shadow-md)}.rp-action-pill{border-color:var(--color-gray-500)}.rp-action-pill-btn{color:var(--action-pill-icon-color)}.rp-action-pill-btn:hover:not(:disabled){background-color:var(--action-pill-icon-hover-bg);color:var(--color-gray-100)}.rp-action-pill-btn--primary{color:var(--action-pill-icon-color)}.rp-action-pill-btn--primary:hover:not(:disabled){background-color:var(--action-pill-icon-hover-bg);color:var(--color-gray-100)}.rp-action-pill-btn--success{color:var(--action-pill-icon-color)}.rp-action-pill-btn--success:hover:not(:disabled){background-color:var(--action-pill-icon-hover-bg);color:var(--color-gray-100)}.rp-action-pill-btn--danger{color:var(--action-pill-icon-color)}.rp-action-pill-btn--danger:hover:not(:disabled){background-color:var(--action-pill-icon-hover-bg);color:var(--color-gray-100)}}.rp-pagination-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:1px solid var(--color-border-secondary);border-radius:50%;color:var(--color-text-secondary);font-size:10px;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;flex-shrink:0}.rp-pagination-btn:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.rp-pagination-btn:disabled{opacity:.35;cursor:not-allowed}.rp-pagination-info{font-size:12px;font-weight:500;color:var(--color-text-secondary);min-width:28px;text-align:center;-webkit-user-select:none;user-select:none}.rp-inline-pagination{display:flex;align-items:center;justify-content:center;padding:var(--space-2-5) var(--space-4);border-top:1px solid var(--color-border-primary);background-color:var(--color-bg-secondary);border-radius:0 0 8px 8px}.rp-pagination-pill{display:inline-flex;align-items:center;border:1px solid var(--color-border-primary);border-radius:7px;overflow:hidden;background:var(--color-bg-primary);flex-shrink:0}.rp-pagination-pill-btn{width:26px;height:26px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;transition:background-color .12s,color .12s;flex-shrink:0}.rp-pagination-pill-btn:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-text-on-primary)}.rp-pagination-pill-btn:disabled{opacity:.3;cursor:not-allowed}.rp-pagination-pill-info{padding:0 9px;font-size:11.5px;font-weight:600;color:var(--color-text-secondary);white-space:nowrap;border-left:1px solid var(--color-border-primary);border-right:1px solid var(--color-border-primary);line-height:26px;-webkit-user-select:none;user-select:none}@media (prefers-color-scheme: dark){.rp-pagination-pill{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.rp-pagination-btn,.rp-pagination-pill-btn{color:var(--color-text-secondary);border-color:var(--color-border-primary)}.rp-inline-pagination{background-color:var(--color-bg-secondary);border-top-color:var(--color-border-primary)}}.rp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.rp-loading p{color:var(--color-text-secondary);font-size:16px;margin:0}.rp-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.rp-error-icon{font-size:64px;margin-bottom:16px}.rp-error h3{color:var(--color-error-hover);font-size:20px;font-weight:600;margin:0 0 8px}.rp-error p{color:var(--color-text-secondary);font-size:16px;margin:0 0 24px}.rp-retry{padding:10px 24px;background-color:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.rp-retry:hover{background-color:var(--color-primary-dark)}.rp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.rp-empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.rp-empty h3{color:var(--color-text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.rp-empty p{color:var(--color-text-secondary);font-size:16px;margin:0}.rp-meta-item{display:flex;flex-direction:column;gap:var(--space-1)}.rp-meta-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.rp-meta-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.rp-error-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.rp-page-header-card,.rp-page-header,.rp-job-header,.rp-template-header,.rp-sortdef-header,.rp-freetext-manager-header,.rp-freetext-editor-header,.rp-template-detail-header,.rp-admin-panel-header{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);box-shadow:var(--shadow-sm);border-radius:12px;display:flex;justify-content:space-between;align-items:center;padding:20px;margin-bottom:32px;gap:1rem}@media (prefers-color-scheme: dark){.rp-page-header-card,.rp-page-header,.rp-job-header,.rp-template-header,.rp-sortdef-header,.rp-freetext-manager-header,.rp-freetext-editor-header,.rp-template-detail-header,.rp-admin-panel-header{background:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.rp-page-header h1{color:var(--color-text-primary)}.rp-page-header .rp-count{background-color:var(--color-gray-700);color:var(--color-text-primary)}.rp-page-header .rp-client-badge{background-color:var(--color-primary);color:var(--color-gray-900)}}.rp-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);gap:var(--space-5)}.rp-filter-tabs{display:flex;gap:var(--space-2-5);flex-wrap:wrap;justify-content:flex-start;margin-right:auto}.rp-polling-indicator,.rp-search-container{margin-left:auto}.rp-filter-tab{padding:var(--space-2) var(--space-4);background-color:var(--color-gray-100);color:var(--color-text-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.rp-filter-tab:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-400);color:var(--color-text-primary)}.rp-filter-tab-active{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.rp-filter-tab-active:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}@media (max-width: 1024px){.rp-controls{flex-direction:column;align-items:flex-start}.rp-filter-tabs{width:100%;overflow-x:auto}}@media (max-width: 768px){.rp-filter-tab{white-space:nowrap}}@media (prefers-color-scheme: dark){.rp-filter-tab{background-color:var(--color-gray-800)!important;border-color:var(--color-gray-600)!important;color:var(--color-gray-100)!important}.rp-filter-tab:hover{background-color:var(--color-gray-700)!important;border-color:var(--color-gray-500)!important;color:#fff!important}.rp-filter-tab-active{background-color:var(--color-primary)!important;color:var(--color-text-on-primary)!important;border-color:var(--color-primary)!important;box-shadow:var(--shadow-md)!important}.rp-filter-tab-active:hover{background-color:var(--color-primary-dark)!important;border-color:var(--color-primary-dark)!important}}.rp-filter-controls{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap}.rp-filter-controls-left{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.rp-filter-controls-right{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.rp-filter-badges{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}@media (max-width: 1024px){.rp-filter-controls,.rp-filter-controls-left{gap:var(--space-2-5)}.rp-filter-controls-right{margin-left:0;width:100%;justify-content:flex-end}}@media (max-width: 768px){.rp-filter-controls{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.rp-filter-controls-left{width:100%;flex-direction:column;align-items:flex-start}.rp-filter-controls-right,.rp-filter-badges{width:100%}}.rp-modal-tabs{display:flex;gap:0;padding:0 24px;background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.rp-modal-tab{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}.rp-modal-tab:hover{color:var(--color-text-primary)}.rp-modal-tab--active{color:var(--color-primary);font-weight:600;border-bottom-color:var(--color-primary)}.rp-modal-tab-incomplete{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--color-error);margin-left:6px;vertical-align:middle;position:relative;top:-1px}.rp-tab-header{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-primary)}.rp-tab-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.rp-tab-header p{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0;line-height:var(--line-height-normal)}.rp-subsection-header{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0}.rp-subsection-description{font-size:12px;color:var(--color-text-tertiary);margin:calc(-1 * var(--space-3)) 0 var(--space-4) 0;line-height:1.4}.rp-section-divider{border:none;border-top:1px solid var(--color-border-primary);margin:var(--space-6) 0}@media (max-width: 640px){.rp-modal-tabs{padding:0 16px}.rp-modal-tab{padding:10px 14px;font-size:13px}}@media (prefers-color-scheme: dark){.rp-modal-tabs{background-color:var(--color-bg-primary);border-bottom-color:var(--color-border-primary)}.rp-modal-tab{color:var(--color-text-secondary)}.rp-modal-tab:hover{color:var(--color-text-primary)}.rp-modal-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}}.rp-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease;overflow-y:auto;padding:20px 0}.rp-modal-content{background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-2xl);max-width:600px;width:90%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;animation:slideUp .3s ease;margin:auto;position:relative}.rp-modal-content-lg{max-width:900px}.rp-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-secondary);background:var(--color-bg-primary);border-top-left-radius:12px;border-top-right-radius:12px;flex-shrink:0}.rp-modal-header h2{margin:0;font-size:22px;font-weight:600;color:var(--color-text-primary)}.rp-modal-header.rp-error{background:var(--color-error-bg);border-bottom-color:var(--color-error)}.rp-modal-close{background:none;border:none;font-size:24px;color:var(--color-text-secondary);cursor:pointer;padding:4px;line-height:1;transition:color .2s}.rp-modal-close:hover{color:var(--color-text-primary)}.rp-modal-body{padding:24px;overflow-y:auto;flex:0 1 auto;min-height:0;background-color:var(--color-bg-secondary)}.rp-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border-secondary);background-color:var(--color-bg-primary);border-bottom-left-radius:12px;border-bottom-right-radius:12px;flex-shrink:0}@media (prefers-color-scheme: dark){.rp-modal-content{background:var(--color-bg-primary);border:1px solid var(--color-border-primary)}.rp-modal-header{background:var(--color-bg-primary);border-bottom-color:var(--color-border-primary)}.rp-modal-body{background-color:var(--color-bg-secondary)}.rp-modal-footer{background-color:var(--color-bg-primary);border-top-color:var(--color-border-primary)}}.rp-toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--color-bg-primary);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;animation:slideIn .3s ease-out;max-width:400px}.rp-toast-success{border-left:4px solid var(--color-success)}.rp-toast-error{border-left:4px solid var(--color-error)}.rp-toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:14px}.rp-toast-success .rp-toast-icon{background-color:transparent;color:var(--color-success)}.rp-toast-error .rp-toast-icon{background-color:transparent;color:var(--color-error)}.rp-toast-message{flex:1;font-size:14px;color:var(--color-text-primary)}.rp-toast-close{flex-shrink:0;background:none;border:none;font-size:24px;line-height:1;color:var(--color-text-tertiary);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.rp-toast-close:hover{color:var(--color-text-secondary)}@media (prefers-color-scheme: dark){.rp-toast{background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary)}}.rp-warning{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;margin-bottom:16px;background-color:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:8px;color:var(--color-warning-text)}.rp-warning-icon{font-size:20px;flex-shrink:0}.rp-warning-content{flex:1;font-size:14px;line-height:1.5}.rp-warning-content strong{font-weight:600}.rp-create-button{padding:var(--space-2-5) var(--space-6);background-color:var(--color-brand-blue);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base)}.rp-create-button:hover{background-color:var(--color-brand-blue-dark)}.rp-create-button:disabled{background-color:var(--color-gray-400);cursor:not-allowed;opacity:.6}.rp-create-button:disabled:hover{background-color:var(--color-gray-400)}.rp-form-group{display:flex;flex-direction:column;gap:var(--space-1)}.rp-form-group--error .rp-input,.rp-form-group--error .rp-textarea,.rp-form-group--error .rp-select{border-color:var(--color-error)}.rp-field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-tight)}.rp-field-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:var(--line-height-normal);margin-top:var(--space-0-5)}.rp-field-error{font-size:var(--font-size-xs);color:var(--color-error);line-height:var(--line-height-normal);margin-top:var(--space-0-5)}.rp-input{display:block;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family-sans);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.rp-input::placeholder{color:var(--color-text-tertiary)}.rp-input:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.rp-input:hover:not(:disabled):not(.rp-input--disabled){border-color:var(--color-border-secondary)}.rp-input--error{border-color:var(--color-error)}.rp-input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-alpha-08)}.rp-input--disabled,.rp-input:disabled{background-color:var(--color-bg-subtle);color:var(--color-text-disabled);border-color:var(--color-border-primary);cursor:not-allowed;opacity:.7}.rp-textarea{display:block;width:100%;min-height:100px;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family-sans);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;resize:vertical;-moz-appearance:none;appearance:none;-webkit-appearance:none}.rp-textarea::placeholder{color:var(--color-text-tertiary)}.rp-textarea:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.rp-textarea:hover:not(:disabled):not(.rp-textarea--disabled){border-color:var(--color-border-secondary)}.rp-textarea--error{border-color:var(--color-error)}.rp-textarea--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-alpha-08)}.rp-textarea--disabled,.rp-textarea:disabled{background-color:var(--color-bg-subtle);color:var(--color-text-disabled);border-color:var(--color-border-primary);cursor:not-allowed;opacity:.7}.rp-select{display:block;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family-sans);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:12px 8px;border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:var(--space-8)}.rp-select:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.rp-select:hover:not(:disabled){border-color:var(--color-border-secondary)}.rp-select--error{border-color:var(--color-error)}.rp-select--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-alpha-08)}.rp-select:disabled{background-color:var(--color-bg-subtle);color:var(--color-text-disabled);border-color:var(--color-border-primary);cursor:not-allowed;opacity:.7}.rp-checkbox-wrapper{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);cursor:pointer}.rp-checkbox-wrapper:has(.rp-checkbox:disabled){cursor:not-allowed;opacity:.7}.rp-checkbox{width:1rem;height:1rem;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.rp-checkbox:disabled{cursor:not-allowed}.rp-checkbox-label{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal);cursor:pointer;-webkit-user-select:none;user-select:none}.rp-radio-group{display:flex;flex-direction:column;gap:var(--space-2);border:none;padding:0;margin:0}.rp-radio-group legend{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-1);padding:0}.rp-radio-wrapper{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);cursor:pointer}.rp-radio{width:1rem;height:1rem;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.rp-radio:disabled{cursor:not-allowed}.rp-radio-label{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal);cursor:pointer;-webkit-user-select:none;user-select:none}@media (prefers-color-scheme: dark){.rp-field-label{color:var(--color-text-primary)}.rp-field-hint{color:var(--color-text-tertiary)}.rp-field-error{color:var(--color-error)}.rp-input,.rp-textarea,.rp-select{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-primary)}.rp-input::placeholder,.rp-textarea::placeholder{color:var(--color-text-tertiary)}.rp-input:focus,.rp-textarea:focus,.rp-select:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.rp-input--disabled,.rp-input:disabled,.rp-textarea--disabled,.rp-textarea:disabled,.rp-select:disabled{background-color:var(--color-bg-tertiary);color:var(--color-text-disabled)}.rp-checkbox-label,.rp-radio-label,.rp-radio-group legend{color:var(--color-text-primary)}}.rp-pagination-page-btn--active{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);font-weight:600}.rp-pagination-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--space-2);background:transparent;border:1px solid var(--color-border-secondary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;flex-shrink:0}.rp-pagination-page-btn:hover:not(:disabled):not(.rp-pagination-page-btn--active){background-color:var(--color-bg-hover);color:var(--color-text-primary)}.rp-pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--space-2);color:var(--color-text-muted);font-size:13px;-webkit-user-select:none;user-select:none}.rp-pagination{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.rp-pagination-size-select{margin-left:var(--space-4);display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--color-text-secondary)}.rp-pagination-size-select select{padding:2px var(--space-2);border:1px solid var(--color-border-secondary);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:13px;cursor:pointer}.rp-pagination-total{margin-left:var(--space-3);font-size:12px;color:var(--color-text-muted);white-space:nowrap}@media (prefers-color-scheme: dark){.rp-pagination-page-btn{border-color:var(--color-border-primary);color:var(--color-text-secondary)}.rp-pagination-page-btn--active{background-color:var(--color-primary);border-color:var(--color-primary)}.rp-pagination-size-select select{background:var(--color-bg-primary);border-color:var(--color-border-primary);color:var(--color-text-primary)}}.rp-tabs{display:flex;flex-direction:column;width:100%}.rp-tab-list{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-4);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow-x:auto;flex-shrink:0;scrollbar-width:none}.rp-tab-list::-webkit-scrollbar{display:none}.rp-tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--color-text-tertiary);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;outline-offset:2px}.rp-tab:hover:not(.rp-tab--disabled):not(.rp-tab--active){color:var(--color-text-primary)}.rp-tab--active{color:var(--color-primary);font-weight:600;border-bottom-color:var(--color-primary)}.rp-tab--disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.rp-tab-panel{padding:0;flex:1;outline:none}@media (prefers-color-scheme: dark){.rp-tab-list{background:var(--color-bg-primary);border-color:var(--color-border-primary)}.rp-tab{color:var(--color-text-tertiary)}.rp-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.rp-tab--disabled{color:var(--color-text-disabled)}}.rp-modal-size--sm{max-width:400px}.rp-modal-size--md{max-width:560px}.rp-modal-size--lg{max-width:800px}.rp-modal-size--full{max-width:100%;height:100%}.rp-modal-container{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:90%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;margin:auto;position:relative;animation:rp-modal-slide-up .25s ease}@keyframes rp-modal-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.rp-modal-title{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}@media (prefers-color-scheme: dark){.rp-modal-container{background:var(--color-surface);border:1px solid var(--color-border)}.rp-modal-title{color:var(--color-text-primary)}}.rp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8);gap:var(--space-3);min-height:50vh}.rp-empty-state__icon{font-size:2.5rem;color:var(--color-text-muted);line-height:1}.rp-empty-state__title{font-weight:700;color:var(--color-text-primary);font-size:1.125rem;margin:0}.rp-empty-state__description{color:var(--color-text-secondary);font-size:.875rem;margin:0;max-width:40ch}.rp-empty-state__action{margin-top:var(--space-4)}@media (prefers-color-scheme: dark){.rp-empty-state__icon{color:var(--color-text-muted)}.rp-empty-state__title{color:var(--color-text-primary)}.rp-empty-state__description{color:var(--color-text-secondary)}}@keyframes rp-skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.rp-skeleton{display:block;background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg-hover) 50%,var(--color-border) 75%);background-size:200% 100%;animation:rp-skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.rp-skeleton--text{height:14px;border-radius:9999px}.rp-skeleton--rect{border-radius:var(--radius-md)}.rp-skeleton--circle{border-radius:9999px}@media (prefers-color-scheme: dark){.rp-skeleton{background:linear-gradient(90deg,var(--color-gray-700, #334155) 25%,var(--color-gray-600, #475569) 50%,var(--color-gray-700, #334155) 75%);background-size:200% 100%;animation:rp-skeleton-shimmer 1.5s ease-in-out infinite}}.rp-error-fallback{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:var(--color-error-bg, #fef2f2);border:1px solid var(--color-error-border, rgba(239, 68, 68, .25));border-left:3px solid var(--color-error, #ef4444);border-radius:var(--radius-md, 6px)}.rp-error-fallback__icon{font-size:.875rem;color:var(--color-error, #ef4444);flex-shrink:0;margin-top:2px}.rp-error-fallback__body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.rp-error-fallback__message{color:var(--color-error-text, #b91c1c);font-size:.875rem;font-weight:600;margin:0}.rp-error-fallback__retry{flex-shrink:0;align-self:center}.rp-error-fallback__detail{display:none;white-space:pre-wrap;font-size:.75rem;color:var(--color-text-secondary);background:var(--color-bg-primary, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 2px);padding:8px;max-width:100%;overflow:auto;margin-top:2px}.rp-error-fallback__detail--open{display:block}@media (prefers-color-scheme: dark){.rp-error-fallback{background:var(--color-error-bg);border-color:var(--color-error-border);border-left-color:var(--color-error)}.rp-error-fallback__icon{color:var(--color-error, #f87171)}.rp-error-fallback__message{color:var(--color-error-text, #fecaca)}.rp-error-fallback__detail{background:var(--color-bg-primary);border-color:var(--color-border);color:var(--color-text-secondary)}}.rp-change-password-modal{max-width:480px}.rp-change-password-modal__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.rp-change-password-modal__info{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-4)}.rp-change-password-modal__field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.rp-change-password-modal__field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.rp-change-password-modal__field input{padding:var(--space-2-5) var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.rp-change-password-modal__field input:focus{outline:none;border-color:var(--color-primary)}.rp-change-password-modal__field input[aria-invalid=true]{border-color:var(--color-error)}.rp-change-password-modal__field input:disabled{opacity:.6;cursor:not-allowed}.rp-change-password-modal__field-error{font-size:var(--font-size-xs);color:var(--color-error)}.rp-change-password-modal__requirements{list-style:none;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-1-5)}.rp-change-password-modal__requirements li{font-size:var(--font-size-sm);color:var(--color-text-tertiary);transition:color var(--transition-fast)}.rp-change-password-modal__req--met{color:var(--color-success)!important}@media (prefers-color-scheme: dark){.rp-change-password-modal__field input{background:var(--color-bg-elevated);border-color:var(--color-border-primary)}.rp-change-password-modal__requirements{background:var(--color-bg-subtle)}}.rp-error-boundary{padding:var(--space-10);max-width:800px;margin:0 auto;font-family:var(--font-family-sans)}.rp-error-boundary__title{color:var(--color-error-hover);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4)}.rp-error-boundary__description{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6)}.rp-error-boundary__details{margin-top:var(--space-5);margin-bottom:var(--space-6);padding:var(--space-5);background:var(--color-error-bg);border-left:4px solid var(--color-error);border-radius:var(--radius-md);font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.rp-error-boundary__error-label{color:var(--color-error-text)}.rp-error-boundary__stack-details{margin-top:var(--space-3);cursor:pointer}.rp-error-boundary__stack-details summary{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);-webkit-user-select:none;user-select:none}.rp-error-boundary__pre{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);overflow:auto;white-space:pre-wrap;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.rp-error-boundary__actions{margin-top:var(--space-8)}@media (prefers-color-scheme: dark){.rp-error-boundary__details{background:var(--color-error-bg);border-left-color:var(--color-error)}.rp-error-boundary__pre{background:var(--color-bg-secondary);border-color:var(--color-border-primary);color:var(--color-text-secondary)}}.rp-job-progress-bar{width:100%}.rp-job-progress-bar__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.rp-job-progress-bar__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.rp-job-progress-bar__stats{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.rp-job-progress-bar__track{height:8px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.rp-job-progress-bar__fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .4s ease}.rp-job-progress-bar__fill--complete{background:var(--color-success)}@media (prefers-color-scheme: dark){.rp-job-progress-bar__track{background:var(--color-bg-tertiary)}.rp-job-progress-bar__fill{background:var(--color-primary)}.rp-job-progress-bar__fill--complete{background:var(--color-success)}}.rp-quill-editor{width:100%;height:442px;min-height:342px;border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-primary)}.rp-quill-editor .ql-toolbar{border:none;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary);font-family:inherit}.rp-quill-editor .ql-container{border:none;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-primary);height:calc(100% - 42px)}.rp-quill-editor .ql-editor{padding:var(--space-4);color:var(--color-text-primary)}.rp-quill-editor .ql-editor.ql-blank:before{color:var(--color-text-tertiary);font-style:normal}.rp-quill-editor .ql-toolbar .ql-stroke{stroke:var(--color-text-secondary)}.rp-quill-editor .ql-toolbar .ql-fill{fill:var(--color-text-secondary)}.rp-quill-editor .ql-toolbar .ql-picker-label{color:var(--color-text-secondary)}.rp-quill-editor .ql-toolbar button:hover .ql-stroke,.rp-quill-editor .ql-toolbar button.ql-active .ql-stroke{stroke:var(--color-primary)}.rp-quill-editor .ql-toolbar button:hover .ql-fill,.rp-quill-editor .ql-toolbar button.ql-active .ql-fill{fill:var(--color-primary)}.rp-quill-editor .ql-toolbar .ql-picker-label:hover,.rp-quill-editor .ql-toolbar .ql-picker-item:hover{color:var(--color-primary)}@media (prefers-color-scheme: dark){.rp-quill-editor{border-color:var(--color-border-primary);background:var(--color-bg-elevated)}.rp-quill-editor .ql-toolbar{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.rp-quill-editor .ql-container{background:var(--color-bg-elevated);color:var(--color-text-primary)}.rp-quill-editor .ql-toolbar .ql-stroke{stroke:var(--color-text-secondary)}.rp-quill-editor .ql-toolbar .ql-fill{fill:var(--color-text-secondary)}.rp-quill-editor .ql-toolbar .ql-picker-label{color:var(--color-text-secondary)}.rp-quill-editor .ql-picker-options{background:var(--color-bg-elevated);border-color:var(--color-border-primary)}}.rp-searchable-select{position:relative;width:100%}.rp-searchable-select--disabled{opacity:.6;pointer-events:none}.rp-searchable-select__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast);text-align:left}.rp-searchable-select__trigger:hover:not(:disabled){border-color:var(--color-primary)}.rp-searchable-select__trigger:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:1px}.rp-searchable-select--open .rp-searchable-select__trigger{border-color:var(--color-primary);border-bottom-left-radius:0;border-bottom-right-radius:0}.rp-searchable-select__trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-searchable-select__trigger-text--placeholder{color:var(--color-text-tertiary)}.rp-searchable-select__trigger-icon{font-size:12px;color:var(--color-text-secondary);transition:transform var(--transition-fast);flex-shrink:0;margin-left:var(--space-2)}.rp-searchable-select--open .rp-searchable-select__trigger-icon{transform:rotate(180deg)}.rp-searchable-select__dropdown{position:absolute;top:100%;left:0;right:0;z-index:var(--z-dropdown, 100);background:var(--color-bg-primary);border:1px solid var(--color-primary);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.rp-searchable-select__search{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}.rp-searchable-select__search-icon{color:var(--color-text-tertiary);font-size:14px;margin-right:var(--space-2);flex-shrink:0}.rp-searchable-select__search input{flex:1;border:none;background:transparent;font-size:var(--font-size-sm);color:var(--color-text-primary);outline:none}.rp-searchable-select__search input::placeholder{color:var(--color-text-tertiary)}.rp-searchable-select__search-clear{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center}.rp-searchable-select__search-clear:hover{color:var(--color-text-primary)}.rp-searchable-select__options{max-height:200px;overflow-y:auto}.rp-searchable-select__option{display:block;width:100%;padding:var(--space-2-5) var(--space-4);border:none;background:transparent;font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.rp-searchable-select__option:hover{background:var(--color-bg-secondary)}.rp-searchable-select__option--selected{background:var(--color-primary-bg);color:var(--color-primary);font-weight:var(--font-weight-medium)}.rp-searchable-select__empty{padding:var(--space-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}@media (prefers-color-scheme: dark){.rp-searchable-select__dropdown{background:var(--color-bg-elevated);border-color:var(--color-primary)}.rp-searchable-select__search{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.rp-searchable-select__option--selected{background:var(--color-primary-alpha-15);color:var(--color-primary)}}:root{--arrow-offset: 0px}.rp-tooltip-trigger{position:relative;display:inline-flex;align-items:center}.rp-tooltip-bubble{z-index:var(--z-tooltip, 1500);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:1.4;white-space:nowrap;padding:var(--space-1-5) var(--space-2-5);border-radius:var(--radius-md);opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast)}.rp-tooltip-bubble--visible{opacity:1}.rp-tooltip-bubble--top{transform:translate(-50%) translateY(calc(-100% - 4px)) scale(.97)}.rp-tooltip-bubble--top.rp-tooltip-bubble--visible{transform:translate(-50%) translateY(calc(-100% - 8px)) scale(1)}.rp-tooltip-bubble--top:after{content:"";position:absolute;top:100%;left:calc(50% + var(--arrow-offset, 0px));transform:translate(-50%);border:5px solid transparent}.rp-tooltip-bubble--bottom{transform:translate(-50%) translateY(4px) scale(.97)}.rp-tooltip-bubble--bottom.rp-tooltip-bubble--visible{transform:translate(-50%) translateY(8px) scale(1)}.rp-tooltip-bubble--bottom:after{content:"";position:absolute;bottom:100%;left:calc(50% + var(--arrow-offset, 0px));transform:translate(-50%);border:5px solid transparent}.rp-tooltip-bubble--right{transform:translateY(-50%) translate(4px) scale(.97)}.rp-tooltip-bubble--right.rp-tooltip-bubble--visible{transform:translateY(-50%) translate(8px) scale(1)}.rp-tooltip-bubble--right:after{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent}.rp-tooltip-bubble--default{background-color:var(--color-gray-800);color:var(--color-gray-50);box-shadow:var(--shadow-md)}.rp-tooltip-bubble--default.rp-tooltip-bubble--top:after{border-top-color:var(--color-gray-800)}.rp-tooltip-bubble--default.rp-tooltip-bubble--bottom:after{border-bottom-color:var(--color-gray-800)}.rp-tooltip-bubble--default.rp-tooltip-bubble--right:after{border-right-color:var(--color-gray-800)}.rp-tooltip-bubble--blue{background-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.rp-tooltip-bubble--blue.rp-tooltip-bubble--top:after{border-top-color:var(--color-primary)}.rp-tooltip-bubble--blue.rp-tooltip-bubble--bottom:after{border-bottom-color:var(--color-primary)}.rp-tooltip-bubble--blue.rp-tooltip-bubble--right:after{border-right-color:var(--color-primary)}.rp-tooltip-bubble--rich{background-color:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);box-shadow:var(--shadow-md);min-width:200px;white-space:normal;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-lg)}.rp-tooltip-bubble--rich.rp-tooltip-bubble--top:after{border-top-color:var(--color-bg-primary);filter:drop-shadow(0 1px 0 var(--color-border-primary))}.rp-tooltip-bubble--rich.rp-tooltip-bubble--bottom:after{border-bottom-color:var(--color-bg-primary);filter:drop-shadow(0 -1px 0 var(--color-border-primary))}.rp-tooltip-bubble--rich.rp-tooltip-bubble--right:after{border-right-color:var(--color-bg-primary);filter:drop-shadow(-1px 0 0 var(--color-border-primary))}.rp-tt-title{font-weight:600;font-size:13px;color:var(--color-text-primary);margin-bottom:var(--space-1)}.rp-tt-body{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5}.rp-tt-divider{border:none;border-top:1px solid var(--color-border-primary);margin:var(--space-1-5) 0}@media (prefers-color-scheme: dark){.rp-tooltip-bubble--default{background-color:var(--color-gray-600)}.rp-tooltip-bubble--default.rp-tooltip-bubble--top:after{border-top-color:var(--color-gray-600)}.rp-tooltip-bubble--default.rp-tooltip-bubble--bottom:after{border-bottom-color:var(--color-gray-600)}.rp-tooltip-bubble--default.rp-tooltip-bubble--right:after{border-right-color:var(--color-gray-600)}.rp-tooltip-bubble--rich{background-color:var(--color-bg-elevated);border-color:var(--color-gray-700);box-shadow:var(--shadow-lg)}.rp-tooltip-bubble--rich.rp-tooltip-bubble--top:after{border-top-color:var(--color-bg-elevated);filter:drop-shadow(0 1px 0 var(--color-gray-700))}.rp-tooltip-bubble--rich.rp-tooltip-bubble--bottom:after{border-bottom-color:var(--color-bg-elevated);filter:drop-shadow(0 -1px 0 var(--color-gray-700))}.rp-tooltip-bubble--rich.rp-tooltip-bubble--right:after{border-right-color:var(--color-bg-elevated);filter:drop-shadow(-1px 0 0 var(--color-gray-700))}.rp-tt-divider{border-top-color:var(--color-gray-700)}}.rp-chat-bubble{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:var(--radius-full);background:transparent;border:none;cursor:pointer;box-shadow:0 2px 12px #2563eb40;z-index:9998;transition:all .2s ease;display:flex;align-items:center;justify-content:center;overflow:hidden}.rp-chat-bubble:hover{transform:translateY(-2px);box-shadow:0 4px 16px #2563eb59}.rp-chat-bubble:active{transform:translateY(0)}.rp-chat-bubble:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.rp-chat-bubble--open{background:var(--color-primary);box-shadow:0 2px 8px #00000026}.rp-chat-bubble__icon{color:#fff;line-height:1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%}.rp-chat-bubble__icon svg{width:24px;height:24px;fill:currentColor}.rp-chat-bubble__icon img{width:52px;height:52px;border-radius:50%;object-fit:cover}.rp-chat-window{position:fixed;bottom:88px;right:24px;width:400px;max-width:calc(100vw - 48px);height:560px;max-height:calc(100vh - 120px);background:var(--color-bg-primary);border-radius:16px;box-shadow:0 0 0 1px #0000000a,0 4px 24px #00000014,0 12px 48px #0000000f;display:flex;flex-direction:column;z-index:9999;overflow:hidden;animation:assistantEnter .25s ease-out}@keyframes assistantEnter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.rp-chat-window__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:transparent;flex-shrink:0}.rp-chat-window__header-content{display:flex;align-items:center;gap:10px}.rp-chat-window__avatar{width:28px;height:28px;border-radius:50%;background:var(--color-primary-bg);display:flex;align-items:center;justify-content:center;color:var(--color-primary);overflow:hidden}.rp-chat-window__avatar svg{width:16px;height:16px;fill:currentColor}.rp-chat-window__avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.rp-chat-window__title{margin:0;font-size:13px;font-weight:500;color:var(--color-text-secondary);letter-spacing:0}.rp-chat-window__header-actions{display:flex;align-items:center;gap:4px}.rp-chat-window__action-btn{background:transparent;border:none;color:var(--color-gray-400);cursor:pointer;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.rp-chat-window__action-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.rp-chat-window__action-btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:-2px}.rp-chat-window__action-btn svg{width:16px;height:16px}.rp-chat-window__close{background:transparent;border:none;color:var(--color-gray-400);cursor:pointer;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.rp-chat-window__close:hover{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.rp-chat-window__close:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:-2px}.rp-chat-window__close svg{width:16px;height:16px}.rp-chat-window__messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;background:var(--color-bg-primary)}.rp-chat-window__messages::-webkit-scrollbar{width:6px}.rp-chat-window__messages::-webkit-scrollbar-track{background:transparent}.rp-chat-window__messages::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}.rp-chat-window__messages::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.rp-chat-message{display:flex;animation:messageEnter .2s ease-out}@keyframes messageEnter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.rp-chat-message--user{justify-content:flex-end}.rp-chat-message--ai{justify-content:flex-start}.rp-chat-message__bubble{max-width:85%;position:relative}.rp-chat-message--user .rp-chat-message__bubble{background:var(--color-primary);color:#fff;padding:10px 14px;border-radius:14px 14px 4px}.rp-chat-message--ai .rp-chat-message__bubble{background:var(--color-bg-secondary);color:var(--color-text-primary);padding:12px 16px;border-radius:14px 14px 14px 4px}.rp-chat-message__content{margin:0;font-size:14px;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.rp-chat-message--ai .rp-chat-message__content{color:var(--color-text-primary)}.rp-chat-message__time{display:block;font-size:11px;margin-top:6px;opacity:.6}.rp-chat-message--loading .rp-chat-message__bubble{padding:14px 18px;background:var(--color-bg-secondary)}.rp-chat-message__typing{display:flex;gap:5px;align-items:center}.rp-chat-message__typing span{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-gray-400);animation:typingPulse 1.4s infinite ease-in-out}.rp-chat-message__typing span:nth-child(1){animation-delay:0s}.rp-chat-message__typing span:nth-child(2){animation-delay:.15s}.rp-chat-message__typing span:nth-child(3){animation-delay:.3s}@keyframes typingPulse{0%,60%,to{opacity:.4;transform:scale(1)}30%{opacity:1;transform:scale(1.1)}}.rp-chat-suggestions{padding:0 20px 16px;display:flex;flex-direction:column;gap:8px}.rp-chat-suggestions__label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:4px}.rp-chat-suggestions__list{display:flex;flex-wrap:wrap;gap:8px}.rp-chat-suggestions__chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:20px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.rp-chat-suggestions__chip:hover{background:var(--color-primary-bg);border-color:var(--color-primary-border);color:var(--color-primary)}.rp-chat-suggestions__chip:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:1px}.rp-chat-suggestions__chip svg{width:14px;height:14px;opacity:.7}.rp-chat-suggestions__chip:hover svg{opacity:1}.rp-chat-context-hint{padding:12px 20px;background:var(--color-primary-bg);border-bottom:1px solid var(--color-primary-surface);display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-primary-dark)}.rp-chat-context-hint svg{width:16px;height:16px;flex-shrink:0;opacity:.8}.rp-chat-input{display:flex;gap:10px;padding:16px 20px;background:var(--color-bg-primary);border-top:1px solid var(--color-border-primary);flex-shrink:0}.rp-chat-input__field{flex:1;padding:12px 16px;border:1px solid var(--color-border-primary);border-radius:12px;font-size:14px;font-family:var(--font-family-sans);background:var(--color-bg-primary);color:var(--color-text-primary);transition:all .15s ease}.rp-chat-input__field:hover:not(:disabled){border-color:var(--color-gray-300)}.rp-chat-input__field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.rp-chat-input__field:disabled{opacity:.6;cursor:not-allowed}.rp-chat-input__field::placeholder{color:var(--color-text-tertiary)}.rp-chat-input__send{width:42px;height:42px;border:none;border-radius:12px;background:var(--color-primary);color:#fff;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rp-chat-input__send:hover:not(:disabled){background:var(--color-primary-dark)}.rp-chat-input__send:active:not(:disabled){transform:scale(.96)}.rp-chat-input__send:disabled{opacity:.4;cursor:not-allowed}.rp-chat-input__send:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.rp-chat-input__send svg{width:18px;height:18px;fill:currentColor}.rp-chat-sidebar{position:fixed;top:var(--header-height, 60px);bottom:0;width:380px;max-width:100vw;z-index:9997;display:flex;flex-direction:column;background:var(--color-bg-primary);box-shadow:-2px 0 12px #00000014;animation:sidebarSlideIn .25s ease-out}.rp-chat-sidebar--right{right:0;border-left:1px solid var(--color-border-primary)}.rp-chat-sidebar--left{left:0;border-right:1px solid var(--color-border-primary)}@keyframes sidebarSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.rp-chat-sidebar--left{animation-name:sidebarSlideInLeft}@keyframes sidebarSlideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.rp-chat-window--docked{position:relative;bottom:auto;right:auto;width:100%;height:100%;max-width:none;max-height:none;border-radius:0;box-shadow:none;animation:none}.rp-chat-window--docked .rp-chat-window__header{padding:16px 20px;border-bottom:1px solid var(--color-border-primary)}body.chatbot-docked--right,body.chatbot-docked--left{--chatbot-dock-width: 380px}body.chatbot-docked--right .layout-content,body.chatbot-docked--right .layout{margin-right:var(--chatbot-dock-width);transition:margin-right .25s ease}body.chatbot-docked--left .layout-content,body.chatbot-docked--left .layout{margin-left:var(--chatbot-dock-width);transition:margin-left .25s ease}.layout-content,.layout{transition:margin .25s ease}@media (prefers-color-scheme: dark){.rp-chat-bubble{box-shadow:0 2px 12px #0000004d}.rp-chat-bubble--open{background:var(--color-gray-600)}.rp-chat-window{box-shadow:0 0 0 1px #ffffff0d,0 4px 24px #0000004d,0 12px 48px #0003}.rp-chat-window__avatar{background:var(--color-primary-darkest);color:var(--color-primary-muted)}.rp-chat-window__title{color:var(--color-text-tertiary)}.rp-chat-message--ai .rp-chat-message__bubble{background:var(--color-bg-tertiary)}.rp-chat-suggestions__chip:hover{background:var(--color-primary-darkest);border-color:var(--color-primary-dark);color:var(--color-primary-subtle)}.rp-chat-context-hint{background:var(--color-primary-darkest);border-color:var(--color-primary-darker);color:var(--color-primary-subtle)}.rp-chat-window__messages::-webkit-scrollbar-thumb{background:var(--color-gray-600)}.rp-chat-window__messages::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.rp-chat-sidebar{box-shadow:-2px 0 24px #0003}.rp-chat-sidebar--right{border-left-color:var(--color-border-primary)}.rp-chat-sidebar--left{border-right-color:var(--color-border-primary)}}@media (max-width: 480px){.rp-chat-bubble{bottom:16px;right:16px;width:48px;height:48px}.rp-chat-bubble__icon svg{width:22px;height:22px}.rp-chat-window{bottom:0;right:0;left:0;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.rp-chat-window__header{padding:12px 14px}.rp-chat-window__messages{padding:16px}.rp-chat-suggestions{padding:0 16px 12px}.rp-chat-input{padding:12px 16px}.rp-chat-input__field{padding:10px 14px}.rp-chat-input__send{width:40px;height:40px}.rp-chat-sidebar{width:100%}body.chatbot-docked--right .layout-content,body.chatbot-docked--right .layout,body.chatbot-docked--left .layout-content,body.chatbot-docked--left .layout{margin-left:0;margin-right:0}}.rp-btn-back{display:inline-flex;align-items:center;gap:.4375rem;padding:var(--space-2) var(--space-4);background:var(--color-brand-blue);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-lg);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;line-height:1;box-shadow:0 1px 3px #1a73e840;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.rp-btn-back:hover{background:var(--color-brand-blue-dark);box-shadow:0 3px 10px #1a73e84d}.rp-btn-back:active{transform:scale(.97);box-shadow:0 1px 4px #1a73e833}.rp-btn-back:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.rp-btn-back-icon{font-size:var(--font-size-xs);flex-shrink:0;transition:transform var(--transition-fast)}.rp-btn-back:hover .rp-btn-back-icon{transform:translate(-2px)}.rp-dcm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--space-5);animation:rp-dcm-fade-in var(--duration-200) ease}@keyframes rp-dcm-fade-in{0%{opacity:0}to{opacity:1}}.rp-delete-confirm-modal{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);width:100%;max-width:420px;overflow:hidden;animation:rp-dcm-slide-in var(--duration-200) ease}@keyframes rp-dcm-slide-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.rp-dcm-stripe{height:4px;background:linear-gradient(90deg,var(--color-error-text) 0%,var(--color-error) 100%)}.rp-dcm-body{padding:var(--space-7) var(--space-6) var(--space-5)}.rp-dcm-icon-wrap{width:52px;height:52px;background:var(--color-error-bg);border:4px solid var(--color-error-bg);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.rp-dcm-icon-wrap svg{font-size:var(--font-size-xl);color:var(--color-error-hover)}.rp-dcm-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-2)}.rp-dcm-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin:0 0 18px}.rp-dcm-message strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.rp-dcm-item-chip{display:flex;align-items:center;gap:var(--space-2-5);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--space-2-5) var(--space-3-5);margin-bottom:var(--space-4)}.rp-dcm-item-chip-icon{color:var(--color-text-tertiary);font-size:15px;flex-shrink:0}.rp-dcm-item-chip-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.rp-dcm-dep-status{display:flex;align-items:center;gap:var(--space-2);padding:9px 13px;border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2)}.rp-dcm-dep-status--safe{background:var(--color-success-bg);border:1px solid var(--color-success-bg);color:var(--color-success-text)}.rp-dcm-dep-status--warn{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text)}.rp-dcm-dep-status--loading{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);color:var(--color-text-tertiary)}.rp-dcm-dep-status--clickable{width:100%;cursor:pointer;font-family:inherit;text-align:left}.rp-dcm-dep-status--warn.rp-dcm-dep-status--clickable{background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.rp-dcm-dep-status--clickable:hover{filter:brightness(.95)}.rp-dcm-dep-status-label{flex:1}.rp-dcm-dep-chevron{font-size:11px;opacity:.7;flex-shrink:0}.rp-dcm-dep-warn-block{margin-bottom:var(--space-2)}.rp-dcm-dep-warn-block:has(.rp-dcm-dep-list) .rp-dcm-dep-status--warn{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom-color:var(--color-warning-border)}.rp-dcm-dep-list{border:1px solid var(--color-warning-border);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--color-bg-primary);padding:var(--space-2-5) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2-5);max-height:300px;overflow-y:auto}.rp-dcm-dep-group-header{display:flex;align-items:center;gap:var(--space-1-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:capitalize;margin-bottom:var(--space-1)}.rp-dcm-dep-group-icon{color:var(--color-text-tertiary);font-size:11px}.rp-dcm-dep-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.rp-dcm-dep-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:5px 8px;border-radius:var(--radius-md);background:var(--color-bg-secondary)}.rp-dcm-dep-item-name{font-size:var(--font-size-xs);color:var(--color-text-primary);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-dcm-dep-item-status{font-size:11px;color:var(--color-text-tertiary);flex-shrink:0;text-transform:capitalize}.rp-dcm-dep-item--more{justify-content:center;font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic;background:none}.rp-dcm-irreversible{display:flex;align-items:center;gap:var(--space-1-5);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.rp-dcm-footer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-primary)}.rp-dcm-btn-cancel{flex:1;padding:9px;background:var(--color-bg-primary);border:1.5px solid var(--color-border-secondary);border-radius:var(--radius-lg);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.rp-dcm-btn-cancel:hover:not(:disabled){border-color:var(--color-text-secondary);color:var(--color-text-primary)}.rp-dcm-btn-cancel:disabled{opacity:.6;cursor:not-allowed}.rp-dcm-btn-delete{flex:2;padding:9px;background:var(--color-error-hover);border:none;border-radius:var(--radius-lg);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 2px 8px color-mix(in srgb,var(--color-error) 30%,transparent);transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--duration-75) ease}.rp-dcm-btn-delete:hover:not(:disabled){background:var(--color-error-text);box-shadow:0 4px 14px #dc262666}.rp-dcm-btn-delete:active:not(:disabled){transform:scale(.98)}.rp-dcm-btn-delete:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}@media (prefers-color-scheme: dark){.rp-delete-confirm-modal{background:var(--color-bg-primary);border:1px solid var(--color-border-primary)}.rp-dcm-icon-wrap{background:var(--color-error-bg);border-color:var(--color-error-bg)}.rp-dcm-item-chip{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}}.rp-dependency-info-container{border:1px solid var(--color-border-primary, #e5e7eb);border-radius:8px;overflow:hidden;font-size:13px}.rp-dependency-info-container--has-deps{border-color:var(--color-warning-border, #d97706)}.rp-dependency-info-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--color-bg-secondary, #f9fafb);cursor:pointer;-webkit-user-select:none;user-select:none;gap:8px;transition:background .15s}.rp-dependency-info-header:hover{background:var(--color-bg-tertiary, #f3f4f6)}.rp-dependency-info-title{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--color-text-primary, #111827)}.rp-dependency-info-title-icon{color:var(--color-text-tertiary, #9ca3af);font-size:12px}.rp-dependency-info-title-text{font-size:13px}.rp-dependency-info-chevron{color:var(--color-text-tertiary, #9ca3af);font-size:11px;flex-shrink:0}.rp-dependency-info-content{padding:14px;border-top:1px solid var(--color-border-primary, #e5e7eb);background:var(--color-bg-primary, #ffffff)}.rp-dep-badge{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.rp-dep-badge--jobs{background:var(--color-primary-100);color:var(--color-primary-800)}.rp-dep-badge--students{background:var(--color-badge-students-bg);color:var(--color-badge-students)}.rp-dep-badge--none{background:var(--color-badge-none-bg);color:var(--color-badge-none)}.rp-dep-badge--warning{background:var(--color-error-bg);color:var(--color-error-text)}.rp-dep-section-label{font-size:13px;font-weight:600;color:var(--color-gray-500);margin-bottom:8px}.rp-dep-item{font-size:13px;color:var(--color-gray-700)}.rp-dep-link{color:var(--color-secondary);cursor:pointer}.rp-dep-sub-list{margin-left:16px;margin-top:4px;font-size:12px;color:var(--color-gray-500)}.rp-dep-view-all{margin-left:8px;font-size:12px;color:var(--color-secondary);cursor:pointer}.rp-dep-warning-box{padding:12px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:6px;font-size:12px;color:var(--color-error-text)}.rp-dep-warning-box--orphan{margin-top:4px;color:var(--color-error-hover)}.rp-dep-success-box{padding:12px;background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:6px;font-size:13px;color:var(--color-success-text)}@media (prefers-color-scheme: dark){.rp-dependency-info-container{border-color:var(--color-border-primary, #374151)}.rp-dependency-info-header{background:var(--color-bg-tertiary, #374151)}.rp-dependency-info-header:hover{background:var(--color-bg-elevated, #1f2937)}.rp-dependency-info-content{background:var(--color-bg-primary, #1f2937);border-top-color:var(--color-border-primary, #374151)}.rp-dep-badge--jobs{background:var(--color-primary-alpha-15);color:var(--color-primary-subtle)}.rp-dep-badge--students{background:var(--color-badge-students-bg);color:var(--color-badge-students)}.rp-dep-badge--none{background:var(--color-badge-none-bg);color:var(--color-badge-none)}.rp-dep-section-label{color:var(--color-gray-400)}.rp-dep-item{color:var(--color-gray-300)}.rp-dep-link{color:var(--color-primary-muted)}.rp-dep-sub-list{color:var(--color-gray-400)}.rp-dep-view-all{color:var(--color-primary-muted)}.rp-dep-warning-box--orphan{color:var(--color-error)}}.rp-district-logo{position:relative;flex-shrink:0;border-radius:4px;overflow:hidden}.rp-district-logo-placeholder{line-height:1}.rp-district-logo-img{transition:opacity .2s ease}.rp-district-logo-img--loading{opacity:0}.rp-district-logo-img--loaded{opacity:1}.rp-district-logo-display{width:100%;padding:var(--space-3);transition:all .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1)}.rp-district-logo-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-white-alpha-10);border:1px solid var(--color-white-alpha-20);border-radius:8px;transition:all .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1),border-radius .25s cubic-bezier(.4,0,.2,1),gap .25s cubic-bezier(.4,0,.2,1),background .25s cubic-bezier(.4,0,.2,1),border .25s cubic-bezier(.4,0,.2,1),flex-direction .25s cubic-bezier(.4,0,.2,1)}.rp-district-logo-image{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:4px;background:var(--color-white-alpha-10);padding:4px;transition:all .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1),background .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1),border-radius .25s cubic-bezier(.4,0,.2,1)}.rp-district-logo-name{font-size:11px;font-weight:600;color:var(--color-white-alpha-95);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rp-district-logo-role{font-size:10px;font-weight:500;color:var(--color-white-alpha-70);text-align:center;padding:2px 8px;background:var(--color-white-alpha-10);border-radius:4px}.rp-filter-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-3);background:var(--color-primary-alpha-08);color:var(--color-primary);border:1px solid var(--color-primary-alpha-20);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);animation:badgeSlideIn .2s ease-out}@keyframes badgeSlideIn{0%{opacity:0;transform:scale(.95) translate(-8px)}to{opacity:1;transform:scale(1) translate(0)}}.rp-filter-badge:hover{background:var(--color-primary-alpha-12);border-color:var(--color-primary-alpha-30)}.rp-filter-badge-label{color:var(--color-primary);white-space:nowrap}.rp-filter-badge-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:var(--radius-full);color:var(--color-primary);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-sm)}.rp-filter-badge-remove:hover{background:var(--color-primary-alpha-20);color:var(--color-primary-dark);transform:scale(1.1)}.rp-filter-badge-remove:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rp-filter-badge-remove:active{transform:scale(.95)}@media (max-width: 768px){.rp-filter-badge{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2-5)}.rp-filter-badge-remove{width:16px;height:16px;font-size:var(--font-size-xs)}}@media (prefers-color-scheme: dark){.rp-filter-badge{background:var(--color-primary-alpha-15);border-color:var(--color-primary-alpha-30);color:var(--color-primary-subtle)}.rp-filter-badge:hover{background:var(--color-primary-alpha-25);border-color:var(--color-primary-alpha-40)}.rp-filter-badge-label,.rp-filter-badge-remove{color:var(--color-primary-subtle)}.rp-filter-badge-remove:hover{background:var(--color-primary-alpha-30);color:var(--color-primary-border)}}@media (prefers-contrast: high){.rp-filter-badge{border-width:2px}.rp-filter-badge-remove:focus-visible{outline-width:3px}}@media (prefers-reduced-motion: reduce){.rp-filter-badge{animation:none;transition:none}.rp-filter-badge-remove{transition:none}.rp-filter-badge-remove:hover,.rp-filter-badge-remove:active{transform:none}}.rp-filter-dropdown-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.rp-filter-dropdown-btn:hover{border-color:var(--color-primary);background:var(--color-gray-50)}.rp-filter-dropdown-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rp-filter-dropdown-btn--open{border-color:var(--color-primary);background:var(--color-primary-bg)}.rp-filter-dropdown-label{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.rp-filter-dropdown-value{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.rp-filter-dropdown-icon{font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:transform var(--transition-base);margin-left:var(--space-1)}.rp-filter-dropdown-icon--rotated{transform:rotate(180deg)}.rp-filter-dropdown-menu{min-width:200px;max-width:320px;max-height:400px;overflow-y:auto;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:0 4px 24px #0000001f,0 2px 8px #00000014;animation:dropdownSlide .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.rp-filter-dropdown-menu::-webkit-scrollbar{width:8px}.rp-filter-dropdown-menu::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:var(--radius-lg)}.rp-filter-dropdown-menu::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-lg)}.rp-filter-dropdown-menu::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.rp-filter-dropdown-option{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--transition-base);border-left:3px solid transparent}.rp-filter-dropdown-option:first-child{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rp-filter-dropdown-option:last-child{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.rp-filter-dropdown-option:hover,.rp-filter-dropdown-option--focused{background:var(--color-gray-50)}.rp-filter-dropdown-option--active{background:var(--color-primary-alpha-08);border-left-color:var(--color-primary);padding-left:calc(var(--space-4) - 3px)}.rp-filter-dropdown-option--active .rp-filter-option-label{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.rp-filter-option-label{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.rp-filter-option-count{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-gray-100);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);margin-left:var(--space-2)}.rp-filter-dropdown-option--active .rp-filter-option-count{background:var(--color-primary-surface);color:var(--color-primary)}@media (max-width: 768px){.rp-filter-dropdown-btn{font-size:var(--font-size-xs);padding:var(--space-1-5) var(--space-3)}.rp-filter-dropdown-menu{min-width:180px;max-width:280px}.rp-filter-dropdown-option{padding:var(--space-2-5) var(--space-3)}}@media (max-width: 480px){.rp-filter-dropdown-btn{max-width:140px}.rp-filter-dropdown-value{overflow:hidden;text-overflow:ellipsis}}@media (prefers-color-scheme: dark){.rp-filter-dropdown-btn{background:var(--color-gray-800);border-color:var(--color-gray-600);color:var(--color-gray-100)}.rp-filter-dropdown-btn:hover{background:var(--color-gray-700);border-color:var(--color-primary)}.rp-filter-dropdown-btn--open{background:var(--color-primary-alpha-15);border-color:var(--color-primary)}.rp-filter-dropdown-label{color:var(--color-gray-300)}.rp-filter-dropdown-value{color:var(--color-gray-100)}.rp-filter-dropdown-menu{background:var(--color-gray-800);border-color:var(--color-gray-600);box-shadow:0 4px 24px #0006,0 2px 8px #0000004d}.rp-filter-dropdown-menu::-webkit-scrollbar-track{background:var(--color-gray-700)}.rp-filter-dropdown-menu::-webkit-scrollbar-thumb{background:var(--color-gray-600)}.rp-filter-dropdown-menu::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.rp-filter-dropdown-option:hover,.rp-filter-dropdown-option--focused{background:var(--color-gray-700)}.rp-filter-dropdown-option--active{background:var(--color-primary-alpha-20);border-left-color:var(--color-primary)}.rp-filter-option-label{color:var(--color-gray-100)}.rp-filter-option-count{background:var(--color-gray-700);color:var(--color-gray-300)}.rp-filter-dropdown-option--active .rp-filter-option-count{background:var(--color-primary-alpha-30);color:var(--color-primary-subtle)}}@media (prefers-contrast: high){.rp-filter-dropdown-btn,.rp-filter-dropdown-menu{border-width:2px}.rp-filter-dropdown-option--active{border-left-width:4px}}@media (prefers-reduced-motion: reduce){.rp-filter-dropdown-btn,.rp-filter-dropdown-icon,.rp-filter-dropdown-option{transition:none}.rp-filter-dropdown-menu{animation:none}.rp-filter-dropdown-option{scroll-behavior:auto}}.rp-job-status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border-radius:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;transition:all var(--transition-base);line-height:var(--line-height-normal);background:none;border:none}.rp-job-status-small{font-size:11px;gap:3px}.rp-job-status-medium{font-size:12px;gap:4px}.rp-job-status-large{font-size:13px;gap:5px}.rp-job-status-icon{display:inline-flex;align-items:center;font-size:12px;width:12px;height:12px}.rp-job-status-label{display:inline-flex;align-items:center}.rp-job-status-badge.rp-status-completed{background:none;background-color:transparent;color:var(--color-primary-dark);padding:0;border-radius:0;border:none}.rp-job-status-badge.rp-status-processing{background:none;background-color:transparent;color:var(--color-gray-500);padding:0;border-radius:0;border:none;animation:pulse-processing 2s ease-in-out infinite}@keyframes pulse-processing{0%,to{opacity:1}50%{opacity:.7}}.rp-job-status-badge.rp-status-processing .rp-job-status-icon{display:inline-flex;animation:spin-processing 2s linear infinite}.rp-job-status-badge.rp-status-queued{background:none;background-color:transparent;color:var(--color-primary);padding:0;border-radius:0;border:none}.rp-job-status-badge.rp-status-failed{background:none;background-color:transparent;color:var(--color-error-hover);padding:0;border-radius:0;border:none}.rp-job-status-badge.rp-status-partial{background:none;background-color:transparent;color:var(--color-warning-text);padding:0;border-radius:0;border:none}.rp-job-status-badge.rp-status-unknown{background:none;background-color:transparent;color:var(--color-gray-600);padding:0;border-radius:0;border:none}@media (prefers-color-scheme: dark){.rp-job-status-badge.rp-status-completed{background:none!important;background-color:transparent!important;color:var(--color-primary)!important}.rp-job-status-badge.rp-status-processing{background:none!important;background-color:transparent!important;color:var(--color-gray-400)!important}.rp-job-status-badge.rp-status-queued{background:none!important;background-color:transparent!important;color:var(--color-primary-muted)!important}.rp-job-status-badge.rp-status-failed{background:none!important;background-color:transparent!important;color:var(--color-error)!important}.rp-job-status-badge.rp-status-partial{background:none!important;background-color:transparent!important;color:var(--color-warning)!important}.rp-job-status-badge.rp-status-unknown{background:none!important;background-color:transparent!important;color:var(--color-gray-500)!important}}.rp-relative-time{display:inline-flex;align-items:center;gap:4px;font-size:inherit;color:inherit;cursor:default}.rp-relative-time--tooltip{cursor:help}.rp-relative-time-relative{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.rp-relative-time-full{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.rp-relative-time-separator{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.rp-relative-time .rp-relative-time-relative:only-child{font-weight:var(--font-weight-medium)}.rp-relative-time .rp-relative-time-full:only-child{font-size:var(--font-size-sm);color:var(--color-text-primary)}.rp-search-container{position:relative;width:100%;max-width:300px}.rp-search-input{width:100%;padding:var(--space-2-5) var(--space-10) var(--space-2-5) var(--space-4);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.rp-search-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.rp-search-clear{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-base);cursor:pointer;padding:var(--space-1);line-height:1;transition:color var(--transition-base)}.rp-search-clear:hover{color:var(--color-text-primary)}@media (max-width: 1024px){.rp-search-container{width:100%}}@media (prefers-color-scheme: dark){.rp-search-input{background:var(--color-bg-secondary);border-color:var(--color-border-secondary);color:var(--color-text-primary)}.rp-search-input:focus{border-color:var(--color-border-focus);background:var(--color-bg-primary)}}.rp-sidebar{position:relative;grid-column:1;grid-row:2;background:linear-gradient(90deg,var(--color-sidebar-gradient-top) 0%,var(--color-sidebar-gradient-bottom) 100%);color:#fff;width:220px;min-width:220px;transition:width .25s cubic-bezier(.4,0,.2,1),min-width .25s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden;padding:0;margin:0;display:flex;flex-direction:column;z-index:100;will-change:width}.rp-sidebar--collapsed{width:60px;min-width:60px}.rp-sidebar *,.rp-sidebar *:before,.rp-sidebar *:after{border:none!important;outline:none!important}.rp-sidebar-header{padding:var(--space-3) var(--space-4);background:transparent;display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;width:100%;border:none;color:#fff;cursor:pointer;transition:background-color .2s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1);min-height:50px;gap:var(--space-3);box-shadow:inset 0 -1px 0 var(--color-sidebar-divider)}.rp-sidebar-header:hover{background:var(--color-white-alpha-10)}.rp-sidebar-header:focus-visible{outline:2px solid var(--color-white-alpha-50)!important;outline-offset:-2px}.rp-sidebar-hamburger-icon{font-size:20px;width:20px;height:20px;min-width:20px;color:var(--color-white-alpha-90);flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.rp-sidebar-header:hover .rp-sidebar-hamburger-icon{transform:scale(1.1);color:#fff}.rp-sidebar-toggle-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-white-alpha-90);white-space:nowrap;opacity:1;transform:translate(0);transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.rp-sidebar--collapsed .rp-sidebar-header{padding:var(--space-3) 20px;gap:0;box-shadow:none}.rp-sidebar--collapsed .rp-sidebar-toggle-label{opacity:0;transform:translate(-4px);width:0;min-width:0;flex:0 0 0;overflow:hidden;pointer-events:none;padding:0;margin:0}.rp-sidebar-nav{padding:var(--space-4) 0;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-1)}.rp-sidebar-item{background:none;border:none;color:var(--color-white-alpha-90);padding:var(--space-3) var(--space-4);cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:left;width:100%;min-height:50px;text-decoration:none;transition:padding .25s cubic-bezier(.4,0,.2,1),gap .25s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 -1px 0 var(--color-sidebar-divider)}.rp-sidebar-item:hover{background-color:var(--color-white-alpha-10);color:#fff}.rp-sidebar-item--active{background-color:var(--color-white-alpha-20);color:#fff;font-weight:var(--font-weight-semibold)}.rp-sidebar--collapsed .rp-sidebar-item{padding:var(--space-3) 18px;gap:0;box-shadow:none}.rp-sidebar-item:hover .rp-sidebar-icon{color:var(--color-white-alpha-90)}.rp-sidebar-item--active .rp-sidebar-icon{color:#fff}.rp-sidebar-icon{font-size:24px;min-width:24px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-white-alpha-70);flex-shrink:0}.rp-sidebar-icon--custom{object-fit:contain;filter:brightness(0) invert(1);opacity:.7;width:28px;height:28px}.rp-sidebar-item:hover .rp-sidebar-icon--custom{opacity:.9}.rp-sidebar-item--active .rp-sidebar-icon--custom{opacity:1}.rp-sidebar-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;opacity:1;transform:translate(0);transition:opacity .2s cubic-bezier(.4,0,.2,1) 0ms,transform .2s cubic-bezier(.4,0,.2,1) 0ms,visibility 0ms 0ms,flex .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);visibility:visible}.rp-sidebar--collapsed .rp-sidebar-label{opacity:0;transform:translate(-4px);visibility:hidden;flex:0;width:0;overflow:hidden;transition:opacity .15s cubic-bezier(.4,0,.2,1) 0ms,transform .15s cubic-bezier(.4,0,.2,1) 0ms,visibility 0ms .15s,flex .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1)}.rp-sidebar-footer{padding:var(--space-3);margin-top:auto;flex-shrink:0;display:flex;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1)}.rp-sidebar--collapsed .rp-sidebar-footer{padding:var(--space-2)}.rp-sidebar--collapsed .client-selector-trigger{width:44px;height:44px;padding:var(--space-2);border-radius:50%;gap:0;transition:all .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1),border-radius .25s cubic-bezier(.4,0,.2,1),gap .25s cubic-bezier(.4,0,.2,1)}.rp-sidebar .client-name,.rp-sidebar .dropdown-arrow,.rp-sidebar .rp-district-logo-name,.rp-sidebar .rp-district-logo-role{opacity:1;transform:scale(1);max-height:100px;max-width:100%;overflow:visible;transition:all .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),max-height .25s cubic-bezier(.4,0,.2,1),max-width .25s cubic-bezier(.4,0,.2,1)}.rp-sidebar--collapsed .client-name,.rp-sidebar--collapsed .dropdown-arrow,.rp-sidebar--collapsed .rp-district-logo-name,.rp-sidebar--collapsed .rp-district-logo-role{position:absolute;opacity:0;transform:scale(0);max-height:0;max-width:0;overflow:hidden;margin:0;padding:0;transition:all .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),max-height .25s cubic-bezier(.4,0,.2,1),max-width .25s cubic-bezier(.4,0,.2,1);pointer-events:none}.rp-sidebar--collapsed .rp-district-logo-display{width:100%;padding:0;display:flex;justify-content:center;align-items:center}.rp-sidebar--collapsed .rp-district-logo-container{width:44px;height:44px;padding:var(--space-2);border-radius:50%;gap:0;align-items:center;background:transparent;border-color:transparent;transition:width .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1),border-radius .25s cubic-bezier(.4,0,.2,1),gap .25s cubic-bezier(.4,0,.2,1),background .1s cubic-bezier(.4,0,.2,1) .2s,border-color .1s cubic-bezier(.4,0,.2,1) .2s}.rp-sidebar--collapsed .rp-district-logo-image{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;transition:width .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1),background .1s cubic-bezier(.4,0,.2,1) .2s}.rp-sidebar--collapsed .rp-district-logo-image .rp-district-logo{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:0;background:transparent}.rp-sidebar .client-selector-trigger .rp-district-logo,.rp-sidebar .rp-district-logo-image{transition:all .25s cubic-bezier(.4,0,.2,1)}.rp-sidebar--collapsed .rp-district-logo-image .client-icon{font-size:18px;margin:0;display:flex;align-items:center;justify-content:center}.rp-sidebar .client-selector{width:100%;margin-right:0;display:flex;justify-content:center;align-items:center}.rp-sidebar-footer .rp-tooltip-trigger{display:flex;width:100%}.rp-sidebar .client-selector-trigger{width:100%;padding:var(--space-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--color-white-alpha-10);border:1px solid var(--color-white-alpha-20);border-radius:8px;transition:all .25s cubic-bezier(.4,0,.2,1),background .25s cubic-bezier(.4,0,.2,1),border .25s cubic-bezier(.4,0,.2,1),flex-direction .25s cubic-bezier(.4,0,.2,1);font-size:12px;box-shadow:none}.rp-sidebar .client-selector-trigger:hover{background:var(--color-white-alpha-15);border-color:var(--color-white-alpha-30);transform:translateY(0);box-shadow:none}.rp-sidebar .client-icon{font-size:24px}.rp-sidebar .client-name{max-width:100%;font-size:11px;font-weight:500;text-align:center;color:var(--color-white-alpha-90)}.rp-sidebar .dropdown-arrow{font-size:8px;color:var(--color-white-alpha-70)}.rp-sidebar::-webkit-scrollbar,.rp-sidebar-nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.rp-sidebar,.rp-sidebar-nav{-ms-overflow-style:none!important;scrollbar-width:none!important}@media (max-width: 767px){.rp-sidebar{width:280px;transform:translate(-100%)}.rp-sidebar:not(.rp-sidebar--collapsed){transform:translate(0)}}@media (max-width: 480px){.rp-sidebar{width:100%}}@media print{.rp-sidebar{display:none!important}}.rp-simple-html-editor{border:none;border-radius:0;overflow:hidden;background:transparent;display:flex;flex-direction:column}.rp-editor-toolbar{display:flex;align-items:center;gap:4px;padding:8px 14px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-primary);flex-wrap:wrap}.rp-toolbar-group{display:flex;align-items:center;gap:2px}.rp-toolbar-divider{width:1px;height:20px;background:var(--color-border-primary);margin:0 4px;flex-shrink:0}.rp-editor-toolbar button{width:30px;height:30px;padding:0;border:none;border-radius:6px;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--color-text-secondary);transition:all .12s;font-size:13px;font-family:inherit;line-height:1}.rp-editor-toolbar button:hover{background:var(--color-border-primary);color:var(--color-text-primary)}.rp-editor-toolbar button:active{background:var(--color-primary-surface);color:var(--color-primary)}.rp-editor-toolbar select{height:30px;padding:0 8px;border-radius:6px;border:1px solid var(--color-border-primary);background:var(--color-bg-primary);font-family:inherit;font-size:12px;color:var(--color-text-secondary);cursor:pointer;outline:none;transition:border-color .12s}.rp-editor-toolbar select:focus{border-color:var(--color-primary)}.rp-editor-toolbar .rp-font-select{width:110px}.rp-editor-toolbar .rp-size-select{width:70px}.rp-editor-content{flex:1;min-height:280px;padding:16px 18px;outline:none;overflow-y:auto;max-height:420px;background:var(--color-bg-primary);font-size:14px;line-height:1.6;color:var(--color-text-primary)}.rp-editor-content p,.rp-editor-content div{margin:0;padding:0}.rp-editor-content br{line-height:inherit}.rp-editor-content:empty:before{content:attr(data-placeholder);color:var(--color-text-tertiary);pointer-events:none}@media (prefers-color-scheme: dark){.rp-editor-toolbar{background:var(--color-bg-subtle);border-bottom-color:var(--color-border-primary)}.rp-editor-toolbar button:hover{background:var(--color-gray-700)}.rp-editor-toolbar select{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-primary)}.rp-toolbar-divider{background:var(--color-border-primary)}}.rp-timeout-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay-dark);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn var(--duration-300) var(--ease-in-out)}.rp-timeout-modal{background:var(--color-bg-primary);border-radius:var(--radius-2xl);padding:var(--space-8);max-width:480px;width:90%;box-shadow:var(--shadow-2xl);text-align:center;animation:slideUp var(--duration-300) var(--ease-out)}.rp-timeout-icon{font-size:4rem;margin-bottom:var(--space-4);animation:pulse 2s infinite}.rp-timeout-modal h2{margin:0 0 var(--space-4) 0;font-size:var(--font-size-2xl);color:var(--color-error-text)}.rp-timeout-message{margin:0 0 var(--space-6) 0;font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.rp-timeout-countdown{margin:var(--space-8) 0}.rp-countdown-circle{width:120px;height:120px;border-radius:var(--radius-full);border:4px solid var(--color-error);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-2);background:var(--color-error-bg);box-shadow:0 4px 12px color-mix(in srgb,var(--color-error) 20%,transparent)}.rp-countdown-time{font-size:2.5rem;font-weight:var(--font-weight-bold);color:var(--color-error-text);font-variant-numeric:tabular-nums}.rp-countdown-label{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.rp-timeout-info{margin:var(--space-6) 0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.rp-timeout-actions{display:flex;gap:var(--space-4);margin-top:var(--space-8)}.rp-timeout-btn{flex:1;padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.rp-timeout-btn:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}.rp-timeout-btn-primary{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);color:var(--color-text-inverse);box-shadow:0 2px 8px var(--color-primary-alpha-30)}.rp-timeout-btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-darker) 0%,var(--color-primary-dark) 100%);box-shadow:0 4px 12px var(--color-primary-alpha-40);transform:translateY(-2px)}.rp-timeout-btn-primary:active{transform:translateY(0);box-shadow:0 2px 6px var(--color-primary-alpha-30)}.rp-timeout-btn-secondary{background:var(--color-bg-primary);color:var(--color-text-secondary);border:2px solid var(--color-border-primary)}.rp-timeout-btn-secondary:hover{background:var(--color-bg-subtle);border-color:var(--color-border-secondary)}.rp-timeout-btn-secondary:active{background:var(--color-bg-tertiary)}@media (max-width: 600px){.rp-timeout-modal{padding:var(--space-6);margin:var(--space-4)}.rp-timeout-modal h2{font-size:var(--font-size-xl)}.rp-timeout-icon{font-size:3rem}.rp-countdown-circle{width:100px;height:100px}.rp-countdown-time{font-size:2rem}.rp-timeout-actions{flex-direction:column}.rp-timeout-btn{width:100%}}@media (prefers-color-scheme: dark){.rp-timeout-modal{background:var(--color-bg-elevated);color:var(--color-text-primary)}.rp-timeout-modal h2{color:var(--color-error)}.rp-timeout-message{color:var(--color-text-secondary)}.rp-countdown-circle{background:var(--color-error-bg)}.rp-timeout-info{color:var(--color-text-tertiary)}.rp-timeout-btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.rp-timeout-btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}}@layer reportplus.tokens{:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-primary: var(--color-primary-600);--color-primary-dark: var(--color-primary-700);--color-primary-darker: var(--color-primary-800);--color-primary-darkest: var(--color-primary-900);--color-secondary: var(--color-primary-500);--color-primary-bg: var(--color-primary-50);--color-primary-surface: var(--color-primary-100);--color-primary-border: var(--color-primary-200);--color-primary-subtle: var(--color-primary-300);--color-primary-muted: var(--color-primary-400);--color-primary-rgb: 37, 99, 235;--color-sidebar-gradient-top: #005aa9;--color-sidebar-gradient-bottom: #001a4b;--color-sidebar-divider: #005aa9;--color-brand-navy: #005aa9;--color-brand-blue: #1a73e8;--color-brand-blue-dark: #1557b0;--color-purple: #8b5cf6;--color-purple-dark: #7c3aed;--color-text-body: #313131;--color-text-muted: #6f7276;--color-active: #16A34A;--color-active-dark: #15803D;--color-active-glow: rgba(22, 163, 74, .15);--color-inactive: #94A3B8;--color-success: #10b981;--color-success-hover: #059669;--color-success-bg: #ecfdf5;--color-success-border: #a7f3d0;--color-success-text: #047857;--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fbbf24;--color-warning-text: #92400e;--color-error: #ef4444;--color-error-hover: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-error-text: #b91c1c;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-650: #3d4e5e;--color-gray-700: #334155;--color-gray-750: #28374a;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--color-primary-alpha-08: color-mix(in srgb, var(--color-primary) 8%, transparent);--color-primary-alpha-12: color-mix(in srgb, var(--color-primary) 12%, transparent);--color-primary-alpha-15: color-mix(in srgb, var(--color-primary) 15%, transparent);--color-primary-alpha-20: color-mix(in srgb, var(--color-primary) 20%, transparent);--color-primary-alpha-25: color-mix(in srgb, var(--color-primary) 25%, transparent);--color-primary-alpha-30: color-mix(in srgb, var(--color-primary) 30%, transparent);--color-primary-alpha-40: color-mix(in srgb, var(--color-primary) 40%, transparent);--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-600);--color-text-tertiary: var(--color-gray-500);--color-text-disabled: var(--color-gray-400);--color-text-inverse: #ffffff;--color-text-on-primary: #ffffff;--color-bg-primary: #ffffff;--color-bg-secondary: var(--color-gray-200);--color-bg-tertiary: var(--color-gray-300);--color-bg-elevated: #ffffff;--color-bg-subtle: var(--color-gray-50);--color-bg-hover: var(--color-gray-100);--color-overlay-bg: rgba(0, 0, 0, .5);--color-white-20: rgba(255, 255, 255, .2);--color-white-30: rgba(255, 255, 255, .3);--color-border-primary: var(--color-gray-200);--color-border-secondary: var(--color-gray-300);--color-border-tertiary: var(--color-gray-400);--color-border: var(--color-border-primary);--color-border-focus: var(--color-primary-500);--color-entity-workflow-bg: #dbeafe;--color-entity-workflow: #1e40af;--color-entity-dataset-bg: #e0e7ff;--color-entity-dataset: #4338ca;--color-entity-job-bg: #fce7f3;--color-entity-job: #9f1239;--color-status-active-bg: #dbeafe;--color-status-active: #1e3a8a;--color-status-failed-bg: #fee2e2;--color-status-failed: #7f1d1d;--color-status-processing-bg: #f3f4f6;--color-status-processing: #1f2937;--space-px: 1px;--space-0: 0;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--font-family-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-mono: var(--font-family-mono);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--radius-none: 0;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-focus: 0 0 0 3px rgba(59, 130, 246, .5);--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: var(--duration-150) var(--ease-out);--transition-base: var(--duration-200) var(--ease-out);--transition-slow: var(--duration-300) var(--ease-out);--header-height: 80px;--sidebar-width: 250px;--sidebar-width-collapsed: 60px;--container-xl: 1280px;--container-max: 1400px;--z-auto: auto;--z-base: 0;--z-docked: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 1000;--z-overlay: 999;--z-tooltip: 10000;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}@media (prefers-color-scheme: dark){:root{--color-text-primary: var(--color-gray-100);--color-text-secondary: var(--color-gray-300);--color-text-tertiary: var(--color-gray-400);--color-text-inverse: var(--color-gray-900);--color-bg-primary: var(--color-gray-900);--color-bg-secondary: var(--color-gray-800);--color-bg-tertiary: var(--color-gray-700);--color-bg-elevated: var(--color-gray-800);--color-bg-subtle: var(--color-gray-800);--color-border-primary: var(--color-gray-700);--color-border-secondary: var(--color-gray-600);--color-border-focus: var(--color-primary-400);--color-primary: #60a5fa;--color-primary-dark: #3b82f6;--color-secondary: #93c5fd;--color-success: #34d399;--color-success-hover: #6ee7b7;--color-success-bg: #065f46;--color-success-border: #047857;--color-success-text: #a7f3d0;--color-warning: #fbbf24;--color-warning-hover: #fcd34d;--color-warning-bg: #78350f;--color-warning-border: #b45309;--color-warning-text: #fde68a;--color-error: #f87171;--color-error-hover: #fca5a5;--color-error-bg: #991b1b;--color-error-border: #b91c1c;--color-error-text: #fecaca;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px -1px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .6);--shadow-focus: 0 0 0 3px rgba(96, 165, 250, .5);--color-entity-workflow-bg: rgba(59, 130, 246, .2);--color-entity-workflow: #60a5fa;--color-entity-dataset-bg: rgba(139, 92, 246, .2);--color-entity-dataset: #a78bfa;--color-entity-job-bg: rgba(236, 72, 153, .2);--color-entity-job: #f472b6;--color-status-active-bg: rgba(59, 130, 246, .2);--color-status-active: #60a5fa;--color-status-failed-bg: rgba(239, 68, 68, .2);--color-status-failed: #f87171;--color-status-processing-bg: rgba(107, 114, 128, .2);--color-status-processing: #d1d5db}}html.dark-theme{--color-text-primary: var(--color-gray-100);--color-text-secondary: var(--color-gray-300);--color-text-tertiary: var(--color-gray-400);--color-text-inverse: var(--color-gray-900);--color-bg-primary: var(--color-gray-900);--color-bg-secondary: var(--color-gray-800);--color-bg-tertiary: var(--color-gray-700);--color-bg-elevated: var(--color-gray-800);--color-bg-subtle: var(--color-gray-800);--color-border-primary: var(--color-gray-700);--color-border-secondary: var(--color-gray-600);--color-border-focus: var(--color-primary-400);--color-primary: #60a5fa;--color-primary-dark: #3b82f6;--color-secondary: #93c5fd;--color-success: #34d399;--color-success-hover: #6ee7b7;--color-success-bg: #065f46;--color-success-border: #047857;--color-success-text: #a7f3d0;--color-warning: #fbbf24;--color-warning-hover: #fcd34d;--color-warning-bg: #78350f;--color-warning-border: #b45309;--color-warning-text: #fde68a;--color-error: #f87171;--color-error-hover: #fca5a5;--color-error-bg: #991b1b;--color-error-border: #b91c1c;--color-error-text: #fecaca;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px -1px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .6);--shadow-focus: 0 0 0 3px rgba(96, 165, 250, .5);--color-entity-workflow-bg: rgba(59, 130, 246, .2);--color-entity-workflow: #60a5fa;--color-entity-dataset-bg: rgba(139, 92, 246, .2);--color-entity-dataset: #a78bfa;--color-entity-job-bg: rgba(236, 72, 153, .2);--color-entity-job: #f472b6;--color-status-active-bg: rgba(59, 130, 246, .2);--color-status-active: #60a5fa;--color-status-failed-bg: rgba(239, 68, 68, .2);--color-status-failed: #f87171;--color-status-processing-bg: rgba(107, 114, 128, .2);--color-status-processing: #d1d5db}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;padding:0;width:100%;overflow-x:hidden;font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}img{max-width:100%;height:auto}button{background:none;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}ul,ol{padding-left:var(--space-6)}table{border-collapse:collapse;border-spacing:0}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.4}h1,h2,h3,h4,h5,h6{break-after:avoid;font-weight:700}p{orphans:3;widows:3}}.rp-app,#app{height:100vh;width:100%;margin:0;padding:0;overflow-x:hidden}.rp-custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}.rp-custom-scrollbar::-webkit-scrollbar{width:8px}.rp-custom-scrollbar::-webkit-scrollbar-track{background:transparent}.rp-custom-scrollbar::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full);transition:background-color var(--transition-fast)}.rp-custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}@media (prefers-color-scheme: dark){.rp-custom-scrollbar::-webkit-scrollbar-thumb{background:var(--color-gray-600)}.rp-custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}}.rp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rp-card-base{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--color-border-primary);transition:all var(--transition-fast);position:relative;overflow:hidden}.rp-card-base:hover{box-shadow:var(--shadow-lg)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rp-animate-spin{animation:spin 1s linear infinite}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin-processing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rp-spinner{width:48px;height:48px;border:4px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.rp-spinner--sm{width:40px;height:40px;border:4px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.rp-spinner--xs{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (prefers-color-scheme: dark){canvas{background:transparent!important}.chartjs-legend,.rp-chartjs-legend-item,.chartjs-legend-text{color:var(--color-gray-200)!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rp-unsaved-changes-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000073;display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .2s ease-in-out}.rp-unsaved-changes-dialog{background-color:var(--color-bg-primary);border-radius:16px;box-shadow:0 8px 32px #0003;max-width:450px;width:90%;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.rp-unsaved-changes-header{display:flex;align-items:flex-start;gap:14px;padding:24px 24px 20px}.rp-unsaved-changes-icon-wrapper{width:36px;height:36px;border-radius:8px;background:var(--color-warning-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.rp-unsaved-changes-icon{font-size:16px;color:var(--color-warning)}.rp-unsaved-changes-header-content{flex:1}.rp-unsaved-changes-title{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--color-text-primary)}.rp-unsaved-changes-body{padding:0 24px 20px}.rp-unsaved-changes-message{margin:0;line-height:1.55;color:var(--color-text-secondary);font-size:13px}.rp-unsaved-changes-footer{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 20px;background-color:transparent;border-top:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.rp-unsaved-changes-btn{height:34px;padding:0 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid transparent;white-space:nowrap}.rp-unsaved-changes-btn-save{height:34px;padding:0 20px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid var(--color-primary-darkest);background-color:var(--color-primary-darkest);color:var(--color-text-on-primary);display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.rp-unsaved-changes-btn-save:hover{background-color:var(--color-primary-darker);border-color:var(--color-primary-darker)}.rp-unsaved-changes-btn-save:active{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.rp-unsaved-changes-btn-discard{height:34px;padding:0 16px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid var(--color-border-primary);background-color:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.rp-unsaved-changes-btn-discard:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-secondary);color:var(--color-text-secondary)}.rp-unsaved-changes-btn-discard:active{background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary);color:var(--color-text-secondary)}@media (max-width: 640px){.rp-unsaved-changes-dialog{max-width:95%}.rp-unsaved-changes-header{padding:24px 24px 12px}.rp-unsaved-changes-body{padding:0 24px 24px}.rp-unsaved-changes-footer{padding:16px 24px;flex-direction:column}.rp-unsaved-changes-btn{width:100%}}@media (prefers-color-scheme: dark){.rp-unsaved-changes-dialog{background-color:var(--color-gray-900)}.rp-unsaved-changes-title{color:var(--color-text-primary)}.rp-unsaved-changes-message{color:var(--color-text-secondary)}.rp-unsaved-changes-footer{background-color:var(--color-gray-800);border-top-color:var(--color-border-primary)}.rp-unsaved-changes-btn-cancel{background-color:var(--color-gray-800);color:var(--color-text-primary);border-color:var(--color-border-primary)}.rp-unsaved-changes-btn-cancel:hover{background-color:var(--color-gray-700);border-color:var(--color-border-secondary)}.rp-unsaved-changes-btn-save{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.rp-unsaved-changes-btn-save:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.rp-unsaved-changes-btn-save:active{background-color:var(--color-primary-darker);border-color:var(--color-primary-darker)}.rp-unsaved-changes-btn-discard{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-color:var(--color-border-primary)}.rp-unsaved-changes-btn-discard:hover{background-color:var(--color-error-hover);border-color:var(--color-error-hover);color:#fff}.rp-unsaved-changes-btn-discard:active{background-color:var(--color-error-text);border-color:var(--color-error-text)}}
