@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap";.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}.fish-sprite{pointer-events:none;will-change:transform;transition:opacity .3s;position:fixed;top:0;left:0}.fish-sprite img{width:64px;height:40px;display:block}.fish-behind{z-index:2}.fish-front{z-index:8}.shark-bite{z-index:100;pointer-events:none;animation:.5s ease-out forwards chomp}@keyframes chomp{0%{opacity:.8;transform:scale(.3)}30%{opacity:1;transform:scale(1.3)}60%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1)}}.victory-wrapper{pointer-events:none;z-index:20;position:fixed;inset:0}.victory-text{pointer-events:none;opacity:0;position:fixed}.victory-text img{width:100%;height:auto;display:block}.victory-this{z-index:20;width:25vw;animation:1.5s ease-out .3s forwards slideThisIn;top:10vh;left:5vw}@keyframes slideThisIn{0%{opacity:0;transform:translate(100vw)}20%{opacity:1}to{opacity:1;transform:translate(0)}}.victory-is{z-index:3;width:20vw;animation:1.5s ease-out 1s forwards slideIsIn;top:50%;left:72vw;transform:translateY(-50%)}@keyframes slideIsIn{0%{opacity:0;transform:translate(-100vw)translateY(-50%)}20%{opacity:1}to{opacity:1;transform:translate(0)translateY(-50%)}}.victory-action{z-index:20;width:35vw;animation:1.5s ease-out 1.7s forwards slideActionIn;bottom:10vh;left:0}@keyframes slideActionIn{0%{opacity:0;transform:translate(100vw)}20%{opacity:1}to{opacity:1;transform:translate(0)}}.victory-wrapper.aligning .victory-text,.victory-wrapper.fireworks .victory-text{opacity:1;z-index:20;animation:none;inset:0 auto auto 0}.fireworks-container{pointer-events:none;z-index:30;position:fixed;inset:0}.firework-burst{width:0;height:0;position:absolute}.firework-particle{opacity:0;border-radius:50%;width:8px;height:8px;animation:1s ease-out forwards fireworkExplode;position:absolute;top:-4px;left:-4px}@keyframes fireworkExplode{0%{opacity:1;transform:translate(0)scale(1)}70%{opacity:.8}to{transform:translate(var(--fx-dx), var(--fx-dy)) scale(.2);opacity:0}}.easter-egg-toggle{border:1px solid var(--bg-elevated);cursor:pointer;opacity:.25;width:36px;height:36px;transition:opacity var(--transition-normal), box-shadow var(--transition-normal);z-index:10;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:16px;right:16px}.easter-egg-toggle:hover{opacity:.6}.easter-egg-toggle.active{opacity:1;border-color:var(--action-orange);box-shadow:0 0 12px #f9812a80}.easter-egg-toggle svg{width:20px;height:20px}.login-container{background:var(--bg-dark);min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.login-card{background:var(--bg-paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;padding:var(--spacing-2xl);z-index:5;animation:.4s ease-out slideUp;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h1{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.login-header h1 span{color:var(--action-orange)}.login-header p{color:var(--text-secondary);margin:0;font-size:.875rem}.login-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.login-form .form-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.login-form .form-group label{font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--text-secondary)}.login-form .form-group input{padding:var(--spacing-md);background:var(--bg-elevated);border:2px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast);font-size:1rem}.login-form .form-group input:focus{border-color:var(--action-orange);outline:none}.login-form .form-group input:disabled{opacity:.6;cursor:not-allowed}.login-form .form-group input::placeholder{color:var(--text-muted)}.error-message{padding:var(--spacing-md);color:var(--color-error);border-radius:var(--radius-md);text-align:center;border:1px solid var(--color-error);background-color:#f4433626;font-size:.875rem;animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.google-login-button{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;font-weight:var(--font-weight-medium);color:var(--text-primary);background:var(--bg-elevated);border:2px solid var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);width:100%;display:flex}.google-login-button:hover:not(:disabled){background:var(--bg-paper);border-color:var(--action-orange);transform:translateY(-2px);box-shadow:0 8px 16px #0003}.google-login-button:active:not(:disabled){transform:translateY(0)}.google-login-button:disabled{opacity:.6;cursor:not-allowed}.google-login-button .google-icon{flex-shrink:0}.google-login-button .loading-text{color:var(--text-secondary)}.login-hint{font-style:italic;margin-top:var(--spacing-sm)!important;color:var(--text-muted)!important}.login-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--bg-elevated);text-align:center}.login-footer p{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.5}@media (width<=480px){.login-card{padding:var(--spacing-xl) var(--spacing-lg)}.login-header h1{font-size:1.75rem}}.base-modal-overlay{z-index:1000;padding:var(--spacing-lg);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.base-modal{background:var(--bg-paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-height:90vh;display:flex;overflow:hidden}.base-modal-sm{max-width:400px}.base-modal-md{max-width:560px}.base-modal-lg{max-width:720px}.base-modal-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--bg-elevated);justify-content:space-between;align-items:center;display:flex}.base-modal-title{font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.base-modal-close{color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;font-size:1.5rem;line-height:1}.base-modal-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.base-modal-body{padding:var(--spacing-lg);flex:1;overflow-y:auto}.base-modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--bg-elevated);gap:var(--spacing-sm);justify-content:flex-end;display:flex}.project-selector{margin-left:var(--spacing-lg);position:relative}.project-selector-button{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;min-width:150px;max-width:250px;font-size:.875rem;transition:border-color .2s,background-color .2s;display:flex}.project-selector-button:hover{border-color:var(--action-orange);background:var(--bg-paper)}.project-selector-icon{color:var(--action-orange);align-items:center;display:flex}.project-selector-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.project-selector-arrow{color:var(--text-secondary);align-items:center;transition:transform .2s;display:flex}.project-selector-arrow.open{transform:rotate(180deg)}.project-selector-dropdown{background:var(--bg-paper);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000;max-height:300px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.project-selector-option{width:100%;padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;font-size:.875rem;transition:background-color .2s;display:flex}.project-selector-option:hover{background:var(--bg-elevated)}.project-selector-option.selected{background:var(--bg-elevated);border-left:2px solid var(--action-orange)}.project-option-name{font-weight:var(--font-weight-medium)}.project-option-description{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;font-size:.75rem;overflow:hidden}.project-selector-empty{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);font-size:.8125rem}.project-selector-actions{border-top:1px solid var(--border-color)}.project-selector-action{width:100%;padding:var(--spacing-sm) var(--spacing-md);color:var(--action-green);font-size:.8125rem;font-weight:var(--font-weight-medium);text-align:left;cursor:pointer;background:0 0;border:none;transition:background-color .2s;display:block}.project-selector-action:hover{background:var(--bg-elevated)}.template-form{gap:var(--spacing-md);flex-direction:column;display:flex}.template-form-hint{color:var(--text-secondary);margin:0;font-size:.8125rem}.template-form-error{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--action-red,#dc3545);border-radius:var(--radius-sm);color:var(--action-red,#dc3545);background:#dc35451a;font-size:.8125rem}.template-form-label{gap:var(--spacing-xs);color:var(--text-secondary);flex-direction:column;font-size:.8125rem;display:flex}.template-form-input{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem}.template-form-input:focus{border-color:var(--action-green);outline:none}.template-form-textarea{resize:vertical;min-height:70px;font-family:inherit}.template-form-actions{justify-content:flex-end;gap:var(--spacing-sm);display:flex}.template-form-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--action-green);color:var(--bg-dark);border-radius:var(--radius-md);font-size:.875rem;font-weight:var(--font-weight-medium);cursor:pointer;border:none}.template-form-btn:disabled{opacity:.6;cursor:not-allowed}.template-form-btn-secondary{color:var(--text-secondary);border:1px solid var(--border-color);background:0 0}@media (width<=640px){.project-selector{margin-left:var(--spacing-sm)}.project-selector-button{min-width:120px;max-width:180px}}.header{background-color:var(--bg-paper);border-bottom:1px solid var(--bg-elevated);padding:var(--spacing-md) var(--spacing-2xl)}.header-content{justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header-left{align-items:center;gap:var(--spacing-lg);display:flex}.header-brand{justify-content:center;align-items:center;gap:var(--spacing-xs);display:flex}.header-beta{font-size:.75rem;font-weight:var(--font-weight-bold);color:var(--bg-dark);background:var(--action-green);border-radius:var(--radius-sm);margin-left:4px;padding:2px 6px}.header-logo{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--action-orange)}.header-title{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--text-primary)}.header-actions{align-items:center;gap:var(--spacing-lg);display:flex}.header-user{align-items:center;gap:var(--spacing-sm);display:flex}.header-avatar{object-fit:cover;border:2px solid var(--bg-elevated);border-radius:50%;width:32px;height:32px}.header-username{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.875rem;overflow:hidden}.header-badge{font-size:.625rem;font-weight:var(--font-weight-bold);text-transform:uppercase;background:var(--action-orange);color:var(--bg-dark);border-radius:var(--radius-sm);padding:2px 6px}.header-template-toggle{color:var(--action-green);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--action-green);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);background:0 0;font-size:.875rem}.header-template-toggle:hover{background:var(--action-green);color:var(--bg-dark)}.header-superadmin-btn{color:var(--action-orange);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--action-orange);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);background:0 0;font-size:.875rem}.header-superadmin-btn:hover{background:var(--action-orange);color:var(--bg-dark)}.header-logout{color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--bg-elevated);background:0 0;font-size:.875rem}.header-logout:hover{color:var(--text-primary);border-color:var(--action-orange)}@media (width<=640px){.header-username{display:none}}.footer{background-color:var(--bg-paper);border-top:1px solid var(--bg-elevated);padding:var(--spacing-md) var(--spacing-2xl);margin-top:auto}.footer-content{justify-content:space-between;align-items:center;margin:0 auto;display:flex}.footer-brand{color:var(--text-secondary);font-size:.875rem}.footer-logo{color:var(--action-orange);font-weight:var(--font-weight-bold)}.footer-copy{color:var(--text-muted);font-size:.75rem}.mt-header{margin-bottom:var(--spacing-lg);align-items:center;display:flex}.mt-header .mt-header-title{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.mt-header .mt-header-title:after{content:"";background:linear-gradient(90deg, var(--action-orange) 60%, var(--action-green) 100%);width:40vw;height:3px;margin-top:var(--spacing-xs);border-radius:2px;display:block}@media (width<=480px){.mt-header .mt-header-title{font-size:1.375rem}}.mt-tab{padding:0}.mt-chart-container{background:var(--bg-paper);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--bg-elevated)}.mt-timeline-container{width:100%;min-height:200px;position:relative;overflow:auto hidden}.mt-timeline-svg{font-family:var(--font-family);display:block}.mt-grid-line{stroke:var(--bg-elevated);stroke-width:1px;opacity:.6}.mt-grid-line-vertical{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:4 4;opacity:.25}.mt-bar{fill:var(--action-orange);cursor:pointer;opacity:.85;transition:all .15s}.mt-bar:hover{opacity:1;filter:drop-shadow(0 2px 6px #e0702066)}.mt-bar-sanitization{fill:var(--action-green)}.mt-bar-sanitization:hover{filter:drop-shadow(0 2px 6px #8fb03066)}.mt-empty-indicator{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:6 4;opacity:.35}.mt-erp-label{font-size:13px;font-weight:var(--font-weight-medium);fill:var(--text-primary)}.mt-erp-label-sanitization{fill:var(--action-green)}.mt-date-label{fill:var(--text-secondary);font-size:11px;font-weight:var(--font-weight-medium)}.mt-zoom-controls{justify-content:flex-end;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);display:flex}.mt-zoom-btn{background:var(--bg-elevated);width:28px;height:28px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:flex}.mt-zoom-btn:hover:not(:disabled){border-color:var(--action-orange);color:var(--text-primary)}.mt-zoom-btn:disabled{opacity:.3;cursor:not-allowed}.mt-zoom-reset{font-size:.875rem}.mt-zoom-level{color:var(--text-muted);font-size:.75rem;font-weight:var(--font-weight-medium);text-align:center;min-width:24px}.mt-loading{text-align:center;color:var(--action-orange);padding:var(--spacing-xl);font-size:1rem;font-weight:var(--font-weight-medium)}.mt-empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);background:var(--bg-elevated);border-radius:var(--radius-lg);border:2px dashed var(--text-muted)}.mt-empty p{margin:var(--spacing-sm) 0;color:var(--text-secondary);font-size:1rem}.mt-empty-hint{color:var(--text-muted)!important;font-size:.875rem!important}@media (width<=768px){.mt-chart-container{padding:var(--spacing-md)}}@media (width<=480px){.mt-chart-container{padding:var(--spacing-sm)}}.toast-container{bottom:var(--spacing-xl);left:var(--spacing-xl);z-index:1200;gap:var(--spacing-sm);pointer-events:none;flex-direction:column-reverse;width:100%;max-width:400px;display:flex;position:fixed}.toast-item{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);pointer-events:auto;animation:.3s ease-out toastSlideIn;display:flex}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.toast-icon{width:24px;height:24px;font-size:.75rem;font-weight:var(--font-weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-message{flex:1;font-size:.9375rem;line-height:1.4}.toast-close{color:inherit;opacity:.6;width:24px;height:24px;transition:opacity var(--transition-fast);border-radius:var(--radius-sm);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.toast-close:hover{opacity:1;background:#ffffff1a}.toast-success{border:1px solid var(--action-green);color:var(--action-green);background:#a4c63926}.toast-success .toast-icon{background:var(--action-green);color:var(--bg-dark)}.toast-error{border:1px solid var(--color-error);color:var(--color-error);background:#f4433626}.toast-error .toast-icon{background:var(--color-error);color:#fff}.toast-warning{border:1px solid var(--color-warning);color:var(--color-warning);background:#ffc10726}.toast-warning .toast-icon{background:var(--color-warning);color:var(--bg-dark)}.toast-info{border:1px solid var(--color-info);color:var(--color-info);background:#2196f326}.toast-info .toast-icon{background:var(--color-info);color:#fff}@media (width<=480px){.toast-container{bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);max-width:none}}.data-source-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.data-source-header .data-source-title{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.data-source-header .data-source-title:after{content:"";background:linear-gradient(90deg, var(--action-orange) 60%, var(--action-green) 100%);width:40vw;height:3px;margin-top:var(--spacing-xs);border-radius:2px;display:block}.data-source-header .btn-create-source{background:var(--action-orange);width:42px;height:42px;color:var(--bg-dark);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;font-weight:300;line-height:1;display:flex}.data-source-header .btn-create-source:hover{filter:brightness(.85);transform:scale(1.1);box-shadow:0 4px 12px #f9812a66}.data-source-header .btn-create-source:active{transform:scale(.95)}@media (width<=480px){.data-source-header .data-source-title{font-size:1.375rem}}.erp-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex}.erp-row:hover{background:var(--bg-elevated);border-color:var(--action-orange);transform:translate(4px)}.erp-row-icon{background:var(--bg-elevated);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.erp-icon{object-fit:contain;width:24px;height:24px}.erp-icon-tabular_data{filter:brightness(0)saturate()invert(55%)sepia(58%)saturate(1012%)hue-rotate(177deg)brightness(96%)contrast(87%)}.erp-icon-cardapiowebapi{filter:brightness(0)saturate()invert(67%)sepia(43%)saturate(478%)hue-rotate(35deg)brightness(99%)contrast(87%)}.erp-icon-proxy_webscraping{filter:brightness(0)saturate()invert(56%)sepia(36%)saturate(667%)hue-rotate(238deg)brightness(97%)contrast(86%)}.erp-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.erp-row-name{font-size:.9375rem;font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.erp-row-code{color:var(--text-muted);font-family:Fira Code,monospace;font-size:.75rem}.erp-row-badges{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.erp-type-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:var(--font-weight-medium);text-transform:uppercase;white-space:nowrap}.erp-type-badge.auto{color:var(--action-green);background:#4caf5026}.erp-type-badge.non-temporal{color:var(--text-muted);background:#9e9e9e26}.erp-type-badge.overwrite{color:var(--color-warning);background:#ff980026}.erp-type-badge.restrict{color:var(--color-error);background:#f4433626}.erp-type-badge.stack{color:var(--color-info);background:#2196f326}.erp-type-badge.sanitization{color:#ce93d8;background:#9c27b026}.erp-type-badge.deleting{color:var(--color-error);background:#f4433626;animation:1.5s ease-in-out infinite pulse-deleting}@keyframes pulse-deleting{0%,to{opacity:1}50%{opacity:.5}}.erp-row.erp-readonly{cursor:default}.erp-row.erp-readonly:hover{border-color:#9c27b04d;transform:none}.erp-row.erp-deleting{opacity:.6;cursor:default;pointer-events:none}.erp-row.erp-deleting:hover{border-color:var(--bg-elevated);background:var(--bg-paper);transform:none}.erp-row-actions{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.btn-erp-action{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.btn-erp-action:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-delete:hover{color:var(--color-error);background:#f443361a}.btn-edit:hover{color:var(--color-info);background:#2bffb81a}.btn-expand{transition:transform var(--transition-fast);font-size:2rem;transform:rotate(90deg)}.btn-delete{font-size:1.75rem}.btn-expand.expanded{transform:rotate(-90deg)}.btn-expand:hover{color:var(--action-orange)}@media (width<=768px){.erp-row{padding:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap}.erp-row-badges{width:100%;margin-top:var(--spacing-xs);order:3}.erp-row-actions{order:2}}.job-error-box{border:1px solid;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:start;gap:.5rem;margin-top:.4rem;padding:.5rem .75rem;font-size:.85rem;line-height:1.4;display:grid}.job-error-box.variant-error{color:#b71c1c;background:#f4433614;border-color:#f443364d}.job-error-icon{flex-shrink:0;font-size:.95rem;font-weight:700;line-height:1.4}.job-error-text{white-space:pre-wrap;word-break:break-word;font-family:inherit}.job-error-text.collapsed{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.job-error-text.expanded{max-height:400px;overflow:visible auto}.job-error-toggle{color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-self:start;padding:0 .25rem;font-size:.8rem;font-weight:600;text-decoration:underline}.job-error-toggle:hover{opacity:.75}.import-job-row{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);display:flex}.import-job-row[class*=status-]{border-left:3px solid var(--bg-elevated)}.import-job-row .job-info{flex:1;min-width:0}.import-job-row .job-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.import-job-row .job-title{color:var(--text-primary);font-size:.9375rem;font-weight:var(--font-weight-medium);flex-shrink:0;margin:0}.import-job-row .job-status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:var(--font-weight-medium);text-transform:uppercase;white-space:nowrap;letter-spacing:.02em;background:var(--bg-elevated);color:var(--text-secondary)}.import-job-row .job-details{justify-content:flex-start;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.import-job-row .job-detail-separator{color:var(--text-secondary);font-size:.8125rem}.import-job-row .job-detail{color:var(--text-primary);font-size:.8125rem}.import-job-row .job-detail.error{color:var(--color-error)}.import-job-row .job-detail.effective-rows{color:var(--action-green);font-weight:var(--font-weight-medium)}.import-job-row .job-detail.job-filename{color:var(--text-muted);font-style:italic}.import-job-row .job-error{border-left:3px solid var(--color-error);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-sm);color:var(--color-error);background:#f443361a;font-size:.8125rem}.import-job-row .job-actions{gap:var(--spacing-sm);flex-shrink:0;display:flex}.import-job-row .btn-delete-job{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);color:var(--text-muted);background:0 0;font-size:1.75rem;font-weight:300;line-height:1}.import-job-row .btn-delete-job:hover:not(:disabled){color:var(--color-error);background:#f443361a;transform:scale(1.05)}.import-job-row .btn-delete-job:active:not(:disabled){transform:scale(.95)}.import-job-row .btn-delete-job:disabled{opacity:.3;color:var(--text-muted)}@media (width<=768px){.import-job-row{flex-direction:column}.import-job-row .job-header{flex-direction:column;align-items:flex-start}.import-job-row .job-details{gap:var(--spacing-xs);flex-direction:column}.import-job-row .job-actions{align-self:flex-end}}.erp-history-panel{background:var(--bg-paper);border-left:2px solid var(--bg-elevated);margin-left:var(--spacing-lg);padding:var(--spacing-md);animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.erp-history-panel .history-loading,.erp-history-panel .history-empty{text-align:center;padding:var(--spacing-lg);color:var(--text-muted);font-size:.875rem}.erp-history-panel .history-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.erp-history-panel .import-job-row{background:var(--bg-elevated);margin-bottom:0}.erp-history-panel .history-pagination{justify-content:center;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--bg-elevated);display:flex}.erp-history-panel .pagination-btn{border-radius:var(--radius-sm);background:var(--bg-elevated);width:28px;height:28px;color:var(--text-primary);font-size:1.25rem;font-weight:var(--font-weight-medium);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.erp-history-panel .pagination-btn:hover:not(:disabled){background:var(--action-orange);color:var(--bg-dark)}.erp-history-panel .pagination-btn:disabled{opacity:.3;cursor:not-allowed}.erp-history-panel .pagination-info{color:var(--text-secondary);font-size:.8125rem}.erp-history-panel .pagination-total{color:var(--text-muted);margin-left:var(--spacing-xs);font-size:.75rem}@media (width<=768px){.erp-history-panel{margin-left:var(--spacing-sm);padding:var(--spacing-sm)}}.tabular-structure-form .form-meta{border-bottom:1px solid var(--border-color);flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.tabular-structure-form .meta-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.tabular-structure-form .meta-row .form-group{flex-direction:column;gap:.3rem;display:flex}.tabular-structure-form .meta-row .form-group.full{grid-column:1/-1}.tabular-structure-form .form-group label{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.tabular-structure-form .form-group input,.tabular-structure-form .form-group select,.tabular-structure-form .form-group textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--text-primary);transition:border-color var(--transition-normal);font-family:inherit;font-size:.875rem}.tabular-structure-form .form-group input:focus,.tabular-structure-form .form-group select:focus,.tabular-structure-form .form-group textarea:focus{border-color:var(--action-orange);outline:none}.tabular-structure-form .form-group input::placeholder,.tabular-structure-form .form-group textarea::placeholder{color:var(--text-muted)}.tabular-structure-form .form-summary{color:var(--text-secondary);font-size:.8rem}.tabular-structure-form .form-summary code{background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-sm);padding:1px 6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem}.tabular-structure-form .null-markers-input{gap:var(--spacing-sm);align-items:center;display:flex}.tabular-structure-form .null-markers-input input{flex:1}.tabular-structure-form .null-markers-input .btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);font-size:.85rem}.tabular-structure-form .null-markers-input .btn-secondary:hover{background:var(--border-color)}.tabular-structure-form .null-markers-list{gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.tabular-structure-form .null-marker-chip{color:var(--action-orange);background:#f9812a26;border:1px solid #f9812a4d;border-radius:12px;align-items:center;gap:.25rem;padding:2px 6px 2px 10px;font-size:.78rem;display:inline-flex}.tabular-structure-form .null-marker-chip button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1}.tabular-structure-form .columns-section{margin-top:1.25rem}.tabular-structure-form .columns-section-title{color:var(--text-primary);font-size:1rem;font-weight:var(--font-weight-semibold);margin:0 0 .25rem}.tabular-structure-form .columns-section-help{color:var(--text-secondary);margin:0 0 var(--spacing-md) 0;font-size:.8rem}.tabular-structure-form .column-cards{grid-template-columns:1fr;gap:.85rem;max-height:55vh;padding-right:.25rem;display:grid;overflow-y:auto}.tabular-structure-form .form-empty{padding:var(--spacing-md);color:var(--text-muted);text-align:center;font-style:italic}.tabular-structure-form .column-card{border:1px solid var(--border-color);border-left:4px solid var(--card-accent,var(--text-muted));border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);transition:box-shadow var(--transition-fast), border-color var(--transition-fast);box-sizing:border-box;width:100%;min-width:0;padding:.85rem 1rem}.tabular-structure-form .column-card:hover{box-shadow:var(--shadow-sm)}.tabular-structure-form .column-card.type-text{--card-accent:#90a4ae}.tabular-structure-form .column-card.type-number{--card-accent:#64b5f6}.tabular-structure-form .column-card.type-integer{--card-accent:#42a5f5}.tabular-structure-form .column-card.type-currency{--card-accent:var(--action-green)}.tabular-structure-form .column-card.type-percentage{--card-accent:var(--action-orange)}.tabular-structure-form .column-card.type-date{--card-accent:#b39ddb}.tabular-structure-form .column-card-header{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;margin-bottom:.6rem;display:flex}.tabular-structure-form .column-card-reorder{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.tabular-structure-form .reorder-btn{background:var(--bg-dark);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;width:24px;height:18px;transition:background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;padding:0;font-size:.65rem;line-height:1;display:inline-flex}.tabular-structure-form .reorder-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--action-orange);border-color:var(--action-orange)}.tabular-structure-form .reorder-btn:disabled{opacity:.3;cursor:not-allowed}.tabular-structure-form .column-card-name{min-width:0;font-size:.95rem;font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);color:var(--text-primary);background:0 0;border:1px solid #0000;flex:1;padding:.35rem .5rem}.tabular-structure-form .column-card-name:hover{border-color:var(--border-color)}.tabular-structure-form .column-card-name:focus{border-color:var(--action-orange);background:var(--bg-dark);outline:none}.tabular-structure-form .column-card-badges{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.tabular-structure-form .type-badge{font-size:.72rem;font-weight:var(--font-weight-semibold);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:#0003;border:1px solid;border-radius:12px;padding:.25rem .55rem}.tabular-structure-form .type-badge.type-text{color:#b0bec5}.tabular-structure-form .type-badge.type-number{color:#64b5f6}.tabular-structure-form .type-badge.type-integer{color:#42a5f5}.tabular-structure-form .type-badge.type-currency{color:var(--action-green)}.tabular-structure-form .type-badge.type-percentage{color:var(--action-orange)}.tabular-structure-form .type-badge.type-date{color:#b39ddb}.tabular-structure-form .type-badge option{background:var(--bg-dark);color:var(--text-primary)}.tabular-structure-form .role-badge{font-size:.68rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;border-radius:10px;padding:.2rem .5rem}.tabular-structure-form .role-badge.role-date{color:#b39ddb;background:#b39ddb33}.tabular-structure-form .role-badge.role-ref{color:var(--action-orange);background:#f9812a33}.tabular-structure-form .column-card-body{flex-direction:column;gap:.6rem;display:flex}.tabular-structure-form .column-card-description{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);resize:vertical;min-height:40px;color:var(--text-primary);background:var(--bg-dark);box-sizing:border-box;font-family:inherit;font-size:.85rem}.tabular-structure-form .column-card-description::placeholder{color:var(--text-muted)}.tabular-structure-form .column-card-description:focus{border-color:var(--action-orange);outline:none}.tabular-structure-form .column-card-samples{align-items:center;gap:.6rem;width:100%;min-width:0;font-size:.8rem;display:flex}.tabular-structure-form .samples-label{font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-size:.72rem}.tabular-structure-form .samples-strip{flex-wrap:nowrap;flex:1 1 0;gap:.3rem;min-width:0;display:flex;overflow:hidden}.tabular-structure-form .sample-cell{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;max-width:160px;color:var(--text-secondary);flex-shrink:0;padding:2px 8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;overflow:hidden}.tabular-structure-form .sample-cell em{opacity:.6;color:inherit;font-style:italic}.tabular-structure-form .sample-empty{color:var(--text-muted);font-size:.78rem;font-style:italic}.base-modal.tabular-structure-builder{width:95vw;max-width:1100px}.tabular-structure-builder .builder-help{color:var(--text-secondary);margin-bottom:1rem}.tabular-structure-builder .file-drop{border:2px dashed var(--border-color);border-radius:var(--radius-md);cursor:pointer;text-align:center;background:var(--bg-elevated);color:var(--text-secondary);transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;padding:2.5rem;display:flex}.tabular-structure-builder .file-drop:hover{background:var(--border-color);border-color:var(--action-orange);color:var(--text-primary)}.tabular-structure-builder .file-drop input{display:none}.tabular-structure-builder .builder-error{color:var(--color-error);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin:var(--spacing-sm) 0;background:#f443361a;border:1px solid #f443364d;font-size:.9rem}.tabular-structure-builder .builder-actions{border-top:1px solid var(--border-color);justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.tabular-structure-builder .builder-actions .btn-secondary,.tabular-structure-builder .builder-actions .btn-primary{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:.875rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-normal);border:none}.tabular-structure-builder .builder-actions .btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color)}.tabular-structure-builder .builder-actions .btn-secondary:hover{background:var(--border-color)}.tabular-structure-builder .builder-actions .btn-primary{background:var(--action-orange);color:#fff}.tabular-structure-builder .builder-actions .btn-primary:hover:not(:disabled){background:#e07020}.tabular-structure-builder .builder-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.erp-modal{max-width:600px}.erp-modal .type-readonly-container{min-height:42px;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:2px solid var(--bg-elevated);border-radius:var(--radius-md);align-items:center;display:flex}.erp-modal .config-toggle-section{margin:var(--spacing-lg) 0;padding:var(--spacing-md);background:var(--bg-dark);border-radius:var(--radius-md);border-left:3px solid var(--action-orange)}.erp-modal .btn-submit{width:100%;margin-left:auto}.erp-modal .field-description{margin:var(--spacing-xs) 0 0;color:var(--text-secondary);font-size:.8rem;line-height:1.4}.date-range-calendar{margin-bottom:var(--spacing-md)}.react-datepicker{background-color:var(--bg-elevated);border:1px solid var(--bg-paper);border-radius:var(--radius-md);font-family:inherit}.react-datepicker__triangle{display:none}.react-datepicker__header{background-color:var(--bg-paper);border-bottom:1px solid var(--bg-elevated);padding-top:var(--spacing-sm)}.react-datepicker__current-month{color:var(--text-primary);font-weight:var(--font-weight-medium);font-size:.9375rem}.react-datepicker__day-name{color:var(--text-muted);width:2rem;margin:.2rem;font-size:.75rem;line-height:2rem}.react-datepicker__day{color:var(--text-secondary);border-radius:var(--radius-sm);width:2rem;transition:all var(--transition-fast);border:2px solid #0000;margin:.2rem;line-height:2rem}.react-datepicker__day--today,.react-datepicker__day--keyboard-selected{background-color:#0000}.react-datepicker__day:hover:not(.react-datepicker__day--disabled){filter:brightness(1.3);cursor:pointer}.react-datepicker__day:hover:not(.react-datepicker__day--disabled):not(.react-datepicker__day--in-selecting-range):not(.react-datepicker__day--in-range):not(.react-datepicker__day--selected){background-color:var(--bg-elevated)}.react-datepicker__day--outside-month{color:var(--text-muted);opacity:.5}.react-datepicker__day.imported-date{border-color:var(--action-green);background-color:#4caf5040}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range{background-color:var(--color-info);color:var(--bg-dark);border-color:var(--color-info)}.react-datepicker__day.overwrite-selected.react-datepicker__day--selected,.react-datepicker__day.overwrite-selected.react-datepicker__day--in-selecting-range,.react-datepicker__day.overwrite-selected.react-datepicker__day--in-range,.react-datepicker__day.overwrite-selected.react-datepicker__day--range-start,.react-datepicker__day.overwrite-selected.react-datepicker__day--range-end{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--bg-dark)}.react-datepicker__day--disabled{color:var(--text-muted);opacity:.3;cursor:not-allowed}.react-datepicker__navigation{top:8px}.react-datepicker__navigation-icon:before{border-color:var(--text-secondary)}.react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:var(--action-orange)}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.react-datepicker__input-container input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:1px solid var(--bg-paper);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:.9375rem}.react-datepicker__input-container input:focus{border-color:var(--action-orange);outline:none}.react-datepicker__input-container input::placeholder{color:var(--text-muted)}.date-range-calendar .conflict-warning{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-left:3px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);background:#f443361a;font-size:.875rem}.date-range-calendar .overwrite-hint{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-left:3px solid var(--color-warning);border-radius:var(--radius-sm);color:var(--color-warning);background:#ff98001a;font-size:.875rem}.react-datepicker-popper[data-placement^=bottom]{padding-top:var(--spacing-xs)}.react-datepicker-popper[data-placement^=top]{padding-bottom:var(--spacing-xs)}.btn-import{width:100%}.confirm-modal.confirm-modal-danger .base-modal-title{color:var(--color-error)}.confirm-modal.confirm-modal-warning .base-modal-title{color:var(--color-warning)}.confirm-modal.confirm-modal-info .base-modal-title{color:var(--color-info)}.confirm-modal-message{color:var(--text-secondary);white-space:pre-line;margin:0;line-height:1.6}.confirm-modal-actions{gap:var(--spacing-md);justify-content:flex-end;width:100%;display:flex}.confirm-modal-actions .btn-cancel{background:var(--bg-elevated);color:var(--text-primary);border:2px solid var(--bg-elevated);padding:var(--spacing-sm) var(--spacing-lg);font-size:.9375rem;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.confirm-modal-actions .btn-cancel:hover:not(:disabled){border-color:var(--text-muted)}.confirm-modal-actions .btn-cancel:disabled{opacity:.5;cursor:not-allowed}.confirm-modal-actions .btn-confirm{padding:var(--spacing-sm) var(--spacing-lg);font-size:.9375rem;font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;border:none}.confirm-modal-actions .btn-confirm-danger{background:var(--color-error);color:#fff}.confirm-modal-actions .btn-confirm-danger:hover:not(:disabled){background:#d32f2f;transform:translateY(-1px)}.confirm-modal-actions .btn-confirm-warning{background:var(--color-warning);color:var(--bg-dark)}.confirm-modal-actions .btn-confirm-warning:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.confirm-modal-actions .btn-confirm-info{background:var(--color-info);color:#fff}.confirm-modal-actions .btn-confirm-info:hover:not(:disabled){background:#1976d2;transform:translateY(-1px)}.confirm-modal-actions .btn-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=480px){.confirm-modal-actions{flex-direction:column-reverse}.confirm-modal-actions button{width:100%}}.upload-tab{max-width:100%}.upload-tab .erp-list{flex-direction:column;display:flex}.upload-tab .erp-list-item{margin-bottom:var(--spacing-md)}.upload-tab .no-data-message{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);background:var(--bg-paper);border:2px dashed var(--bg-elevated);border-radius:var(--radius-lg);color:var(--text-secondary)}.upload-tab .no-data-message p{margin:var(--spacing-sm) 0}.upload-tab .no-data-message p:first-child{font-weight:var(--font-weight-medium);color:var(--text-primary)}.sanitization-separator{align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0 var(--spacing-md);display:flex}.sanitization-separator-line{background:var(--bg-elevated);flex:1;height:1px}.sanitization-separator-label{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.upload-tab .form-row{justify-content:space-around;gap:var(--spacing-lg);flex-direction:row;display:flex}.upload-tab .form-group{margin-bottom:var(--spacing-lg);width:100%}.upload-tab .form-group label{margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);display:block}.upload-tab .form-group input,.upload-tab .form-group select,.upload-tab .form-group textarea{width:100%;padding:var(--spacing-md);background:var(--bg-elevated);border:2px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast);box-sizing:border-box;font-size:1rem}.upload-tab .form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.upload-tab .form-group input:focus,.upload-tab .form-group select:focus,.upload-tab .form-group textarea:focus{border-color:var(--action-orange);outline:none}.upload-tab .form-group small{margin-top:var(--spacing-sm);color:var(--text-secondary);font-size:.875rem;display:block}.upload-tab .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f9812a66}@media (width<=768px){.upload-tab .erp-list-item{margin-bottom:var(--spacing-sm)}}@media (width<=480px){.upload-tab .form-row{flex-direction:column}}.erp-row.credential-row{cursor:default}.erp-row.credential-row:hover{border-color:var(--bg-elevated);background:var(--bg-paper);transform:none}.erp-type-badge.credential-connector{color:var(--color-info);background:#2196f326}.erp-type-badge.credential-incomplete{color:var(--color-warning);cursor:help;background:#ff980026}.erp-type-badge.credential-test-testing{color:var(--color-warning);background:#ff980026;animation:1.5s ease-in-out infinite pulse-testing}.erp-type-badge.credential-test-success{color:var(--action-green);background:#4caf5026}.erp-type-badge.credential-test-failed{color:var(--color-error);cursor:help;background:#f4433626}@keyframes pulse-testing{0%,to{opacity:1}50%{opacity:.5}}.btn-credential-test{font-size:1rem}.btn-credential-test:hover{color:var(--action-green);background:#4caf501a}.btn-add-credential{border:1px solid var(--bg-elevated);width:26px;height:26px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;font-weight:300;line-height:1;display:flex}.btn-add-credential:hover{border-color:var(--action-orange);color:var(--action-orange)}.credential-incomplete-hint{border:1px solid var(--color-warning);border-radius:var(--radius-sm);color:var(--color-warning);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);background:#ff98001f;font-size:.8125rem}.erp-types-tab{flex-direction:column;gap:1rem;display:flex}.admin-btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color)}.admin-btn-secondary:hover:not(:disabled){background:var(--bg-dark)}.erp-types-tab .erp-types-table-wrapper{width:100%;overflow-x:auto}.erp-types-table{border-collapse:collapse;table-layout:auto;width:100%;font-size:.875rem}.erp-types-table th,.erp-types-table td{text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--bg-elevated);vertical-align:middle;white-space:nowrap}.erp-types-table th{background:var(--bg-elevated);color:var(--text-secondary);font-size:.75rem;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.erp-types-table td{color:var(--text-primary)}.erp-types-table tbody tr:hover{background:#ffffff08}.erp-types-table th:first-child,.erp-types-table td:first-child{white-space:normal;word-break:normal;overflow-wrap:anywhere;width:100%;min-width:200px}.erp-types-table th:nth-child(2),.erp-types-table td:nth-child(2){white-space:nowrap;min-width:220px}.erp-types-table th:nth-child(3),.erp-types-table td:nth-child(3),.erp-types-table th:nth-child(4),.erp-types-table td:nth-child(4),.erp-types-table th:nth-child(5),.erp-types-table td:nth-child(5){width:1%}.erp-types-table td code{color:var(--text-secondary);background:var(--bg-elevated);border-radius:var(--radius-sm);white-space:nowrap;padding:2px 6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem}.erp-types-table td.empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);white-space:normal}.erp-types-table td button+button{margin-left:.4rem}.usage-count{text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.base-modal.erp-type-editor{width:95vw;max-width:1100px}.erp-type-editor .editor-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.erp-type-editor .structure-editor-error{color:var(--color-error);margin-top:.75rem;font-size:.85rem}.erp-types-tab .loading{text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.exports-header{margin-bottom:var(--spacing-lg);align-items:center;display:flex}.exports-header .exports-title{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.exports-header .exports-title:after{content:"";background:linear-gradient(90deg, var(--action-orange) 60%, var(--action-green) 100%);width:40vw;height:3px;margin-top:var(--spacing-xs);border-radius:2px;display:block}@media (width<=480px){.exports-header .exports-title{font-size:1.375rem}}.exports-filter-bar{margin-bottom:var(--spacing-lg);flex-direction:row;justify-content:space-between;align-items:center;display:flex}.exports-search-input{width:60%;padding:var(--spacing-md);background:var(--bg-elevated);border:2px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast);font-size:1rem}.exports-search-input:focus{border-color:var(--action-orange);outline:none}.exports-search-input::placeholder{color:var(--text-muted)}.filter-sections{flex-direction:row;justify-content:space-around;align-items:center;display:flex}.filter-chip{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.85rem;font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);color:var(--text-muted);margin:var(--spacing-xs);background:#9e9e9e26;border:1px solid #0000}.filter-chip:hover{color:var(--text-secondary);background:#9e9e9e40}.filter-chip.active{background:var(--action-orange);color:var(--bg-dark);border-color:var(--action-orange)}.filter-chip.active:hover{filter:brightness(.9)}.filter-add-btn{width:32px;height:32px;margin-left:var(--spacing-xs);border:1px dashed var(--action-orange);border-radius:var(--radius-sm);color:var(--action-orange);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;display:inline-flex}.filter-add-btn:hover{background:#ff8a001f;border-style:solid}@media (width<=768px){.filter-sections{gap:var(--spacing-md);flex-direction:column}}.san-list-container{border:1px solid var(--bg-elevated);border-radius:var(--radius-md);max-height:300px;overflow-y:auto}.san-list-empty{padding:var(--spacing-xl);text-align:center;color:var(--text-muted);font-size:.875rem}.san-list-item{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);border-bottom:1px solid var(--bg-elevated);display:flex}.san-list-item:last-child{border-bottom:none}.san-list-item:hover{background:var(--bg-elevated)}.san-list-item.selected{background:linear-gradient(90deg, var(--action-orange), var(--action-green));color:var(--bg-dark)}.san-list-item.selected .san-list-name{color:var(--bg-dark);font-weight:var(--font-weight-medium)}.san-list-item.selected .san-erp-tag{color:var(--bg-dark);background:#0003}.san-list-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.875rem;overflow:hidden}.san-erp-tags{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;flex-shrink:0;display:flex}.san-erp-tag{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-lg);font-size:.6875rem;font-weight:var(--font-weight-medium);color:var(--action-orange);white-space:nowrap;background:#a44a0a55}.san-delete-btn{width:24px;height:24px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;display:inline-flex}.san-delete-btn:hover{color:var(--color-error);background:#f4433626}.san-list-item.selected .san-delete-btn{color:var(--bg-dark)}.san-list-item.selected .san-delete-btn:hover{color:var(--color-error);background:#00000026}.san-list-container::-webkit-scrollbar{width:6px}.san-list-container::-webkit-scrollbar-track{background:0 0}.san-list-container::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}@media (width<=480px){.san-list-item{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}}.extraction-action-bar{margin-bottom:var(--spacing-lg)}.eab-row{align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);flex-wrap:wrap;display:flex}.eab-date-pickers{gap:var(--spacing-md);display:flex}.eab-field{flex:1;max-width:200px}.eab-filename{max-width:320px}.eab-filename input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:2px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast);font-size:.875rem}.eab-filename input:focus{border-color:var(--action-orange);outline:none}.eab-filename input::placeholder{color:var(--text-muted)}.eab-submit{margin-left:auto}.eab-field .react-datepicker-wrapper{width:100%}.eab-field .react-datepicker__input-container input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:2px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast);font-size:.875rem}.eab-field .react-datepicker__input-container input:focus{border-color:var(--action-orange);outline:none}.eab-field .react-datepicker__input-container input::placeholder{color:var(--text-muted)}.eab-field .react-datepicker__month{min-height:168px}.eab-submit{background:linear-gradient(90deg, var(--action-orange), var(--action-green));color:var(--bg-dark);padding:var(--spacing-sm) var(--spacing-xl);font-size:.9375rem;font-weight:var(--font-weight-bold);border-radius:var(--radius-md);white-space:nowrap;transition:opacity var(--transition-fast), background var(--transition-fast)}.eab-submit:hover:not(:disabled):not(.inactive){opacity:.9}.eab-submit.inactive{background:var(--bg-elevated);color:var(--text-muted);cursor:not-allowed}.eab-submit:disabled:not(.inactive){opacity:.5;cursor:not-allowed}.eab-legend{gap:var(--spacing-lg);margin-top:var(--spacing-sm);display:flex}.eab-legend-item{align-items:center;gap:var(--spacing-xs);color:var(--text-muted);font-size:.75rem;display:flex}.eab-dot{border-radius:2px;width:10px;height:10px;display:inline-block}.eab-dot.dot-some{background:#4caf5066}.eab-dot.dot-all{background:#a4c63999;border:1px solid #a4c639cc}@media (width<=480px){.eab-row{flex-direction:column;align-items:stretch}.eab-field,.eab-filename{max-width:none}.eab-submit{text-align:center;width:100%;margin-left:0}}.extraction-job-row{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);border-left:3px solid var(--bg-elevated);margin-bottom:var(--spacing-sm);transition:border-color var(--transition-fast);display:flex}.extraction-job-row.status-completed{border-left-color:var(--action-green)}.extraction-job-row.status-failed{border-left-color:var(--color-error)}.extraction-job-row.status-pending{border-left-color:var(--color-warning)}.extraction-job-row.status-extracting,.extraction-job-row.status-processing{border-left-color:var(--action-orange)}.extraction-job-row.status-cancelled{border-left-color:var(--text-muted)}.extraction-job-row.status-deleting{border-left-color:var(--color-warning)}.extraction-job-row .ej-info{flex:1;min-width:0}.extraction-job-row .ej-header{align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.extraction-job-row .ej-name{font-size:.9375rem;font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.extraction-job-row .ej-period{color:var(--text-secondary);white-space:nowrap;font-size:.8125rem}.extraction-job-row .ej-created-at{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.extraction-job-row .ej-status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:var(--font-weight-medium);text-transform:uppercase;white-space:nowrap;letter-spacing:.02em;background:var(--bg-elevated);color:var(--text-secondary)}.extraction-job-row .ej-status-badge.status-completed{color:var(--action-green);background:#a4c63933}.extraction-job-row .ej-status-badge.status-failed{color:var(--color-error);background:#f4433633}.extraction-job-row .ej-status-badge.status-pending{color:var(--color-warning);background:#ffc10733}.extraction-job-row .ej-status-badge.status-extracting,.extraction-job-row .ej-status-badge.status-processing{color:var(--action-orange);background:#ff980033}.extraction-job-row .ej-status-badge.status-cancelled{color:#9e9e9e;background:#9e9e9e33}.extraction-job-row .ej-status-badge.status-deleting{color:var(--color-warning);background:#ffc10733}.extraction-job-row .ej-progress{background:var(--bg-elevated);border-radius:2px;flex:1;min-width:60px;max-width:120px;height:4px;overflow:hidden}.extraction-job-row .ej-progress-fill{background:linear-gradient(90deg, var(--action-orange), var(--action-green));height:100%;transition:width var(--transition-normal)}.extraction-job-row .ej-actions{gap:var(--spacing-xs);flex-shrink:0;margin-left:auto;display:flex}.btn-ej-action{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:300;line-height:1;display:flex}.btn-ej-download{font-size:1.25rem}.btn-ej-download:hover{color:var(--action-green);background:#a4c6391a}.btn-ej-delete:hover:not(:disabled){color:var(--color-error);background:#f443361a}.btn-ej-action:disabled{opacity:.3}.extraction-job-row .ej-error{border-left:3px solid var(--color-error);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-sm);color:var(--color-error);background:#f443361a;font-size:.8125rem}@media (width<=768px){.extraction-job-row .ej-header{flex-direction:column;align-items:flex-start}.extraction-job-row .ej-progress{width:100%;max-width:100%}.extraction-job-row .ej-actions{align-self:flex-end}}.asm-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.asm-field label{color:var(--text-secondary);font-weight:500}.asm-field input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:var(--font-family)}.asm-field input:focus{border-color:var(--action-orange);outline:none}.asm-hint{color:var(--text-muted);font-size:.75rem}.asm-footer{justify-content:flex-end;gap:var(--spacing-sm);width:100%;display:flex}.asm-btn-primary{padding:var(--spacing-sm) var(--spacing-lg);background:var(--action-orange);color:var(--bg-dark);border-radius:var(--radius-md);cursor:pointer;border:none;font-weight:600}.asm-btn-primary:disabled{background:var(--bg-elevated);color:var(--text-muted);cursor:not-allowed}.asm-btn-secondary{padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer}.asm-btn-secondary:hover:not(:disabled){background:var(--bg-paper)}.jobs-section{margin-top:var(--spacing-lg)}.jobs-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.no-data{color:var(--text-muted);padding:var(--spacing-lg);text-align:center;font-style:italic}.jobs-pagination{justify-content:center;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);padding:var(--spacing-sm);display:flex}.jobs-pagination-btn{padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);font-size:.8125rem}.jobs-pagination-btn:hover:not(:disabled){border-color:var(--action-orange);color:var(--action-orange)}.jobs-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.jobs-pagination-info{color:var(--text-muted);font-size:.8125rem}.pipelines-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.pipelines-header .pipelines-title{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.pipelines-header .pipelines-title:after{content:"";background:linear-gradient(90deg, var(--action-orange) 60%, var(--action-green) 100%);width:40vw;height:3px;margin-top:var(--spacing-xs);border-radius:2px;display:block}.pipelines-header .btn-create-pipeline{background:var(--action-orange);width:42px;height:42px;color:var(--bg-dark);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;font-weight:300;line-height:1;display:flex}.pipelines-header .btn-create-pipeline:hover{filter:brightness(.85);transform:scale(1.1);box-shadow:0 4px 12px #f9812a66}.pipelines-header .btn-create-pipeline:active{transform:scale(.95)}@media (width<=480px){.pipelines-header .pipelines-title{font-size:1.375rem}}.pr-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex}.pr-row:hover{background:var(--bg-elevated);border-color:var(--action-orange);transform:translate(4px)}.pr-status-container{background:var(--bg-elevated);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.pr-status-dot{border-radius:50%;width:12px;height:12px}.pr-status-dot.active{background:var(--action-green);box-shadow:0 0 6px #a4c63966}.pr-status-dot.inactive{background:var(--color-error);box-shadow:0 0 6px #f443364d}.pr-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pr-row-name{font-size:.9375rem;font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pr-row-subtitle{color:var(--text-muted);font-size:.75rem}.pr-row-badges{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.pr-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:var(--font-weight-medium);text-transform:uppercase;white-space:nowrap}.pr-badge.active{color:var(--action-green);background:#a4c63926}.pr-badge.inactive{color:var(--color-error);background:#f4433626}.pr-badge.blocks{color:var(--text-muted);background:#9e9e9e26}.pr-badge.mode.scheduled{color:var(--action-orange);background:#ff8a0026}.pr-badge.mode.manual{color:var(--color-info);background:#2bffb826}.pr-row.running{border-color:var(--action-orange);animation:1.8s ease-in-out infinite pr-row-running}@keyframes pr-row-running{0%,to{border-color:var(--action-orange);box-shadow:0 0 #ff8a0066}50%{border-color:#ff8a0099;box-shadow:0 0 0 4px #ff8a0000}}.pr-badge.running-tag{color:var(--action-orange);background:#ff8a0033;animation:1.8s ease-in-out infinite pr-running-tag-pulse}@keyframes pr-running-tag-pulse{0%,to{opacity:1}50%{opacity:.55}}.pr-row-actions{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.btn-pr-action{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.btn-pr-action:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-pr-edit:hover{color:var(--color-info);background:#2bffb81a}.btn-pr-trigger:hover:not(:disabled){color:var(--action-green);background:#a4c6391a}.btn-pr-delete{font-size:1.75rem}.btn-pr-delete:hover{color:var(--color-error);background:#f443361a}.btn-pr-expand{transition:transform var(--transition-fast);font-size:2rem;transform:rotate(90deg)}.btn-pr-expand.expanded{transform:rotate(-90deg)}.btn-pr-expand:hover{color:var(--action-orange)}.btn-pr-action:disabled{opacity:.4;cursor:not-allowed}@media (width<=768px){.pr-row{padding:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap}.pr-row-badges{width:100%;margin-top:var(--spacing-xs);order:3}.pr-block-tags{width:100%;margin-top:var(--spacing-xs);order:4}.pr-row-actions{order:2}}.pdp-panel{background:var(--bg-paper);border-left:2px solid var(--bg-elevated);margin-left:var(--spacing-lg);padding:var(--spacing-md);animation:.2s ease-out pdpSlideDown}@keyframes pdpSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pdp-info-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.pdp-info-item{justify-content:flex-start;align-items:baseline;gap:var(--spacing-sm);flex-direction:row;display:flex}.pdp-info-item .pdp-value{text-align:left}.pdp-info-item.pdp-full-width{flex-direction:column;grid-column:1/-1;align-items:stretch}.pdp-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:.6875rem;font-weight:var(--font-weight-medium)}.pdp-value{color:var(--text-primary);font-size:.8125rem}.pdp-blocks-section{border-top:1px solid var(--bg-elevated);padding-top:var(--spacing-md)}.pdp-blocks-flow{margin-top:var(--spacing-sm);padding:var(--spacing-sm) 0;align-items:center;gap:0;display:flex;overflow-x:auto}.pdp-block-with-connector{flex-shrink:0;align-items:center;display:flex}.pdp-block{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid;flex-direction:column;align-items:center;gap:2px;min-width:100px;display:flex}.pdp-block.import{background:#10b9811a;border-color:#10b9814d}.pdp-block.extraction{background:#8b5cf61a;border-color:#8b5cf64d}.pdp-block-type{text-transform:uppercase;letter-spacing:.5px;font-size:.625rem;font-weight:600}.pdp-block.import .pdp-block-type{color:#10b981}.pdp-block.extraction .pdp-block-type{color:#8b5cf6}.pdp-block.extraction-raw{background:#6366f11a;border-color:#6366f14d}.pdp-block.extraction-raw .pdp-block-type{color:#818cf8}.pdp-block.output-internal{background:#2bffb81a;border-color:#2bffb84d}.pdp-block.output-internal .pdp-block-type{color:var(--color-info,#2bffb8)}.pdp-block.output-excel{background:#ff8a001a;border-color:#ff8a004d}.pdp-block.output-excel .pdp-block-type{color:var(--action-orange)}.pdp-block.output-email{background:#f9a8251a;border-color:#f9a8254d}.pdp-block.output-email .pdp-block-type{color:#f9a825}.pdp-layers-row{gap:var(--spacing-md);margin-top:var(--spacing-sm);display:flex;overflow-x:auto}.pdp-layer{gap:var(--spacing-xs);flex-direction:column;min-width:150px;display:flex}.pdp-layer-title{align-items:center;gap:var(--spacing-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.6875rem;font-weight:600;display:flex}.pdp-layer-index{background:var(--bg-elevated);width:18px;height:18px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;display:inline-flex}.pdp-layer-boxes{gap:var(--spacing-xs);flex-direction:column;display:flex}.pdp-split{gap:var(--spacing-lg);margin-top:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.pdp-split-col{gap:var(--spacing-sm);flex-direction:column;display:flex}.pdp-executions-section .pdp-label{margin-bottom:var(--spacing-xs)}.pdp-execs-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.pdp-execs-empty{padding:var(--spacing-md);border:1px dashed var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-muted);text-align:center;font-size:.8125rem}.pdp-exec-row{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);display:flex}.pdp-exec-info{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.pdp-exec-time{color:var(--text-primary);font-size:.8125rem}.pdp-exec-mode{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-radius:var(--radius-sm);background:var(--bg-elevated);padding:1px 6px;font-size:.6875rem}.pdp-exec-status{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);padding:1px 6px;font-size:.6875rem}.pdp-exec-success{color:var(--action-green,#a4c639);background:#a4c63926}.pdp-exec-partial{color:var(--action-orange);background:#ff8a0026}.pdp-exec-failed{color:var(--color-error);background:#f4433626}.pdp-exec-running{color:var(--color-info,#2bffb8);background:#2bffb826}.pdp-exec-downloads{gap:var(--spacing-xs);flex-wrap:wrap;justify-content:flex-end;display:flex}.pdp-exec-download-btn{background:var(--bg-elevated);border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);color:var(--action-orange);font-size:.75rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);padding:2px 8px}.pdp-exec-download-btn:hover{border-color:var(--action-orange)}.pdp-exec-no-files{color:var(--text-muted);font-size:.75rem}@media (width<=768px){.pdp-split{grid-template-columns:1fr}}.pdp-block-detail{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:.75rem;overflow:hidden}.pdp-connector{width:32px;color:var(--action-orange);flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width<=768px){.pdp-panel{margin-left:var(--spacing-sm);padding:var(--spacing-sm)}.pdp-info-grid{grid-template-columns:1fr}}.pbx-card{gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;min-width:180px;display:flex}.pbx-card:hover{border-color:var(--action-orange);transform:translateY(-2px)}.pbx-header{justify-content:space-between;align-items:center;gap:var(--spacing-xs);display:flex}.pbx-kind-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);padding:2px 8px;font-size:.6875rem;font-weight:600}.pbx-import .pbx-kind-badge{color:#10b981;background:#10b98133}.pbx-extraction .pbx-kind-badge{color:#8b5cf6;background:#8b5cf633}.pbx-extraction-raw .pbx-kind-badge{color:#818cf8;background:#6366f133}.pbx-output-internal .pbx-kind-badge{color:var(--color-info,#2bffb8);background:#2bffb833}.pbx-output-excel .pbx-kind-badge{color:var(--action-orange);background:#ff8a0033}.pbx-output-email .pbx-kind-badge{color:#f9a825;background:#f9a82533}.pbx-remove{width:22px;height:22px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.pbx-remove:hover{color:var(--color-error);background:#f4433626}.pbx-body{flex-direction:column;gap:2px;display:flex}.pbx-field{flex-direction:column;display:flex}.pbx-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem}.pbx-field-value{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.pbx-footer{color:var(--text-muted);text-align:center;margin-top:var(--spacing-xs);font-size:.6875rem}.plc-column{background:var(--bg-dark);border:1px solid var(--bg-elevated);border-radius:var(--radius-lg);min-width:200px;max-width:280px;padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;flex:1 1 0;display:flex}.plc-import{border-top:3px solid #10b981}.plc-extraction{border-top:3px solid #8b5cf6}.plc-output{border-top:3px solid var(--action-orange)}.plc-header{justify-content:space-between;align-items:center;display:flex}.plc-title{align-items:center;gap:var(--spacing-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0;font-size:.8125rem;display:flex}.plc-layer-index{background:var(--bg-elevated);width:22px;height:22px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.6875rem;font-weight:600;display:inline-flex}.plc-boxes{gap:var(--spacing-sm);flex-direction:column;flex:1;min-height:80px;display:flex}.plc-empty{padding:var(--spacing-md);border:2px dashed var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-muted);text-align:center;font-size:.8125rem}.plc-footer,.plc-add-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.plc-btn-add{padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-paper);color:var(--text-primary);border:1px dashed var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:.8125rem;font-weight:500}.plc-btn-add:hover:not(:disabled){border-color:var(--action-orange);color:var(--action-orange)}.plc-btn-add:disabled{opacity:.4;cursor:not-allowed}.plc-picker{position:relative}.plc-picker-menu{background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);z-index:10;max-height:240px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000040}.plc-picker-item{text-align:left;width:100%;padding:var(--spacing-xs) var(--spacing-md);color:var(--text-primary);cursor:pointer;background:0 0;border:none;font-size:.8125rem;display:block}.plc-picker-item:hover{background:var(--bg-elevated);color:var(--action-orange)}.pfm-field{margin-bottom:var(--spacing-md)}.pfm-field label{margin-bottom:var(--spacing-xs);color:var(--text-secondary);font-weight:500;display:block}.pfm-field input,.pfm-field textarea,.pfm-field select{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:var(--font-family);transition:border-color var(--transition-fast)}.pfm-field input:focus,.pfm-field textarea:focus,.pfm-field select:focus{border-color:var(--action-orange);outline:none}.pfm-field textarea{resize:vertical;min-height:60px}.pfm-schedule-type{margin-bottom:var(--spacing-md)}.pfm-schedule-type>label{margin-bottom:var(--spacing-xs);color:var(--text-secondary);font-weight:500;display:block}.pfm-schedule-type-buttons{border-radius:var(--radius-md);border:1px solid var(--bg-elevated);gap:0;display:flex;overflow:hidden}.pfm-schedule-type-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;flex:1;font-size:14px;font-weight:500}.pfm-schedule-type-btn:not(:last-child){border-right:1px solid var(--bg-dark)}.pfm-schedule-type-btn:hover:not(.active){background:var(--bg-paper)}.pfm-schedule-type-btn.active{background:var(--action-orange);color:var(--bg-dark);font-weight:600}.pfm-schedule-row{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.pfm-blocks-section{margin-top:var(--spacing-lg);border-top:1px solid var(--bg-elevated);padding-top:var(--spacing-lg)}.pfm-blocks-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.pfm-blocks-header h4{color:var(--text-primary);margin:0}.pfm-block-actions{gap:var(--spacing-sm);display:flex}.pfm-btn-add{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;font-size:13px;font-weight:500}.pfm-btn-add:disabled{opacity:.4;cursor:not-allowed}.pfm-btn-add.import{color:#fff;background:#10b981}.pfm-btn-add.import:hover:not(:disabled){background:#059669}.pfm-btn-add.extraction{color:#fff;background:#8b5cf6}.pfm-btn-add.extraction:hover:not(:disabled){background:#7c3aed}.pfm-blocks-container{background:var(--bg-dark);border:2px dashed var(--bg-elevated);border-radius:var(--radius-lg);min-height:160px;padding:var(--spacing-md);align-items:center;display:flex;overflow-x:auto}.pfm-empty-blocks{color:var(--text-muted);justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);text-align:center;flex-direction:column;width:100%;display:flex}.pfm-hint{color:var(--text-muted);font-size:13px}.pfm-blocks-flow{flex-direction:row;align-items:center;min-width:min-content;display:flex}.pfm-block-with-connector{flex-direction:row;flex-shrink:0;align-items:center;display:flex}.pfm-footer{gap:var(--spacing-sm);justify-content:flex-end;width:100%;display:flex}.pfm-btn-primary{padding:var(--spacing-sm) var(--spacing-lg);background:var(--action-orange);color:var(--bg-dark);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:600}.pfm-btn-primary:hover:not(:disabled){filter:brightness(.9);transform:translateY(-2px)}.pfm-btn-primary:disabled{background:var(--bg-elevated);color:var(--text-muted);cursor:not-allowed;transform:none}.pfm-btn-secondary{padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.pfm-btn-secondary:hover{background:var(--bg-paper);border-color:var(--action-orange)}.pfm-layers-section{margin-top:var(--spacing-lg);border-top:1px solid var(--bg-elevated);padding-top:var(--spacing-lg)}.pfm-layers-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.pfm-layers-header h4{color:var(--text-primary);margin:0}.pfm-layers-actions{gap:var(--spacing-sm);align-items:center;display:flex}.pfm-btn-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.8125rem;text-decoration:underline}.pfm-btn-link:hover{color:var(--color-error)}.pfm-layers-grid{gap:var(--spacing-md);padding-bottom:var(--spacing-sm);align-items:stretch;display:flex;overflow-x:auto}@media (width<=768px){.pfm-schedule-row{grid-template-columns:1fr}.pfm-layers-grid{flex-direction:column}}.drc-editor{gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-dark);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);flex-direction:column;display:flex}.drc-mode-tabs{border-radius:var(--radius-md);border:1px solid var(--bg-elevated);gap:0;display:flex;overflow:hidden}.drc-mode-tab{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-paper);color:var(--text-secondary);cursor:pointer;font-size:.8125rem;font-weight:var(--font-weight-medium);transition:all var(--transition-fast);border:none;flex:1}.drc-mode-tab:not(:last-child){border-right:1px solid var(--bg-elevated)}.drc-mode-tab:hover:not(.active){background:var(--bg-elevated);color:var(--text-primary)}.drc-mode-tab.active{background:var(--action-orange);color:var(--bg-dark);font-weight:600}.drc-body{gap:var(--spacing-md);flex-direction:column;display:flex}.drc-field{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.drc-field>label{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.drc-field input,.drc-field select{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;font-family:var(--font-family);transition:border-color var(--transition-fast)}.drc-field input:focus,.drc-field select:focus{border-color:var(--action-orange);outline:none}.drc-row{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.drc-direction-toggle{border-radius:var(--radius-md);border:1px solid var(--bg-elevated);gap:0;display:flex;overflow:hidden}.drc-direction-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-paper);color:var(--text-secondary);cursor:pointer;font-size:.8125rem;font-weight:var(--font-weight-medium);transition:all var(--transition-fast);border:none;flex:1}.drc-direction-btn:not(:last-child){border-right:1px solid var(--bg-elevated)}.drc-direction-btn:hover:not(.active){background:var(--bg-elevated);color:var(--text-primary)}.drc-direction-btn.active{background:var(--color-info,#2bffb8);color:var(--bg-dark);font-weight:600}.drc-period-grid{gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.drc-period-chip{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8125rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.drc-period-chip:hover:not(.active){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--action-orange)}.drc-period-chip.active{background:var(--action-orange);border-color:var(--action-orange);color:var(--bg-dark)}.drc-preview{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-paper);border-radius:var(--radius-md);border-left:3px solid var(--action-orange);display:flex}.drc-preview-label{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.drc-preview-value{font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--text-primary)}.bcm-field{margin-bottom:var(--spacing-md)}.bcm-field label{margin-bottom:var(--spacing-xs);color:var(--text-secondary);font-weight:500;display:block}.bcm-field input,.bcm-field select,.bcm-field textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:var(--font-family)}.bcm-field input:focus,.bcm-field select:focus,.bcm-field textarea:focus{border-color:var(--action-orange);outline:none}.bcm-hint{color:var(--text-muted);margin-top:4px;font-size:.75rem;display:block}.bcm-plug-list{gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-direction:column;display:flex}.bcm-plug-list .bcm-plug-item{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast);-webkit-user-select:none;user-select:none;color:var(--text-primary);flex-direction:row;align-items:center;gap:14px;margin-bottom:0;font-weight:400;display:flex}.bcm-plug-list .bcm-plug-item:hover:not(.disabled){border-color:var(--action-orange)}.bcm-plug-list .bcm-plug-item.disabled{opacity:.45;cursor:not-allowed}.bcm-plug-list .bcm-plug-item input[type=checkbox]{appearance:none;border:1.5px solid var(--bg-elevated);background:var(--bg-dark);cursor:pointer;width:16px;min-width:16px;max-width:16px;height:16px;transition:all var(--transition-fast);vertical-align:middle;border-radius:3px;flex-shrink:0;margin:0;padding:0;display:inline-block;position:relative}.bcm-plug-list .bcm-plug-item input[type=checkbox]:hover:not(:disabled){border-color:var(--action-orange)}.bcm-plug-list .bcm-plug-item input[type=checkbox]:checked{background:var(--action-orange);border-color:var(--action-orange)}.bcm-plug-list .bcm-plug-item input[type=checkbox]:checked:after{content:"";border:solid var(--bg-dark);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.bcm-plug-list .bcm-plug-item input[type=checkbox]:disabled{cursor:not-allowed}.bcm-plug-list .bcm-plug-name{text-align:left;color:var(--text-primary);flex:1;font-size:.875rem;line-height:1.2}.bcm-plug-disabled-hint{color:var(--color-error);font-size:.6875rem}.bcm-empty-plugs{padding:var(--spacing-md);border:1px dashed var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-muted);text-align:center;font-size:.8125rem}.bcm-footer{justify-content:space-between;align-items:center;gap:var(--spacing-sm);width:100%;display:flex}.bcm-footer-right{gap:var(--spacing-sm);display:flex}.bcm-btn-primary{padding:var(--spacing-sm) var(--spacing-lg);background:var(--action-orange);color:var(--bg-dark);border-radius:var(--radius-md);cursor:pointer;border:none;font-weight:600}.bcm-btn-secondary{padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer}.bcm-btn-danger{padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-error);border-radius:var(--radius-md);cursor:pointer;background:#f4433626;border:1px solid #0000}.bcm-btn-danger:hover{border-color:var(--color-error)}.pipelines-tab{max-width:100%}.pipelines-tab .pipeline-list{flex-direction:column;display:flex}.pipelines-tab .pipeline-list-item{margin-bottom:var(--spacing-md)}.pipelines-tab .no-data-message{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);background:var(--bg-paper);border:2px dashed var(--bg-elevated);border-radius:var(--radius-lg);color:var(--text-secondary)}.pipelines-tab .no-data-message p{margin:var(--spacing-sm) 0}.pipelines-tab .no-data-message p:first-child{font-weight:var(--font-weight-medium);color:var(--text-primary)}.pt-filter-bar{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.pt-filter-chip{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-paper);border:1px solid var(--bg-elevated);color:var(--text-secondary);font-size:.8125rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;display:inline-flex}.pt-filter-chip:hover:not(.active){background:var(--bg-elevated);color:var(--text-primary)}.pt-filter-chip.active{background:var(--action-orange);border-color:var(--action-orange);color:var(--bg-dark)}.pt-filter-count{color:inherit;background:#0000002e;border-radius:999px;padding:1px 8px;font-size:.6875rem;font-weight:600}.pt-filter-chip:not(.active) .pt-filter-count{background:var(--bg-elevated);color:var(--text-muted)}.pt-section{margin-bottom:var(--spacing-lg)}.pt-section-title{align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.8125rem;font-weight:var(--font-weight-medium);display:flex}.pt-section-count{background:var(--bg-elevated);color:var(--text-secondary);letter-spacing:0;border-radius:999px;padding:1px 8px;font-size:.6875rem;font-weight:600}@media (width<=768px){.pipelines-tab .pipeline-list-item{margin-bottom:var(--spacing-sm)}}.dashboard-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex}.dashboard-row:hover{background:var(--bg-elevated);border-color:var(--action-orange);transform:translate(4px)}.dashboard-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dashboard-row-name{font-size:.9375rem;font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashboard-row-code{color:var(--text-muted);font-family:Fira Code,monospace;font-size:.75rem}.dashboard-row-actions{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.btn-dashboard-action{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.btn-dashboard-action:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.btn-dashboard-token:hover:not(:disabled){color:var(--action-green);background:#a4c6391a}.btn-dashboard-delete:hover:not(:disabled){color:var(--color-error);background:#f443361a}@media (width<=768px){.dashboard-row{padding:var(--spacing-sm) var(--spacing-md)}}.dashboard-modal__form{gap:var(--spacing-lg);flex-direction:column;display:flex}.dashboard-modal__field{gap:var(--spacing-sm);flex-direction:column;display:flex}.dashboard-modal__label{font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--text-primary)}.dashboard-modal__input,.dashboard-modal__select{background:var(--bg-elevated);border:2px solid var(--bg-elevated);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:var(--spacing-md);transition:border-color var(--transition-fast);outline:none;font-size:1rem}.dashboard-modal__input:focus,.dashboard-modal__select:focus{border-color:var(--action-orange)}.dashboard-modal__select option{background:var(--bg-elevated)}.dashboard-modal__loading{color:var(--text-secondary);padding:var(--spacing-sm) 0;font-size:.875rem}.dashboard-modal__empty{color:var(--color-warning);border-radius:var(--radius-md);padding:var(--spacing-md);background:#ff98001a;border:1px solid #ff98004d;margin:0;font-size:.875rem;line-height:1.5}.dashboard-modal__footer{justify-content:flex-end;gap:var(--spacing-sm);display:flex}.dashboard-modal__btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem}.dashboard-modal__btn--submit{background:var(--action-orange);color:#fff;font-weight:var(--font-weight-semibold);border:none}.dashboard-modal__btn--submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f9812a66}.dashboard-modal__btn--submit:disabled{opacity:.4;cursor:not-allowed}.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width, height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0;width:20px;height:20px;position:absolute}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:100% 100%;background-repeat:no-repeat;background-origin:content-box;width:20px;height:20px;padding:0 3px 3px 0;position:absolute}.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.json-preview-modal{max-width:95vw!important}.json-preview-modal .base-modal-body{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.json-preview__panes{flex:1;min-height:0;display:flex;overflow:hidden}.json-preview__pane{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.json-preview__pane+.json-preview__pane{border-left:1px solid var(--bg-elevated)}.json-preview__pane-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--bg-elevated);background:var(--bg-paper);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.json-preview__pane-title{font-size:.75rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.json-preview__copy-btn{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;font-size:.6875rem}.json-preview__copy-btn:hover{border-color:var(--action-orange);color:var(--text-primary)}.json-preview__copy-btn--copied{border-color:var(--action-green);color:var(--action-green)}.json-preview__code{padding:var(--spacing-md);white-space:pre;color:var(--text-secondary);background:var(--bg-dark);-webkit-user-select:text;user-select:text;tab-size:2;flex:1;margin:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:.75rem;line-height:1.5;overflow-y:auto}.api-docs-modal{max-width:95vw!important}.api-docs-modal .base-modal-body{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.api-docs__panes{flex:1;min-height:0;display:flex;overflow:hidden}.api-docs__pane{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.api-docs__pane+.api-docs__pane{border-left:1px solid var(--bg-elevated)}.api-docs__pane-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--bg-elevated);background:var(--bg-paper);flex-shrink:0;align-items:center;display:flex}.api-docs__pane-title{font-size:.8125rem;font-weight:var(--font-weight-bold);color:var(--action-orange);font-family:Consolas,Monaco,Courier New,monospace}.api-docs__pane-content{padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.api-docs__desc{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.api-docs__auth{color:var(--text-muted);margin:0;font-size:.75rem}.api-docs__auth code{color:var(--text-primary);background:var(--bg-elevated);padding:1px var(--spacing-xs);border-radius:2px}.api-docs__hint{color:var(--text-muted);margin:0;font-size:.75rem;font-style:italic}.api-docs__section{gap:var(--spacing-xs);flex-direction:column;display:flex}.api-docs__section-title{font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--bg-elevated);margin:0}.api-docs__field{align-items:baseline;gap:var(--spacing-sm);padding:2px 0;display:flex}.api-docs__field-name{color:var(--action-orange);flex-shrink:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:.75rem}.api-docs__field-type{color:var(--color-info);flex-shrink:0;font-size:.6875rem}.api-docs__field-desc{color:var(--text-muted);font-size:.6875rem}.api-docs__type-block{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-dark);border-radius:var(--radius-sm);flex-direction:column;gap:2px;display:flex}.api-docs__type-block strong{color:var(--text-primary);margin-bottom:2px;font-size:.75rem}.api-docs__url{color:var(--text-secondary);background:var(--bg-dark);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border-left:2px solid var(--action-orange);white-space:pre-wrap;word-break:break-all;margin:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:.7rem}.api-docs__code{color:var(--text-primary);background:var(--bg-dark);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;margin:2px 0 0;font-family:Consolas,Monaco,Courier New,monospace;font-size:.7rem}.api-docs__code--block{padding:var(--spacing-sm) var(--spacing-md);max-height:360px;line-height:1.5;overflow:auto}.api-docs__table{border-collapse:collapse;width:100%;margin-top:var(--spacing-xs);font-size:.7rem}.api-docs__table thead{background:var(--bg-dark)}.api-docs__table th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--bg-elevated)}.api-docs__table td{padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-secondary);border-bottom:1px solid #ffffff0a}.api-docs__table tbody tr:hover td{background:#ffffff05}.api-docs__table code{color:var(--action-orange);background:var(--bg-elevated);border-radius:2px;padding:1px 4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.65rem}.api-docs__footer{padding:var(--spacing-md);border-top:1px solid var(--bg-elevated);background:var(--bg-paper);flex-shrink:0}.ai-assistant-modal .base-modal-body{flex-direction:column;height:min(70vh,640px);padding:0;display:flex}.ai-chat{background:var(--bg-paper,#111827);flex-direction:column;flex:1;min-height:0;display:flex}.ai-chat__messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.ai-chat__empty{color:var(--text-muted,#94a3b8);border:1px dashed #94a3b84d;border-radius:8px;padding:12px;font-size:13px;line-height:1.5}.ai-chat__empty ul{margin:8px 0 0;padding-left:20px}.ai-chat__message{flex-direction:column;gap:8px;max-width:88%;display:flex}.ai-chat__message--user{align-self:flex-end;align-items:flex-end}.ai-chat__message--assistant{align-self:flex-start;align-items:flex-start}.ai-chat__bubble{background:var(--bg-elevated,#1e293b);color:var(--text-primary,#f8fafc);word-wrap:break-word;border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.5}.ai-chat__message--user .ai-chat__bubble{background:var(--accent,#4f8ef7);color:#fff;border-bottom-right-radius:4px}.ai-chat__message--assistant .ai-chat__bubble{border-bottom-left-radius:4px}.ai-chat__text{white-space:pre-wrap}.ai-chat__rationale{color:var(--text-muted,#94a3b8);border-top:1px solid #94a3b833;margin-top:8px;padding-top:6px;font-size:12px}.ai-chat__errors{color:var(--error,#ef4444);margin:8px 0 0;padding-left:18px;font-size:12px}.ai-chat__proposal{background:#4f8ef714;border:1px solid #4f8ef759;border-radius:10px;width:100%;padding:12px}.ai-chat__proposal--applied{opacity:.7;background:#10b9810d;border-color:#10b98166}.ai-chat__proposal-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#94a3b8);margin-bottom:6px;font-size:12px;font-weight:600}.ai-chat__proposal-list{color:var(--text-primary,#f8fafc);margin:0 0 10px;padding-left:16px;font-size:13px}.ai-chat__proposal-actions{justify-content:flex-end;gap:8px;display:flex}.ai-chat__btn{color:var(--text-primary,#f8fafc);cursor:pointer;background:0 0;border:1px solid #94a3b866;border-radius:6px;padding:6px 14px;font-size:13px;transition:background .15s}.ai-chat__btn:hover:not(:disabled){background:#94a3b826}.ai-chat__btn:disabled{opacity:.5;cursor:not-allowed}.ai-chat__btn--primary{background:var(--accent,#4f8ef7);border-color:var(--accent,#4f8ef7);color:#fff}.ai-chat__btn--primary:hover:not(:disabled){background:#3b7ae0}.ai-chat__composer{background:var(--bg-dark,#0f172a);border-top:1px solid #94a3b833;gap:8px;padding:12px 16px;display:flex}.ai-chat__input{resize:none;background:var(--bg-elevated,#1e293b);color:var(--text-primary,#f8fafc);border:1px solid #94a3b84d;border-radius:8px;flex:1;padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.4}.ai-chat__input:focus{border-color:var(--accent,#4f8ef7);outline:none}.ai-chat__send{align-self:flex-end}.ai-chat__error-banner{color:var(--error,#ef4444);background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;padding:8px 12px;font-size:12px}.ai-chat__bubble--loading{align-items:center;gap:4px;padding:14px 16px;display:flex}.ai-chat__status-text{color:var(--text-muted,#94a3b8);margin-left:10px;font-size:12px;line-height:1.4;animation:.3s forwards ai-chat-status-fade}@keyframes ai-chat-status-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.ai-chat__dot{background:var(--text-muted,#94a3b8);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite ai-chat-dot}.ai-chat__dot:nth-child(2){animation-delay:.2s}.ai-chat__dot:nth-child(3){animation-delay:.4s}@keyframes ai-chat-dot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.builder__btn-icon--ai{font-size:16px}.ai-chat__explain{flex-direction:column;gap:10px;display:flex}.ai-chat__explain-summary{color:var(--text-primary,#f8fafc);margin-bottom:4px;font-weight:600}.ai-chat__explain-steps{flex-direction:column;gap:10px;margin:0;padding-left:20px;display:flex}.ai-chat__explain-step{padding-left:4px}.ai-chat__explain-title{color:var(--text-primary,#f8fafc);margin-bottom:2px;font-weight:600}.ai-chat__explain-desc{color:var(--text-primary,#f8fafc);margin-bottom:4px;font-size:13px}.ai-chat__explain-example{color:var(--accent,#4f8ef7);word-break:break-word;background:#94a3b81f;border-radius:4px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;display:inline-block}.builder{flex-direction:column;gap:0;min-height:100%;display:flex}.builder__header{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;flex-wrap:wrap;display:flex}.builder__header-left,.builder__header-right{align-items:center;gap:var(--spacing-sm);display:flex}.builder__title{font-size:1.1rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.builder__title-input{font-size:1.1rem;font-weight:var(--font-weight-bold);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--action-orange);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);outline:none;min-width:200px}.builder__btn-edit-name{color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;font-size:1rem;line-height:1}.builder__btn-edit-name:hover{color:var(--action-orange)}.builder__dirty{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);color:var(--color-warning);font-size:.6875rem;font-weight:var(--font-weight-medium);text-transform:uppercase;background:#ff980026}.builder__btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;font-size:.875rem}.builder__btn-icon{border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;width:34px;height:34px;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:flex}.builder__btn-icon:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary)}.builder__btn-icon:disabled{opacity:.4;cursor:not-allowed}.builder__btn-icon--active{border-color:var(--action-orange);color:var(--action-orange)}.builder__btn--back{border:1px solid var(--bg-elevated);color:var(--text-primary);background:0 0}.builder__btn--back:hover{border-color:var(--text-muted)}.builder__btn--save{background:var(--action-orange);color:#fff;font-weight:var(--font-weight-semibold)}.builder__btn--save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f9812a66}.builder__btn--save:disabled{opacity:.4;cursor:not-allowed}.builder__header-center{background:var(--bg-elevated);border-radius:var(--radius-md);align-items:center;gap:2px;padding:2px;display:flex}.builder__tab{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.8125rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none}.builder__tab:hover:not(:disabled){color:var(--text-primary)}.builder__tab--active{background:var(--bg-paper);color:var(--action-orange);box-shadow:0 1px 3px #0003}.builder__tab:disabled{opacity:.4;cursor:not-allowed}.builder__loading{padding:var(--spacing-2xl) 0;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.builder__body{flex:1;min-height:400px}.builder__canvas{background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);min-width:0;min-height:400px;padding:0;position:relative;overflow:hidden auto}.builder__grid-resize-handle{cursor:ns-resize;background:var(--bg-elevated);border-radius:0 0 var(--radius-md) var(--radius-md);opacity:.6;height:16px;transition:opacity var(--transition-fast);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}.builder__grid-resize-handle:hover{opacity:1}.builder__grid-resize-grip{color:var(--text-muted);letter-spacing:2px;font-size:14px;line-height:1}.builder__empty{min-height:inherit;color:var(--text-muted);border:2px dashed var(--bg-elevated);border-radius:var(--radius-lg);cursor:default;justify-content:center;align-items:center;font-size:.9rem;display:flex}.builder__grid{min-height:300px}.builder__widget{background:var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast);box-sizing:border-box;border:1px solid #0000;overflow:hidden}.builder__widget:hover{border-color:var(--text-muted)}.builder__widget.selected{border-color:var(--action-orange);box-shadow:0 0 0 1px var(--action-orange)}.builder__widget-placeholder{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:100%;padding:4px;display:flex;position:relative;overflow:hidden;container-type:inline-size}.builder__widget-type{text-transform:uppercase;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(.35rem,2.5cqi,3.5rem);line-height:1;overflow:hidden}.builder__widget-label{color:var(--text-primary);font-size:clamp(.4rem,3.5cqi,4.5rem);font-weight:var(--font-weight-medium);text-align:center;word-break:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:100%;line-height:1.2;display:-webkit-box;overflow:hidden}.builder__widget-remove{width:clamp(14px,4cqi,22px);height:clamp(14px,4cqi,22px);color:var(--color-error);cursor:pointer;opacity:0;transition:opacity var(--transition-fast);background:#f4433633;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(.5rem,2.5cqi,.8rem);display:flex;position:absolute;top:clamp(2px,1cqi,6px);right:clamp(2px,1cqi,6px)}.builder__widget:hover .builder__widget-remove{opacity:1}.builder__widget-remove:hover{background:#f4433666}.widget-popover{background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);padding:var(--spacing-sm);width:200px;animation:.12s ease-out popover-in;box-shadow:0 8px 24px #0006}@keyframes popover-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.widget-popover__section{flex-direction:column;gap:2px;display:flex}.widget-popover__section-title{font-size:.625rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:var(--spacing-xs) var(--spacing-sm)}.widget-popover__item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;width:100%;font-size:.8125rem;display:flex}.widget-popover__item:hover{background:var(--bg-elevated);color:var(--text-primary)}.widget-popover__icon{text-align:center;flex-shrink:0;width:20px;font-size:.875rem}.widget-popover__divider{background:var(--bg-elevated);height:1px;margin:var(--spacing-xs) 0}.builder__config-backdrop{z-index:899;position:fixed;inset:0}.builder__config-drawer{background:var(--bg-paper);border-left:1px solid var(--bg-elevated);z-index:900;width:320px;height:100vh;padding:var(--spacing-md);animation:.15s ease-out drawer-in;position:fixed;top:0;right:0;overflow-y:auto}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.config-panel{flex-direction:column;display:flex;overflow-y:auto}.config-panel__header{padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--bg-elevated);margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.config-panel__title{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);text-transform:capitalize;margin:0}.config-panel__close{border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:.875rem;display:flex}.config-panel__close:hover{border-color:var(--action-orange);color:var(--text-primary)}.config-panel__body{flex:1}.config-panel__fields{gap:var(--spacing-md);flex-direction:column;display:flex}.config-panel__field{flex-direction:column;gap:4px;display:flex}.config-panel__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.6875rem}.config-panel__field input,.config-panel__field select{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-dark);border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition-fast);box-sizing:border-box;outline:none;width:100%;font-family:inherit;font-size:.8125rem}.config-panel__field input:focus,.config-panel__field select:focus{border-color:var(--action-orange)}.config-panel__section{gap:var(--spacing-sm);flex-direction:column;display:flex}.config-panel__section-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.config-panel__add-btn{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--action-green);border-radius:var(--radius-sm);color:var(--action-green);cursor:pointer;background:0 0;font-size:.75rem}.config-panel__add-btn:hover{background:#a4c6391a}.kpi-pipeline{border:1px solid var(--bg-elevated);border-radius:var(--radius-md);padding:var(--spacing-sm);background:var(--bg-paper);flex-direction:column;align-items:stretch;gap:0;display:flex}.kpi-pipeline__term-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);justify-content:space-between;align-items:center;display:flex}.kpi-pipeline__remove-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:0 4px;font-size:1.1rem;line-height:1}.kpi-pipeline__remove-btn:hover{color:var(--color-error);background:#f443361a}.kpi-pipeline__remove-btn--small{padding:0 2px;font-size:.85rem}.kpi-pipeline__type-toggle{gap:var(--spacing-md);color:var(--text-secondary);padding:var(--spacing-xs) 0;font-size:.75rem;display:flex}.kpi-pipeline__type-toggle label{cursor:pointer;align-items:center;gap:4px;display:flex}.kpi-pipeline__stage{border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-xs);background:var(--bg-dark);flex-direction:column;display:flex}.kpi-pipeline__stage--source{border-left:3px solid var(--action-orange)}.kpi-pipeline__stage--step{border-left:3px solid var(--text-muted)}.kpi-pipeline__stage--final{border-left:3px solid var(--action-green)}.kpi-pipeline__stage-header{justify-content:space-between;align-items:center;display:flex}.kpi-pipeline__stage-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.65rem;font-weight:var(--font-weight-semibold)}.kpi-pipeline__arrow{color:var(--text-muted);opacity:.6;justify-content:center;padding:3px 0;font-size:.7rem;line-height:1;display:flex}.kpi-pipeline__expression{gap:var(--spacing-xs);flex-direction:column;display:flex}.kpi-pipeline__expression-item{align-items:center;gap:var(--spacing-xs);display:flex}.kpi-pipeline__expression-op{text-align:center;text-align-last:center;width:40px;height:28px;font-size:.9rem;font-weight:var(--font-weight-bold);background:var(--bg-elevated);border:1px solid var(--action-orange);border-radius:var(--radius-sm);color:var(--action-orange);cursor:pointer;flex-shrink:0;padding:0}.kpi-pipeline__expression-col{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.kpi-pipeline__expression-col select{flex:1;min-width:0}.kpi-pipeline__add-col{border:1px dashed var(--bg-elevated);color:var(--text-muted);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-self:flex-start;font-size:.65rem}.kpi-pipeline__add-col:hover{border-color:var(--action-orange);color:var(--action-orange);border-style:solid}.kpi-pipeline__term-operator{margin:var(--spacing-xs) 0;justify-content:center;display:flex}.kpi-pipeline__term-operator select{text-align:center;text-align-last:center;width:56px;height:32px;font-size:1.1rem;font-weight:var(--font-weight-bold);background:var(--bg-elevated);border:1px solid var(--action-orange);border-radius:var(--radius-sm);color:var(--action-orange);cursor:pointer;padding:0}.kpi-pipeline__add-term{border:1px dashed var(--bg-elevated);color:var(--text-secondary);padding:var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;margin-top:var(--spacing-xs);transition:all var(--transition-fast);background:0 0;font-size:.8125rem}.kpi-pipeline__add-term:hover{border-color:var(--action-orange);color:var(--action-orange);border-style:solid}.kpi-pipeline__add-step{border:1px dashed var(--bg-elevated);color:var(--text-muted);padding:4px var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-align:center;background:0 0;align-self:stretch;font-size:.7rem}.kpi-pipeline__add-step:hover{border-color:var(--action-orange);color:var(--action-orange);border-style:solid}.config-panel__series-row,.config-panel__metric-row{gap:var(--spacing-xs);flex-wrap:wrap;align-items:center;display:flex}.config-panel__series-block{gap:var(--spacing-xs);padding:var(--spacing-sm);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);background:var(--bg-paper);margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.config-panel__series-header{gap:var(--spacing-xs);align-items:center;display:flex}.config-panel__series-label{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-dark);border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-primary);flex:1;font-size:.75rem}.config-panel__series-mode{gap:var(--spacing-md);color:var(--text-muted);font-size:.75rem;display:flex}.config-panel__series-row select,.config-panel__series-row input,.config-panel__metric-row select,.config-panel__metric-row input[type=text]{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-dark);border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-primary);flex:1;min-width:0;font-size:.75rem}.config-panel__remove-btn{border:1px solid var(--color-error);width:22px;height:22px;color:var(--color-error);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.config-panel__remove-btn:hover{background:#f443361a}.config-panel__checkbox{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.8125rem;display:flex}.config-panel__checkbox input[type=checkbox]{appearance:none;border:1.5px solid var(--bg-elevated);background:var(--bg-dark);cursor:pointer;width:16px;min-width:16px;height:16px;transition:all var(--transition-fast);border-radius:3px;position:relative}.config-panel__checkbox input[type=checkbox]:hover{border-color:var(--action-orange)}.config-panel__checkbox input[type=checkbox]:checked{background:var(--action-orange);border-color:var(--action-orange)}.config-panel__checkbox input[type=checkbox]:checked:after{content:"";border:solid var(--bg-dark);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.config-panel__remove-widget{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);cursor:pointer;width:100%;transition:all var(--transition-fast);background:0 0;font-size:.8125rem}.config-panel__remove-widget:hover{background:#f443361a}.config-panel__default-date{gap:var(--spacing-sm);flex-direction:column;display:flex}.config-panel__default-date select{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-dark);border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-primary);box-sizing:border-box;outline:none;width:100%;font-family:inherit;font-size:.8125rem}.config-panel__default-date select:focus{border-color:var(--action-orange)}.config-panel__default-date-range{gap:var(--spacing-sm);flex-direction:column;width:100%;display:flex}.config-panel__default-date-range .ddp-field .react-datepicker__input-container input{background:var(--bg-elevated);border:1.5px solid var(--bg-elevated)}.config-panel__range-row{gap:var(--spacing-sm);display:flex}.config-panel__range-field{flex-direction:column;flex:1;gap:4px;display:flex}.config-panel__range-field input{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-dark);border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-primary);box-sizing:border-box;outline:none;width:100%;font-family:inherit;font-size:.8125rem}.config-panel__range-field input:focus{border-color:var(--action-orange)}.config-panel__filter-options{gap:var(--spacing-xs);max-height:180px;padding:var(--spacing-xs) 0;flex-direction:column;display:flex;overflow-y:auto}.config-panel__hint{color:var(--text-muted);font-size:.6875rem;font-style:italic}@media (width<=768px){.builder__config-drawer{width:100%}}:where(.preview-tab,.widget,.palette-selector,.ddp-field){--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--transition-fast:.15s ease;--shadow-lg:0 10px 25px #0006}.preview-tab{gap:var(--spacing-md);flex-direction:column;display:flex;position:relative}.preview-tab__empty{min-height:300px;color:var(--text-muted);border:2px dashed var(--bg-elevated);border-radius:var(--radius-lg);justify-content:center;align-items:center;font-size:.9rem;display:flex}.preview-tab__loading{padding:var(--spacing-2xl) 0;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.preview-tab__error{padding:var(--spacing-md);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);text-align:center;background:#f443361a;font-size:.875rem}.preview-tab__grid{background:var(--bg-dark);padding:var(--spacing-md);border-radius:var(--radius-lg)}.preview-tab__widget{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid #ffffff14;min-height:0;display:flex;overflow:hidden;container-type:size}.preview-tab__widget--control{background:var(--bg-elevated);border:1px dashed #ffffff26}.preview-tab__widget-loading{height:100%;min-height:80px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.8125rem;display:flex}.preview-tab__recalculating{bottom:var(--spacing-lg);right:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-elevated);border:1px solid var(--action-orange);border-radius:var(--radius-md);color:var(--action-orange);font-size:.8125rem;font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);z-index:50;position:fixed}.palette-selector{gap:var(--spacing-sm);flex-direction:column;display:flex}.palette-selector--disabled{opacity:.5;pointer-events:none}.palette-selector__options{gap:var(--spacing-xs);flex-direction:column;display:flex}.palette-selector__option{gap:var(--spacing-xs);padding:var(--spacing-xs);border:1.5px solid var(--bg-elevated);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast);background:0 0;flex-direction:column;display:flex}.palette-selector__option:hover:not(:disabled){border-color:var(--text-muted)}.palette-selector__option--active{border-color:var(--action-orange)}.palette-selector__bar{border-radius:3px;width:100%;height:18px;display:flex;overflow:hidden}.palette-selector__bar--theme{opacity:.85;height:12px}.palette-selector__swatch{flex:1;min-width:0}.palette-selector__label{color:var(--text-muted);text-align:left;font-size:.7rem}.palette-selector__custom{flex-direction:column;gap:6px;display:flex}.palette-selector__row{flex-direction:column;gap:4px;display:flex}.palette-selector__row-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.6rem;font-weight:var(--font-weight-semibold)}.palette-selector__row-slots{flex-wrap:wrap;gap:4px;display:flex}.palette-selector__color-input{border-radius:var(--radius-sm);cursor:pointer;width:24px;height:24px;transition:border-color var(--transition-fast);background:0 0;border:1.5px solid #ffffff40;flex-shrink:0;padding:0}.palette-selector__color-input:hover:not(:disabled){border-color:#ffffff80;border-color:var(--action-orange)}.palette-selector__color-input::-webkit-color-swatch-wrapper{padding:2px}.palette-selector__color-input::-webkit-color-swatch{border:none;border-radius:2px}.ddp-field{width:100%;min-width:0;display:block}.ddp-field .react-datepicker-wrapper,.ddp-field .react-datepicker__input-container{width:100%;display:block}.ddp-field .react-datepicker__input-container input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:1.5px solid var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-primary);box-sizing:border-box;transition:border-color var(--transition-fast);font-size:.8125rem}.ddp-field .react-datepicker__input-container input:focus{border-color:var(--action-orange);outline:none}.ddp-field .react-datepicker__input-container input::placeholder{color:var(--text-muted)}.ddp-field .react-datepicker__input-container input:disabled{opacity:.6;cursor:not-allowed}.ddp-field .react-datepicker__month{min-height:168px}.react-datepicker-popper{z-index:1100!important}.widget{padding:var(--spacing-sm);background:var(--bg-elevated);border-radius:var(--radius-md);box-sizing:border-box;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.widget--error{justify-content:center;align-items:center}.widget__error-text{color:var(--color-error);text-align:center;font-size:clamp(.45rem,2.5cqi,.85rem)}.widget-filter,.widget-palette{box-sizing:border-box;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:clamp(4px,1.5cqi,12px);min-width:0;min-height:0;padding:clamp(4px,1cqi,8px) clamp(6px,1.5cqi,12px);display:flex;overflow:hidden}.widget-variable{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;overflow:hidden}.widget-filter__label,.widget-palette__label,.widget-variable__label{color:var(--text-muted);font-size:clamp(.45rem,6cqi,3rem);font-weight:var(--font-weight-medium);flex-shrink:0}.widget-kpi{text-align:center;justify-content:center;align-items:center;gap:clamp(2px,1cqmin,10px);padding:clamp(4px,2cqmin,16px)}.widget-kpi__label{color:var(--text-muted);font-size:clamp(.45rem,min(12cqi,12cqb),6rem);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.2;overflow:hidden}.widget-kpi__value{font-size:clamp(.85rem,min(22cqi,22cqb),8rem);font-weight:var(--font-weight-bold);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;max-width:100%;line-height:1.1;overflow:hidden}.widget-kpi__trend{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(2px,.8cqmin,6px);max-width:100%;font-size:clamp(.4rem,min(8cqi,8cqb),2rem);display:flex;overflow:hidden}.widget-kpi__trend--up{color:var(--action-green)}.widget-kpi__trend--down{color:var(--color-error)}.widget-kpi__variance{font-weight:var(--font-weight-semibold);white-space:nowrap}.widget-kpi__trend-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@container (width<=180px){.widget-kpi__trend-label{display:none}}@container (height<=70px){.widget-kpi__label{display:none}}.widget-gauge{align-items:center;gap:0;overflow:hidden}.widget-gauge__label{color:var(--text-muted);font-size:clamp(.5rem,6cqi,3rem);font-weight:var(--font-weight-medium);flex-shrink:0}.widget-gauge__chart{flex:1;width:100%;min-height:0;position:relative}.widget-gauge__chart svg{width:100%;height:100%;margin-top:5%;display:block}.widget-gauge__center{flex-direction:column;justify-content:center;align-items:center;gap:2px;margin-top:25%;display:flex;position:absolute;inset:0}.widget-gauge__percent{font-size:clamp(.5rem,9cqi,4rem);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.widget-gauge__comparison{color:var(--text-muted);font-size:clamp(.4rem,3.5cqi,2rem)}.widget-gauge__badge{font-size:clamp(.35rem,3cqi,1.25rem);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.3px;padding:1px var(--spacing-xs);border-radius:var(--radius-sm);color:var(--action-green);background:#a4c63926}.widget-chart{gap:var(--spacing-xs)}.widget-chart__empty{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:clamp(.5rem,2.5cqi,.85rem);display:flex}.widget-chart__title{font-size:clamp(.5rem,2.5cqi,.85rem);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.widget-chart__container{flex:1;min-height:0;overflow:hidden}.widget-filter__date-range{flex:1;align-items:center;gap:clamp(2px,1cqi,8px);min-width:0;display:flex}.widget-filter__date-range--stacked{flex-direction:column;align-items:stretch;gap:clamp(4px,1.5cqmin,10px);width:100%;padding:clamp(2px,1cqmin,8px) 0}.widget-filter__date-range .ddp-field{flex:1;width:100%;min-width:0}.widget-filter__date-range .ddp-field .react-datepicker__input-container input,.widget-filter__select{background:var(--bg-paper);border-radius:var(--radius-sm);color:var(--text-primary);box-sizing:border-box;text-align:center;font-variant-numeric:tabular-nums;border:1px solid #ffffff1a;flex:1;width:100%;min-width:0;padding:clamp(8px,4cqmin,22px) clamp(6px,1.5cqmin,12px);font-size:clamp(.5rem,10cqmin,2rem)}.widget-filter__date-sep{color:var(--text-muted);font-size:clamp(.35rem,2.5cqi,.8rem)}.widget-filter__multi{box-sizing:border-box;flex-direction:column;flex:1;justify-content:space-around;align-items:stretch;gap:clamp(4px,1.5cqmin,14px);width:100%;min-height:0;padding:clamp(6px,2cqmin,14px) clamp(4px,2cqmin,12px);display:flex;overflow-y:auto}.widget-filter__multi::-webkit-scrollbar{width:6px}.widget-filter__multi::-webkit-scrollbar-track{background:0 0}.widget-filter__multi::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}.widget-filter__multi::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.widget-filter__multi-clear{border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);width:100%;color:var(--action-orange);font-size:clamp(.4rem,7cqmin,1rem);font-weight:var(--font-weight-semibold);text-align:center;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;flex-shrink:0;padding:clamp(3px,1cqmin,8px) clamp(8px,2.5cqmin,14px)}.widget-filter__multi-clear:hover{background-color:var(--bg-elevated);border-color:var(--action-orange)}.widget-filter__multi-option{background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);cursor:pointer;height:clamp(20px,18cqb,120px);transition:border-color var(--transition-fast), background-color var(--transition-fast);font-size:clamp(.45rem,8cqmin,1.2rem);font-weight:var(--font-weight-medium);color:var(--text-primary);box-sizing:border-box;flex-shrink:0;align-items:center;gap:clamp(6px,4cqmin,14px);padding:clamp(4px,1.5cqmin,12px) clamp(8px,2.5cqmin,14px);line-height:1;display:flex}.widget-filter__multi-option:hover{border-color:var(--text-muted);background-color:var(--bg-elevated)}.widget-filter__multi-option:has(input[type=checkbox]:checked){border-color:var(--text-muted);background-color:var(--bg-elevated)}.widget-filter__multi-option input[type=checkbox]{appearance:none;border:1.5px solid var(--text-muted);background:var(--bg-elevated);cursor:pointer;width:clamp(12px,7cqmin,22px);height:clamp(12px,7cqmin,22px);transition:border-color var(--transition-fast), background-color var(--transition-fast);border-radius:3px;flex-shrink:0;margin:0;position:relative}.widget-filter__multi-option input[type=checkbox]:hover{border-color:var(--action-orange)}.widget-filter__multi-option input[type=checkbox]:checked{background:var(--action-orange);border-color:var(--action-orange)}.widget-filter__multi-option input[type=checkbox]:checked:after{content:"";border:solid var(--bg-dark);border-width:0 2px 2px 0;width:30%;height:60%;position:absolute;top:8%;left:30%;transform:rotate(45deg)}.widget-filter__select{width:95%;max-height:45%;font-size:clamp(.4rem,5cqi,1.5rem);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-align:left;box-sizing:border-box;flex:1;min-width:0;margin-top:2%;padding:clamp(8px,4cqi,22px) clamp(6px,1.5cqi,12px)}.widget-filter>.widget-filter__select,.widget-filter__date-range--year .widget-filter__select,.widget-filter__date-range--month .widget-filter__select,.widget-filter__date-range--week .widget-filter__select{text-align:center;text-align-last:center;font-weight:var(--font-weight-semibold);color:var(--text-primary);background:var(--bg-paper);border-radius:var(--radius-sm);cursor:pointer;appearance:none;transition:border-color var(--transition-fast), background-color var(--transition-fast);box-sizing:border-box;background-image:none;border:1px solid #ffffff1a;width:100%;max-height:none;margin-top:0;padding:clamp(2px,.8cqmin,6px) clamp(6px,1.5cqmin,12px);line-height:1}.widget-filter>.widget-filter__select:hover,.widget-filter>.widget-filter__select:focus,.widget-filter__date-range--year .widget-filter__select:hover,.widget-filter__date-range--year .widget-filter__select:focus,.widget-filter__date-range--month .widget-filter__select:hover,.widget-filter__date-range--month .widget-filter__select:focus,.widget-filter__date-range--week .widget-filter__select:hover,.widget-filter__date-range--week .widget-filter__select:focus{border-color:var(--action-orange);background-color:var(--bg-elevated);outline:none}.widget-filter>.widget-filter__select option,.widget-filter__date-range--year .widget-filter__select option,.widget-filter__date-range--month .widget-filter__select option,.widget-filter__date-range--week .widget-filter__select option{background:var(--bg-paper);color:var(--text-primary);font-size:.875rem;font-weight:var(--font-weight-normal);text-align:left;padding:6px 10px}.widget-filter>.widget-filter__select{flex:0 auto;align-self:center;height:clamp(50px,22cqmin,140px);max-height:75%;margin-block:auto;font-size:clamp(.6rem,12cqmin,2.2rem)}.widget-filter__date-range--year,.widget-filter__date-range--month,.widget-filter__date-range--week{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:stretch;gap:clamp(6px,2.5cqmin,16px);width:100%;padding:clamp(6px,2cqmin,16px) clamp(4px,2cqmin,14px);display:flex}.widget-filter__date-range--year .widget-filter__select{flex:0 auto;height:clamp(50px,22cqmin,140px);font-size:clamp(.6rem,12cqmin,2.2rem)}.widget-filter__date-range--month .widget-filter__select{flex:0 auto;height:clamp(30px,10cqmin,66px);font-size:clamp(.5rem,10cqmin,1.4rem)}.widget-filter__date-range--week .widget-filter__select{flex:0 auto;height:clamp(22px,12cqmin,48px);font-size:clamp(.45rem,8cqmin,3rem)}.widget-filter__search{flex:1;align-items:center;width:100%;min-width:0;padding:clamp(2px,1cqmin,8px) 0;display:flex;position:relative}.widget-filter .widget-filter__search-field{background:var(--bg-dark);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:clamp(.55rem,10cqmin,1.8rem);font-weight:var(--font-weight-semibold);text-align:center;box-sizing:border-box;cursor:text;transition:border-color var(--transition-fast), background-color var(--transition-fast);border:1px solid #ffffff1a;padding:clamp(6px,3cqmin,18px) clamp(8px,2cqmin,14px)}.widget-filter .widget-filter__search-field::placeholder{color:var(--text-muted);font-weight:var(--font-weight-normal)}.widget-filter .widget-filter__search-field:hover,.widget-filter .widget-filter__search-field:focus{border-color:var(--action-orange);background-color:var(--bg-paper);outline:none}.widget-filter__search-panel{z-index:10000;background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);box-shadow:var(--shadow-md,0 8px 28px #00000073);flex-direction:column;display:flex;overflow:hidden}.widget-filter__search-list{flex-direction:column;gap:2px;padding:6px;display:flex;overflow-y:auto}.widget-filter__search-option{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:.85rem;font-weight:var(--font-weight-medium);text-align:left;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:8px;padding:8px 10px;display:flex}.widget-filter__search-option:hover{background-color:var(--bg-elevated)}.widget-filter__search-option.is-selected{background-color:var(--bg-elevated);border-left-color:var(--action-orange);color:var(--action-orange)}.widget-filter__search-check{width:1em;color:var(--action-orange);font-weight:var(--font-weight-semibold);flex-shrink:0}.widget-filter__search-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--action-orange);cursor:pointer;flex-shrink:0}.widget-filter__search-clear{border:none;border-bottom:1px solid var(--bg-elevated);width:100%;color:var(--action-orange);font-size:.8rem;font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border-radius:0;margin-bottom:4px;padding:8px 10px}.widget-filter__search-clear:hover{background-color:var(--bg-elevated)}.widget-filter__search-empty{color:var(--text-muted);text-align:center;padding:12px;font-size:.85rem}.widget-filter__search-list::-webkit-scrollbar{width:6px}.widget-filter__search-list::-webkit-scrollbar-track{background:0 0}.widget-filter__search-list::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}.widget-filter__search-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.widget-variable__input-wrapper{background:var(--bg-paper);border-radius:var(--radius-sm);border:1px solid #ffffff1a;align-items:center;width:90%;margin-top:2%;display:flex;overflow:hidden}.widget-variable__input{font-size:clamp(.4rem,5cqi,1.5rem);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-align:left;box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:clamp(2px,1cqi,6px) clamp(4px,1.5cqi,8px)}.widget-variable__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.widget-variable__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.widget-variable__input[type=number]{appearance:textfield}.widget-variable__input:disabled{opacity:.6;cursor:not-allowed}.widget-variable__suffix{color:var(--text-muted);white-space:nowrap;border-left:1px solid #ffffff1a;flex-shrink:0;padding:0 clamp(4px,1.5cqi,8px);font-size:clamp(.4rem,4cqi,1.25rem)}.widget-variable__lock-icon{font-size:clamp(.45rem,2.5cqi,.75rem)}.widget-variable--locked .widget-variable__input-wrapper{border-style:dashed}.widget-palette{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:clamp(2px,1cqmin,8px);padding:clamp(4px,1.5cqmin,12px);overflow:auto}.widget-palette__label{text-align:center;flex-shrink:0}.widget-palette__lock-icon{align-self:center;font-size:clamp(.45rem,2.5cqmin,.75rem)}.widget-palette--locked .palette-selector__color-input{opacity:.6;cursor:not-allowed}.widget-palette .palette-selector{flex:1;justify-content:center;gap:clamp(2px,3cqmin,28px);min-height:0}.widget-palette .palette-selector__row{gap:clamp(1px,1.2cqmin,10px);min-height:0}.widget-palette .palette-selector__row-label{font-size:clamp(.35rem,1.8cqmin,.7rem);line-height:1}.widget-palette .palette-selector__row-slots{flex-wrap:nowrap;justify-content:space-between;gap:clamp(1px,.8cqmin,6px);width:100%;min-height:0}.widget-palette .palette-selector__color-input{border:1px solid #fff3;flex:1 1 0;width:auto;min-width:0;height:clamp(8px,10cqmin,60px);min-height:0;padding:0}.widget-palette .palette-selector__color-input:hover:not(:disabled){border-color:#fff6}.dashboards-tab{max-width:100%}.dashboards-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.dashboards-header .dashboards-title{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.dashboards-header .dashboards-title:after{content:"";background:linear-gradient(90deg, var(--action-orange) 60%, var(--action-green) 100%);width:40vw;height:3px;margin-top:var(--spacing-xs);border-radius:2px;display:block}.dashboards-header .btn-create-dashboard{background:var(--action-orange);width:42px;height:42px;color:var(--bg-dark);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;font-weight:300;line-height:1;display:flex}.dashboards-header .btn-create-dashboard:hover{filter:brightness(.85);transform:scale(1.1);box-shadow:0 4px 12px #f9812a66}.dashboards-header .btn-create-dashboard:active{transform:scale(.95)}.dashboards-tab .dashboard-list{gap:var(--spacing-md);flex-direction:column;display:flex}.dashboards-tab .no-data-message{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);background:var(--bg-paper);border:2px dashed var(--bg-elevated);border-radius:var(--radius-lg);color:var(--text-secondary)}.dashboards-tab .no-data-message p{margin:var(--spacing-sm) 0}.dashboards-tab .no-data-message p:first-child{font-weight:var(--font-weight-medium);color:var(--text-primary)}@media (width<=768px){.dashboards-tab .dashboard-list{gap:var(--spacing-sm)}}@media (width<=480px){.dashboards-header .dashboards-title{font-size:1.375rem}}.presentation-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex}.presentation-row:hover{background:var(--bg-elevated);border-color:var(--action-orange);transform:translate(4px)}.presentation-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.presentation-row-name{font-size:.9375rem;font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.presentation-row-meta{gap:var(--spacing-xs);flex-wrap:wrap;align-items:center;display:flex}.presentation-row-code{color:var(--text-muted);font-family:Fira Code,monospace;font-size:.75rem}.presentation-row-sep{color:var(--text-muted);opacity:.5}.presentation-row-actions{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.btn-presentation-action{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:1rem;display:flex}.btn-presentation-action:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.btn-presentation-generate:hover:not(:disabled){color:var(--action-green);background:#a4c6391f}.btn-presentation-delete:hover:not(:disabled){color:var(--color-error);background:#f443361a}.btn-presentation-action:disabled{opacity:.4;cursor:not-allowed}.compat-report{gap:var(--spacing-md);flex-direction:column;display:flex}.compat-report__hint{color:var(--text-muted);margin:0;font-size:.875rem;font-style:italic}.compat-report__badge{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;font-weight:var(--font-weight-medium);display:inline-flex}.compat-report__badge-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.compat-report__badge-count{opacity:.85;margin-left:auto;font-size:.75rem}.compat-report__badge--success{color:#4caf50;background:#4caf501f;border:1px solid #4caf504d}.compat-report__badge--success .compat-report__badge-dot{background:#4caf50}.compat-report__badge--warning{color:#ff9800;background:#ff98001f;border:1px solid #ff98004d}.compat-report__badge--warning .compat-report__badge-dot{background:#ff9800}.compat-report__badge--error{color:#f44336;background:#f443361f;border:1px solid #f443364d}.compat-report__badge--error .compat-report__badge-dot{background:#f44336}.compat-report__section{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.8125rem}.compat-report__section--error{background:#f4433614;border-left:3px solid #f44336}.compat-report__section--warning{background:#ff980014;border-left:3px solid #ff9800}.compat-report__section-title{font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0;color:var(--text-primary)}.compat-report__list{padding-left:var(--spacing-lg);color:var(--text-secondary);margin:0;list-style:outside}.compat-report__list li{margin-bottom:2px}.presentation-modal__form{gap:var(--spacing-lg);flex-direction:column;display:flex}.presentation-modal__field{gap:var(--spacing-sm);flex-direction:column;display:flex}.presentation-modal__label{font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--text-primary)}.presentation-modal__input,.presentation-modal__select{background:var(--bg-elevated);border:2px solid var(--bg-elevated);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:var(--spacing-md);transition:border-color var(--transition-fast);outline:none;font-size:1rem}.presentation-modal__input:focus,.presentation-modal__select:focus{border-color:var(--action-orange)}.presentation-modal__hint{color:var(--text-muted);margin:0;font-size:.75rem}.presentation-modal__loading{color:var(--text-secondary);padding:var(--spacing-sm) 0;font-size:.875rem}.presentation-modal__empty{color:var(--color-warning);border-radius:var(--radius-md);padding:var(--spacing-md);background:#ff98001a;border:1px solid #ff98004d;margin:0;font-size:.875rem;line-height:1.5}.presentation-modal__footer{justify-content:flex-end;gap:var(--spacing-sm);display:flex}.presentation-modal__btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem}.presentation-modal__btn--submit{background:var(--action-orange);color:#fff;font-weight:var(--font-weight-semibold);border:none}.presentation-modal__btn--submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f9812a66}.presentation-modal__btn--submit:disabled{opacity:.4;cursor:not-allowed}.presentation-detail{gap:var(--spacing-md);flex-direction:column;display:flex}.presentation-detail__header{align-items:center;gap:var(--spacing-md);display:flex}.presentation-detail__back{color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;font-size:.875rem}.presentation-detail__back:hover{color:var(--action-orange)}.presentation-detail__title{color:var(--text-primary);flex:1;margin:0;font-size:1.5rem}.presentation-detail__btn{background:var(--action-orange);color:#fff;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:none}.presentation-detail__btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f9812a66}.presentation-detail__btn:disabled{opacity:.5;cursor:not-allowed}.presentation-detail__meta{gap:var(--spacing-lg);color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-paper);border-radius:var(--radius-md);font-size:.8125rem;display:flex}.presentation-detail__meta strong{color:var(--text-primary);margin-right:var(--spacing-xs)}.presentation-detail__section{margin:var(--spacing-md) 0 0 0;color:var(--text-primary);font-size:1rem}.presentation-detail__empty{text-align:center;padding:var(--spacing-xl);background:var(--bg-paper);border:2px dashed var(--bg-elevated);border-radius:var(--radius-lg);color:var(--text-secondary);margin:0}.presentation-detail__jobs{background:var(--bg-paper);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.presentation-detail__jobs-head,.presentation-detail__job{gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);grid-template-columns:1.4fr 1.4fr .6fr .5fr .6fr;align-items:center;font-size:.8125rem;display:grid}.presentation-detail__jobs-head{font-weight:var(--font-weight-semibold);color:var(--text-muted);background:var(--bg-elevated);text-transform:uppercase;font-size:.6875rem}.presentation-detail__job{border-top:1px solid var(--bg-elevated);color:var(--text-secondary)}.presentation-detail__job--completed{color:var(--text-primary)}.presentation-detail__job--running .presentation-detail__job-status,.presentation-detail__job--pending .presentation-detail__job-status{color:var(--action-orange)}.presentation-detail__job--failed .presentation-detail__job-status{color:#f44336}.presentation-detail__job-msg{margin-left:var(--spacing-xs);color:var(--text-muted);font-size:.75rem}.presentation-detail__download{background:var(--action-green);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:filter var(--transition-fast);border:none;padding:4px 12px;font-size:.75rem}.presentation-detail__download:hover{filter:brightness(.9)}.presentation-detail__error{color:#f44336;cursor:help;font-size:.75rem}.presentations-tab{max-width:100%}.presentations-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.presentations-header .presentations-title{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.presentations-header .presentations-title:after{content:"";background:linear-gradient(90deg, var(--action-orange) 60%, var(--action-green) 100%);width:40vw;height:3px;margin-top:var(--spacing-xs);border-radius:2px;display:block}.presentations-header .btn-create-presentation{background:var(--action-orange);width:42px;height:42px;color:var(--bg-dark);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;font-weight:300;line-height:1;display:flex}.presentations-header .btn-create-presentation:hover{filter:brightness(.85);transform:scale(1.1);box-shadow:0 4px 12px #f9812a66}.presentations-header .btn-create-presentation:active{transform:scale(.95)}.presentations-tab .presentation-list{gap:var(--spacing-md);flex-direction:column;display:flex}.presentations-tab .no-data-message{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);background:var(--bg-paper);border:2px dashed var(--bg-elevated);border-radius:var(--radius-lg);color:var(--text-secondary)}.presentations-tab .no-data-message p{margin:var(--spacing-sm) 0}.presentations-tab .no-data-message p:first-child{font-weight:var(--font-weight-medium);color:var(--text-primary)}@media (width<=768px){.presentations-tab .presentation-list{gap:var(--spacing-sm)}}@media (width<=480px){.presentations-header .presentations-title{font-size:1.375rem}}.admin-header{margin-bottom:var(--spacing-lg);align-items:center;display:flex}.admin-header .admin-header-title{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.admin-header .admin-header-title:after{content:"";background:linear-gradient(90deg, var(--action-orange) 60%, var(--action-green) 100%);width:40vw;height:3px;margin-top:var(--spacing-xs);border-radius:2px;display:block}@media (width<=480px){.admin-header .admin-header-title{font-size:1.375rem}}.pis-section{background:var(--bg-paper);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--bg-elevated);margin-bottom:var(--spacing-lg)}.pis-title{margin:0 0 var(--spacing-xs);color:var(--text-primary);font-size:1.125rem;font-weight:var(--font-weight-bold)}.pis-desc{margin:0 0 var(--spacing-lg);color:var(--text-secondary);font-size:.875rem}.pis-display{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-elevated);border-radius:var(--radius-md);display:flex}.pis-display-info{flex-direction:column;gap:2px;display:flex}.pis-project-name{font-size:.9375rem;font-weight:var(--font-weight-medium);color:var(--text-primary)}.pis-project-desc{color:var(--text-secondary);font-size:.8125rem}.pis-form{gap:var(--spacing-md);flex-direction:column;display:flex}.pis-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.pis-field label{font-size:.8125rem;font-weight:var(--font-weight-medium);color:var(--text-secondary)}.pis-field input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast);font-size:.9375rem}.pis-field input:focus{border-color:var(--action-orange);outline:none}.pis-form-actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.pis-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:.8125rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none}.pis-btn:disabled{opacity:.5;cursor:not-allowed}.pis-btn-edit{background:var(--bg-elevated);color:var(--text-primary);flex-shrink:0}.pis-btn-edit:hover,.pis-btn-save{background:var(--action-green);color:var(--bg-dark)}.pis-btn-save:hover:not(:disabled){filter:brightness(.9)}.pis-btn-cancel{background:var(--bg-elevated);color:var(--text-primary)}.pis-btn-cancel:hover{background:var(--bg-paper);border:1px solid var(--text-muted)}@media (width<=768px){.pis-display{flex-direction:column;align-items:flex-start}}.mr-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-paper);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex}.mr-row:hover{background:var(--bg-elevated);border-color:var(--action-orange);transform:translate(4px)}.mr-avatar{background:var(--bg-elevated);width:40px;height:40px;font-size:.8125rem;font-weight:var(--font-weight-bold);color:var(--action-green);text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mr-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mr-name{font-size:.9375rem;font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mr-display-name{color:var(--text-secondary);font-weight:var(--font-weight-normal)}.mr-meta{color:var(--text-muted);font-size:.75rem}.mr-badges{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.mr-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:var(--font-weight-medium);text-transform:uppercase;white-space:nowrap}.mr-badge.admin{color:var(--action-orange);background:#ff980026}.mr-badge.member{color:var(--action-green);background:#a0c43026}.mr-actions{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.mr-role-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast);font-size:.75rem}.mr-role-select:focus{border-color:var(--action-orange);outline:none}.btn-mr-action{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:1.75rem;display:flex}.btn-mr-remove:hover{color:var(--color-error);background:#f443361a}@media (width<=768px){.mr-row{padding:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap}.mr-badges{width:100%;margin-top:var(--spacing-xs);order:3}.mr-actions{order:2}}.ms-section{background:var(--bg-paper);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--bg-elevated);margin-bottom:var(--spacing-lg)}.ms-title{margin:0 0 var(--spacing-xs);color:var(--text-primary);font-size:1.125rem;font-weight:var(--font-weight-bold)}.ms-desc{margin:0 0 var(--spacing-lg);color:var(--text-secondary);font-size:.875rem}.ms-add-form{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);align-items:center;display:flex}.ms-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast);flex:1;font-size:.875rem}.ms-select:focus{border-color:var(--action-orange);outline:none}.ms-select-role{flex:none;width:120px}.ms-btn-add{padding:var(--spacing-sm) var(--spacing-lg);background:var(--action-green);color:var(--bg-dark);border-radius:var(--radius-md);font-size:.8125rem;font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);border:none}.ms-btn-add:hover:not(:disabled){filter:brightness(.9)}.ms-btn-add:disabled{opacity:.5;cursor:not-allowed}.ms-hint{color:var(--text-muted);margin-bottom:var(--spacing-lg);font-size:.875rem}.ms-loading,.ms-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:.875rem}.ms-member-list{gap:var(--spacing-sm);flex-direction:column;display:flex}@media (width<=768px){.ms-add-form{flex-direction:column}.ms-select-role{width:100%}}.admin-tab{margin:0 auto}.admin-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.superadmin-overlay{background:var(--bg-dark);z-index:1000;position:fixed;inset:0;overflow-y:auto}.superadmin-container{width:100%;max-width:1600px;padding:var(--spacing-xl) var(--spacing-lg);box-sizing:border-box;margin:0 auto}.superadmin-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.superadmin-header-top{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.superadmin-tabs{gap:var(--spacing-sm);display:flex}.superadmin-tab{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);background:0 0;font-size:.875rem}.superadmin-tab:hover{border-color:var(--action-orange);color:var(--text-primary)}.superadmin-tab.active{background:var(--action-orange);border-color:var(--action-orange);color:var(--bg-dark);font-weight:var(--font-weight-medium)}.admin-title{margin-bottom:var(--spacing-xl);color:var(--text-primary);font-size:1.75rem;font-weight:var(--font-weight-bold)}.admin-alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-weight:var(--font-weight-medium)}.admin-alert-error{color:var(--color-error);background:#f443361a;border:1px solid #f443364d}.admin-alert-success{color:#4caf50;background:#4caf501a;border:1px solid #4caf504d}.admin-section{background:var(--bg-paper);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl)}.admin-section-title{margin:0 0 var(--spacing-sm) 0;color:var(--text-primary);font-size:1.25rem;font-weight:var(--font-weight-bold)}.admin-section-desc{margin:0 0 var(--spacing-lg) 0;color:var(--text-secondary);font-size:.875rem}.admin-loading,.admin-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.admin-table-wrapper{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:700px}.admin-table th{background:var(--bg-elevated);padding:var(--spacing-md);text-align:left;font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--bg-elevated)}.admin-table td{padding:var(--spacing-md);border-bottom:1px solid var(--bg-elevated);color:var(--text-primary);font-size:.875rem}.admin-table tbody tr:hover{background:var(--bg-elevated)}.admin-row-inactive{opacity:.6}.admin-user-cell{align-items:center;gap:var(--spacing-sm);display:flex}.admin-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}.admin-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:.75rem;font-weight:var(--font-weight-medium);text-transform:uppercase;display:inline-block}.admin-badge-active{color:#4caf50;background:#4caf5026}.admin-badge-inactive{color:#9e9e9e;background:#9e9e9e26}.admin-badge-admin{color:var(--action-orange);background:#ff980026}.admin-badge-user{color:#2196f3;background:#2196f326}.admin-self-badge{color:var(--text-muted);font-size:.75rem;font-style:italic}.admin-actions-cell{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.admin-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.75rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;border:none;justify-content:center;align-items:center;display:inline-flex}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{background:var(--action-orange);color:#fff}.admin-btn-primary:hover:not(:disabled){background:#e07020}.admin-btn-success{color:#fff;background:#4caf50}.admin-btn-success:hover:not(:disabled){background:#43a047}.admin-btn-warning{color:#fff;background:#ff9800}.admin-btn-warning:hover:not(:disabled){background:#f57c00}.admin-btn-danger{background:var(--color-error);color:#fff}.admin-btn-danger:hover:not(:disabled){background:#d32f2f}.admin-btn-small{padding:var(--spacing-xs) var(--spacing-sm);font-size:.7rem}.admin-form{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}.admin-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--text-primary);transition:border-color var(--transition-normal);flex:1;font-size:.875rem}.admin-input:focus{border-color:var(--action-orange);outline:none}.admin-input::placeholder{color:var(--text-muted)}.admin-email-list{margin:0;padding:0;list-style:none}.admin-email-item{padding:var(--spacing-md);background:var(--bg-elevated);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.admin-email-item:last-child{margin-bottom:0}.admin-email-info{gap:var(--spacing-xs);flex-direction:column;display:flex}.admin-email-address{color:var(--text-primary);font-weight:var(--font-weight-medium)}.admin-email-meta{color:var(--text-muted);font-size:.75rem}.admin-form-project{flex-wrap:wrap}.admin-form-project .admin-input:first-child{flex:1;min-width:200px}.admin-form-project .admin-input:nth-child(2){flex:2;min-width:300px}.admin-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--text-primary);transition:border-color var(--transition-normal);cursor:pointer;flex:1;font-size:.875rem}.admin-select:focus{border-color:var(--action-orange);outline:none}.admin-select-small{flex:none;width:120px}.admin-command-card{justify-content:space-between;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--bg-elevated);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);display:flex}.admin-command-info{flex:1}.admin-command-title{margin:0 0 var(--spacing-xs) 0;color:var(--text-primary);font-family:Courier New,monospace;font-size:1rem;font-weight:var(--font-weight-bold)}.admin-command-desc{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.4}.admin-command-result{padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-dark);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);margin-top:var(--spacing-md)}.admin-command-result-title{color:var(--text-primary);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);font-size:.875rem}.admin-command-result-meta{gap:var(--spacing-md);color:var(--text-secondary);margin-bottom:var(--spacing-sm);flex-wrap:wrap;font-size:.8rem;display:flex}.admin-command-result-payload{padding:var(--spacing-sm);background:var(--bg-paper);border-radius:var(--radius-sm);color:var(--text-primary);white-space:pre;margin:0;font-size:.75rem;overflow-x:auto}@media (width<=768px){.admin-form{flex-direction:column}.admin-form-project .admin-input:first-child,.admin-form-project .admin-input:nth-child(2){flex:1;min-width:100%}.admin-select-small{width:100%}.admin-table{min-width:100%}.admin-table th,.admin-table td{padding:var(--spacing-sm);font-size:.75rem}.admin-actions-cell{flex-direction:column}.admin-command-card{flex-direction:column;align-items:stretch}}.activity-logs-tab{gap:var(--spacing-lg);flex-direction:column;display:flex}.logs-filters{gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-elevated);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.logs-filters .admin-select,.logs-filters .admin-input{flex:1;min-width:150px;max-width:200px}.logs-filters .admin-btn{flex:none}.logs-summary{color:var(--text-secondary);font-size:.875rem}.logs-table{font-size:.875rem}.logs-table .log-date{white-space:nowrap;color:var(--text-secondary);font-size:.8rem}.logs-table .log-action{font-weight:var(--font-weight-medium);color:var(--action-orange)}.logs-table .log-system{color:var(--text-muted);font-style:italic}.logs-table .log-resource-type{background:var(--bg-elevated);border-radius:var(--radius-sm);text-transform:uppercase;padding:2px 6px;font-size:.75rem}.logs-table .log-resource-name{color:var(--text-secondary);font-size:.8rem}.logs-table .log-description-cell{max-width:300px}.logs-table .log-description{text-overflow:ellipsis;white-space:nowrap;max-width:300px;color:var(--text-primary);font-size:.85rem;display:block;overflow:hidden}.log-badge{border-radius:var(--radius-sm);font-size:.7rem;font-weight:var(--font-weight-medium);text-transform:uppercase;padding:2px 8px;display:inline-block}.log-badge-success{color:#4caf50;background:#4caf5026}.log-badge-error{color:#f44336;background:#f4433626}.log-badge-pending{color:#ff9800;background:#ff980026}.row-expanded{background:var(--bg-elevated)}.log-details-row td{padding:0!important}.log-details{padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-dark);border-top:1px solid var(--border-color)}.log-details .log-error{color:#f44336;margin-bottom:var(--spacing-sm)}.log-details .log-meta{color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-size:.85rem}.log-details .log-json{margin-top:var(--spacing-sm)}.log-details .log-json pre{background:var(--bg-elevated);padding:var(--spacing-sm);border-radius:var(--radius-sm);max-height:200px;margin-top:var(--spacing-xs);font-size:.8rem;overflow-x:auto}.logs-pagination{justify-content:center;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-md);display:flex}.pagination-info{color:var(--text-secondary);font-size:.875rem}@media (width<=768px){.logs-filters{flex-direction:column}.logs-filters .admin-select,.logs-filters .admin-input{max-width:100%}.logs-table{font-size:.75rem}.logs-table th:nth-child(5),.logs-table td:nth-child(5){display:none}}.no-project-access{min-height:60vh;padding:var(--spacing-2xl);justify-content:center;align-items:center;display:flex}.no-project-content{text-align:center;max-width:480px}.no-project-icon{color:var(--text-muted);margin-bottom:var(--spacing-lg);opacity:.5}.no-project-title{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-md)}.no-project-description{color:var(--text-secondary);margin:0 0 var(--spacing-xl);font-size:1rem;line-height:1.6}.no-project-btn{padding:var(--spacing-md) var(--spacing-xl);background:var(--action-orange);color:#fff;border-radius:var(--radius-md);font-size:1rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);border:none;justify-content:center;align-items:center;display:inline-flex}.no-project-btn:hover:not(:disabled){background:#e07020}.no-project-btn:disabled{opacity:.5;cursor:not-allowed}.no-project-btn-secondary{color:var(--text-secondary);border:1px solid var(--bg-elevated);background:0 0}.no-project-btn-secondary:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.no-project-form{gap:var(--spacing-md);text-align:left;flex-direction:column;display:flex}.no-project-input{width:100%;padding:var(--spacing-md);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--text-primary);transition:border-color var(--transition-normal);font-size:1rem}.no-project-input:focus{border-color:var(--action-orange);outline:none}.no-project-input::placeholder{color:var(--text-muted)}.no-project-form-actions{gap:var(--spacing-md);margin-top:var(--spacing-sm);justify-content:center;display:flex}.no-project-error{color:#f44336;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);background:#f443361a;border:1px solid #f443364d;font-size:.875rem}.jobs-popup{bottom:var(--spacing-xl);right:var(--spacing-xl);z-index:1100;background:var(--bg-paper);border:1px solid var(--action-orange);border-radius:var(--radius-lg);width:320px;max-height:400px;box-shadow:var(--shadow-lg);transition:max-height var(--transition-normal);position:fixed;overflow:hidden}.jobs-popup.minimized{max-height:48px}.jobs-popup-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(135deg, var(--action-orange) 0%, #e67e22 100%);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.jobs-popup-header:hover{filter:brightness(1.05)}.jobs-popup-title{font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--bg-dark);flex:1}.jobs-popup-toggle{color:var(--bg-dark);cursor:pointer;opacity:.8;background:0 0;border:none;padding:4px;font-size:.75rem}.jobs-popup-toggle:hover{opacity:1}.jobs-popup-list{max-height:352px;padding:var(--spacing-sm);gap:var(--spacing-xs);flex-direction:column;display:flex;overflow-y:auto}.job-popup-item{background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--spacing-sm);border-left:3px solid var(--action-orange)}.job-popup-item.pending{border-left-color:var(--text-muted)}.job-popup-item.deleting{border-left-color:#ff9800}.job-popup-item-header{align-items:center;gap:var(--spacing-xs);margin-bottom:4px;display:flex}.job-type-badge{text-transform:uppercase;border-radius:var(--radius-sm);font-size:.625rem;font-weight:var(--font-weight-bold);flex-shrink:0;padding:2px 6px}.job-type-import{background:var(--action-orange);color:var(--bg-dark)}.job-type-extraction{background:var(--action-green);color:var(--bg-dark)}.job-type-delete{color:var(--bg-dark);background:#ff9800}.job-popup-item-name{font-size:.8125rem;font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.job-popup-cancel{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:4px;font-size:.875rem;line-height:1}.job-popup-cancel:hover:not(:disabled){color:var(--color-error);background:#f443361a}.job-popup-cancel:disabled{opacity:.5;cursor:not-allowed}.job-popup-item-description{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:.75rem;overflow:hidden}.job-popup-item-progress{align-items:center;gap:var(--spacing-sm);display:flex}.job-popup-progress-bar{background:var(--bg-paper);border-radius:2px;flex:1;height:4px;overflow:hidden}.job-popup-progress-fill{background:linear-gradient(90deg, var(--action-orange) 0%, var(--action-green) 100%);border-radius:2px;height:100%;transition:width .5s}.job-popup-item.pending .job-popup-progress-fill{background:var(--text-muted);animation:1.5s ease-in-out infinite indeterminate;width:100%!important}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(100%)}}.job-popup-progress-text{color:var(--text-muted);text-align:right;min-width:60px;font-size:.6875rem}@media (width<=480px){.jobs-popup{bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);width:auto}}.app{background-color:var(--bg-dark);flex-direction:column;min-height:100vh;display:flex}.tabs{background:var(--bg-paper);border-bottom:1px solid var(--bg-elevated);padding:0 var(--spacing-xl);justify-content:space-between;align-items:center;display:flex}.tabs-main{gap:var(--spacing-sm);display:flex}.tabs-admin{display:flex}.tab{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem;font-weight:var(--font-weight-medium);color:var(--text-secondary);background:0 0;border-bottom:3px solid #0000;border-radius:0}.tab:hover{color:var(--action-orange);background:var(--bg-elevated)}.tab.active{color:var(--action-orange);border-bottom-color:var(--action-orange)}.tab.tab-admin{color:var(--text-secondary)}.tab.tab-admin:hover{color:var(--action-green);background:var(--bg-elevated)}.tab.tab-admin.active{color:var(--action-green);border-bottom-color:var(--action-green)}.template-mode-banner{background:var(--action-green);color:var(--bg-dark);font-size:.875rem;font-weight:var(--font-weight-medium);text-align:center;padding:var(--spacing-sm) var(--spacing-xl)}.tab-content{padding:var(--spacing-xl) var(--spacing-2xl);background:var(--bg-dark);flex:1;overflow-y:auto}.card{background:var(--bg-paper);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.btn-primary{background-color:var(--action-orange);color:var(--bg-dark);padding:var(--spacing-sm) var(--spacing-lg);font-weight:var(--font-weight-bold)}.btn-primary:hover{background-color:#e07020}.btn-secondary{background-color:var(--bg-elevated);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-lg);font-weight:var(--font-weight-medium);border:1px solid var(--bg-elevated)}.btn-secondary:hover{background-color:var(--bg-paper);border-color:var(--action-orange)}.btn-success{background-color:var(--action-green);color:var(--bg-dark);padding:var(--spacing-sm) var(--spacing-lg);font-weight:var(--font-weight-bold)}.btn-success:hover{background-color:#8fb030}.btn-disabled{pointer-events:auto;opacity:.4!important;cursor:not-allowed!important}.btn-disabled:hover{box-shadow:none!important;border-color:inherit!important;transform:none!important}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{background-color:var(--bg-elevated);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-family:var(--font-family);transition:border-color var(--transition-fast);font-size:1rem}input:focus,select:focus,textarea:focus{border-color:var(--action-orange);outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}:root{--bg-dark:#212121;--bg-paper:#2b2b2b;--bg-elevated:#333;--text-primary:#f5f5f5;--text-secondary:#ccc;--text-muted:#999;--action-orange:#f9812a;--action-green:#a4c639;--color-success:#a4c639;--color-error:#f44336;--color-warning:#ff9800;--color-info:#42fcf9;--font-family:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0000004d;--shadow-lg:0 10px 15px #0000004d;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.3s ease;--border-color:#404040;--action-orange-alpha:#f9812a4d;--font-weight-semibold:600}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-dark);color:var(--text-primary);line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--action-orange);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--action-green)}button{font-family:var(--font-family);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-normal);border:none}button:disabled{opacity:.5;cursor:not-allowed}code{background-color:var(--bg-elevated);border-radius:var(--radius-sm);padding:.125rem .375rem;font-family:Fira Code,Consolas,monospace;font-size:.875em}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--bg-elevated)}th{font-weight:var(--font-weight-medium);color:var(--text-secondary);background-color:var(--bg-paper)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background-color:var(--action-orange);color:var(--bg-dark)}
