.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{content:"";border:3px solid #ccc;border-width:3px 3px 0 0;width:9px;height:9px;display:block;position:absolute;top:6px}.react-datepicker__sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker-wrapper{border:0;padding:0;display:inline-block}.react-datepicker{color:#000;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:initial;background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-right-radius:.375em;border-bottom-left-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-top:1px solid #aeaeae;border-bottom:none;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{margin:0 15px;display:inline-block}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;background-color:#0000;border:1px solid #aeaeae;border-radius:.3rem;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:1px auto}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:#000;margin-top:0;font-size:.944rem;font-weight:700}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{text-align:center;cursor:pointer;z-index:1;text-indent:-999em;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:2px;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{margin-left:auto;margin-right:auto;display:block;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{width:0;font-size:20px;position:relative;top:-1px}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{text-align:center;margin:.5em}.react-datepicker__year-wrapper{flex-wrap:wrap;max-width:180px;display:flex}.react-datepicker__year .react-datepicker__year-text{width:5em;margin:2px;display:inline-block}.react-datepicker__month{text-align:center;margin:.5em}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{width:5em;margin:2px;display:inline-block}.react-datepicker__input-time-container{clear:both;float:left;text-align:left;width:100%;margin:5px 0 10px 15px}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{margin-left:10px;display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.375em;display:inline;position:absolute;top:0;right:-87px}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.375em;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{text-align:center;border-bottom-right-radius:.375em;width:85px;margin:0 auto;overflow-x:hidden}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;width:100%;height:calc(195px + 1.0625em);margin:0;padding-left:0;padding-right:0;list-style:none;overflow-y:scroll}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{white-space:nowrap;height:30px;padding:5px 10px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{color:#fff;background-color:#216ba5;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:#0000}.react-datepicker__week-number{color:#ccc;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{color:#fff;background-color:#3dcc4a;border-radius:.3rem}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{color:#fff;background-color:#ff6803;border-radius:.3rem;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{color:#000;background-color:#bad9f1;border-radius:.3rem}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{color:#fff;background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){color:#000;background-color:#f0f0f0}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:70%;left:50%;transform:translate(-50%)}.react-datepicker__input-container{width:100%;display:inline-block;position:relative}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.625em;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{top:0;right:-16px;transform:rotate(135deg)}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{z-index:1;text-align:center;background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;width:50%;position:absolute;top:30px;left:25%}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{width:100%;margin-left:auto;margin-right:auto;line-height:20px;display:block}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;user-select:none;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;vertical-align:middle;background-color:#0000;border:0;outline:0;height:100%;padding:0 6px 0 0;display:table-cell;position:absolute;top:0;right:0}.react-datepicker__close-icon:after{cursor:pointer;color:#fff;text-align:center;vertical-align:middle;content:"×";background-color:#216ba5;border-radius:50%;width:16px;height:16px;padding:2px;font-size:12px;line-height:1;display:table-cell}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{cursor:pointer;text-align:center;clear:left;background:#f0f0f0;border-top:1px solid #aeaeae;padding:5px 0;font-weight:700}.react-datepicker__portal{z-index:2147483647;background-color:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.react-datepicker__children-container{width:17.25em;height:auto;margin:.5em;padding-left:.25em;padding-right:.25em}.react-datepicker__aria-live{clip-path:circle(0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker__calendar-icon{vertical-align:-.125em;width:1em;height:1em}.react-datepicker-popper-offset{margin-top:-.7em}.rpt-page{background:#f4f6f9;flex-direction:column;height:100%;display:flex}.rpt-toolbar{background:#fff;border-bottom:1px solid #e0e4ea;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.rpt-toolbar-left{align-items:center;gap:8px;display:flex}.rpt-toolbar-right{align-items:center;gap:6px;display:flex}.rpt-study-tag{color:#1a56db;letter-spacing:.2px;background:#e8f0fe;border-radius:12px;padding:3px 8px;font-size:11px;font-weight:600}.rpt-generated{color:#888;margin-left:8px;font-size:11px}.rpt-tabs{background:#fff;border-bottom:2px solid #e0e4ea;flex-wrap:wrap;gap:2px;padding:0 20px;display:flex}.rpt-tab{color:#666;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:9px 14px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s}.rpt-tab:hover{color:#1a365d}.rpt-tab.active{color:#1a365d;border-bottom-color:#1a365d;font-weight:700}.rpt-body{flex:1;padding:20px;overflow-y:auto}.rpt-report-header{border-bottom:2px solid #1a365d;justify-content:space-between;align-items:flex-end;margin-bottom:20px;padding-bottom:10px;display:flex}.rpt-report-header h3{color:#1a365d;margin:0;font-size:18px;font-weight:700}.rpt-report-meta{color:#888;text-align:right;font-size:11px;line-height:1.6}.rpt-report-meta strong{color:#1a365d}.rpt-kpi-row{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:20px;display:grid}.rpt-kpi{background:#fff;border-left:4px solid #1565c0;border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex;box-shadow:0 1px 4px #00000012}.rpt-kpi-num{color:#1a365d;font-size:28px;font-weight:800;line-height:1}.rpt-kpi-label{color:#777;text-transform:uppercase;letter-spacing:.4px;font-size:10px}.rpt-kpi-sub{color:#aaa;font-size:10px}.rpt-grid-2{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}@media (width<=900px){.rpt-grid-2{grid-template-columns:1fr}}.rpt-card{background:#fff;border:1px solid #e0e4ea;border-radius:8px;margin-bottom:16px;padding:16px;box-shadow:0 1px 3px #0000000d}.rpt-card h4{color:#1a365d;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #f0f0f0;margin:0 0 12px;padding-bottom:8px;font-size:12px;font-weight:700}.rpt-table{border-collapse:collapse;width:100%;font-size:12px}.rpt-table thead th{text-align:left;color:#1a365d;white-space:nowrap;background:#f5f7fb;border-bottom:2px solid #d0d8e8;padding:7px 10px;font-size:11px;font-weight:700}.rpt-table tbody td{vertical-align:middle;border-bottom:1px solid #f2f4f8;padding:6px 10px}.rpt-table tbody tr:last-child td{border-bottom:none}.rpt-table tbody tr:hover td{background:#f8f9fc}.rpt-table .num{text-align:right;font-variant-numeric:tabular-nums}.rpt-table .bold{color:#1a365d;font-weight:700}.rpt-empty{text-align:center;color:#aaa;padding:24px;font-size:12px}.rpt-bar-wrap{align-items:center;gap:6px;display:flex}.rpt-bar-bg{background:#edf0f7;border-radius:4px;flex:1;min-width:60px;height:10px;overflow:hidden}.rpt-bar-fill{border-radius:4px;height:100%;transition:width .4s}.rpt-bar-label{color:#555;text-align:right;flex-shrink:0;width:32px;font-size:10px;font-weight:700}.rpt-funnel{flex-direction:column;gap:6px;display:flex}.rpt-funnel-row{align-items:center;gap:10px;display:flex}.rpt-funnel-label{color:#555;flex-shrink:0;width:130px;font-size:11px}.rpt-funnel-bar-wrap{background:#edf0f7;border-radius:4px;flex:1;height:22px;position:relative;overflow:hidden}.rpt-funnel-bar-fill{border-radius:4px;align-items:center;height:100%;padding-left:8px;transition:width .5s;display:flex}.rpt-funnel-bar-text{color:#fff;font-size:11px;font-weight:700}.rpt-funnel-count{color:#1a365d;text-align:right;flex-shrink:0;width:36px;font-size:12px;font-weight:700}.rpt-funnel-pct{color:#888;text-align:right;flex-shrink:0;width:38px;font-size:10px}.rpt-dist-row{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.rpt-dist-item{align-items:center;gap:6px;font-size:12px;display:flex}.rpt-dist-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.rpt-dist-val{color:#1a365d;font-weight:700}.rpt-dist-name{color:#666}.rpt-dist-pct{color:#aaa;font-size:10px}.rpt-badge{white-space:nowrap;border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.rpt-badge-green{color:#2e7d32;background:#e8f5e9}.rpt-badge-blue{color:#1565c0;background:#e3f2fd}.rpt-badge-orange{color:#e65100;background:#fff3e0}.rpt-badge-red{color:#c62828;background:#ffebee}.rpt-badge-grey{color:#757575;background:#f5f5f5}.rpt-badge-purple{color:#6a1b9a;background:#f3e5f5}.rpt-btn{cursor:pointer;border:1px solid;border-radius:5px;align-items:center;gap:5px;padding:6px 12px;font-size:11px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.rpt-btn-excel{color:#1e6f3f;background:#fff;border-color:#1e6f3f}.rpt-btn-excel:hover{color:#fff;background:#1e6f3f}.rpt-btn-pdf{color:#c62828;background:#fff;border-color:#c62828}.rpt-btn-pdf:hover{color:#fff;background:#c62828}.rpt-btn-refresh{color:#1a365d;background:#fff;border-color:#c0cfe0}.rpt-btn-refresh:hover{background:#f0f4ff}.rpt-timeline{flex-direction:column;gap:4px;display:flex}.rpt-timeline-row{align-items:center;gap:8px;display:flex}.rpt-timeline-month{color:#666;flex-shrink:0;width:56px;font-size:10px}.rpt-timeline-bar-bg{background:#edf0f7;border-radius:3px;flex:1;height:14px;overflow:hidden}.rpt-timeline-bar-fill{background:#1565c0;border-radius:3px;height:100%;transition:width .4s}.rpt-timeline-count{color:#1a365d;text-align:right;flex-shrink:0;width:28px;font-size:11px;font-weight:700}.rpt-loading{color:#888;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px;display:flex}.rpt-spinner{border:3px solid #e0e0e0;border-top-color:#1a365d;border-radius:50%;width:28px;height:28px;animation:.7s linear infinite rpt-spin}@keyframes rpt-spin{to{transform:rotate(360deg)}}.rpt-stacked{background:#e0e0e0;border-radius:4px;height:12px;display:flex;overflow:hidden}@media print{body>:not(.rpt-print-root){display:none!important}.rpt-print-root{display:block!important}.rpt-toolbar,.rpt-tabs,.rpt-btn,button{display:none!important}.rpt-page{background:#fff!important}.rpt-body{padding:0!important;overflow:visible!important}.rpt-card{break-inside:avoid;box-shadow:none!important;border:1px solid #ccc!important}.rpt-kpi-row{grid-template-columns:repeat(5,1fr)!important;display:grid!important}.rpt-grid-2{grid-template-columns:1fr 1fr!important;display:grid!important}.rpt-report-header{border-bottom:2px solid #000!important}.rpt-report-header h3{font-size:16px!important}.rpt-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#e8e8e8!important}.rpt-bar-fill,.rpt-funnel-bar-fill,.rpt-timeline-bar-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{margin:15mm 12mm;size:A4 landscape}}*{box-sizing:border-box;margin:0;padding:0}body{color:#222;background:#f0f2f5;height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:13px;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex}.cd-root{min-width:0;position:relative}.cd-disabled{opacity:.5;pointer-events:none}.cd-trigger{cursor:pointer;color:#333;text-align:left;background:#fff;border:1px solid #d0d5dd;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;width:100%;padding:7px 10px;font-size:13px;transition:all .15s;display:flex}.cd-trigger:hover{background:#fafbfc;border-color:#b0b8c9}.cd-trigger-open{border-color:#1a2e78;box-shadow:0 0 0 3px #1a2e7814}.cd-trigger:focus{outline:none}.cd-trigger-text{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.cd-chevron{color:#999;flex-shrink:0;transition:transform .2s}.cd-chevron-open{transform:rotate(180deg)}.cd-icon{flex-shrink:0;align-items:center;display:flex}.cd-menu{z-index:99999;background:#fff;border:1px solid #e0e4ea;border-radius:8px;width:max-content;max-width:400px;max-height:280px;padding:4px;animation:.15s cd-fade;overflow-y:auto;box-shadow:0 8px 24px #00000026}@keyframes cd-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cd-group-label{color:#888;text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none;padding:6px 10px 3px;font-size:10px;font-weight:700}.cd-item{cursor:pointer;color:#555;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;width:100%;padding:6px 10px;font-size:12px;transition:background .1s;display:flex}.cd-item:hover{color:#1a2e78;background:#f0f4ff}.cd-item-active{color:#1a2e78;background:#e8ecf4;font-weight:600}.cd-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cd-check{color:#1a2e78;flex-shrink:0;margin-left:auto}.topbar{color:#fff;-webkit-user-select:none;user-select:none;background:#1a365d;flex-shrink:0;justify-content:space-between;align-items:center;height:38px;padding:0 12px;display:flex}.topbar .logo{letter-spacing:.5px;color:#fff;align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.topbar .study-name{opacity:.85;font-size:12px}.topbar-left{align-items:center;gap:16px;display:flex}.topbar-right{align-items:center;gap:16px;font-size:12px;display:flex}.topbar-right span,.topbar-right a{cursor:pointer;opacity:.8;color:#fff;align-items:center;gap:4px;text-decoration:none;display:flex}.topbar-right span:hover,.topbar-right a:hover{opacity:1}.topbar-right .user-badge{background:#ffffff26;border-radius:12px;align-items:center;gap:5px;padding:2px 10px;font-size:11px;display:flex}.topbar-toggle{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px 4px;display:none}.topbar-toggle:hover{background:#ffffff26}.menubar{-webkit-user-select:none;user-select:none;background:#2d4a7a;flex-shrink:0;align-items:center;gap:0;height:30px;padding:0 8px;display:flex}.menubar a{color:#fff;cursor:pointer;border-radius:3px;align-items:center;gap:5px;padding:4px 14px;font-size:12px;text-decoration:none;transition:background .15s;display:inline-flex}.menubar a:hover,.menubar a.active{background:#ffffff26}.menubar a svg{width:14px;height:14px}.main-container{flex:1;display:flex;overflow:hidden}.left-panel{background:#fff;border-right:1px solid #d0d5dd;flex-direction:column;flex-shrink:0;width:260px;min-width:200px;display:flex;overflow:hidden}.left-panel .panel-header{color:#1a365d;background:#f5f7fa;border-bottom:1px solid #e0e4ea;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.tree-container{flex:1;padding:4px 0;overflow-y:auto}.tree-node{-webkit-user-select:none;user-select:none}.tree-row{cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:3px 6px;font-size:12px;display:flex}.tree-row:hover{background:#e8f0fe}.tree-row.selected{background:#d2e3fc}.tree-toggle{color:#666;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;display:flex}.tree-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;display:flex}.tree-icon svg{width:14px;height:14px}.tree-label{text-overflow:ellipsis;overflow:hidden}.tree-children{padding-left:16px}.tree-children.collapsed{display:none}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-left:auto}.status-dot.final{background:#2e7d32}.status-dot.incomplete{background:#e65100}.status-dot.pending{background:#9e9e9e}.status-dot.empty{background:0 0;border:1px solid #bbb}.right-content{background:#fff;flex-direction:column;flex:1;display:flex;overflow:hidden}.builder-layout{flex:1;display:flex;overflow:hidden}.field-palette{background:#f8f9fb;border-right:1px solid #e0e4ea;flex-direction:column;width:220px;display:flex;overflow:hidden}.palette-header{color:#1a365d;background:#f0f3f7;border-bottom:1px solid #e0e4ea;padding:8px 12px;font-size:12px;font-weight:600}.palette-section{padding:6px 8px}.palette-section-title{text-transform:uppercase;color:#888;letter-spacing:.5px;margin-bottom:6px;font-size:10px;font-weight:700}.palette-item{cursor:grab;background:#fff;border:1px solid #ddd;border-radius:4px;align-items:center;gap:8px;margin-bottom:4px;padding:7px 10px;font-size:12px;transition:all .15s;display:flex}.palette-item:hover{background:#f0f7ff;border-color:#4a90d9;box-shadow:0 1px 3px #00000014}.palette-item:active{cursor:grabbing}.palette-item .p-icon{text-align:center;color:#4a90d9;justify-content:center;align-items:center;width:20px;font-size:14px;display:flex}.palette-item .p-icon svg{width:16px;height:16px}.builder-canvas-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}.canvas-toolbar{background:#fafbfc;border-bottom:1px solid #e0e4ea;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;display:flex}.canvas-toolbar input{border:1px solid #ccc;border-radius:3px;width:250px;padding:4px 8px;font-size:12px}.canvas-toolbar select{border:1px solid #ccc;border-radius:3px;padding:4px 8px;font-size:12px}.builder-canvas{background:#f5f6f8;flex:1;padding:20px;overflow-y:auto}.form-canvas{background:#fff;border:1px solid #d0d5dd;border-radius:6px;max-width:800px;min-height:500px;margin:0 auto;padding:24px;position:relative}.form-canvas.drag-over{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d940}.form-canvas-empty{color:#aaa;border:2px dashed #ddd;border-radius:8px;justify-content:center;align-items:center;min-height:400px;margin:20px;font-size:14px;display:flex}.canvas-field{cursor:pointer;background:#fff;border:1px solid #e0e4ea;border-radius:4px;margin-bottom:8px;padding:10px 12px;transition:all .15s;position:relative}.canvas-field:hover{border-color:#4a90d9;box-shadow:0 1px 4px #0000000f}.canvas-field.selected{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933}.canvas-field.drag-over-field{border-top:3px solid #4a90d9}.canvas-field .field-label{color:#333;margin-bottom:4px;font-size:12px;font-weight:600}.canvas-field .field-preview{color:#888;font-size:11px}.canvas-field .field-actions{gap:4px;display:none;position:absolute;top:6px;right:8px}.canvas-field:hover .field-actions{display:flex}.field-action-btn{cursor:pointer;color:#666;background:#fff;border:1px solid #ddd;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex}.field-action-btn:hover{color:#333;background:#f0f0f0}.field-action-btn.delete:hover{color:#d32f2f;background:#fee}.properties-panel{background:#fafbfc;border-left:1px solid #e0e4ea;flex-direction:column;width:260px;display:flex;overflow:hidden}.properties-panel .panel-header{color:#1a365d;background:#f0f3f7;border-bottom:1px solid #e0e4ea;padding:8px 12px;font-size:12px;font-weight:600}.prop-group{border-bottom:1px solid #eee;padding:10px 12px}.prop-group label{color:#666;margin-bottom:3px;font-size:11px;font-weight:600;display:block}.prop-group input,.prop-group select,.prop-group textarea{border:1px solid #ccc;border-radius:3px;width:100%;padding:5px 8px;font-family:inherit;font-size:12px}.prop-group textarea{resize:vertical;min-height:50px}.crfb-color-swatches{flex-wrap:wrap;gap:6px;display:flex}.crfb-color-swatch{cursor:pointer;color:#fff;box-sizing:border-box;border:1px solid #ccc;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:12px;line-height:1;display:inline-flex}.crfb-color-swatch.is-default{color:#999;background:#fff;font-size:14px}.crfb-color-swatch.active{outline-offset:1px;outline:2px solid #1a365d}.crfb-format-toggles{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.crfb-format-toggle{cursor:pointer;color:#333;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:14px;line-height:1;display:inline-flex}.crfb-format-toggle:hover{border-color:#1a365d}.crfb-format-toggle.active{color:#fff;background:#1a365d;border-color:#1a365d}.crfb-format-preview{color:#555;text-overflow:ellipsis;white-space:nowrap;max-width:140px;margin-left:4px;font-size:13px;overflow:hidden}.prop-group .checkbox-row{align-items:center;gap:6px;margin-top:4px;display:flex}.prop-group .checkbox-row input{width:auto}.prop-options-list{margin-top:6px}.prop-option-row{align-items:center;gap:4px;margin-bottom:3px;display:flex}.prop-option-row input{flex:1}.prop-option-row button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:3px;width:22px;height:22px;font-size:11px}.add-option-btn{color:#4a90d9;cursor:pointer;background:0 0;border:none;margin-top:2px;padding:2px 0;font-size:11px}.data-entry-layout{flex:1;display:flex;overflow:hidden}.entry-form-area{background:#f5f6f8;flex:1;padding:20px;overflow-y:auto}.entry-form{background:#fff;border:1px solid #d0d5dd;border-radius:6px;max-width:780px;margin:0 auto;padding:0}.entry-form-header{background:#f8f9fb;border-bottom:1px solid #e0e4ea;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.entry-form-header h3{color:#1a365d;font-size:14px}.entry-form-meta{color:#888;font-size:11px}.entry-form-body{padding:20px}.form-field-group{margin-bottom:16px}.form-field-group.field-missing{background:#fff8f8;border-left:3px solid #d32f2f;border-radius:2px;padding-left:8px}.form-field-group.field-missing label{color:#d32f2f}.form-field-group.field-is-missing{opacity:.85;background:#f9f9f9;border-left:3px solid #bdbdbd;border-radius:2px;padding-left:8px}.form-field-group.field-is-missing>label{color:#888}.form-field-group label{color:#333;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:5px;font-size:12px;font-weight:600;display:flex}.missing-mark-wrap{align-items:center;margin-left:auto;display:inline-flex;position:relative}.missing-mark-btn{cursor:pointer;color:#bbb;background:0 0;border:none;border-radius:3px;align-items:center;padding:2px 3px;line-height:1;display:flex}.missing-mark-btn:hover{color:#d32f2f;background:#fdecea}.missing-unmark-btn{color:#e65100;cursor:pointer;background:#fff3e0;border:1px solid #ffb74d;border-radius:3px;align-items:center;gap:2px;padding:1px 6px;font-family:inherit;font-size:10px;display:flex}.missing-unmark-btn:hover{color:#fff;background:#e65100;border-color:#e65100}.missing-menu{z-index:300;background:#fff;border:1px solid #ddd;border-radius:5px;min-width:150px;position:absolute;top:calc(100% + 3px);right:0;overflow:hidden;box-shadow:0 4px 12px #00000024}.missing-menu-item{text-align:left;cursor:pointer;color:#333;background:0 0;border:none;width:100%;padding:7px 12px;font-family:inherit;font-size:12px;display:block}.missing-menu-item:hover{color:#e65100;background:#fff3e0}.missing-value-display{padding:5px 0}.missing-reason-badge{color:#e65100;background:#fff3e0;border:1px solid #ffcc80;border-radius:3px;padding:3px 9px;font-size:11px;font-style:italic;font-weight:600;display:inline-block}.form-field-group label .required{color:#d32f2f;margin-left:2px}.form-field-group input[type=text],.form-field-group input[type=number],.form-field-group input[type=date],.form-field-group input[type=time],.form-field-group select,.form-field-group textarea{border:1px solid #ccc;border-radius:3px;width:100%;max-width:400px;padding:6px 10px;font-family:inherit;font-size:12px}.form-field-group textarea{resize:vertical;max-width:100%;min-height:60px}.radio-group,.checkbox-group{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.radio-group label,.checkbox-group label{cursor:pointer;align-items:center;gap:4px;font-weight:400;display:flex}.field-hint{color:#888;margin-top:3px;font-size:11px}.section-header-field{color:#1a365d;border-bottom:2px solid #e0e4ea;margin-top:8px;margin-bottom:12px;padding:10px 0 6px;font-size:15px;font-weight:700}.entry-form-footer{border-top:1px solid #e0e4ea;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.form-tabs{background:#fff;border-bottom:2px solid #e0e4ea;border-radius:6px 6px 0 0;gap:0;max-width:780px;margin-bottom:16px;margin-left:auto;margin-right:auto;display:flex}.form-tab{cursor:pointer;color:#666;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:4px;margin-bottom:-2px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.form-tab:hover{color:#1a365d;background:#f8f9fb}.form-tab.active{color:#1a365d;background:#fff;border-bottom-color:#1a365d}.entry-sidebar{background:#fafbfc;border-left:1px solid #e0e4ea;flex-direction:column;width:240px;display:flex;overflow:hidden}.entry-sidebar .panel-header{color:#1a365d;background:#f0f3f7;border-bottom:1px solid #e0e4ea;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.query-list{flex:1;padding:6px;overflow-y:auto}.query-item{cursor:pointer;background:#fff;border:1px solid #e0e4ea;border-radius:4px;margin-bottom:4px;padding:8px;font-size:11px}.query-item:hover{background:#f8f9fb}.query-item .q-field{color:#333;font-weight:600}.query-item .q-status{border-radius:8px;margin-top:3px;padding:1px 6px;font-size:10px;display:inline-block}.query-item .q-status.open{color:#e65100;background:#fff3e0}.query-item .q-status.answered{color:#1565c0;background:#e3f2fd}.query-item .q-status.closed{color:#2e7d32;background:#e8f5e9}.query-item .q-text{color:#666;margin-top:3px;font-size:10px}.query-item.selected{background:#f0f7ff;border-color:#4a90d9}.query-detail{border-top:1px solid #e0e4ea;margin-top:8px;padding-top:8px;font-size:11px}.query-detail-row{margin-bottom:4px}.query-detail-text{color:#444;white-space:pre-wrap}.query-responses{margin-top:6px}.query-response-item{background:#f5f7fa;border-radius:3px;margin-top:4px;padding:6px}.query-response-meta{color:#1a365d;font-size:10px;font-weight:600}.query-response-text{margin-top:2px}.query-respond-box{background:#f8fafc;border:1px solid #e0e4ea;border-radius:4px;margin-top:10px;padding:8px}.query-respond-label{color:#555;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.query-respond-textarea{resize:vertical;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:4px;width:100%;padding:8px 10px;font-family:inherit;font-size:12px;line-height:1.4}.query-respond-actions{justify-content:flex-end;margin-top:6px;display:flex}.query-respond-actions .btn{padding:4px 12px;font-size:11px}.query-empty{text-align:center;color:#888;padding:16px;font-size:11px}.field-query-badge{color:#e65100;cursor:default;background:#fff3e0;border:1px solid #ffb74d;border-radius:10px;align-items:center;gap:2px;margin-left:4px;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.4;display:inline-flex}.field-query-badge.field-query-badge-answered{color:#1565c0;background:#e3f2fd;border-color:#90caf9}.sdv-badge{align-items:center;gap:2px;margin-left:6px;font-size:11px;font-weight:500;display:inline-flex}.sdv-badge.verified{color:#2e7d32;cursor:default}.sdv-badge.unverified{color:#ed6c02;cursor:pointer;border:1px solid #ed6c02;border-radius:3px;padding:1px 4px}.sdv-badge.unverified.no-data{cursor:default;border:none}.sdv-badge.pending-save{color:#856404;cursor:pointer;background:#fff8e1;border:1px dashed #856404;border-radius:3px;padding:1px 4px}.sdv-note{border-radius:4px;margin:0 0 8px;padding:8px 12px;font-size:12px;font-weight:500}.sdv-note-info{color:#1565c0;background:#e3f2fd;border-left:3px solid #1565c0}.sdv-note-error{color:#c62828;background:#fdecea;border-left:3px solid #c62828}.entry-form-meta span+span{margin-left:12px}.specify-block{margin-top:6px;margin-bottom:8px;margin-left:24px}.specify-label{color:#555;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.specify-textarea{resize:vertical;border:1px solid #ccc;border-radius:4px;width:100%;max-width:400px;padding:6px 10px;font-size:13px}.field-label-text{color:#555;font-size:12px}.validation-error{color:#d32f2f;margin-top:3px;font-size:11px}.form-instructions{color:#666;margin-bottom:16px;font-size:12px;font-style:italic}.section-description{color:#888;margin-bottom:10px;font-size:11px}.no-forms-hint{margin-top:8px;font-size:12px}.debug-log{color:#d4d4d4;white-space:pre-wrap;background:#1e1e1e;border-radius:6px;max-width:700px;margin:20px auto;padding:16px;font-family:Consolas,monospace;font-size:11px;line-height:1.6}.debug-log-title{color:#569cd6;margin-bottom:8px;font-weight:700}.debug-log-line{color:#d4d4d4}.debug-log-line.error{color:#f44747}.debug-log-line.success{color:#6a9955}.field-unit{color:#888;margin-left:4px;font-weight:400}.query-error{color:#c62828;background:#ffebee;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:13px}.statusbar{color:#666;background:#f5f7fa;border-top:1px solid #d0d5dd;flex-shrink:0;justify-content:space-between;align-items:center;height:28px;padding:0 12px;font-size:11px;display:flex}.status-btns{gap:0;display:flex}.status-btn{cursor:pointer;color:#555;background:#fff;border:1px solid #ccc;padding:3px 16px;font-size:11px}.status-btn:first-child{border-radius:3px 0 0 3px}.status-btn:last-child{border-radius:0 3px 3px 0}.status-btn:not(:first-child){border-left:none}.status-btn:hover{background:#f0f0f0}.status-btn.active-final{color:#fff;background:#2e7d32;border-color:#2e7d32}.status-btn.active-incomplete{color:#fff;background:#e65100;border-color:#e65100}.status-btn.active-pending{color:#fff;background:#9e9e9e;border-color:#9e9e9e}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.show{display:flex}.modal{background:#fff;border-radius:8px;flex-direction:column;width:480px;max-width:95vw;max-height:80vh;display:flex;box-shadow:0 8px 32px #0003}.modal-header{border-bottom:1px solid #e0e4ea;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-header h3{color:#1a365d;font-size:14px}.modal-close{cursor:pointer;color:#888;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;display:flex}.modal-close:hover{color:#333;background:#f0f0f0}.modal-body{flex:1;padding:16px;overflow-y:auto}.modal-footer{border-top:1px solid #e0e4ea;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;align-items:center;gap:5px;padding:6px 16px;font-family:inherit;font-size:12px;transition:all .15s;display:inline-flex}.btn:hover{background:#f5f5f5}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#fff;background:#1a365d;border-color:#1a365d}.btn-primary:hover{background:#2d4a7a}.btn-danger{color:#d32f2f;border-color:#d32f2f}.btn-danger:hover{background:#fee}.btn-sm{padding:3px 10px;font-size:11px}.btn-success{color:#fff;background:#2e7d32;border-color:#2e7d32}.btn-success:hover{background:#1b5e20}.btn-warning{color:#fff;background:#e65100;border-color:#e65100}.btn-warning:hover{background:#bf360c}.btn-icon{cursor:pointer;color:#666;background:0 0;border:none;border-radius:3px;align-items:center;padding:4px;display:flex}.btn-icon:hover{color:#333;background:#f0f0f0}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{text-align:left;color:#1a365d;z-index:1;background:#f0f3f7;border-bottom:2px solid #d0d5dd;padding:8px 12px;font-weight:600;position:sticky;top:0}.data-table td{border-bottom:1px solid #eee;padding:7px 12px}.data-table tr:hover td{background:#f8f9fb}.data-table .actions{white-space:nowrap}.visit-matrix{flex:1;padding:16px;overflow:auto}.matrix-table{border-collapse:collapse;width:100%;font-size:11px;overflow:visible}.matrix-table th,.matrix-table td{text-align:center;white-space:nowrap;border:1px solid #ddd;padding:5px 8px}.matrix-table th{color:#1a365d;z-index:1;background:#f0f3f7;font-weight:600;position:sticky;top:0}.matrix-table td.cell-final{cursor:pointer;background:#e8f5e9}.matrix-table td.cell-incomplete{cursor:pointer;background:#fff3e0}.matrix-table td.cell-pending{cursor:pointer;background:#f5f5f5}.matrix-table td.cell-empty{background:#fff}.matrix-table td.subject-id{text-align:left;z-index:1;background:#fafbfc;font-weight:600;position:sticky;left:0}.audit-list{padding:12px}.audit-entry{background:#f8f9fb;border-left:3px solid #4a90d9;border-radius:0 4px 4px 0;margin-bottom:8px;padding:8px 10px;font-size:11px}.audit-entry .audit-time{color:#888;font-size:10px}.audit-entry .audit-user{color:#1a365d;font-weight:600}.audit-entry .audit-action{color:#333;margin-top:2px}.dashboard{background:#f5f6f8;flex:1;padding:24px;overflow-y:auto}.dash-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.dash-card{text-align:center;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:20px;transition:all .15s}.dash-card:hover{border-color:#4a90d9;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.dash-card .card-icon{color:#4a90d9;justify-content:center;margin-bottom:8px;font-size:28px;display:flex}.dash-card .card-icon svg{width:32px;height:32px}.dash-card .card-title{color:#1a365d;margin-bottom:4px;font-size:14px;font-weight:600}.dash-card .card-desc{color:#888;font-size:11px}.dash-stats{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:24px;display:grid}.stat-box{text-align:center;background:#fff;border:1px solid #d0d5dd;border-radius:6px;padding:14px;transition:all .15s}.stat-box:hover{box-shadow:0 2px 6px #0000000f}.stat-box .stat-num{color:#1a365d;font-size:28px;font-weight:700}.stat-box .stat-label{color:#888;margin-top:2px;font-size:11px}.stat-box .stat-icon{color:#4a90d9;margin-bottom:4px}.stat-box .stat-icon svg{width:20px;height:20px}.dash-section-title{color:#1a365d;border-bottom:2px solid #e0e4ea;margin-bottom:12px;padding-bottom:6px;font-size:14px;font-weight:600}.sdv-toolbar{background:#fafbfc;border-bottom:1px solid #e0e4ea;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.sdv-toolbar select,.sdv-toolbar input{border:1px solid #ccc;border-radius:3px;padding:4px 8px;font-size:12px}.sdv-toolbar label{color:#1a365d;font-size:12px;font-weight:600}.sdv-content{flex:1;padding:16px;overflow:auto}.sdv-form-card{background:#fff;border:1px solid #d0d5dd;border-radius:6px;max-width:900px;margin-bottom:16px}.sdv-form-header{background:#f0f3f7;border-bottom:1px solid #e0e4ea;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.sdv-form-header h4{color:#1a365d;font-size:13px}.sdv-field-row{border-bottom:1px solid #f0f0f0;align-items:center;gap:12px;padding:8px 16px;font-size:12px;display:flex}.sdv-field-row:last-child{border-bottom:none}.sdv-field-row:hover{background:#f8f9fb}.sdv-field-label{color:#333;flex-shrink:0;width:200px;font-weight:600}.sdv-field-value{color:#555;flex:1}.sdv-check{cursor:pointer;background:#fff;border:2px solid #ccc;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:all .15s;display:flex}.sdv-check.verified{color:#fff;background:#2e7d32;border-color:#2e7d32}.sdv-check:hover{border-color:#4a90d9}.sdv-meta{color:#888;text-align:right;flex-shrink:0;width:160px;font-size:10px}.sdv-status-verified{color:#2e7d32;font-size:11px;font-weight:600}.sdv-status-pending{color:#e65100;font-size:11px;font-weight:600}.sdv-meta-date{color:#999;margin-top:1px;font-size:10px}.sdv-meta-user{color:#888;font-size:10px}.sdv-progress{align-items:center;gap:8px;font-size:12px;display:flex}.sdv-progress-bar{background:#e0e4ea;border-radius:4px;width:120px;height:8px;overflow:hidden}.sdv-progress-fill{background:#2e7d32;border-radius:4px;height:100%;transition:width .3s}.sdv-note-btn{color:#4a90d9;cursor:pointer;background:0 0;border:none;font-size:10px;text-decoration:underline}.sdv-summary-row{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.sdv-summary-box{text-align:center;background:#fff;border:1px solid #d0d5dd;border-radius:6px;min-width:120px;padding:12px 18px}.sdv-summary-box .sdv-s-num{color:#1a365d;font-size:22px;font-weight:700}.sdv-summary-box .sdv-s-label{color:#888;margin-top:2px;font-size:10px}.sdv-summary-box.verified-box{border-color:#2e7d32}.sdv-summary-box.verified-box .sdv-s-num{color:#2e7d32}.sdv-summary-box.pending-box{border-color:#e65100}.sdv-summary-box.pending-box .sdv-s-num{color:#e65100}.setup-content{background:#f5f6f8;flex:1;padding:20px;overflow-y:auto}.setup-section{background:#fff;border:1px solid #d0d5dd;border-radius:6px;max-width:900px;margin-bottom:16px}.setup-section-header{background:#f0f3f7;border-bottom:1px solid #e0e4ea;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.setup-section-header h4{color:#1a365d;font-size:13px}.setup-section-body{padding:16px}.setup-table{border-collapse:collapse;width:100%;font-size:12px}.setup-table th{text-align:left;color:#1a365d;background:#f8f9fb;border-bottom:1px solid #e0e4ea;padding:6px 10px;font-weight:600}.setup-table td{border-bottom:1px solid #f0f0f0;padding:6px 10px}.setup-table tr:hover td{background:#f8f9fb}.setup-table input,.setup-table select{color:#333;background:#fff;border:1px solid #d0d5dd;border-radius:6px;outline:none;padding:7px 10px;font-size:13px;transition:border-color .2s,box-shadow .2s}.setup-table input:focus,.setup-table select:focus{border-color:#1a2e78;box-shadow:0 0 0 2px #1a2e781a}.setup-table input::placeholder{color:#9ca3b0}.setup-inline-form{border-top:1px solid #e0e4ea;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:10px 0;display:flex}.setup-inline-form input,.setup-inline-form select{color:#333;background:#fff;border:1px solid #d0d5dd;border-radius:6px;outline:none;padding:7px 10px;font-size:13px;transition:border-color .2s,box-shadow .2s}.setup-inline-form input:focus,.setup-inline-form select:focus{border-color:#1a2e78;box-shadow:0 0 0 2px #1a2e781a}.setup-inline-form input::placeholder{color:#9ca3b0}.setup-form-row input,.setup-form-row select{color:#333;background:#fff;border:1px solid #d0d5dd;border-radius:6px;outline:none;padding:7px 10px;font-size:13px;transition:border-color .2s,box-shadow .2s}.setup-form-row input:focus,.setup-form-row select:focus{border-color:#1a2e78;box-shadow:0 0 0 2px #1a2e781a}.setup-form-row input::placeholder{color:#9ca3b0}.badge{border-radius:8px;padding:1px 8px;font-size:10px;font-weight:600;display:inline-block}.badge-common{color:#1565c0;background:#e3f2fd}.badge-event{color:#c62828;background:#fce4ec}.badge-log{color:#e65100;background:#fff3e0}.badge-success{color:#2e7d32;background:#e8f5e9}.badge-warning{color:#e65100;background:#fff3e0}.badge-danger{color:#c62828;background:#fce4ec}.badge-info{color:#1565c0;background:#e3f2fd}.badge-neutral{color:#666;background:#f5f5f5}.badge-primary{color:#fff;background:#1a365d}.cdisc-tabs{background:#fafbfc;border-bottom:2px solid #e0e4ea;padding:0 16px;display:flex}.cdisc-tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 18px;font-size:12px;font-weight:600}.cdisc-tab:hover{color:#1a365d}.cdisc-tab.active{color:#1a365d;border-bottom-color:#1a365d}.cdisc-content{flex:1;padding:16px;overflow:auto}.mapping-card{background:#fff;border:1px solid #d0d5dd;border-radius:6px;margin-bottom:12px}.mapping-card-header{cursor:pointer;background:#f0f3f7;border-bottom:1px solid #e0e4ea;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.mapping-card-header h4{color:#1a365d;font-size:12px}.mapping-card-body{padding:0}.mapping-row{border-bottom:1px solid #f0f0f0;align-items:center;gap:8px;padding:6px 14px;font-size:11px;display:flex}.mapping-row:last-child{border-bottom:none}.mapping-row:hover{background:#f8f9fb}.mapping-row .m-field{color:#333;flex-shrink:0;width:180px;font-weight:600}.mapping-row .m-arrow{color:#aaa;flex-shrink:0}.mapping-row .m-domain{text-align:center;flex-shrink:0;width:60px}.mapping-row .m-variable{flex-shrink:0;width:120px}.mapping-row .m-label{color:#666;flex:1;font-size:10px}.mapping-row .m-status{text-align:center;flex-shrink:0;width:70px}.sdtm-badge{letter-spacing:.3px;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.sdtm-badge.mapped{color:#2e7d32;background:#e8f5e9}.sdtm-badge.unmapped{color:#e65100;background:#fff3e0}.sdtm-badge.auto{color:#1565c0;background:#e3f2fd}.domain-badge{color:#fff;letter-spacing:.5px;background:#1a365d;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.domain-badge.findings{background:#1565c0}.domain-badge.events{background:#c62828}.domain-badge.interventions{background:#2e7d32}.domain-badge.special{background:#6a1b9a}.export-preview{color:#d4d4d4;white-space:pre;background:#1e1e1e;border-radius:6px;max-height:400px;padding:16px;font-family:Consolas,Courier New,monospace;font-size:11px;line-height:1.5;overflow:auto}.domain-ref-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.domain-ref-card{cursor:pointer;border:1px solid #d0d5dd;border-radius:6px;padding:10px;transition:all .15s}.domain-ref-card:hover{border-color:#4a90d9;box-shadow:0 1px 4px #0000000f}.domain-ref-card.selected{background:#f0f3f7;border-color:#1a365d}.domain-ref-card .drc-code{color:#1a365d;font-size:16px;font-weight:700}.domain-ref-card .drc-name{color:#555;font-size:11px}.domain-ref-card .drc-class{color:#888;text-transform:uppercase;letter-spacing:.5px;font-size:9px}.var-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:11px}.var-table th{text-align:left;color:#1a365d;background:#f0f3f7;border-bottom:1px solid #d0d5dd;padding:5px 8px;font-weight:600}.var-table td{border-bottom:1px solid #f0f0f0;padding:4px 8px}.var-table tr:hover td{background:#f8f9fb}.var-table .core-req{color:#d32f2f;font-weight:700}.var-table .core-exp{color:#e65100;font-weight:600}.var-table .core-perm{color:#888}.validate-item{border-radius:4px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 12px;font-size:12px;display:flex}.validate-item.pass{color:#2e7d32;background:#e8f5e9;border:1px solid #c8e6c9}.validate-item.warn{color:#e65100;background:#fff3e0;border:1px solid #ffe0b2}.validate-item.fail{color:#c62828;background:#fce4ec;border:1px solid #f8bbd0}.validate-icon{flex-shrink:0;font-size:14px}.report-content{background:#f5f6f8;flex:1;padding:20px;overflow-y:auto}.report-header{border-bottom:2px solid #1a365d;justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-bottom:8px;display:flex}.report-header h3{color:#1a365d;font-size:16px}.report-date{color:#888;font-size:11px}.report-stats-row{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.report-stat-box{background:#fff;border:1px solid #e0e0e0;border-left:3px solid #1565c0;border-radius:4px;min-width:110px;padding:12px 16px;box-shadow:0 1px 3px #0000000a}.report-stat-num{color:#1a365d;font-size:24px;font-weight:700}.report-stat-label{color:#888;text-transform:uppercase;letter-spacing:.3px;margin-top:2px;font-size:10px}.report-section{background:#fff;border:1px solid #e0e4ea;border-radius:6px;margin-bottom:14px;padding:14px 16px}.report-section h4{color:#1a365d;border-bottom:1px solid #eee;margin-bottom:10px;padding-bottom:4px;font-size:13px}.report-table{border-collapse:collapse;width:100%;font-size:12px}.report-table th{text-align:left;color:#1a365d;background:#f5f7fa;border-bottom:2px solid #d0d5dd;padding:6px 10px;font-size:11px;font-weight:600}.report-table td{border-bottom:1px solid #f0f0f0;padding:5px 10px}.report-table tr:hover td{background:#f8f9fb}.report-bar-bg{background:#e0e0e0;border-radius:3px;height:16px;position:relative;overflow:hidden}.report-bar-fill{background:#1565c0;border-radius:3px;height:100%;transition:width .3s}.report-bar-text{color:#fff;font-size:9px;font-weight:600;line-height:16px;position:absolute;top:0;right:4px}.report-stacked-bar{background:#e0e0e0;border-radius:3px;height:14px;display:flex;overflow:hidden}.rbar-final{background:#2e7d32;height:100%}.rbar-incomplete{background:#d32f2f;height:100%}.rbar-pending{background:#f9a825;height:100%}.report-status-badge{border-radius:3px;padding:2px 8px;font-size:10px;font-weight:600}.report-status-badge.active,.report-status-badge.final{color:#2e7d32;background:#e8f5e9}.report-status-badge.incomplete{color:#d32f2f;background:#ffebee}.report-status-badge.pending{color:#f9a825;background:#fff8e1}.report-status-badge.empty{color:#999;background:#f5f5f5}.form-group{margin-bottom:12px}.form-group label{color:#333;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid #ccc;border-radius:3px;width:100%;padding:6px 10px;font-family:inherit;font-size:12px}.form-group textarea{resize:vertical;min-height:60px}.form-row{gap:12px;display:flex}.form-row .form-group{flex:1}.login-page{background:linear-gradient(135deg,#1a365d 0%,#2d4a7a 50%,#4a6fa5 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:12px;width:420px;max-width:95vw;padding:40px;box-shadow:0 16px 48px #0003}.login-logo{text-align:center;margin-bottom:24px}.login-logo h1{color:#1a365d;letter-spacing:.5px;font-size:24px;font-weight:700}.login-logo p{color:#888;margin-top:4px;font-size:12px}.login-form .form-group{margin-bottom:16px}.login-form .form-group label{margin-bottom:6px;font-size:13px}.login-form .form-group input{border-radius:6px;padding:10px 12px;font-size:13px}.login-form .btn-primary{border-radius:6px;width:100%;padding:10px;font-size:14px}.login-error{color:#c62828;background:#fce4ec;border:1px solid #f8bbd0;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:12px}.toolbar{background:#fafbfc;border-bottom:1px solid #e0e4ea;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.toolbar input,.toolbar select{border:1px solid #ccc;border-radius:3px;padding:4px 8px;font-size:12px}.toolbar .search-input{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") 8px no-repeat;width:250px;padding-left:28px}.page-header{background:#fff;border-bottom:1px solid #e0e4ea;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.page-header h2{color:#1a365d;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.page-header h2 svg{width:20px;height:20px}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#f0f0f0}::-webkit-scrollbar-thumb{background:silver;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}.tabs{background:#fafbfc;border-bottom:2px solid #e0e4ea;padding:0 16px;display:flex}.tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 18px;font-size:12px;font-weight:600;transition:all .15s}.tab:hover{color:#1a365d}.tab.active{color:#1a365d;border-bottom-color:#1a365d}.tab-content{flex:1;padding:16px;overflow:auto}.empty-state{color:#888;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state svg{opacity:.4;width:48px;height:48px;margin-bottom:12px}.empty-state h3{color:#666;margin-bottom:4px;font-size:16px}.empty-state p{font-size:12px}.pagination{border-top:1px solid #e0e4ea;justify-content:center;align-items:center;gap:8px;padding:8px 16px;display:flex}.pagination button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:3px;padding:4px 10px;font-size:11px}.pagination button:hover{background:#f0f0f0}.pagination button.active{color:#fff;background:#1a365d;border-color:#1a365d}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{color:#888;font-size:11px}.loading-spinner{color:#888;justify-content:center;align-items:center;gap:8px;padding:40px;font-size:13px;display:flex}.spinner{border:2px solid #e0e4ea;border-top-color:#1a365d;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.crfb-palette-loading{flex:1;justify-content:center;align-items:center;display:flex}.crfb-palette-list{flex:1;padding:4px 0;overflow-y:auto}.crfb-toolbar-divider{background:#d0d5dd;width:1px;height:20px;margin:0 4px}.crfb-toolbar-spacer{flex:1}.crfb-save-msg{color:#2e7d32;font-size:11px}.crfb-save-msg.error{color:#d32f2f}.crfb-preview-btn-active{background:#e3f2fd;border-color:#1976d2}.crfb-empty-state{text-align:center}.crfb-empty-icon{opacity:.3;margin-bottom:8px}.crfb-empty-hint{color:#bbb;margin-top:4px;font-size:11px}.crfb-preview-form{padding:8px 0}.crfb-preview-title{color:#1a2e78;border-bottom:2px solid #1a2e78;margin-bottom:16px;padding-bottom:8px;font-size:16px;font-weight:700}.crfb-preview-section{color:#333;border-bottom:1px solid #e0e4ea;margin-top:20px;margin-bottom:8px;padding-bottom:6px;font-size:14px;font-weight:700}.crfb-preview-field{align-items:flex-start;gap:8px;margin-bottom:14px;display:flex}.crfb-preview-label{flex-shrink:0;align-items:flex-start;gap:4px;width:200px;padding-top:6px;font-size:13px;font-weight:500;display:flex}.crfb-preview-required{color:#d32f2f}.crfb-preview-input{background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:6px 10px;font-size:13px}textarea.crfb-preview-input{resize:none}.crfb-preview-hint{color:#888;margin-top:2px;font-size:11px}.crfb-preview-sdv{color:#7b1fa2;flex-shrink:0;margin-top:1px}.crfb-preview-calc{color:#666;background:#f5f5f5;border:1px dashed #bbb;border-radius:4px;flex:1;padding:6px 10px;font-family:monospace;font-size:12px}.crfb-preview-radio-group{flex-direction:column;gap:6px;display:flex}.crfb-preview-radio-label{font-size:13px}.crfb-preview-checkbox-group{flex-direction:column;gap:6px;display:flex}.crfb-preview-specify{margin-top:8px;margin-bottom:4px;margin-left:22px}.crfb-preview-specify-label{color:#555;margin-bottom:3px;font-size:12px;font-weight:500;display:block}.crfb-preview-specify-textarea{resize:vertical;background:#fff;border:1px solid #ccc;border-radius:4px;width:280px;padding:6px 10px;font-size:12px}.crfb-preview-boolean-group{gap:16px;display:flex}.crfb-flex1{flex:1}.crfb-section-bar{background:#e8eaf6;border:1px solid #c5cae9;border-radius:4px;align-items:center;gap:6px;margin-bottom:6px;padding:6px 10px;display:flex}.crfb-section-icon{color:#3949ab;flex-shrink:0}.crfb-section-name{color:#1a237e;flex:1;font-size:12px;font-weight:600}.crfb-section-rename-input{border:1px solid #7986cb;border-radius:3px;flex:1;padding:2px 6px;font-size:12px;font-weight:600}.crfb-section-count{color:#7986cb;margin-left:6px;font-size:10px;font-weight:400}.crfb-section-btn{cursor:pointer;color:#5c6bc0;background:0 0;border:none;padding:2px}.crfb-section-btn.delete{color:#c62828}.crfb-section-empty{text-align:center;color:#aaa;border:1px dashed #ddd;border-radius:4px;margin-bottom:4px;padding:16px 0;font-size:12px}.crfb-section-wrapper{margin-bottom:12px}.crfb-field-card{align-items:flex-start;gap:8px;display:flex}.crfb-field-grip{color:#bbb;cursor:grab;flex-shrink:0;margin-top:1px}.crfb-field-content{flex:1;min-width:0}.crfb-field-required{color:#d32f2f;margin-left:3px}.crfb-field-critical{color:#e65100;margin-left:4px;font-size:10px;font-weight:400}.crfb-field-sdv-icon{color:#7b1fa2;vertical-align:middle;margin-left:4px;display:inline-flex}.crfb-field-conditional{color:#1565c0;margin-left:6px;font-size:10px}.crfb-field-type-badge{flex-shrink:0;font-size:9px}.crfb-add-section-btn{cursor:pointer;color:#3949ab;background:#e8eaf6;border:1px dashed #7986cb;border-radius:4px;align-items:center;gap:6px;margin:8px auto;padding:6px 14px;font-size:12px;font-weight:500;display:flex}.crfb-props-empty{text-align:center;color:#aaa;padding:20px;font-size:12px}.crfb-props-scroll{flex:1;overflow-y:auto}.crfb-prop-checkbox-label{margin:0;font-weight:400}.crfb-prop-formula-input{font-family:monospace;font-size:12px}.crfb-prop-formula-hint{color:#888;margin-top:3px;font-size:10px}.crfb-option-row{margin-bottom:6px}.crfb-option-order{flex:none;width:70px}.crfb-option-specify-label{color:#666;cursor:pointer;align-items:center;gap:4px;margin-top:2px;margin-left:2px;font-size:11px;display:flex}.crfb-condition-section{border-bottom:none}.crfb-condition-label{text-transform:uppercase;color:#888;letter-spacing:.5px;font-size:10px}.crfb-condition-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.crfb-operator-toggle{background:#f0f0f0;border-radius:3px;font-size:10px;display:flex;overflow:hidden}.crfb-operator-btn{cursor:pointer;color:#555;background:0 0;border:none;padding:2px 8px;font-weight:600}.crfb-operator-btn.active{color:#fff;background:#1976d2}.crfb-condition-values{flex-wrap:wrap;gap:4px;display:flex}.crfb-condition-chip{color:#555;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:400}.crfb-condition-chip.active{color:#1565c0;background:#e3f2fd;border-color:#1976d2;font-weight:600}.crfb-cdisc-section{border-bottom:none}.crfb-cdisc-label{text-transform:uppercase;color:#888;letter-spacing:.5px;font-size:10px}.nci-picker{position:relative}.nci-picker-selected{background:#f8f9ff;border:1px solid #c8d0d8;border-radius:4px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.nci-code-badge{color:#fff;white-space:nowrap;background:#1a365d;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.nci-name{text-overflow:ellipsis;white-space:nowrap;color:#333;flex:1;overflow:hidden}.nci-clear{cursor:pointer;color:#999;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0 2px;font-size:16px;line-height:1}.nci-clear:hover{color:#c62828}.nci-search-input{box-sizing:border-box;border:1px solid #c8d0d8;border-radius:4px;outline:none;width:100%;padding:5px 8px;font-size:12px}.nci-search-input:focus{border-color:#1a365d}.nci-dropdown{z-index:200;background:#fff;border:1px solid #c8d0d8;border-radius:4px;max-height:220px;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001f}.nci-dropdown-msg{color:#888;text-align:center;padding:10px 12px;font-size:12px}.nci-dropdown-item{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.nci-dropdown-item:last-child{border-bottom:none}.nci-dropdown-item:hover{background:#f0f4ff}.crfb-status-modal{max-width:420px}.crfb-status-desc{color:#555;margin-bottom:12px;font-size:13px}.crfb-status-error{color:#c62828;background:#ffebee;border-radius:4px;margin-bottom:10px;padding:6px 10px;font-size:12px}.crfb-status-field{margin-bottom:10px}.crfb-status-field label{margin-bottom:4px;font-size:12px;font-weight:600;display:block}.crfb-status-field input{border:1px solid #ccc;border-radius:4px;width:100%;padding:6px 10px}.crfb-status-field input[type=radio],.crfb-status-field input[type=checkbox]{border:0;border-radius:0;width:auto;margin:0;padding:0}.crfb-toolbar-select{width:200px}.crfb-condition-equals-label{margin:0}.ec-content-gap{gap:12px}.ec-stats-grid{flex-wrap:wrap;gap:8px;display:flex}.ec-stat-card{text-align:center;background:#fff;border:1px solid #e0e4ea;border-radius:6px;min-width:100px;padding:10px 16px}.ec-stat-card-error{text-align:center;background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;min-width:100px;padding:10px 16px}.ec-stat-card-warning{text-align:center;background:#fff3e0;border:1px solid #ffe0b2;border-radius:6px;min-width:100px;padding:10px 16px}.ec-stat-card-info{text-align:center;background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;min-width:100px;padding:10px 16px}.ec-stat-card-default{text-align:center;background:#f5f5f5;border:1px solid #e0e4ea;border-radius:6px;min-width:100px;padding:10px 16px}.ec-stat-label{color:#888;text-transform:uppercase;letter-spacing:.3px;margin-top:2px;font-size:10px}.ec-stat-value{color:#1a2e78;font-size:22px;font-weight:700}.ec-stat-value-active{color:#2e7d32;font-size:22px;font-weight:700}.ec-stat-value-error{color:#c62828;font-size:22px;font-weight:700}.ec-stat-value-warning{color:#e65100;font-size:22px;font-weight:700}.ec-stat-value-info{color:#1565c0;font-size:22px;font-weight:700}.ec-stat-value-default{color:#333;font-size:22px;font-weight:700}.ec-filters{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.ec-search-wrapper{width:250px;position:relative}.ec-search-icon{color:#aaa;pointer-events:none;position:absolute;top:9px;left:10px}.ec-search-input{background:#fff;border:1px solid #d0d5dd;border-radius:8px;width:100%;padding:7px 10px 7px 30px;font-size:12px;transition:border-color .15s}.ec-search-input:focus{border-color:#1a2e78;outline:none;box-shadow:0 0 0 3px #1a2e7814}.ec-dropdown{min-width:130px;position:relative}.ec-dropdown-trigger{cursor:pointer;color:#555;background:#fff;border:1px solid #d0d5dd;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;width:100%;padding:7px 10px;font-size:12px;transition:all .15s;display:flex}.ec-dropdown-trigger:hover{background:#fafbfc;border-color:#b0b8c9}.ec-dropdown-trigger:focus{border-color:#1a2e78;outline:none;box-shadow:0 0 0 3px #1a2e7814}.ec-dropdown-trigger-text{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.ec-dropdown-chevron{color:#999;flex-shrink:0;transition:transform .2s}.ec-dropdown-chevron-open{transform:rotate(180deg)}.ec-dropdown-icon{flex-shrink:0;align-items:center;display:flex}.ec-dropdown-menu{z-index:100;background:#fff;border:1px solid #e0e4ea;border-radius:8px;max-height:250px;padding:4px;animation:.15s ec-dropdown-fade;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001a}@keyframes ec-dropdown-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ec-dropdown-item{cursor:pointer;color:#555;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:12px;transition:background .1s;display:flex}.ec-dropdown-item:hover{color:#1a2e78;background:#f0f4ff}.ec-dropdown-item-active{color:#1a2e78;background:#e8ecf4;font-weight:600}.ec-dropdown-check{color:#1a2e78;flex-shrink:0;margin-left:auto}.ec-field-form-badge{color:#1a2e78;white-space:nowrap;background:#e8ecf4;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px}.cdp-root,.cdp-root .react-datepicker-wrapper{display:inline-block}.cdp-trigger{color:#333;cursor:pointer;text-align:left;background:#fff;border:1px solid #d0d5dd;border-radius:8px;align-items:center;gap:8px;min-width:130px;padding:7px 12px;font-size:12px;transition:all .15s;display:flex}.cdp-trigger:hover{background:#fafbfc;border-color:#b0b8c9}.cdp-trigger:focus{border-color:#1a2e78;outline:none;box-shadow:0 0 0 3px #1a2e7814}.cdp-icon{color:#888;flex-shrink:0}.cdp-text{white-space:nowrap}.cdp-placeholder{color:#aaa}.cdp-root .react-datepicker-popper,#datepicker-portal .react-datepicker-popper{z-index:99999!important}#datepicker-portal{z-index:99999;position:relative}.cdp-root .react-datepicker,#datepicker-portal .react-datepicker{background:#fff;border:1px solid #e0e4ea;border-radius:12px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:13px;overflow:hidden;box-shadow:0 12px 32px #00000024}.cdp-root .react-datepicker__header,#datepicker-portal .react-datepicker__header{background:linear-gradient(135deg,#1a2e78 0%,#2a4494 100%);border-bottom:none;border-radius:0;padding:14px 16px 10px}.cdp-root .react-datepicker__current-month,#datepicker-portal .react-datepicker__current-month{color:#fff;margin-bottom:8px;font-size:15px;font-weight:600}.cdp-root .react-datepicker__day-names,#datepicker-portal .react-datepicker__day-names{justify-content:space-around;display:flex}.cdp-root .react-datepicker__day-name,#datepicker-portal .react-datepicker__day-name{color:#ffffffb3;text-transform:uppercase;text-align:center;width:36px;font-size:11px;font-weight:600}.cdp-root .react-datepicker__month,#datepicker-portal .react-datepicker__month{padding:8px}.cdp-root .react-datepicker__week,#datepicker-portal .react-datepicker__week{justify-content:space-around;display:flex}.cdp-root .react-datepicker__day,#datepicker-portal .react-datepicker__day{text-align:center;cursor:pointer;color:#333;border-radius:50%;width:36px;height:36px;margin:1px 0;font-size:13px;line-height:36px;transition:all .15s}.cdp-root .react-datepicker__day:hover,#datepicker-portal .react-datepicker__day:hover{color:#1a2e78;background:#e8ecf4}.cdp-root .react-datepicker__day--selected,#datepicker-portal .react-datepicker__day--selected{font-weight:600;color:#fff!important;background:#1a2e78!important}.cdp-root .react-datepicker__day--keyboard-selected,#datepicker-portal .react-datepicker__day--keyboard-selected{color:#1a2e78;background:#d0d8f0}.cdp-root .react-datepicker__day--today,#datepicker-portal .react-datepicker__day--today{color:#1a2e78;background:#eef1f8;font-weight:700}.cdp-root .react-datepicker__day--outside-month,#datepicker-portal .react-datepicker__day--outside-month{color:#ccc}.cdp-root .react-datepicker__day--disabled,#datepicker-portal .react-datepicker__day--disabled{color:#ddd;cursor:not-allowed}.cdp-root .react-datepicker__navigation,#datepicker-portal .react-datepicker__navigation{cursor:pointer;background:0 0;border:none;top:14px}.cdp-root .react-datepicker__navigation-icon:before,#datepicker-portal .react-datepicker__navigation-icon:before{border-width:2px 2px 0 0;border-color:#ffffffb3;width:8px;height:8px}.cdp-root .react-datepicker__navigation:hover .react-datepicker__navigation-icon:before,#datepicker-portal .react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:#fff}.cdp-root .react-datepicker__today-button,#datepicker-portal .react-datepicker__today-button{text-align:center;cursor:pointer;color:#1a2e78;background:#f8f9fb;border-top:1px solid #e0e4ea;padding:8px;font-size:13px;font-weight:600}.cdp-root .react-datepicker__today-button:hover,#datepicker-portal .react-datepicker__today-button:hover{background:#e8ecf4}.cdp-root .react-datepicker__month-dropdown-container,.cdp-root .react-datepicker__year-dropdown-container,#datepicker-portal .react-datepicker__month-dropdown-container,#datepicker-portal .react-datepicker__year-dropdown-container{margin:0 4px}.cdp-root .react-datepicker__month-select,.cdp-root .react-datepicker__year-select,#datepicker-portal .react-datepicker__month-select,#datepicker-portal .react-datepicker__year-select{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;padding:3px 6px;font-size:12px}.cdp-root .react-datepicker__month-select option,.cdp-root .react-datepicker__year-select option,#datepicker-portal .react-datepicker__month-select option,#datepicker-portal .react-datepicker__year-select option{color:#333;background:#fff}.cdp-root .react-datepicker__close-icon,#datepicker-portal .react-datepicker__close-icon{padding:0 6px 0 0}.cdp-root .react-datepicker__close-icon:after,#datepicker-portal .react-datepicker__close-icon:after{background:#ccc;border-radius:50%;width:16px;height:16px;font-size:11px;line-height:14px}.cdp-root .react-datepicker__close-icon:hover:after,#datepicker-portal .react-datepicker__close-icon:hover:after{background:#999}.cdp-root .react-datepicker__triangle,#datepicker-portal .react-datepicker__triangle{display:none}.ec-table-scroll{overflow-x:auto}.ec-table{width:100%}.ec-table th{text-transform:uppercase;letter-spacing:.3px;color:#888;border-bottom:2px solid #e0e4ea;font-size:11px;font-weight:600}.ec-table td{vertical-align:top}.ec-table tbody tr:hover{background:#f8fafc}.ec-td-empty{text-align:center;color:#999;padding:40px;font-size:13px}.ec-row-inactive{opacity:.45}.ec-toggle-active{color:#2e7d32}.ec-toggle-inactive{color:#ccc}.ec-check-name{color:#1a2e78;font-size:13px;font-weight:600}.ec-check-name-clickable:hover .ec-check-name{text-decoration:underline}.ec-check-oid{color:#aaa;margin-top:1px;font-family:Consolas,Monaco,monospace;font-size:10px}.ec-badge-sm{padding:2px 8px;font-size:10px}.ec-severity-badge{align-items:center;gap:3px;padding:2px 8px;font-size:10px;display:inline-flex}.ec-autoq-center{text-align:center}.ec-actions-row{gap:2px;display:flex}.ec-field-cell{color:#555;font-size:12px}.ec-modal-create{max-width:700px;max-height:90vh;overflow:auto}.ec-modal-test{max-width:450px}.ec-modal-delete{max-width:400px}.ec-modal-body-flex{flex-direction:column;gap:12px;display:flex}.ec-modal-body-flex-sm{flex-direction:column;gap:10px;display:flex}.ec-form-error{color:#c62828;background:#ffebee;border-radius:4px;padding:8px 12px;font-size:12px}.ec-form-label{margin-bottom:3px;font-size:12px;font-weight:600;display:block}.ec-form-label-hint{color:#888;font-weight:400}.ec-form-input-full{width:100%}.ec-form-delete-text{font-size:13px}.ec-form-delete-reason{margin-top:8px}.ec-templates-label{text-transform:uppercase;color:#888;letter-spacing:.5px;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.ec-templates-wrap{flex-wrap:wrap;gap:4px;display:flex}.ec-template-btn{cursor:pointer;color:#555;background:#f8f9fb;border:1px solid #ddd;border-radius:12px;padding:3px 10px;font-size:11px}.ec-rule-textarea{color:#d4d4d4;resize:vertical;background:#1e1e1e;border:1px solid #333;border-radius:6px;width:100%;padding:10px 12px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.5}.ec-rule-help{color:#888;gap:12px;margin-top:4px;font-size:10px;display:flex}.ec-options-row{align-items:center;gap:16px;display:flex}.ec-checkbox-label{cursor:pointer;align-items:center;gap:5px;font-size:12px;display:flex}.ec-test-result{border-radius:6px;align-items:center;gap:8px;padding:10px 14px;display:flex}.ec-test-msg-error{color:#c62828;font-size:13px}.ec-test-msg-pass{color:#2e7d32;font-size:13px;font-weight:600}.ec-test-msg-fail{color:#e65100;font-size:13px;font-weight:600}.ec-stat-value-inactive{color:#999;font-size:22px;font-weight:700}.ec-stat-value-autoq{color:#e65100;font-size:22px;font-weight:700}.ec-filter-select{border:1px solid #ddd;border-radius:4px;width:130px;padding:5px 8px;font-size:12px}.ec-th-w40{width:40px}.ec-th-w50{width:50px}.ec-th-w80{width:80px}.ec-th-w100{width:100px}.ec-th-w120{width:120px}.ec-row-expanded{background:#f8fafc}.ec-check-name-clickable{cursor:pointer;align-items:center;gap:4px;display:flex}.ec-check-name-clickable:hover .ec-check-name{color:#1a2e78;text-decoration:underline}.ec-check-expanded{background:#f5f7fa;border:1px solid #e0e4ea;border-radius:8px;margin-top:8px;padding:12px 14px}.ec-expanded-desc{color:#555;margin-bottom:10px;font-size:12px;line-height:1.5}.ec-expanded-rule-label{color:#1a2e78;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:10px;font-weight:700}.ec-expanded-rule-box{background:#282c34;border:1px solid #3e4451;border-radius:8px;padding:14px 16px;position:relative;overflow-x:auto}.ec-expanded-rule-code{white-space:pre-wrap;color:#abb2bf;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.7}.ec-copy-btn{color:#666;background:#ffffff14;border-radius:4px;padding:3px;transition:all .15s;position:absolute;top:8px;right:8px}.ec-copy-btn:hover{color:#fff;background:#ffffff26}.ec-expanded-error{color:#d32f2f;background:#fce4ec;border-left:3px solid #d32f2f;border-radius:6px;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 14px;font-size:12px;display:flex}.ec-expanded-meta{color:#999;margin-top:8px;font-size:10px}.ec-field-cell{font-size:12px}.ec-field-form{color:#999;font-size:10px;font-style:italic;display:block}.ec-input-muted{color:#aaa;background:#f8f9fb}.ec-modal-create{width:90vw;max-width:750px}.ec-modal-test{width:90vw;max-width:500px}.ec-modal-delete{width:90vw;max-width:420px}.ec-modal-body-scroll{flex-direction:column;gap:14px;max-height:70vh;padding:16px 20px;display:flex;overflow-y:auto}.ec-form-error{color:#c62828;background:#ffebee;border-left:3px solid #c62828;border-radius:6px;padding:10px 14px;font-size:12px}.ec-form-row-2col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ec-form-label{color:#444;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.ec-form-label-hint{color:#999;font-size:11px;font-weight:400}.ec-form-input-full{color:#333;background:#fff;border:1px solid #d0d5dd;border-radius:6px;width:100%;padding:7px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.ec-form-input-full:focus{border-color:#1a2e78;outline:none;box-shadow:0 0 0 3px #1a2e7814}select.ec-form-input-full{appearance:none;cursor:pointer;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='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.ec-rule-textarea{color:#cdd6f4;resize:vertical;tab-size:4;background:#1e1e2e;border:1px solid #45475a;border-radius:6px;width:100%;min-height:120px;padding:12px 14px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6}.ec-rule-textarea:focus{border-color:#89b4fa;outline:none;box-shadow:0 0 0 2px #89b4fa33}.ec-rule-textarea::placeholder{color:#6c7086}.ec-rule-help{color:#888;background:#f8f9fb;border:1px solid #eee;border-radius:4px;grid-template-columns:1fr 1fr;gap:4px 16px;margin-top:8px;padding:8px 12px;font-size:11px;display:grid}.ec-rule-help-item{gap:4px;display:flex}.ec-templates-section{border:1px solid #e0e4ea;border-radius:6px;overflow:hidden}.ec-templates-toggle{cursor:pointer;color:#555;background:#f8f9fb;border:none;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.ec-templates-toggle:hover{background:#eef0f4}.ec-templates-panel{background:#fff;border-top:1px solid #e0e4ea;max-height:280px;padding:12px;overflow-y:auto}.ec-templates-search{border:1px solid #ddd;border-radius:4px;width:100%;margin-bottom:10px;padding:6px 10px;font-size:12px}.ec-template-category{margin-bottom:12px}.ec-template-category-label{color:#1a2e78;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8ecf4;margin-bottom:6px;padding-bottom:4px;padding-left:2px;font-size:10px;font-weight:700}.ec-template-btn{text-align:left;cursor:pointer;background:#fff;border:1px solid #eee;border-radius:6px;width:100%;margin-bottom:4px;padding:8px 12px;transition:all .15s;display:block}.ec-template-btn:hover{background:#f0f4ff;border-color:#b3c8ff;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.ec-template-btn-name{color:#333;font-size:12px;font-weight:600}.ec-template-btn-desc{color:#888;margin-top:2px;font-size:11px}.ec-template-btn-expr{color:#1a2e78;background:#e8ecf4;border-radius:3px;margin-top:4px;padding:2px 6px;font-family:Consolas,Monaco,monospace;font-size:11px;display:inline-block}.ec-options-row{border-top:1px solid #eee;align-items:center;gap:20px;padding:8px 0;display:flex}.ec-checkbox-label{cursor:pointer;color:#555;align-items:center;gap:6px;font-size:12px;display:flex}.ec-test-rule-display{background:#f5f7fa;border:1px solid #e0e4ea;border-radius:6px;margin-bottom:10px;padding:12px}.ec-test-rule-label{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:10px;font-weight:700}.ec-test-rule-code{white-space:pre-wrap;color:#cdd6f4;background:#1e1e2e;border-radius:4px;padding:10px 12px;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.6;display:block}.ec-test-result{border-radius:6px;align-items:flex-start;gap:10px;margin-top:8px;padding:12px 16px;display:flex}.ec-test-result-error{background:#ffebee;border:1px solid #ef9a9a}.ec-test-result-pass{background:#e8f5e9;border:1px solid #a5d6a7}.ec-test-result-fail{background:#fff3e0;border:1px solid #ffe0b2}.ec-test-result-title{font-size:13px;font-weight:700}.ec-test-result-msg{color:#555;margin-top:2px;font-size:12px}.ec-delete-textarea{resize:vertical;border:1px solid #ddd;border-radius:4px;width:100%;min-height:60px;padding:6px 10px;font-size:13px}.queries-page{flex-direction:column;flex:1;display:flex;overflow:hidden}.queries-search-wrapper{position:relative}.queries-search-icon{color:#999;position:absolute;top:7px;left:8px}.queries-date-input{width:130px}.queries-count-label{color:#888;margin-left:auto;font-size:11px}.queries-table-area{flex:1;overflow:auto}.queries-row-clickable{cursor:pointer}.queries-cell-query-number{font-weight:600}.queries-cell-query-text{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.queries-badge-capitalize{text-transform:capitalize}.queries-age-days{color:#333;font-weight:600}.queries-age-days-warn{color:#e65100;font-weight:600}.queries-age-days-danger{color:#d32f2f;font-weight:600}.queries-expanded-cell{padding:0}.queries-expanded-header{color:#1a365d;background:#f0f3f7;border-bottom:1px solid #e0e4ea;align-items:center;gap:12px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.queries-flex-spacer{flex:1}.queries-expanded-meta{color:#888;font-size:11px;font-weight:400}.queries-query-text-section{background:#fffbe6;border-bottom:1px solid khaki;padding:12px 16px}.queries-query-text-header{align-items:center;gap:6px;margin-bottom:4px;display:flex}.queries-alert-icon{color:#e65100}.queries-query-label{color:#e65100;font-size:11px}.queries-opened-info{color:#888;margin-left:auto;font-size:10px}.queries-query-text-body{color:#333;font-size:12px}.queries-responses{max-height:300px;padding:8px 16px;overflow-y:auto}.queries-loading-padded{padding:16px}.queries-no-responses{color:#888;padding:12px 0;font-size:11px}.queries-response-card{background:#f8f9fb;border-left:3px solid #4a90d9;border-radius:0 4px 4px 0;margin-bottom:6px;padding:8px 10px;font-size:12px}.queries-response-header{justify-content:space-between;margin-bottom:2px;display:flex}.queries-response-author{color:#1a365d;font-size:11px;font-weight:600}.queries-response-time{color:#888;font-size:10px}.queries-response-text{color:#333}.queries-add-response{border-top:1px solid #e0e4ea;gap:8px;padding:8px 16px 12px;display:flex}.queries-response-input{border:1px solid #ccc;border-radius:3px;flex:1;padding:6px 10px;font-size:12px}.queries-detail-actions{border-top:1px solid #eee;gap:6px;padding:8px 16px 12px;display:flex}.queries-action-error{color:#c62828;background:#ffebee;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:13px}.queries-action-textarea{width:100%}.queries-validation-error{color:#c62828}.setup-icon-inline{vertical-align:middle;margin-right:6px}.setup-btn-group{gap:6px;display:flex}.setup-label-cell,.setup-label-cell-wide{width:180px;font-weight:600}.setup-study-field{width:280px;max-width:280px}.setup-input-full{width:100%}.setup-section-body-scroll{padding:16px;overflow-x:auto}.setup-table-w500{border-collapse:collapse;width:100%;min-width:500px;font-size:12px}.setup-table-w600{border-collapse:collapse;width:100%;min-width:600px;font-size:12px}.setup-table-w650{border-collapse:collapse;width:100%;min-width:650px;font-size:12px}.setup-table-w700{border-collapse:collapse;width:100%;min-width:700px;font-size:12px}.setup-col-w50{width:50px}.setup-col-w55{width:55px}.setup-col-w60{width:60px}.setup-col-w70{width:70px}.setup-col-w80{width:80px}.setup-col-w90{width:90px}.setup-col-w200{width:200px}.setup-edit-row-cell{background:#f8fafc;padding:10px 12px}.setup-inline-error{color:#c62828;background:#ffebee;border-radius:4px;margin-bottom:8px;padding:4px 8px;font-size:12px}.setup-inline-error-full{color:#c62828;background:#ffebee;border-radius:4px;width:100%;margin-bottom:6px;padding:4px 8px;font-size:12px}.setup-form-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.setup-input-w60{width:60px}.setup-input-w80{width:80px}.setup-input-w90{width:90px}.setup-input-w100{width:100px}.setup-input-flex{flex:1;min-width:100px}.setup-input-flex-lg{flex:1;min-width:120px}.setup-status-select{color:#1a2e78;appearance:none;cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%231a2e78' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:10px 7px;border:1px solid #d0d5dd;border-radius:6px;outline:none;width:160px;padding:7px 28px 7px 10px;font-size:13px;font-weight:500;transition:border-color .15s,box-shadow .15s,background-color .15s}.setup-status-select:hover{background-color:#f5f7fc;border-color:#1a2e78}.setup-status-select:focus{background-color:#fff;border-color:#1a2e78;box-shadow:0 0 0 3px #1a2e7826}.setup-status-select:disabled{color:#9ca3b0;cursor:not-allowed;background-color:#f3f4f6}.setup-checkbox-label{align-items:center;gap:4px;font-size:12px;display:flex}.setup-empty-row{text-align:center;color:#888;padding:20px}.setup-cell-bold{font-weight:600}.setup-add-form-separator{border-top:1px solid #e0e4ea;margin-top:8px;padding-top:8px}.setup-site-input{color:#333;background:#fff;border:1px solid #d0d5dd;border-radius:6px;outline:none;padding:7px 10px;font-size:13px;transition:border-color .2s,box-shadow .2s}.setup-site-input:focus{border-color:#1a2e78;box-shadow:0 0 0 2px #1a2e781a}.setup-site-input::placeholder{color:#9ca3b0}.setup-site-input-w60{width:60px}.setup-site-input-w80{width:80px}.setup-site-input-w90{width:90px}.setup-site-input-flex{flex:1;min-width:100px}.setup-site-input-flex-lg{flex:1;min-width:120px}.setup-warning-banner{color:#e65100;background:#fff3e0;border-radius:4px;margin-bottom:8px;padding:8px 12px;font-size:12px}.setup-matrix-visit-header{z-index:1;background:#f8f9fb;width:200px;position:sticky;left:0}.setup-matrix-form-header{text-align:center;white-space:nowrap;min-width:90px;font-size:11px}.setup-matrix-visit-cell{z-index:1;background:#fff;font-size:12px;font-weight:600;position:sticky;left:0}.setup-matrix-checkbox-cell{text-align:center;padding:6px}.setup-matrix-checkbox{cursor:pointer;accent-color:#2e7d32;width:16px;height:16px}.setup-matrix-empty{text-align:center;color:#888;padding:20px;font-size:13px}.setup-delete-modal{max-width:440px}.setup-delete-body{padding:20px 24px}.setup-delete-warning{color:#888;margin-bottom:12px;font-size:13px}.setup-delete-label{margin-bottom:4px;font-size:13px;font-weight:600;display:block}.setup-delete-required{color:#c62828}.setup-delete-textarea{resize:vertical;border:1px solid #ccc;border-radius:4px;width:100%;padding:8px 10px;font-size:13px}.setup-delete-error{color:#c62828;margin-top:6px;font-size:12px}.setup-delete-footer{justify-content:flex-end;gap:8px;padding:12px 24px;display:flex}.setup-delete-btn{color:#fff;background:#c62828;border-color:#c62828}.setup-delete-btn:hover{color:#fff;background:#b71c1c;border-color:#b71c1c}.crfb-assigned-badge{color:#1565c0;white-space:nowrap;cursor:help;background:#e8f0fe;border:1px solid #c5cae9;border-radius:12px;align-items:center;padding:2px 10px;font-size:11px;font-weight:500;display:inline-flex}.crfb-log-toggle{color:#444;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fafafa;border:1px solid #ddd;border-radius:10px;flex:none;align-items:center;gap:3px;padding:1px 6px;font-size:11px;display:inline-flex}.crfb-log-toggle:hover{background:#f0f0f0}.crfb-log-toggle input{cursor:pointer;width:12px;height:12px;margin:0}.edit-check-msg{border-radius:4px;align-items:center;gap:6px;margin-top:6px;padding:4px 10px;font-size:11px;line-height:1.4;display:inline-flex}.edit-check-msg svg{flex:none}.edit-check-error{color:#c62828;background:#ffebee;border:1px solid #ef9a9a}.edit-check-warning{color:#8b6f00;background:#fff8e1;border:1px solid #ffe082}.edit-check-info{color:#1565c0;background:#e3f2fd;border:1px solid #90caf9}.edit-check-misconfigured{color:#bf360c;background:#fbe9e7;border:1px dashed #d84315;font-style:italic}.radio-undo-btn{color:#555;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:12px;align-items:center;gap:4px;margin-top:4px;padding:2px 10px;font-family:inherit;font-size:11px;transition:background .15s,border-color .15s;display:inline-flex}.radio-undo-btn:hover:not(:disabled){background:#f5f5f5;border-color:#999}.radio-undo-btn:disabled{opacity:.4;cursor:not-allowed}.queries-export-menu{z-index:100;background:#fff;border:1px solid #e0e0e0;border-radius:6px;flex-direction:column;gap:2px;min-width:240px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 14px #0000001f}.queries-export-menu button{cursor:pointer;text-align:left;color:#333;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-family:inherit;font-size:12px;display:flex}.queries-export-menu button:hover{background:#f5f5f5}.queries-export-menu button>svg{color:#1565c0;flex:none}@media print{body.queries-print-mode{margin:0;padding:0;background:#fff!important}body.queries-print-mode .topbar,body.queries-print-mode .menubar,body.queries-print-mode .left-panel,body.queries-print-mode .statusbar,body.queries-print-mode .modal-overlay{display:none!important}body.queries-print-mode .main-container{height:auto!important;display:block!important;overflow:visible!important}body.queries-print-mode .right-content{width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}body.queries-print-mode .queries-page .page-header>div,body.queries-print-mode .queries-page .toolbar,body.queries-print-mode .queries-page .queries-export-menu,body.queries-print-mode .queries-page .actions,body.queries-print-mode .queries-page .pagination{display:none!important}body.queries-print-mode .queries-page{height:auto!important;padding:0 8px!important;overflow:visible!important}body.queries-print-mode .queries-page>div{height:auto!important;overflow:visible!important}body.queries-print-mode table{border-collapse:collapse;page-break-inside:auto;width:100%;font-size:8pt}body.queries-print-mode tr{page-break-inside:avoid;page-break-after:auto}body.queries-print-mode th,body.queries-print-mode td{text-align:left;vertical-align:top;border:1px solid #ccc;padding:4px 6px}body.queries-print-mode th{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-weight:600;background:#f0f0f0!important}body.queries-print-mode .badge{border-radius:3px;padding:1px 6px;font-weight:500;color:#000!important;background:0 0!important;border:1px solid #888!important}@page{size:A4 landscape;margin:10mm}}.crfb-section-table-toggle{color:#555;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #ddd;border-radius:10px;align-items:center;gap:4px;padding:1px 7px;font-size:11px;display:inline-flex}.crfb-section-table-toggle:hover{background:#f5f5f5}.crfb-section-table-toggle.on{color:#1565c0;background:#e8f0fe;border-color:#90caf9;font-weight:500}.crfb-section-table-toggle input{cursor:pointer;margin:0}.rs-table-section{background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin:14px 0;overflow:hidden}.rs-table-header-bar{background:#fafbff;border-bottom:1px solid #e0e0e0;align-items:center;gap:10px;padding:8px 12px;display:flex}.rs-table-description{color:#888;font-size:11px;font-style:italic}.rs-table-empty{text-align:center;color:#888;padding:18px;font-size:12px;font-style:italic}.rs-table-scroll{overflow-x:auto}.rs-table{border-collapse:collapse;width:100%;font-size:12px}.rs-table th{text-align:left;color:#444;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;background:#fafafa;border-bottom:1px solid #e0e0e0;padding:8px 10px;font-size:11px;font-weight:600}.rs-table td{vertical-align:top;border-bottom:1px solid #f0f0f0;padding:6px 8px}.rs-table tr:last-child td{border-bottom:none}.rs-table tr:hover{background:#f9fbff}.rs-table-rownum{color:#666;text-align:center;font-weight:600}.rs-table-cell input[type=text],.rs-table-cell input[type=number],.rs-table-cell input[type=time],.rs-table-cell select,.rs-table-cell textarea{box-sizing:border-box;width:100%;padding:4px 6px;font-size:12px}.rs-table-cell .react-datepicker-wrapper{width:100%}.rs-table-unit{color:#888;text-transform:none;letter-spacing:0;font-weight:400}.rs-table-checkbox-group{flex-wrap:wrap;gap:4px 12px;padding:2px 0;display:flex}.rs-table-checkbox-label{color:#333;cursor:pointer;white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.rs-table-checkbox-label input[type=checkbox]{cursor:pointer;margin:0}.rs-table-checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.log-form-body{padding:0 24px 24px}.log-form-table{border-collapse:collapse;background:#fff;border:1px solid #e0e0e0;border-radius:6px;width:100%;overflow:hidden}.log-form-table th,.log-form-table td{text-align:left;border-bottom:1px solid #f0f0f0;padding:10px 14px;font-size:12px}.log-form-table th{color:#444;text-transform:uppercase;letter-spacing:.5px;background:#fafafa;font-size:11px;font-weight:600}.log-form-table tbody tr{transition:background .15s}.log-form-table tbody tr:hover{background:#f5f9ff}.log-form-table tbody tr:last-child td{border-bottom:none}.log-form-back{color:#444;background:#f5f5f5;border:1px solid #ddd;align-self:flex-start;margin:8px 24px 0;font-size:11px}.log-form-back:hover{background:#eee}.log-form-entry-num{color:#1565c0;font-size:13px;font-weight:500}.crfb-preview-partial-date{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.crfb-pd-yy{width:64px}.crfb-pd-mm,.crfb-pd-dd{width:46px}.crfb-preview-hint{color:#888;margin-left:6px;font-size:10px}.crfb-preview-file{color:#666;background:#fafbff;border:1px dashed #c5cae9;border-radius:4px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.de-partial-date{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.de-partial-date input{text-align:center;padding:4px 6px}.de-file-field{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.de-file-empty{color:#888;font-size:12px;font-style:italic}.de-file-link{color:#1565c0;font-size:12px;text-decoration:none}.de-file-link:hover{text-decoration:underline}.de-file-image-preview{border:1px solid #e0e0e0;border-radius:4px;max-width:160px;max-height:120px;display:block}.de-file-upload-btn{color:#1565c0;cursor:pointer;background:#fff;border:1px solid #c5cae9;border-radius:4px;align-items:center;gap:4px;padding:4px 12px;font-size:11px;transition:background .15s;display:inline-flex}.de-file-upload-btn:hover{background:#e8f0fe}.de-file-hint{color:#888;font-size:10px;font-style:italic}.vfa-customize-modal{flex-direction:column;width:720px;max-width:92vw;max-height:88vh;display:flex}.vfa-customize-body{flex:1;padding:14px 20px;overflow-y:auto}.vfa-customize-help{color:#555;background:#f0f4ff;border:1px solid #c5cae9;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:12px;line-height:1.5}.vfa-customize-section{border:1px solid #e0e0e0;border-radius:6px;margin-bottom:18px;overflow:hidden}.vfa-customize-section-name{color:#222;background:#fafafa;border-bottom:1px solid #e0e0e0;padding:8px 12px;font-size:12px;font-weight:600}.vfa-customize-empty{color:#888;text-align:center;padding:10px 12px;font-size:11px;font-style:italic}.vfa-customize-table{border-collapse:collapse;width:100%}.vfa-customize-table th,.vfa-customize-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:6px 12px;font-size:12px}.vfa-customize-table th{color:#444;text-align:center;background:#f8f8f8;font-weight:600}.vfa-customize-table tr:last-child td{border-bottom:none}.vfa-customize-field-name{color:#222;font-weight:500}.vfa-customize-field-meta{color:#999;margin-top:2px;font-size:10px}.vfa-help{color:#777;margin-left:auto;font-size:11px}.vfa-container{grid-template-columns:280px 1fr;gap:16px;padding:12px;display:grid}.vfa-library{background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;flex-direction:column;min-height:200px;max-height:600px;display:flex}.vfa-library-header{color:#444;background:#f0f0f0;border-bottom:1px solid #e0e0e0;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.vfa-library-count{color:#fff;background:#1565c0;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:500}.vfa-library-list{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.vfa-form-card{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d0d0d0;border-left:3px solid #1565c0;border-radius:4px;padding:8px 10px;transition:box-shadow .15s,transform 50ms,border-color .15s}.vfa-form-card:hover{border-color:#1976d2;box-shadow:0 2px 6px #00000014}.vfa-form-card:active{cursor:grabbing;transform:scale(.99)}.vfa-form-card-disabled{cursor:not-allowed;opacity:.5}.vfa-form-card-row1{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.vfa-form-name{color:#222;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.vfa-form-card-row2{color:#666;justify-content:space-between;font-size:10px;display:flex}.vfa-form-usage{color:#1565c0;font-weight:500}.vfa-visits{flex-direction:column;gap:10px;max-height:600px;padding-right:4px;display:flex;overflow-y:auto}.vfa-visit-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;transition:border-color .15s,background .15s}.vfa-visit-drop-active{background:#e3f2fd;border-color:#1976d2;box-shadow:inset 0 0 0 1px #1976d2}.vfa-visit-header{background:#fafafa;border-bottom:1px solid #eee;border-radius:6px 6px 0 0;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.vfa-visit-name{color:#222;font-weight:600}.vfa-visit-day{color:#666;font-size:11px}.vfa-visit-count{color:#999;margin-left:auto;font-size:11px}.vfa-visit-forms{flex-wrap:wrap;align-items:flex-start;gap:6px;min-height:54px;padding:8px 10px;display:flex}.vfa-visit-empty{color:#999;text-align:center;background:#fafafa;border:1px dashed #ccc;border-radius:4px;width:100%;padding:14px;font-size:11px;font-style:italic}.vfa-visit-drop-active .vfa-visit-empty{color:#1565c0;background:#e3f2fd;border-color:#1976d2}.vfa-assigned{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #c5cae9;border-radius:4px;align-items:center;gap:4px;padding:3px 4px 3px 6px;font-size:11px;transition:box-shadow .15s,border-color .15s;display:inline-flex}.vfa-assigned:hover{border-color:#9fa8da;box-shadow:0 1px 4px #0000001a}.vfa-assigned:active{cursor:grabbing}.vfa-grip{color:#999;letter-spacing:-2px;cursor:grab;font-size:10px}.vfa-assigned-name{color:#222;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-weight:500;overflow:hidden}.vfa-required-toggle{color:#666;cursor:pointer;align-items:center;gap:3px;font-size:10px;display:inline-flex}.vfa-required-toggle input{cursor:pointer;margin:0}.vfa-action{color:#555;padding:1px 4px;font-size:11px;line-height:1}.vfa-action:disabled{opacity:.35;cursor:not-allowed}.vfa-remove{color:#c62828;font-size:14px;font-weight:700}.vfa-remove:hover:not(:disabled){background:#ffebee}.vm-cell-clickable{cursor:pointer;transition:background .15s;position:relative;overflow:visible}.vm-cell-clickable:hover{background:#e8eaf6!important}.cell-empty.vm-cell-clickable:hover{background:#e3f2fd!important}.vm-cell-empty-hint{opacity:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.vm-cell-clickable:hover .vm-cell-empty-hint{opacity:.5}.vm-tooltip{color:#fff;pointer-events:none;opacity:0;z-index:9999;white-space:nowrap;background:#1a2e4a;border-radius:6px;flex-direction:column;gap:3px;min-width:140px;max-width:200px;padding:7px 10px;transition:opacity .15s;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000040}.vm-tooltip:after{content:"";border:5px solid #0000;border-top-color:#1a2e4a;position:absolute;top:100%;left:50%;transform:translate(-50%)}.vm-cell-clickable:hover .vm-tooltip{opacity:1}.vm-tooltip-subject{color:#fff;font-size:11px;font-weight:700}.vm-tooltip-visit{color:#b0bec5;border-bottom:1px solid #ffffff26;margin-bottom:1px;padding-bottom:4px;font-size:10px}.vm-tooltip-status{font-size:10px;font-weight:600}.vm-tooltip-status-final{color:#81c784}.vm-tooltip-status-incomplete{color:#ffb74d}.vm-tooltip-status-pending{color:#90a4ae}.vm-tooltip-status-empty{color:#78909c}.vm-plus-icon{color:#1a2e78}.async-select{width:100%;position:relative}.async-select.async-select-compact{flex:none;width:220px}.async-select-trigger{color:#333;cursor:pointer;text-align:left;background:#fff;border:1px solid #ccc;border-radius:3px;justify-content:space-between;align-items:center;gap:6px;width:100%;padding:6px 10px;font-size:12px;display:flex}.async-select-trigger:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f5}.async-select-placeholder{color:#999}.async-select-icons{color:#888;flex-shrink:0;align-items:center;gap:4px;display:flex}.async-select-clear{cursor:pointer}.async-select-clear:hover{color:#d32f2f}.async-select-menu{z-index:1000;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;position:absolute;top:calc(100% + 2px);left:0;overflow:hidden;box-shadow:0 4px 12px #0000001f}.async-select-search{box-sizing:border-box;border:none;border-bottom:1px solid #eee;outline:none;width:100%;padding:7px 10px;font-size:12px}.async-select-list{max-height:220px;overflow-y:auto}.async-select-empty{color:#999;align-items:center;gap:6px;padding:10px 12px;font-size:12px;display:flex}.async-select-option{color:#333;cursor:pointer;flex-direction:column;gap:1px;padding:7px 12px;font-size:12px;display:flex}.async-select-option:hover{background:#f0f3f7}.async-select-option.selected{background:#e3f2fd;font-weight:600}.async-select-opt-sub{color:#888;font-size:11px}.async-select-spin{animation:.8s linear infinite spin}.hidden{display:none!important}@media (width<=768px){.topbar-toggle{display:inline-flex}.topbar{padding:0 8px}.topbar-left{flex:1;gap:8px;min-width:0}.topbar .logo{flex-shrink:0}.topbar .study-name{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;overflow:hidden}.topbar-right{flex-shrink:0;gap:10px}.topbar-right .user-badge{text-overflow:ellipsis;white-space:nowrap;max-width:36vw;overflow:hidden}.menubar{z-index:1200;flex-direction:column;align-items:stretch;gap:2px;width:230px;height:auto;padding:12px 8px;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:2px 0 14px #00000047}.menubar.menubar-open{transform:none}.menubar a{border-radius:5px;gap:10px;padding:11px 14px;font-size:14px}.menubar a svg{width:16px;height:16px}.left-panel{z-index:1200;width:82vw;min-width:0;max-width:320px;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:2px 0 14px #00000047}.left-panel.left-panel-open{transform:none}.mobile-drawer-backdrop{z-index:1150;background:#0000006b;position:fixed;inset:0}.page-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.page-header h2{font-size:15px}.toolbar{gap:6px;padding:8px 10px}.toolbar .search-input{max-width:100%}.queries-search-wrapper{flex:150px}.queries-search-wrapper .search-input,.async-select.async-select-compact{width:100%}.data-table,.report-table,.setup-table{min-width:640px}.report-content,.setup-content,.dashboard{padding:14px;overflow:auto}.ec-form-row-2col,.vfa-container{grid-template-columns:1fr}.form-row{flex-direction:column;gap:0}}
