.vertical-timeline *{box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;padding:2em 0;position:relative}.vertical-timeline:after{content:"";clear:both;display:table}.vertical-timeline:before{content:"";background:var(--line-color);width:4px;height:100%;position:absolute;top:0;left:18px}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (width>=1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{margin-left:-2px;left:50%}}.vertical-timeline-element{margin:2em 0;position:relative}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";clear:both;display:table}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (width>=1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{border-radius:50%;width:40px;height:40px;position:absolute;top:0;left:0}.vertical-timeline-element-icon.shadow-size-small{box-shadow:0 0 0 2px #fff,inset 0 1px #00000014,0 2px 0 4px #0000000d}.vertical-timeline-element-icon.shadow-size-medium{box-shadow:0 0 0 3px #fff,inset 0 2px #00000014,0 3px 0 5px #0000000d}.vertical-timeline-element-icon.shadow-size-large{box-shadow:0 0 0 4px #fff,inset 0 2px #00000014,0 4px 0 6px #0000000d}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{width:24px;height:24px;margin-top:-12px;margin-left:-12px;display:block;position:relative;top:50%;left:50%}@media only screen and (width>=1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;margin-left:-30px;left:50%}}.vertical-timeline-element-icon{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0)}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;animation:.6s cd-bounce-1}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@-moz-keyframes cd-bounce-1{0%{opacity:0;-moz-transform:scale(.5)}60%{opacity:1;-moz-transform:scale(1.2)}to{-moz-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.2)}to{transform:scale(1)}}.vertical-timeline-element-content{background:#fff;border-radius:.25em;margin-left:60px;padding:1em;position:relative;box-shadow:0 3px #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{box-shadow:none;background:0 0}.vertical-timeline-element-content:after{content:"";clear:both;display:table}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;opacity:.7;padding:.8em 0}.vertical-timeline-element-content-arrow{content:"";border:7px solid #0000;border-right-color:#fff;width:0;height:0;position:absolute;top:16px;right:100%}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";top:16px;right:unset;border:7px solid #0000;border-left-color:#fff;width:0;height:0;position:absolute;left:100%}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{border-left:7px solid #fff;border-right:unset;left:100%}.vertical-timeline-element--no-children .vertical-timeline-element-content:before,.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow{display:none}@media only screen and (width>=768px){.vertical-timeline-element-content h2{font-size:1.25rem}.vertical-timeline-element-content p{font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:.875rem}}@media only screen and (width>=1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{width:44%;margin-left:0;padding:1.5em}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{width:100%;font-size:1rem;position:absolute;top:6px;left:124%}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{text-align:right;left:auto;right:124%}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;animation:.6s cd-bounce-2}@media only screen and (width>=1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{animation:.6s cd-bounce-2-inverse}}@media only screen and (width<=1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;animation:.6s cd-bounce-2-inverse}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translate(-100px)}60%{opacity:1;-webkit-transform:translate(20px)}to{-webkit-transform:translate(0)}}@-moz-keyframes cd-bounce-2{0%{opacity:0;-moz-transform:translate(-100px)}60%{opacity:1;-moz-transform:translate(20px)}to{-moz-transform:translate(0)}}@keyframes cd-bounce-2{0%{opacity:0;transform:translate(-100px)}60%{opacity:1;transform:translate(20px)}to{transform:translate(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translate(100px)}60%{opacity:1;-webkit-transform:translate(-20px)}to{-webkit-transform:translate(0)}}@-moz-keyframes cd-bounce-2-inverse{0%{opacity:0;-moz-transform:translate(100px)}60%{opacity:1;-moz-transform:translate(-20px)}to{-moz-transform:translate(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;transform:translate(100px)}60%{opacity:1;transform:translate(-20px)}to{transform:translate(0)}}.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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#152033;--surface:#fafcfeeb;--surface-strong:#fafcfe;--border:#10263f1f;--border-strong:#10263f33;--accent:#0d5cab;--accent-dark:#093d73;--accent-soft:#0d5cab1a;--text-muted:#556277;--danger:#c2362f;--success:#1e7a42;--shadow:0 24px 60px #0e20341f;--viz-surface:var(--surface-strong);--viz-text-primary:#152033;--viz-text-secondary:var(--text-muted);--viz-grid:var(--border);--viz-baseline:var(--border-strong);--viz-series-1:#2a78d6;--viz-series-2:#eb6834;--viz-series-3:#1baf7a;--viz-series-4:#eda100;--viz-series-5:#e87ba4;--viz-series-6:#008300;--viz-series-7:#4a3aa7;--viz-series-8:#e34948;--viz-series-1-soft:#cde2fb;--viz-status-good:#0ca30c;--viz-status-warning:#fab219;--viz-status-serious:#ec835a;--viz-status-critical:#d03b3b;background:radial-gradient(circle at 0 0,#26619c2e,#0000 32%),linear-gradient(160deg,#f4f7fb 0%,#dfe8f2 100%);font-family:IBM Plex Sans,Segoe UI,sans-serif;font-size:15px;font-weight:400;line-height:1.45}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e7eef8;--surface:#192638f0;--surface-strong:#192638;--border:#cadaee29;--border-strong:#cadaee4d;--accent:#65b7f0;--accent-dark:#abd9fb;--accent-soft:#65b7f033;--text-muted:#aebdd0;--danger:#ff857d;--success:#6bc891;--shadow:0 24px 60px #00000057;--viz-surface:var(--surface-strong);--viz-text-primary:#e7eef8;--viz-text-secondary:var(--text-muted);--viz-grid:var(--border);--viz-baseline:var(--border-strong);--viz-series-1:#3987e5;--viz-series-2:#d95926;--viz-series-3:#199e70;--viz-series-4:#c98500;--viz-series-5:#d55181;--viz-series-6:#008300;--viz-series-7:#9085e9;--viz-series-8:#e66767;--viz-series-1-soft:#3987e538;--viz-status-good:#0ca30c;--viz-status-warning:#fab219;--viz-status-serious:#ec835a;--viz-status-critical:#d03b3b;background:radial-gradient(circle at 0 0,#276db333,#0000 32%),linear-gradient(160deg,#101a28 0%,#172435 100%)}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.auth-layout,.page-state{place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-card,.content-card,.hero-panel,.info-panel,.selection-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-card{border-radius:28px;width:min(100%,480px);padding:2rem}.login-logo-container{background:#fff;border-radius:14px;justify-content:center;width:fit-content;margin:0 auto 1.75rem;padding:.35rem;display:flex}.login-logo{width:100%;max-width:13rem;height:auto;display:block}.login-title{text-align:center;margin:0}.supporting-text{color:var(--text-muted)}.form-grid{gap:1rem;margin-top:1.5rem;display:grid}.form-grid label{gap:.35rem;font-weight:500;display:grid}.form-grid input{border:1px solid var(--border-strong);background:var(--surface-strong);width:100%;color:inherit;border-radius:10px;padding:.55rem .75rem;font-weight:400;line-height:1.3}.form-grid input[aria-invalid=true],.form-grid select[aria-invalid=true]{border-color:var(--danger)}.form-grid select,.form-grid textarea,.filter-panel input,.filter-panel select,.filter-panel textarea,.member-add select{border:1px solid var(--border-strong);background:var(--surface-strong);width:100%;color:inherit;border-radius:10px;padding:.55rem .75rem;font-weight:400;line-height:1.3}.form-grid select,.filter-panel select,.member-add select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23152033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem;transition:border-color .15s,box-shadow .15s}.member-add select:hover{border-color:var(--accent)}.member-add select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.member-add select:disabled{cursor:not-allowed;opacity:.6}:root[data-theme=dark] .form-grid select,:root[data-theme=dark] .filter-panel select,:root[data-theme=dark] .member-add select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e7eef8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.member-add select{flex:1;width:auto;min-width:0}.archive-state-filter{align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.list-filter-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.archive-state-filter select{appearance:none;border:1px solid var(--border-strong);background:var(--surface-strong) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23152033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center;color:inherit;cursor:pointer;border-radius:10px;padding:.55rem 2.5rem .55rem .75rem;line-height:1.3;transition:border-color .15s,box-shadow .15s}.archive-state-filter select:hover{border-color:var(--accent)}.archive-state-filter select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}:root[data-theme=dark] .archive-state-filter select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e7eef8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.project-switcher{appearance:none;border:1px solid var(--border-strong);background:var(--surface-strong) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23152033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center;color:inherit;cursor:pointer;border-radius:10px;max-width:18rem;padding:.55rem 2.5rem .55rem .75rem;line-height:1.3;transition:border-color .15s,box-shadow .15s}.project-switcher:hover{border-color:var(--accent)}.project-switcher:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}:root[data-theme=dark] .project-switcher{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e7eef8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.form-grid textarea{resize:vertical;min-height:5.5rem}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.date-picker-control{width:100%;position:relative}.date-picker-control input{padding-right:2.5rem}.date-picker-icon{pointer-events:none;fill:none;width:1rem;height:1rem;stroke:var(--text-muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.react-datepicker-popper{z-index:1100}.react-datepicker{border-color:var(--border-strong);border-radius:12px;font-family:inherit}.react-datepicker__header{border-bottom-color:var(--border);background:#f5f8fc}.react-datepicker__day--selected,.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__time-list-item--selected{background-color:var(--accent)!important}.react-datepicker__day.calendar-weekend:not(.react-datepicker__day--selected):not(.react-datepicker__day--in-range):not(.react-datepicker__day--in-selecting-range){color:#be123c;background:#fff1f2;border-radius:6px}.react-datepicker__day.calendar-weekend:hover{background:#ffe4e6}.form-grid input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.password-input-control{position:relative}.password-input-control input{padding-right:3rem}.password-visibility-toggle{color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;display:inline-flex;position:absolute;top:50%;right:.15rem;transform:translateY(-50%)}.password-visibility-toggle:hover{color:var(--accent-dark)}.password-visibility-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:8px}.password-visibility-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.1rem;height:1.1rem}.primary-button,.secondary-button,.inline-button{border:none;border-radius:999px;padding:.55rem .9rem;font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s}.primary-button{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);color:#fff;box-shadow:0 6px 16px #0d5cab33}.primary-button--danger{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);box-shadow:0 6px 16px #dc262640}.confirm-dialog{max-width:26rem}.confirm-dialog h2{margin:0 0 .5rem}.secondary-button{background:var(--surface-strong);color:var(--accent-dark);border:1px solid var(--border-strong)}.inline-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button-with-icon{align-items:center;gap:.4rem;display:inline-flex}.button-with-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:1rem;height:1rem}.action-button,.project-action-button{color:#fff;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .9rem;font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.action-button svg,.project-action-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1rem;height:1rem}.action-button:hover,.project-action-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0e203429}.action-button--back,.project-action-button--back{color:#24364a;background:#eef3f8;border-color:#c9d3df}.project-action-button--tasks{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 6px 16px #2563eb38}.gantt-chart{border:1px solid var(--border-color,#d9e1ec);--gantt-header-height:58px;border-radius:12px;grid-template-columns:minmax(420px,500px) minmax(0,1fr);display:grid;overflow:hidden}.gantt-frozen-pane{background:var(--surface-strong);border-right:1px solid var(--border-color,#d9e1ec);z-index:5;min-width:0;position:relative}.gantt-frozen-header,.gantt-calendar-header{border-bottom:1px solid var(--border-color,#d9e1ec);block-size:var(--gantt-header-height);background:#f7fafc;padding:.55rem 0;font-size:.8rem;font-weight:700}.gantt-frozen-header{align-items:center;padding-left:.75rem;display:flex}.gantt-calendar-scroll{min-width:0;overflow-x:auto}.gantt-calendar-content,.gantt-calendar-body{position:relative}.gantt-calendar-header,.gantt-calendar-range{gap:.25rem;display:grid}.gantt-month-labels{border-bottom:1px solid var(--border-color,#d9e1ec);color:#334155;text-align:center;padding-bottom:.25rem;font-size:.75rem;display:grid}.gantt-month-labels span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-day-labels{text-align:center;color:#64748b;display:grid}.gantt-day-label--weekend{color:#be123c}.gantt-day-label--today{color:#fff;background:#0d5cab;border-radius:999px}.gantt-row--child{padding-left:2rem}.gantt-task-label{block-size:var(--gantt-row-height);border-bottom:1px solid var(--border-color,#d9e1ec);flex-wrap:wrap;flex:none;align-content:center;align-items:center;gap:.25rem .45rem;padding:.65rem .75rem;display:flex;overflow:visible}.gantt-group-label{border-bottom:1px solid var(--border-color,#d9e1ec);align-items:center;gap:.45rem;height:3rem;padding-right:.65rem;display:flex}.gantt-group-label--deliverable{color:var(--accent-dark);background:#0d5cab1a}.gantt-group-label--phase{background:#0d5cab0b}.gantt-group-label>strong,.gantt-milestone-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gantt-expand-button,.gantt-row-spacer{color:inherit;font:inherit;background:0 0;border:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;display:inline-flex}.gantt-expand-button{border-radius:.25rem;font-size:1rem}.gantt-expand-button:hover,.gantt-expand-button:focus-visible{background:var(--accent-soft);outline:0}.gantt-derived-dates{color:var(--text-muted);white-space:nowrap;align-items:baseline;gap:.2rem;margin-left:auto;font-size:.73rem;display:inline-flex}.gantt-derived-dates b{color:var(--accent);padding:0 .12rem;font-weight:700}.gantt-rollup-progress{text-align:center;z-index:0;background:#0d5cab24;border-radius:999px;min-width:4.6rem;padding:.15rem .4rem;font-size:.72rem;position:relative;overflow:hidden}.gantt-rollup-progress i{background:var(--accent);opacity:.28;z-index:-1;position:absolute;inset:0 auto 0 0}.gantt-milestone-name{color:#6d28d9;font-weight:700}.gantt-milestone-date{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.73rem}.gantt-milestone-status{text-transform:uppercase;border-radius:999px;padding:.18rem .48rem;font-size:.67rem;font-weight:700}.gantt-milestone-status--completed{color:#166534;background:#dcfce7}.gantt-milestone-status--pending{color:#6d28d9;background:#ede9fe}.gantt-milestone-status--overdue{color:#b91c1c;background:#fee2e2}.gantt-group-timeline{background:repeating-linear-gradient(90deg, transparent 0, transparent calc(100% / var(--gantt-days) - 1px), #edf2f7 calc(100% / var(--gantt-days) - 1px), #edf2f7 calc(100% / var(--gantt-days)));border-bottom:1px solid var(--border-color,#d9e1ec);grid-template-columns:repeat(var(--gantt-days), minmax(30px, 1fr));align-items:center;block-size:3rem;display:grid;position:relative}.gantt-group-bar{z-index:3;border-radius:999px;align-self:center;height:.6rem;margin:0 .1rem;position:relative}.gantt-group-bar--deliverable{background:#0d5cab;box-shadow:inset 0 0 0 1px #ffffff52}.gantt-group-bar--phase{background:#60a5fa}.gantt-milestone-calendar-cell{z-index:7;place-items:center;display:grid;position:relative}.gantt-milestone-timeline .gantt-milestone-marker{z-index:7;place-self:center;width:1rem;height:1rem;margin:0;display:block}.gantt-task-label small{color:#64748b;width:100%}.gantt-task-label>strong,.gantt-task-title-button{text-overflow:ellipsis;white-space:nowrap;flex:10rem;min-width:0;overflow:hidden}.gantt-task-title-button{appearance:none;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;margin:0;padding:0;font-weight:700}.gantt-task-title-button:hover,.gantt-task-title-button:focus-visible{color:var(--primary-color,#2563eb);text-decoration:underline}.gantt-overdue-flag{color:#dc2626;flex:none;font-size:1rem;font-weight:700;line-height:1}.gantt-status-icon{z-index:1;border:2px solid #fff;border-radius:50%;width:.9rem;height:.9rem;position:relative;box-shadow:0 0 0 1px #0f172a2e}.gantt-status-icon:hover,.gantt-status-icon:focus-visible{z-index:6}.gantt-status-icon:after{color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:nowrap;z-index:10;background:#152033;border:1px solid #ffffff29;border-radius:.45rem;padding:.45rem .6rem;font-size:.75rem;font-weight:600;line-height:1.2;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%,.25rem);box-shadow:0 8px 20px #0a18283d}.gantt-status-icon:hover:after,.gantt-status-icon:focus-visible:after{opacity:1;transform:translate(-50%)}.gantt-status-icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dependency-picker{border:0;min-inline-size:0;margin:0;padding:0;position:relative}.dependency-picker legend{font:inherit;margin-bottom:.35rem;padding:0;font-weight:600}.dependency-picker__control{border:1px solid var(--border-color,#cbd5e1);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:2.6rem;padding:.35rem .5rem;display:flex}.dependency-picker__control:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.dependency-picker__control input{box-shadow:none;border:0;outline:0;flex:180px;min-width:150px;padding:.25rem}.dependency-picker__tag{color:#1e3a8a;background:#eff6ff;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .25rem .18rem .55rem;font-size:.86rem;display:inline-flex}.dependency-picker__tag button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 .2rem;font-size:1.05rem;line-height:1}.dependency-picker__options{border:1px solid var(--border-color,#cbd5e1);z-index:3;background:#fff;border-radius:8px;width:min(100%,520px);max-height:12rem;margin:.25rem 0 0;padding:.25rem;list-style:none;position:absolute;overflow-y:auto;box-shadow:0 8px 18px #0f172a1f}.dependency-picker__options li button{color:#1e293b;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:5px;width:100%;padding:.45rem .55rem;display:block}.dependency-picker__options li button:hover,.dependency-picker__options li button:focus-visible{background:#eff6ff;outline:0}.dependency-picker>small{color:#475569;margin-top:.3rem;display:block}.gantt-timeline{background:repeating-linear-gradient(90deg, transparent 0, transparent calc(100% / var(--gantt-days) - 1px), #edf2f7 calc(100% / var(--gantt-days) - 1px), #edf2f7 calc(100% / var(--gantt-days)));block-size:var(--gantt-row-height);border-bottom:1px solid var(--border-color,#d9e1ec);grid-template-columns:repeat(var(--gantt-days), minmax(30px, 1fr));flex:none;align-items:center;padding:.5rem 0;display:grid;position:relative}.gantt-weekend-columns{pointer-events:none;z-index:1;display:grid;position:absolute;inset:0}.gantt-weekend-column{background:#fb71851f}.gantt-today-column{pointer-events:none;z-index:5;display:grid;position:absolute;inset:0}.gantt-today-column span{background:#0d5cab;justify-self:center;width:2px;box-shadow:0 0 0 1px #ffffff4d}.gantt-milestone-row{pointer-events:none;z-index:6;display:grid;position:absolute;inset:0}.gantt-milestone-marker{pointer-events:auto;place-self:start center;width:.85rem;height:.85rem;margin-top:.3rem;transform:rotate(45deg)}.gantt-milestone-marker--planned{background:#7c3aed;box-shadow:0 0 0 1px #fff}.gantt-milestone-marker--achieved{background:#15803d;box-shadow:0 0 0 1px #fff}.gantt-milestone-marker--overdue{background:#c2362f;box-shadow:0 0 0 1px #fff}.gantt-phase-badge{color:#3730a3;background:#eef2ff;border-radius:.35rem;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.gantt-bar--readonly,.gantt-timeline--readonly .gantt-bar--readonly{cursor:default}.planning-tree{gap:.5rem;margin-top:.75rem;display:grid}.planning-node{border:1px solid var(--border);background:var(--surface-strong);border-radius:12px;overflow:hidden}.planning-node--archived{opacity:.72}.planning-node__header{flex-wrap:wrap;align-items:center;gap:.6rem;padding:.4rem .7rem;display:flex}.planning-node__title{align-items:baseline;gap:.4rem;min-width:0;display:flex}.planning-node__title h4{overflow-wrap:anywhere;margin:0;font-size:.9rem}.planning-node__kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dark);font-size:.75rem;font-weight:700}.planning-node--phase .planning-node__kicker{color:#3730a3}.planning-node__progress{color:var(--text-muted);align-items:center;gap:.45rem;font-size:.75rem;display:flex}.planning-node__progress .progress-track{width:4rem}.planning-node__progress span{white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.planning-node__actions{align-items:center;gap:.4rem;margin-left:auto;display:flex}.planning-node__actions .action-button,.planning-inline-form .inline-text-button,.planning-inline-form .primary-button{gap:.3rem;padding:.3rem .65rem;font-size:.75rem}.planning-node__actions .action-button svg,.planning-inline-form .inline-text-button svg,.planning-inline-form .primary-button svg{width:.8rem;height:.8rem}.planning-node__body{gap:.4rem;padding:0 .7rem .5rem;display:grid}.planning-phase-list{border-left:2px solid var(--border);gap:.4rem;padding-left:.85rem;display:grid}.planning-node--phase{background:var(--surface)}.planning-inline-form{align-items:center;gap:.5rem;padding:0 .7rem .6rem;display:flex}.planning-inline-form--top{border:none;border-top:1px dashed var(--border);background:0 0;margin-top:.3rem;padding:.4rem .2rem .2rem}.planning-inline-form input{border:1px solid var(--accent);background:var(--accent-soft);min-width:0;color:inherit;border-radius:8px;flex:1;padding:.35rem .6rem;font-size:.8rem;font-weight:400;line-height:1.3}.planning-inline-form input::placeholder{color:var(--text-muted);opacity:1}.planning-inline-form .inline-text-button{box-shadow:none;color:var(--accent-dark);border:1px solid var(--accent-soft);background:0 0}.planning-inline-form .inline-text-button:hover{background:var(--accent-soft);box-shadow:none;transform:none}.planning-inline-form input:focus-visible{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.planning-milestone-scope{color:var(--text-muted);font-size:.82rem}.planning-view-tabs{margin:0}.filter-panel.planning-milestone-form{grid-template-columns:minmax(11rem,1.6fr) minmax(9rem,1fr) minmax(10rem,1fr) minmax(10rem,1fr) max-content;margin-bottom:1rem}.planning-milestone-form .primary-button{white-space:nowrap;align-self:end}.planning-view-count{background:var(--accent-soft);border-radius:999px;justify-content:center;align-items:center;min-width:1.4rem;padding:.05rem .35rem;font-size:.7rem;display:inline-flex}@media (width<=960px){.filter-panel.planning-milestone-form{grid-template-columns:repeat(2,minmax(0,1fr))}}.gantt-dependency-links{pointer-events:none;z-index:4;position:absolute;top:0;left:0}.gantt-dependency-links path{fill:none;stroke:#4f46e5;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.gantt-bar{color:#fff;cursor:grab;text-overflow:ellipsis;white-space:nowrap;z-index:3;background:#2563eb;border-radius:.35rem;min-height:1.75rem;padding:.25rem .45rem;position:relative;overflow:hidden}.gantt-bar:active{cursor:grabbing}.gantt-unscheduled{color:#64748b;z-index:2;grid-column:1/-1;padding-left:.75rem;font-size:.85rem;position:relative}.blocked-indicator{color:#92400e;background:#fef3c7;border-radius:999px;padding:.15rem .45rem;font-size:.75rem}.gantt-date-inputs{align-items:center;gap:.4rem;width:calc(100% - 1.7rem);margin-left:1.7rem;display:flex}.gantt-date-inputs .date-picker-control{flex:0 118px;min-width:0}.gantt-date-separator{color:var(--text-muted);font-weight:700}.gantt-date-inputs .date-picker-control input{box-shadow:none;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:7px;width:100%;max-width:none;min-height:2rem;padding:.4rem 2rem .4rem .55rem;font-size:.8rem;font-weight:500;display:block}.gantt-date-inputs .date-picker-control input:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 3px #2563eb1f}.gantt-date-inputs .date-picker-icon{stroke:#64748b;width:.9rem;right:.55rem}.gantt-save-schedule{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:50%;justify-content:center;align-self:end;align-items:center;width:2rem;height:2rem;padding:0;transition:transform .16s,background .16s;display:inline-flex;box-shadow:0 3px 8px #2563eb3d}.gantt-save-schedule:hover{background:#1d4ed8;transform:translateY(-1px)}.gantt-save-schedule:focus-visible{outline-offset:2px;outline:3px solid #2563eb40}.gantt-save-schedule svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1rem;height:1rem}@media (width<=720px){.gantt-chart{grid-template-columns:300px minmax(280px,1fr)}}.action-button--archive,.project-action-button--archive{background:#c2362f}.action-button--delete{background:linear-gradient(135deg,#d84942 0%,#b42318 100%);box-shadow:0 6px 16px #b4231833}.icon-button,.table-icon-button{border-radius:50%;justify-content:center;width:2.35rem;min-width:2.35rem;height:2.35rem;padding:0;position:relative}.icon-button:before,.icon-button:after,.table-icon-button:before,.table-icon-button:after{z-index:10;opacity:0;pointer-events:none;transition:opacity .14s,transform .14s;position:absolute;left:50%}.icon-button:before,.table-icon-button:before{content:"";background:#152033;width:.55rem;height:.55rem;bottom:calc(100% + .25rem);transform:translate(-50%,.25rem)rotate(45deg)}.icon-button:after,.table-icon-button:after{color:#fff;content:attr(data-tooltip);white-space:nowrap;background:#152033;border:1px solid #ffffff29;border-radius:.45rem;padding:.45rem .6rem;font-size:.75rem;font-weight:600;line-height:1.2;bottom:calc(100% + .5rem);transform:translate(-50%,.25rem);box-shadow:0 8px 20px #0a18283d}.icon-button:hover:before,.icon-button:hover:after,.icon-button:focus-visible:before,.icon-button:focus-visible:after,.table-icon-button:hover:before,.table-icon-button:hover:after,.table-icon-button:focus-visible:before,.table-icon-button:focus-visible:after{opacity:1;transform:translate(-50%)rotate(45deg)}.icon-button:hover:after,.icon-button:focus-visible:after,.table-icon-button:hover:after,.table-icon-button:focus-visible:after{transform:translate(-50%)}.action-button--reinstate,.project-action-button--reinstate{background:var(--success)}.action-button--edit,.project-action-button--edit{color:#2f2500;background:linear-gradient(135deg,#f5c542 0%,#d99b00 100%);box-shadow:0 6px 16px #d99b0038}.modal-close-button{color:#fff;background:#c2362f;border:1px solid #b42318;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .9rem;font-size:.875rem;font-weight:500;line-height:1.25;display:inline-flex}.modal-close-button:hover{background:#9f2924}.modal-close-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:1rem;height:1rem}.primary-button:hover,.secondary-button:hover,.selection-card:hover{transform:translateY(-1px)}.auth-links{text-align:center;margin-top:1rem}.password-recovery-link{color:var(--accent-dark);align-items:center;gap:.45rem;padding:.55rem .8rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .16s,color .16s,transform .16s;display:inline-flex}.password-recovery-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1rem;height:1rem}.password-recovery-link:hover,.password-recovery-link:focus-visible{background:var(--accent-soft);color:var(--accent);border-radius:999px;outline:none;transform:translateY(-1px)}.form-error{color:var(--danger);margin:0}.success-message{color:var(--success)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-dark);margin:0 0 .35rem;font-size:.78rem}.app-shell{grid-template-columns:300px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f3f7fb;background:#0b1b2ceb;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.brand{justify-content:center;align-items:center;display:flex}.brand-logo-link{background:#fff;border-radius:14px;padding:.35rem;display:block}.brand-mark{object-fit:contain;width:10.5rem;height:auto;display:block}.sidebar-nav{gap:.15rem;display:grid}.sidebar-nav a{color:#f3f7fbb8;border-radius:10px;align-items:center;gap:.7rem;padding:.55rem .75rem;font-size:.92rem;text-decoration:none;display:flex}.sidebar-nav a:hover{color:#f3f7fbeb;background:#ffffff0f}.sidebar-nav a.active{color:#fff;background:#ffffff24}.sidebar-nav a svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;opacity:.85;flex-shrink:0;width:1.1rem;height:1.1rem}.sidebar-nav-group{gap:.15rem;display:grid}.sidebar-nav-group-toggle{color:#f3f7fbb8;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:.7rem;padding:.55rem .75rem;font-size:.92rem;display:flex}.sidebar-nav-group-toggle:hover{color:#f3f7fbeb;background:#ffffff0f}.sidebar-nav-group-toggle.active{color:#fff;background:#ffffff24}.sidebar-nav-group-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;opacity:.85;flex-shrink:0;width:1.1rem;height:1.1rem}.sidebar-nav-group-toggle span:first-of-type{flex:1}.sidebar-nav-group-chevron-wrap{transition:transform .15s;display:inline-flex}.sidebar-nav-group-chevron-wrap svg{opacity:.7;width:.85rem;height:.85rem}.sidebar-nav-group-chevron-wrap--open{transform:rotate(90deg)}.sidebar-subnav{border-left:1px solid #ffffff1a;gap:.1rem;margin:.1rem 0 .3rem 1.2rem;padding-left:1.85rem;display:grid}.sidebar-subnav a{color:#f3f7fb9e;border-radius:8px;padding:.42rem .75rem;font-size:.87rem;text-decoration:none;display:block}.sidebar-subnav a:hover{color:#f3f7fbeb;background:#ffffff0f}.sidebar-subnav a.active{color:#fff;background:#ffffff24;font-weight:600}.role-pill,.context-chip{background:#0d5cab24;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .7rem;display:inline-flex}.org-switcher{position:relative}.org-switcher--static,.org-switcher__trigger{width:100%;color:inherit;font:inherit;text-align:left;background:#ffffff14;border:1px solid #0000;border-radius:16px;align-items:center;gap:.6rem;padding:.7rem .8rem;display:flex}.org-switcher__trigger{cursor:pointer}.org-switcher__trigger:hover{background:#ffffff24}.org-switcher__trigger:focus-visible{outline-offset:2px;outline:2px solid #65b7f0}.org-switcher__trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;flex-shrink:0;width:1rem;height:1rem;margin-left:auto}.org-switcher__code{letter-spacing:.04em;background:#ffffff24;border-radius:999px;flex-shrink:0;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.org-switcher__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.org-switcher__panel{z-index:20;background:#16233a;border:1px solid #ffffff24;border-radius:16px;margin:0;padding:.4rem;list-style:none;position:absolute;top:calc(100% + .4rem);left:0;right:0;box-shadow:0 12px 28px #040c1866}.org-switcher__option{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:flex-start;gap:.6rem;padding:.55rem .6rem;display:flex}.org-switcher__option:hover{background:#ffffff1a}[aria-selected=true] .org-switcher__option{background:#65b7f029}.org-switcher__option-code{background:#ffffff24;border-radius:999px;flex-shrink:0;margin-top:.15rem;padding:.15rem .45rem;font-size:.68rem;font-weight:700}.org-switcher__option-body{gap:.15rem;display:grid}.org-switcher__option-body small{color:#f3f7fbad}.org-switcher__create-item{border-top:1px solid #ffffff24;margin-top:.3rem;padding-top:.3rem}.org-switcher__create-button{color:#65b7f0;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:.6rem;padding:.55rem .6rem;font-weight:600;display:flex}.org-switcher__create-button:hover{background:#65b7f024}.org-switcher__create-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;flex-shrink:0;width:1rem;height:1rem}.profile-menu{position:relative}.profile-menu__trigger{background:var(--surface-strong);border:1px solid var(--border);color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:999px;align-items:center;gap:.6rem;padding:.35rem .7rem .35rem .35rem;display:flex}.profile-menu__trigger:hover{background:var(--accent-soft);border-color:var(--border-strong)}.profile-menu__trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-menu__trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;opacity:.7;flex-shrink:0;width:1rem;height:1rem}.profile-menu__avatar{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;place-items:center;width:2.2rem;height:2.2rem;font-size:.8rem;font-weight:700;display:grid}.profile-menu__name{flex-direction:column;line-height:1.25;display:none}.profile-menu__name small{color:var(--text-muted);font-weight:500}@media (width>=720px){.profile-menu__name{display:flex}}.profile-menu__panel{z-index:30;background:var(--surface-strong);border:1px solid var(--border-strong);width:260px;box-shadow:var(--shadow);border-radius:16px;gap:.6rem;padding:.6rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.profile-menu__identity{padding:.6rem .6rem .2rem}.profile-menu__identity p{color:var(--text-muted);word-break:break-word;margin:.25rem 0 .6rem}.profile-menu__signout{border:1px solid var(--border);width:100%;color:var(--danger);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:12px;padding:.6rem .7rem;font-weight:600}.profile-menu__signout:hover{background:var(--accent-soft)}.main-content{flex-direction:column;min-width:0;display:flex}.topbar{z-index:15;background:var(--surface-strong);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0;justify-content:flex-end;align-items:center;gap:1rem;padding:1.1rem 2rem;display:flex;position:sticky;top:0}.topbar-actions{align-items:center;gap:.75rem;display:flex}.support-mode-banner{color:#92400e;background:#d9770629;border:1px solid #d9770673;border-radius:999px;flex:1;align-items:center;gap:.65rem;padding:.45rem .9rem;font-size:.85rem;display:flex}.support-mode-banner__label{text-transform:uppercase;letter-spacing:.04em;color:#fff;background:#d97706;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.support-mode-banner__org{font-weight:600}.support-mode-banner__meta{color:#92400ecc;margin-right:auto;font-size:.78rem}:root[data-theme=dark] .support-mode-banner{color:#fde68a;background:#f59e0b2e;border-color:#f59e0b73}:root[data-theme=dark] .support-mode-banner__meta{color:#fde68abf}.main-content-scroll{flex:1;min-height:0;padding:2rem}.mobile-nav-toggle,.mobile-sidebar-backdrop{display:none}.native-app-gate{background:var(--surface);text-align:center;align-content:center;justify-items:center;gap:2rem;min-height:100dvh;padding:2rem;display:grid}.native-app-gate__logo{background:#fff;border-radius:16px;max-width:12rem;padding:.45rem}.native-app-gate__content{gap:.75rem;max-width:25rem;display:grid}.native-app-gate__content h1,.native-app-gate__content p{margin:0}.native-app-gate__content>p:last-of-type{color:var(--text-muted)}.native-app-gate__links{gap:.7rem;margin-top:.75rem;display:grid}.native-app-gate__links a{background:var(--accent);color:#fff;border-radius:999px;padding:.75rem 1rem;font-weight:700;text-decoration:none}@media (width>=961px){html,body,#root{height:100%;overflow:hidden}.app-shell{height:100dvh;min-height:0}.sidebar{min-height:0;overflow-y:auto}.main-content{min-height:0}.main-content-scroll{overflow-y:auto}}.theme-toggle{border:1px solid var(--border-strong);background:var(--surface);color:inherit;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #0e203414}.theme-toggle:hover{background:var(--accent-soft)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle__icon{font-size:1rem;line-height:1}.content-card{border-radius:28px;padding:1.75rem}.stack{gap:1.5rem;display:grid}.hero-panel,.info-panel,.selection-card{border-radius:24px;padding:1.5rem}.grid{gap:1rem;display:grid}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.definition-list{gap:1rem;display:grid}.definition-list dt{color:var(--text-muted);font-size:.85rem}.definition-list dd{margin:.2rem 0 0;font-weight:600}.list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.list li{gap:.2rem;display:grid}.list span{color:var(--text-muted)}.selection-card{text-align:left;border:1px solid var(--border-strong);align-items:center;gap:1rem;display:flex}.selection-card__avatar{background:var(--accent-soft);width:2.75rem;height:2.75rem;color:var(--accent-dark);letter-spacing:.02em;border-radius:14px;flex-shrink:0;place-items:center;font-weight:700;display:grid}.selection-card__body{gap:.5rem;display:grid}.selection-card__badges{flex-wrap:wrap;gap:.4rem;display:flex}.selection-card .role-pill{background:var(--accent-soft);color:var(--accent-dark);padding:.25rem .6rem;font-size:.78rem}.table{border-collapse:collapse;background:var(--surface-strong);border-radius:18px;width:100%;overflow:hidden}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:.65rem .95rem}.table th{background:#0d5cab14;font-size:.9rem}.change-requests-table th,.change-requests-table td{padding-top:.45rem;padding-bottom:.45rem}.table tbody tr:nth-child(2n){background:#0d5cab09}.table td input,.table td select,.table td textarea{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:inherit;border-radius:8px;padding:.4rem .6rem;font-weight:400;line-height:1.3}.table td input[type=number]{width:auto;min-width:4.5rem}.table td input[type=checkbox]{width:auto}.table td input[type=color]{width:2.75rem;height:2rem;padding:.15rem}.page-heading,.section-heading,.button-row,.member-add{align-items:center;gap:.75rem;display:flex}.page-heading,.section-heading{justify-content:space-between}.button-row--end{flex-wrap:wrap;justify-content:flex-end}.page-heading h2,.section-heading h3{margin:0}.page-heading .supporting-text{margin-bottom:0}.customer-project-section-heading{margin-bottom:.75rem}.customer-project-workspace{gap:1rem}.customer-project-workspace>.project-tabs{margin:-.25rem 0}.customer-project-tab-panel{min-width:0;padding:0 0 1.5rem}.customer-project-tab-panel .customer-project-section-heading{padding-top:.5rem}.customer-project-documents{margin-top:0}.no-results-found{text-align:center;place-content:center;justify-items:center;gap:.2rem;min-height:19rem;padding:2rem 1rem;display:grid}.no-results-found__illustration{width:min(11rem,56vw);margin-bottom:.35rem}.no-results-found h3{color:#5473ba;margin:0;font-size:clamp(1.5rem,3vw,2rem)}.no-results-found p{max-width:26rem;color:var(--text-muted);margin:0}.time-entries-page{gap:.75rem}.time-entries-toolbar{margin:0}.filter-panel{border:1px solid var(--border);background:#ffffffa3;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1rem;display:grid}.filter-panel label{gap:.4rem;font-size:.88rem;font-weight:500;display:grid}.task-filters{border:1px solid var(--border);background:#ffffffa3;border-radius:18px}.task-filters>summary{cursor:pointer;color:var(--accent-dark);padding:.85rem 1rem;font-weight:600}.task-filters[open]>summary{border-bottom:1px solid var(--border)}.task-filters .filter-panel{background:0 0;border:0;border-radius:0}.filter-actions{align-items:end;display:flex}.filter-clear-button{white-space:nowrap;width:auto}.kanban-overdue{color:#b42318;font-weight:600}.kanban-move-control{color:var(--text-muted);gap:.3rem;margin-top:.25rem;font-size:.78rem;font-weight:600;display:grid}.kanban-move-control select{appearance:none;color:#1d3550;width:100%;min-height:2.25rem;font:inherit;background:#f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23365a7c' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .65rem center no-repeat;border:1px solid #cbd8e6;border-radius:8px;padding:.45rem 2.25rem .45rem .65rem;font-size:.82rem;font-weight:600;transition:border-color .15s,box-shadow .15s,background-color .15s}.kanban-move-control select:hover{background-color:#fff;border-color:#8eabc7}.kanban-move-control select:focus-visible{background-color:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb2e}.kanban-move-control select:disabled{cursor:not-allowed;opacity:.6}.attachment-upload-status{min-height:1.25rem;color:var(--text-muted);margin:.35rem 0 0;font-size:.82rem}.status-form{grid-template-columns:minmax(0,1fr) 8rem auto;align-items:end}.ticket-type-form{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-type-form textarea{resize:vertical;min-height:4.5rem}.project-editor{gap:1rem;display:grid}.project-workspace{margin-top:-.25rem;display:grid}.project-summary{border:1px solid var(--border);background:#eaf0f7;border-radius:16px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.project-fact{border-left:1px solid var(--border);align-content:start;gap:.35rem;min-width:0;padding:1rem;display:grid}.project-fact:first-child{border-left:none}.project-fact>span{color:var(--text-muted);font-size:.78rem;font-weight:500}.project-fact>strong{color:#17243a;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.project-fact .status-badge{font-weight:600}.project-progress{grid-template-columns:1fr auto}.project-progress .progress-track{grid-column:1/-1}.progress-track{background:#dfe7f0;border-radius:999px;height:.4rem;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, #2486c1, var(--accent));height:100%;display:block}.project-content-section{border-bottom:1px solid var(--border);padding:1.5rem 0}.project-content-section--members{border-top:8px solid #eaf0f6;margin-top:1.5rem;padding-top:1.5rem}.project-content-section h3,.project-content-section h4{margin:0}.project-content-section>h3{margin-bottom:1rem}.project-notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.project-notes-grid>div{gap:.55rem;display:grid}.project-notes-grid h4{font-size:.9rem}.project-notes-grid p{color:var(--text-muted);margin:0}.section-kicker{color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:600}.ticket-section-title{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:700}.project-timeline.vertical-timeline{width:100%;max-width:none;margin:1.25rem 0 0;padding:0}.project-history-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;max-block-size:min(32rem,70vh);padding:0 .75rem 0 .25rem;overflow-y:auto}.project-history-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:.25rem}.project-timeline .vertical-timeline-element{margin:.75rem 0}.project-timeline .vertical-timeline-element-content h4{font-size:.95rem}.project-timeline .vertical-timeline-element-content p{color:var(--text-muted);margin:.3rem 0 0;font-size:.85rem;font-weight:400;line-height:1.4}.project-timeline .vertical-timeline-element-date{display:none}.project-timeline .vertical-timeline-element-icon{width:28px;height:28px;left:6px}.project-timeline .vertical-timeline-element-content{margin-left:46px}.project-timeline .vertical-timeline-element-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:14px;height:14px;margin-top:-7px;margin-left:-7px}.project-danger-zone{padding-top:1.5rem}.project-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.time-entry-billable{align-self:end;align-items:center;gap:.5rem;min-height:2.6rem;display:inline-flex!important}.time-entry-billable input[type=checkbox]{flex:none;width:auto;margin:0}.closure-requested-badge{color:#92400e;background:#fef3c7;border-radius:999px;width:fit-content;padding:.12rem .45rem;font-size:.72rem;font-weight:600}.ticket-status-cell{gap:.3rem;display:grid}.form-wide{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:.75rem;display:flex}.table-wrap{overflow-x:auto}.table-link{color:var(--accent-dark);gap:.15rem;text-decoration:none;display:grid}.table-link-button{color:var(--accent-dark);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;gap:.15rem;padding:0;text-decoration:none;display:grid}.table-link-button:hover strong{text-decoration:underline}.table-link span,.member-list span,.activity-list span{color:var(--text-muted);font-size:.88rem}.membership-role-tooltip{cursor:help;border-bottom:1px dashed;position:relative}.membership-role-tooltip:after{z-index:20;color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;text-align:center;background:#152033;border:1px solid #ffffff29;border-radius:.45rem;width:max-content;max-width:min(20rem,75vw);padding:.45rem .6rem;font-size:.75rem;font-weight:600;line-height:1.2;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%,.25rem);box-shadow:0 8px 20px #0a18283d}.membership-role-tooltip:hover:after,.membership-role-tooltip:focus-visible:after{opacity:1;transform:translate(-50%)}.notification-preference-group{gap:.65rem;display:grid}.notification-preference-group h3{margin:0}.notification-preference-group select{min-width:9rem}.notification-delivery-note{color:var(--text-muted);background:#2563eb14;border-radius:12px;margin:0;padding:.75rem 1rem}.sidebar-nav-notification-icon{place-items:center;width:1.5rem;font-size:1.1rem;display:inline-grid}.status-badge{white-space:nowrap;align-items:center;gap:.45rem;display:inline-flex}.status-badge i{border-radius:50%;width:.65rem;height:.65rem}.status-actions{grid-template-columns:repeat(3,max-content);align-items:center;gap:.5rem;display:grid}.status-actions select{max-width:13rem}.status-check{white-space:nowrap;margin-bottom:.35rem;display:block}.inactive-status-row{opacity:.65}.project-tabs{border-bottom:1px solid var(--border);align-items:center;gap:.25rem;margin:-.5rem 0 .5rem;display:flex;overflow-x:auto}.project-tab{color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:.4rem;padding:.65rem .9rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .16s,border-color .16s;display:inline-flex}.project-tab svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.project-tab:hover{color:var(--accent)}.project-tab--active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.archived-label,.archived-notice{color:#744210;background:#fef3c7;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.archived-notice{border:1px solid #f59e0b;margin:0}.empty-state,.page-state-inline{color:var(--text-muted);padding:1rem 0}.member-list,.activity-list{gap:.15rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.member-list li,.activity-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;display:flex}.member-list li>div:first-child,.activity-list li{gap:.1rem;display:grid}.inline-text-button,.danger-text-button,.success-text-button{color:#fff;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .9rem;font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.inline-text-button svg,.danger-text-button svg,.success-text-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex-shrink:0;width:1rem;height:1rem}.inline-text-button:hover,.danger-text-button:hover,.success-text-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0e203429}.inline-text-button{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 6px 16px #2563eb38}.danger-text-button{background:linear-gradient(135deg,#d84942 0%,#b42318 100%);box-shadow:0 6px 16px #b4231833}.success-text-button{background:var(--success)}.modal-backdrop{z-index:1000;background:#0a182894;place-items:center;width:100vw;height:100dvh;padding:1.5rem;display:grid;position:fixed;inset:0}.modal-card{box-sizing:border-box;background:var(--surface-strong);width:min(100%,900px);max-height:calc(100dvh - 2rem);box-shadow:var(--shadow);border-radius:24px;padding:1.5rem;overflow-y:auto}form.modal-card{gap:1rem;width:min(100% - 2rem,620px);display:grid}form.modal-card>label{color:var(--text-primary);gap:.4rem;font-weight:700;display:grid}form.modal-card .ticket-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}form.modal-card .ticket-form-row>label{color:var(--text-primary);gap:.4rem;font-weight:700;display:grid}form.modal-card>label>input,form.modal-card>label>select,form.modal-card>label>textarea,form.modal-card .ticket-form-row>label>input,form.modal-card .ticket-form-row>label>select,form.modal-card .ticket-form-row>label>textarea{border:1px solid var(--border-strong);background:var(--surface-strong);width:100%;color:inherit;border-radius:10px;padding:.55rem .75rem}form.modal-card>label>input:not([type=file]),form.modal-card>label>select,form.modal-card .ticket-form-row>label>input,form.modal-card .ticket-form-row>label>select{height:2.625rem}form.modal-card>label>select,form.modal-card .ticket-form-row>label>select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23152033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}:root[data-theme=dark] form.modal-card>label>select,:root[data-theme=dark] form.modal-card .ticket-form-row>label>select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e7eef8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}form.modal-card>label>textarea,form.modal-card .ticket-form-row>label>textarea{resize:vertical;min-height:9rem}form.modal-card>label>input:focus,form.modal-card>label>select:focus,form.modal-card>label>textarea:focus,form.modal-card .ticket-form-row>label>input:focus,form.modal-card .ticket-form-row>label>select:focus,form.modal-card .ticket-form-row>label>textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}form.modal-card>label>input[aria-invalid=true],form.modal-card>label>select[aria-invalid=true],form.modal-card>label>textarea[aria-invalid=true],form.modal-card .ticket-form-row>label>input[aria-invalid=true],form.modal-card .ticket-form-row>label>select[aria-invalid=true],form.modal-card .ticket-form-row>label>textarea[aria-invalid=true]{border-color:var(--danger)}.ticket-file-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.ticket-file-list li{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .65rem;display:flex}.ticket-attachment-section{color:var(--text-primary);gap:.4rem;font-weight:700;display:grid}.ticket-dropzone{border:2px dashed var(--border-strong);min-height:9.5rem;color:var(--text-muted);cursor:pointer;text-align:center;border-radius:12px;align-content:center;place-items:center;gap:.35rem;padding:1rem;transition:background .16s,border-color .16s,color .16s;display:grid}.ticket-dropzone:hover,.ticket-dropzone--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.ticket-dropzone--reject{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger)}.ticket-dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ticket-dropzone svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:2rem;height:2rem}.ticket-dropzone small{font-weight:400}.ticket-attachment-visibility{gap:.35rem;max-width:18rem;margin:.75rem 0;font-weight:700;display:grid}.ticket-attachment-visibility select,form.modal-card>label.ticket-attachment-visibility>select{appearance:none;border:1px solid var(--border-strong);background-color:var(--surface-strong);min-height:2.625rem;color:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23152033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;border-radius:10px;padding:.45rem 2.5rem .45rem .65rem}:root[data-theme=dark] .ticket-attachment-visibility select,:root[data-theme=dark] form.modal-card>label.ticket-attachment-visibility>select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e7eef8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.ticket-detail-page{gap:1rem;display:grid}.ticket-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ticket-detail-header h2{margin:.15rem 0 0}.ticket-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.ticket-status-badge{background:color-mix(in srgb, var(--status-color,var(--accent)) 16%, var(--surface-strong));color:var(--status-color,var(--accent-dark));text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.ticket-status-badge i{background:var(--status-color,currentColor);border-radius:50%;width:.5rem;height:.5rem}.ticket-detail-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.25rem;display:grid}.ticket-detail-main{gap:1rem;min-width:0;display:grid}.ticket-detail-sidebar{gap:1rem;display:grid;position:sticky;top:1.5rem}@media (width<=960px){.ticket-detail-layout{grid-template-columns:1fr}.ticket-detail-sidebar{position:static}}.ticket-detail-section{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;box-shadow:0 1px 3px #0e20340f}.ticket-properties{margin:1rem 0 0;display:grid}.ticket-properties>div{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.6rem 0;display:flex}.ticket-properties>div:first-child{border-top:none;padding-top:0}.ticket-properties dt{color:var(--text-muted);font-size:.82rem}.ticket-properties dd{text-align:right;margin:0;font-weight:700}.ticket-detail-sidebar .ticket-triage__grid{grid-template-columns:1fr}.ticket-detail-sidebar .ticket-triage__footer{flex-direction:column;align-items:stretch}.ticket-detail-sidebar .ticket-triage__footer .primary-button,.ticket-detail-sidebar .ticket-triage__footer .danger-text-button,.ticket-detail-sidebar .ticket-triage__footer .secondary-button{justify-content:center;width:100%}.ticket-detail-section{padding:1.1rem 1.25rem}.ticket-detail-section h3,.ticket-detail-section h4,.ticket-flat-section h3,.ticket-flat-section h4{margin:0}.ticket-detail-section h4,.ticket-flat-section h4{color:var(--text-muted);text-transform:uppercase;margin-top:1rem;font-size:.82rem}.ticket-detail-section p,.ticket-flat-section p{white-space:pre-wrap;margin:.65rem 0 0}.ticket-flat-section{background:#eaf0f7;border-radius:12px;gap:0;padding:1.1rem 1.25rem;display:grid}.customer-confirmation.ticket-flat-section{border-left:4px solid var(--accent)}.ticket-triage{border-color:color-mix(in srgb, var(--accent) 22%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 5%, var(--surface-strong)), var(--surface-strong))}.ticket-triage__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.ticket-triage label{color:var(--text-muted);letter-spacing:.01em;gap:.42rem;font-size:.82rem;font-weight:700;display:grid}.ticket-triage select,.ticket-triage textarea{border:1px solid var(--border-strong);color:inherit;font:inherit;background-color:#eaf0f7;border-radius:8px;padding:.58rem .68rem}.ticket-triage__resolution{margin-top:1rem}.ticket-triage__resolution textarea{resize:vertical;min-height:104px}.ticket-triage__footer{justify-content:space-between;align-items:center;gap:.7rem;margin-top:1rem;display:flex}.ticket-triage__footer .primary-button{width:auto}.ticket-triage__confirmation{border-top:1px solid var(--border);color:var(--text-muted);margin:1rem 0 0;padding-top:.85rem}.customer-confirmation{border-left:4px solid var(--accent)}.customer-confirmation__summary{background:var(--surface-strong);border:1px solid var(--border);border-radius:8px;margin:.8rem 0 0;padding:.8rem .9rem;line-height:1.55}.customer-confirmation .supporting-text{margin:.7rem 0 0}.customer-confirmation__actions{flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex}@media (width<=720px){.ticket-triage__grid{grid-template-columns:1fr}.ticket-triage__footer{flex-direction:column;align-items:stretch}}.ticket-linked-tasks .section-heading{align-items:flex-start}.ticket-linked-task-list{gap:.35rem;margin:.75rem 0;padding:0;list-style:none;display:grid}.ticket-linked-task-list li{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .65rem;display:flex}.ticket-linked-task-list li>div:first-child{gap:.1rem;min-width:0;display:grid}.ticket-linked-task-list .button-row{flex-shrink:0}.ticket-linked-task-list span{color:var(--text-muted)}.ticket-link-task-control{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;margin-top:1rem;display:grid}.ticket-link-task-control label{grid-column:1/-1;font-weight:700}.ticket-task-picker{grid-area:2/1;min-width:0}.ticket-task-picker .dependency-picker__control{border-color:var(--border-strong);background:var(--surface-strong)}.ticket-task-picker .dependency-picker__options{border-color:var(--border-strong);background:var(--surface-strong);width:100%;max-height:15rem;box-shadow:var(--shadow)}.ticket-task-picker>small{color:var(--text-muted)}.ticket-link-task-control>.primary-button{grid-area:2/2;align-self:start}.ticket-status-select{appearance:none;border:1px solid var(--border-strong);background-color:var(--surface-strong);min-height:2.5rem;color:inherit;font:inherit;text-transform:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23152033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border-radius:999px;padding:.4rem 2.5rem .4rem .65rem}:root[data-theme=dark] .ticket-status-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e7eef8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.ticket-collaboration{gap:1rem;display:grid}.ticket-comment-timeline{overscroll-behavior:contain;max-height:22rem;padding:0 .5rem 0 .25rem;overflow-y:auto}.ticket-comment-timeline:focus-visible{outline:2px solid var(--accent);outline-offset:.25rem}.ticket-comment-vertical-timeline.vertical-timeline{width:100%;max-width:none;margin:0;padding:0}.ticket-comment-vertical-timeline .vertical-timeline-element{margin:1rem 0}.ticket-comment-vertical-timeline .vertical-timeline-element-content h4{margin:0;font-size:.95rem}.ticket-comment-vertical-timeline .vertical-timeline-element-content p{color:var(--text-muted);white-space:pre-wrap;margin:.4rem 0 0;font-size:.9rem;font-weight:400;line-height:1.4}.ticket-comment-vertical-timeline .vertical-timeline-element-date{float:none;color:var(--text-muted);opacity:1;padding:.6rem 0 0;font-size:.78rem;font-weight:400;display:block}.ticket-comment-vertical-timeline .vertical-timeline-element-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ticket-activity-timeline{overscroll-behavior:contain;max-height:28rem;padding:0 .5rem 0 .25rem;overflow-y:auto}.ticket-activity-timeline:focus-visible{outline:2px solid var(--accent);outline-offset:.25rem}.ticket-activity-vertical-timeline.vertical-timeline{width:100%;max-width:none;margin:0;padding:0}.ticket-activity-vertical-timeline .vertical-timeline-element{margin:1rem 0}.ticket-activity-vertical-timeline .vertical-timeline-element-content h4{margin:0;font-size:.95rem}.ticket-activity-vertical-timeline .vertical-timeline-element-content p{color:var(--text-muted);white-space:pre-wrap;margin:.4rem 0 0;font-size:.9rem;font-weight:400;line-height:1.4}.ticket-activity-vertical-timeline .vertical-timeline-element-date{float:none;color:var(--text-muted);opacity:1;padding:.6rem 0 0;font-size:.78rem;font-weight:400;display:block}.ticket-activity-vertical-timeline .vertical-timeline-element-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.task-comment-vertical-timeline.vertical-timeline{width:100%;max-width:none;margin:1rem 0 0;padding:0}.task-comment-vertical-timeline .vertical-timeline-element{margin:.65rem 0}.task-comment-vertical-timeline .vertical-timeline-element-content{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.35rem .75rem;display:grid}.task-comment-vertical-timeline .vertical-timeline-element-content h4{grid-column:1;margin:0;font-size:.95rem}.task-comment-vertical-timeline .vertical-timeline-element-content p{color:var(--text-muted);white-space:pre-wrap;grid-column:1/-1;margin:0;font-size:.9rem;font-weight:400;line-height:1.4}.task-comment-vertical-timeline .vertical-timeline-element-date{float:none;color:var(--text-muted);opacity:1;grid-column:1/-1;padding:.15rem 0 0;font-size:.78rem;font-weight:400;display:block}.task-comment-vertical-timeline .vertical-timeline-element-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.task-comment-vertical-timeline textarea{grid-column:1/-1;width:100%;min-height:5rem}.task-comment-vertical-timeline .button-row{grid-area:1/2;justify-content:flex-end;place-self:start end;margin:0}.task-comment-vertical-timeline textarea+.button-row{grid-area:auto/1/auto/-1;justify-self:start;margin-top:.5rem}.ticket-comment-form{gap:.75rem;margin-top:1rem;display:grid}.ticket-comment-form label{gap:.4rem;font-weight:700;display:grid}.ticket-comment-form textarea{border:1px solid var(--border-strong);resize:vertical;background:var(--surface-strong);width:100%;min-height:7rem;color:inherit;border-radius:10px;padding:.65rem .75rem}.ticket-comment-form .primary-button{justify-self:start}@media (width<=640px){form.modal-card .ticket-form-row{grid-template-columns:1fr}.ticket-detail-header{flex-direction:column;align-items:stretch}}form.modal-card>.primary-button{justify-self:start}.content-card>.stack>.page-heading>.primary-button:not(.button-with-icon):before,form.modal-card>.primary-button:before{content:"+";place-items:center;width:1rem;height:1rem;font-size:1.15rem;font-weight:500;line-height:1;display:inline-grid}.confirm-modal-card{background:var(--surface-strong);width:min(100%,460px);box-shadow:var(--shadow);border-radius:20px;padding:1.75rem}.confirm-modal-card h2{margin:0}.confirm-modal-card>p:not(.eyebrow){color:var(--text-muted);margin:.9rem 0 0}.confirm-modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.task-comments{border-top:1px solid var(--border);gap:0;margin-top:1.5rem;padding-top:1.5rem;display:grid}.ticket-collaboration .task-comments{background:#eaf0f7;border-top:none;border-radius:12px;margin-top:0;padding:1.1rem 1.25rem}.task-comments h3,.task-comment p{margin:0}.task-comments .section-heading{margin-bottom:1rem}.attachment-upload{background:var(--accent);color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:1.35rem;line-height:1;display:grid}.attachment-list{flex-wrap:wrap;gap:1rem;padding:0;list-style:none;display:flex}.attachment-list li{flex-direction:column;align-items:center;gap:.5rem;display:flex}.attachment-visibility-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:1.5rem;padding:.2rem .5rem;font-size:.72rem;font-weight:700;line-height:1.1;display:inline-flex}.attachment-visibility-badge--customer{color:#0c5a91;background:#dbeeff}.attachment-visibility-badge--internal{color:#52667c;background:#e7edf4}.attachment-thumbnail{object-fit:cover;border:1px solid var(--border);border-radius:.4rem;width:7rem;height:7rem;display:block}.attachment-thumbnail--loading{color:var(--muted);text-align:center;background:#edf2f7;place-items:center;font-size:.75rem;display:grid}.attachment-preview{display:block;position:relative}.attachment-preview:after{z-index:20;color:#fff;content:attr(data-tooltip);opacity:0;overflow-wrap:anywhere;pointer-events:none;text-align:center;background:#152033;border-radius:.35rem;width:max-content;max-width:min(16rem,80vw);padding:.4rem .55rem;font-size:.75rem;line-height:1.2;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%,.2rem)}.attachment-preview:hover:after,.attachment-preview:focus-visible:after{opacity:1;transform:translate(-50%)}.attachment-actions{justify-content:center;gap:.5rem;display:flex}.attachment-actions .table-icon-button{width:1.7625rem;min-width:1.7625rem;height:1.7625rem;padding:0}.attachment-actions .action-button svg{width:.75rem;height:.75rem}.attachment-file-icon{border:1px solid var(--border);color:#52667c;background:#f8fafc;border-radius:.4rem;align-content:center;place-items:center;gap:.25rem;width:7rem;height:7rem;display:grid}.attachment-file-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:3.25rem;height:3.25rem}.attachment-file-icon strong{letter-spacing:.08em;font-size:.75rem}.attachment-file-icon--pdf{color:#b42318;background:#fff2f1;border-color:#f4c7c3}.attachment-file-icon--word{color:#185abd;background:#eef5ff;border-color:#c5daf8}.attachment-file-icon--excel{color:#107c41;background:#edf9f1;border-color:#bde6cc}.task-comment{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#eef3f8b3,#0000 72%);border-left:3px solid #d7e5f2;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"body body""meta actions";gap:.35rem .75rem;padding:.75rem 0 .75rem 1rem;display:grid;position:relative}.task-comment:first-of-type{border-top:1px solid var(--border);margin-top:1rem}.task-comment:before{background:var(--accent);content:"";border:2px solid #fff;border-radius:50%;width:.65rem;height:.65rem;position:absolute;top:.8rem;left:-.42rem;box-shadow:0 0 0 1px #b8cde2}.task-comment textarea,.task-comment-form textarea{width:100%;min-height:5rem}.comment-meta{color:var(--text-muted);grid-area:meta;align-items:center;font-size:.8rem;display:flex}.task-comment>p{grid-area:body}.task-comment>textarea{grid-column:1/-1}.task-comment .button-row{grid-area:actions;justify-content:flex-end;align-self:center;margin:0}.task-comment>textarea+.button-row{grid-column:1/-1}.task-comment-form{background:#f5f9fd;border:1px solid #cddcea;border-radius:14px;gap:.65rem;margin-top:.9rem;padding:1rem;display:grid}.task-comment-form label{color:#152033;gap:.45rem;font-size:.875rem;font-weight:600;display:grid}.task-comment-form .form-actions{border:0;margin:0;padding:0}.kanban-board{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:1rem;padding:.25rem;display:grid;overflow-x:auto}.kanban-column{border:1px solid var(--border-color,#d7dee8);background:#f7f9fc;border-radius:.75rem;flex-direction:column;gap:.75rem;min-height:18rem;padding:1rem;display:flex}.kanban-column h3{margin:0;font-size:1rem}.kanban-column .task-comment{cursor:grab;background:#fff;margin:0;box-shadow:0 1px 3px #0f172a1f}.kanban-column .kanban-card{background:#fff;border:1px solid #d8e1eb;border-left:3px solid #d7e5f2;border-radius:.25rem;flex-direction:column;gap:.75rem;padding:.9rem 1rem;display:flex}.kanban-column .kanban-card:before{display:none}.kanban-card>strong{line-height:1.35;display:block}.kanban-card-heading{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.priority-badge{border-radius:999px;flex:none;padding:.2rem .45rem;font-size:.72rem;font-weight:700}.priority-badge--low{color:#476175;background:#e8f0f5}.priority-badge--medium{color:#175a97;background:#dbeeff}.priority-badge--high{color:#9c4d09;background:#fff0d7}.priority-badge--critical{color:#aa3029;background:#fde4e2}.kanban-column .task-comment:active{cursor:grabbing}.kanban-card-details{color:#475569;border-top:1px solid #e5ebf2;gap:.35rem;width:100%;margin:0;padding-top:.65rem;font-size:.8125rem;display:grid}.kanban-card-details span{justify-content:space-between;gap:.75rem;display:flex}.kanban-card-details b{color:#172033;font-weight:600}.gantt-button{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border-color:#0000;text-decoration:none;box-shadow:0 6px 16px #2563eb38}.export-csv-button{color:#fff;background:linear-gradient(135deg,#334155 0%,#0f172a 100%);border-color:#0000;text-decoration:none;box-shadow:0 6px 16px #0f172a38}.table a[aria-label="Open task details"]{display:none}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.detail-grid dl{grid-template-columns:9rem 1fr;gap:.5rem 1rem;display:grid}.detail-grid dt{color:var(--text-muted)}.detail-grid dd{margin:0}.activity-list{gap:.5rem;padding-left:1.25rem;display:grid}.role-notice{color:#40536c;background:#f1f7fd;border:1px solid #cfe0f2;border-radius:.75rem;align-items:baseline;gap:.75rem;padding:.8rem 1rem;font-size:.9rem;display:flex}.role-notice strong{color:#173f70}.role-cards{gap:1rem;display:grid}.role-card{border:1px solid var(--border);background:#fff;border-radius:.9rem;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.role-card>header{border-bottom:1px solid var(--border);background:#f8fbfe;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex}.role-card h3{color:#172033;margin:0;font-size:1rem}.role-card header p{color:var(--text-muted);margin:.2rem 0 0;font-size:.875rem}.role-card--locked{background:#fbfcfd}.role-locked{color:#566579;background:#edf1f5;border-radius:999px;padding:.35rem .6rem;font-size:.78rem;font-weight:700}.role-locked-copy{margin:0;padding:1rem 1.15rem}.permission-groups{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1rem 1.15rem 1.2rem;display:grid}.permission-groups fieldset{border:0;min-width:0;margin:0;padding:0}.permission-groups legend{color:#566579;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem;font-size:.72rem;font-weight:800}.permission-groups fieldset>div{gap:.45rem;display:grid}.permission-groups label{color:#27364c;align-items:center;gap:.45rem;font-size:.88rem;line-height:1.25;display:flex}.permission-groups input{accent-color:#1d74d8;width:1rem;height:1rem;margin:0}@media (width<=1050px){.permission-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.role-notice,.role-card>header{flex-direction:column;align-items:flex-start}.permission-groups{grid-template-columns:1fr}}@media (width<=720px){.detail-grid{grid-template-columns:1fr}}@media (width>=1100px){.kanban-board{grid-template-columns:repeat(5,minmax(230px,1fr))}}.modal-card .task-comment-form .form-actions{background:0 0;border:0;margin:0;padding:0}.modal-card>.page-heading{margin-bottom:1rem}.modal-card .modal-project-editor{min-height:auto}.modal-card .project-form{align-content:start;min-height:auto;padding-right:.4rem;overflow:visible}.modal-card .form-actions{border-top:1px solid var(--border);background:var(--surface-strong);margin:1.25rem 0 0;padding:1rem 0 0}.danger-button{background:#fff;border:1px solid #c2362f4d;border-radius:999px;padding:.55rem .9rem}button:disabled{opacity:.58;cursor:not-allowed}:root[data-theme=dark] .filter-panel,:root[data-theme=dark] .task-filters,:root[data-theme=dark] .project-summary,:root[data-theme=dark] .kanban-column,:root[data-theme=dark] .role-card>header,:root[data-theme=dark] .attachment-file-icon,:root[data-theme=dark] .task-comment-form,:root[data-theme=dark] .gantt-frozen-pane,:root[data-theme=dark] .gantt-frozen-header,:root[data-theme=dark] .gantt-calendar-header{background:#202f43}:root[data-theme=dark] .ticket-triage select,:root[data-theme=dark] .ticket-triage textarea{background-color:#202f43}:root[data-theme=dark] .ticket-flat-section,:root[data-theme=dark] .ticket-collaboration .task-comments{background:#202f43}:root[data-theme=dark] .table,:root[data-theme=dark] .role-card,:root[data-theme=dark] .kanban-column .task-comment,:root[data-theme=dark] .kanban-column .kanban-card,:root[data-theme=dark] .dependency-picker__control,:root[data-theme=dark] .dependency-picker__options{background:var(--surface-strong)}:root[data-theme=dark] .project-fact>strong,:root[data-theme=dark] .kanban-card-details b,:root[data-theme=dark] .role-card h3,:root[data-theme=dark] .permission-groups label,:root[data-theme=dark] .dependency-picker__options li button,:root[data-theme=dark] .task-comment-form label{color:inherit}:root[data-theme=dark] .gantt-chart,:root[data-theme=dark] .gantt-frozen-pane,:root[data-theme=dark] .gantt-frozen-header,:root[data-theme=dark] .gantt-calendar-header,:root[data-theme=dark] .gantt-task-label,:root[data-theme=dark] .gantt-timeline,:root[data-theme=dark] .kanban-column .kanban-card,:root[data-theme=dark] .task-comment-form,:root[data-theme=dark] .kanban-card-details{border-color:var(--border)}:root[data-theme=dark] .gantt-timeline{background:repeating-linear-gradient(90deg, transparent 0, transparent calc(100% / var(--gantt-days) - 1px), #cadaee21 calc(100% / var(--gantt-days) - 1px), #cadaee21 calc(100% / var(--gantt-days)))}:root[data-theme=dark] .gantt-day-label--weekend{color:#fda4af}:root[data-theme=dark] .gantt-day-label--today{color:#101a28;background:#65b7f0}:root[data-theme=dark] .gantt-month-labels{border-bottom-color:var(--border);color:#cbd5e1}:root[data-theme=dark] .gantt-weekend-column{background:#fb71851a}:root[data-theme=dark] .gantt-today-column span{background:#65b7f0;box-shadow:0 0 0 1px #101a2873}:root[data-theme=dark] .gantt-dependency-links path{stroke:#fff}:root[data-theme=dark] .gantt-phase-badge{color:#c7d2fe;background:#2a3352}:root[data-theme=dark] .planning-node--phase .planning-node__kicker{color:#a5b4fc}:root[data-theme=dark] .gantt-milestone-marker{box-shadow:0 0 0 1px #101a2899}:root[data-theme=dark] .task-comment{background:linear-gradient(90deg,#3d597773,#0000 72%);border-left-color:#447eab}:root[data-theme=dark] .task-comment:before,:root[data-theme=dark] .gantt-status-icon{border-color:var(--surface-strong)}:root[data-theme=dark] .kanban-move-control select{border-color:var(--border-strong);color:inherit;background-color:var(--surface-strong)}:root[data-theme=dark] .react-datepicker,:root[data-theme=dark] .react-datepicker__header{background:var(--surface-strong);color:inherit}:root[data-theme=dark] .react-datepicker__header{border-bottom-color:var(--border)}:root[data-theme=dark] .react-datepicker__current-month,:root[data-theme=dark] .react-datepicker__day-name,:root[data-theme=dark] .react-datepicker__day,:root[data-theme=dark] .react-datepicker__time-name{color:inherit}:root[data-theme=dark] .react-datepicker__day:hover,:root[data-theme=dark] .react-datepicker__time-list-item:hover{background:var(--accent-soft)}:root[data-theme=dark] .react-datepicker__day.calendar-weekend:not(.react-datepicker__day--selected):not(.react-datepicker__day--in-range):not(.react-datepicker__day--in-selecting-range){color:#fecdd3;background:#f43f5e33}:root[data-theme=dark] .react-datepicker__day.calendar-weekend:hover{background:#f43f5e57}@media (width<=960px){.app-shell{display:block}.sidebar{z-index:40;width:min(19rem,100vw - 3.5rem);padding-bottom:1rem;transition:transform .18s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:18px 0 42px #08142252}.sidebar--mobile-open{transform:translate(0)}.mobile-sidebar-backdrop{opacity:0;pointer-events:none;z-index:35;background:#0814227a;border:0;transition:opacity .18s;position:fixed;inset:0}.mobile-sidebar-backdrop--visible{opacity:1;pointer-events:auto;display:block}.mobile-nav-toggle{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;flex:none;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;padding:0;display:inline-flex}.mobile-nav-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:1.25rem;height:1.25rem}.topbar{justify-content:space-between}.topbar-actions{margin-left:auto}.two-up{grid-template-columns:1fr}.list-filter-actions{flex-direction:column;align-items:flex-start}.filter-panel,.project-form,.status-form,.project-notes-grid{grid-template-columns:1fr}.page-heading,.section-heading,.member-list li{flex-direction:column;align-items:flex-start}}@media (width<=1200px) and (width>=961px){.project-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.project-fact:nth-child(3n+1){border-left:none}.project-fact:nth-child(n+4){border-top:1px solid var(--border)}}@media (width<=960px){.project-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.project-fact:nth-child(odd){border-left:none}.project-fact:nth-child(n+3){border-top:1px solid var(--border)}}@media (width<=640px){.topbar{gap:.6rem;padding:.85rem 1rem}.topbar-actions{gap:.45rem}.main-content-scroll{padding:1rem}.content-card{border-radius:20px;padding:1.25rem}.stack{gap:1rem}.page-heading>.button-row{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.page-heading>.button-row .project-action-button{text-align:center;justify-content:center;min-width:0}.page-heading>.button-row .project-action-button--back,.page-heading>.button-row .project-action-button--reinstate{grid-column:1/-1}.project-tabs{scroll-snap-type:x proximity;margin-left:-1.25rem;margin-right:-1.25rem;padding-inline:1.25rem;scroll-padding-inline:1.25rem}.project-tab{scroll-snap-align:start;flex:none}.dashboard-grid,.dashboard-grid--wide{grid-template-columns:minmax(0,1fr)}.dashboard-card{padding:1.1rem}.project-summary{grid-template-columns:1fr}.project-fact{border-left:0}.project-fact:nth-child(n+2){border-top:1px solid var(--border)}}.notification-bell{position:relative}.notification-bell__trigger{background:var(--surface-strong);border:1px solid var(--border);width:2.6rem;height:2.6rem;color:var(--text-muted);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.notification-bell__trigger:hover{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--border-strong)}.notification-bell__trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notification-bell__trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex-shrink:0;width:1.15rem;height:1.15rem}.notification-badge{background:var(--danger);color:#fff;text-align:center;min-width:1.3rem;box-shadow:0 0 0 2px var(--surface-strong);border-radius:999px;padding:.1rem .35rem;font-size:.68rem;font-weight:700;position:absolute;top:-.15rem;right:-.15rem}.notification-panel{z-index:30;background:var(--surface-strong);border:1px solid var(--border-strong);width:320px;max-width:calc(100vw - 2rem);max-height:70vh;box-shadow:var(--shadow);color:inherit;border-radius:16px;padding:.6rem;position:absolute;top:calc(100% + .5rem);left:auto;right:0;overflow-y:auto}.notification-panel__header{justify-content:space-between;align-items:center;padding:.3rem .4rem .6rem;display:flex}.notification-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.notification-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;gap:.15rem;padding:.6rem .7rem;display:grid}button.notification-item:hover{background:var(--accent-soft)}.notification-item--unread{background:#65b7f01f}.notification-item--static{cursor:default;opacity:.85}.notification-item__title{font-weight:600}.notification-item__message{opacity:.85;font-size:.85rem}.notification-item__time{opacity:.6;font-size:.72rem}.notification-list--page{gap:.5rem}.notification-list--page .notification-item{background:var(--surface-strong);border:1px solid var(--border);color:inherit}.notification-list--page .notification-item--unread{border-color:var(--accent)}.notification-category-tabs{flex-wrap:wrap;gap:.4rem;display:flex}.notification-category-tab{border:1px solid var(--border);background:var(--surface-strong);color:inherit;font:inherit;cursor:pointer;border-radius:999px;padding:.4rem .9rem}.notification-category-tab--active{background:var(--accent);border-color:var(--accent);color:#fff}.notification-unread-filter{align-items:center;gap:.5rem;width:fit-content;display:inline-flex}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.1rem;display:grid}.dashboard-grid>*{min-width:0}.dashboard-grid--wide{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.dashboard-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:20px;align-content:start;gap:.85rem;min-width:0;padding:1.4rem 1.5rem;transition:box-shadow .15s,transform .15s,border-color .15s;display:grid;position:relative;box-shadow:0 1px 2px #0e20340a}.dashboard-card:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 12px 32px #0e20341a}.dashboard-card h3{color:var(--text-muted);letter-spacing:.01em;margin:0;font-size:.92rem;font-weight:600}.dashboard-card__stat{color:var(--viz-text-primary,inherit);font-variant-numeric:proportional-nums;font-size:2.1rem;font-weight:700;line-height:1}.dashboard-card__meta{color:var(--text-muted);font-size:.85rem}.dashboard-card--span-2{grid-column:span 2}@media (width<=720px){.dashboard-card--span-2{grid-column:span 1}}.dashboard-list{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-list li{min-width:0;max-width:100%}.dashboard-list li a,.dashboard-list li span.dashboard-list__item{box-sizing:border-box;border-bottom:1px solid var(--border);width:100%;min-width:0;max-width:100%;color:inherit;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.5rem .15rem;font-size:.88rem;text-decoration:none;transition:background .12s;display:flex;overflow:hidden}.dashboard-list li a:hover{background:var(--accent-soft)}.dashboard-list li:last-child a,.dashboard-list li:last-child span.dashboard-list__item{border-bottom:none}.dashboard-list__label{overflow-wrap:anywhere;white-space:normal;flex:auto;min-width:0;line-height:1.35}.dashboard-list__status{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:0 45%;min-width:0;font-size:.8rem;overflow:hidden}.dashboard-stat-row{flex-wrap:wrap;gap:.5rem;display:flex}.dashboard-stat-pill{background:var(--accent-soft);color:var(--accent-dark);white-space:nowrap;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.dashboard-stat-pill--overdue,.dashboard-list__status--overdue{color:#b91c1c;background:#fee2e2}.dashboard-list__status--overdue{border-radius:999px;padding:.12rem .4rem}.dashboard-summary-link{color:var(--accent-dark);font-size:.85rem;font-weight:600;text-decoration:none}.dashboard-summary-link:hover{text-decoration:underline}.stat-tile{background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;align-content:start;gap:.55rem;min-width:0;padding:1.15rem 1.3rem;transition:box-shadow .15s,transform .15s;display:grid;box-shadow:0 1px 2px #0e20340a}.stat-tile:hover{transform:translateY(-1px);box-shadow:0 12px 32px #0e20341a}.stat-tile__header{align-items:center;gap:.55rem;min-width:0;display:flex}.stat-tile__header h3{overflow-wrap:anywhere;min-width:0;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.85rem;font-weight:600}.stat-tile__icon{background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent-dark);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.stat-tile__icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.05rem;height:1.05rem}.stat-tile__value{font-variant-numeric:proportional-nums;margin:0;font-size:2.15rem;font-weight:700;line-height:1}.stat-tile__caption{color:var(--text-muted);margin:0;font-size:.85rem}.stat-tile--good .stat-tile__icon{background:color-mix(in srgb, var(--viz-status-good) 16%, transparent);color:var(--viz-status-good)}.stat-tile--good .stat-tile__value{color:var(--viz-status-good)}.stat-tile--warning .stat-tile__icon{background:color-mix(in srgb, var(--viz-status-warning) 22%, transparent);color:#a8690a}:root[data-theme=dark] .stat-tile--warning .stat-tile__icon{color:var(--viz-status-warning)}.stat-tile--critical .stat-tile__icon{background:color-mix(in srgb, var(--viz-status-critical) 16%, transparent);color:var(--viz-status-critical)}.stat-tile--critical .stat-tile__value{color:var(--viz-status-critical)}.viz-bar-list{width:100%}.viz-tooltip{background:var(--viz-surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;gap:.15rem;padding:.5rem .75rem;font-size:.82rem;display:grid}.viz-tooltip strong{color:var(--viz-text-primary)}.viz-tooltip span{color:var(--viz-text-secondary)}.viz-progress-ring{place-items:center;width:fit-content;display:inline-grid;position:relative}.viz-progress-ring svg{display:block}.viz-progress-ring__value{font-variant-numeric:proportional-nums;font-size:1.05rem;font-weight:700;position:absolute}.viz-legend{color:var(--text-muted);flex-wrap:wrap;gap:.5rem 1rem;font-size:.82rem;display:flex}.viz-legend__item{align-items:center;gap:.4rem;display:inline-flex}.viz-legend__swatch{border-radius:3px;flex-shrink:0;width:.65rem;height:.65rem}.viz-chart-card{gap:.75rem;display:grid}.viz-chart-card__header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.viz-chart-card__header h3{margin:0;font-size:.95rem;font-weight:600}.project-charts{gap:1.25rem;display:grid}.project-charts__heading h3{margin:0}.project-charts__heading .supporting-text{margin:.35rem 0 0}.project-chart-card{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;gap:.9rem;min-width:0;padding:1.25rem;display:grid}.project-chart-card__plot{min-width:0;height:22rem}.project-chart-card__legend-label{color:var(--text-muted)}.project-schedule-health__metrics{border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.project-schedule-health__metric{border-right:1px solid var(--border);gap:.2rem;min-width:0;padding:.9rem;display:grid}.project-schedule-health__metric:last-child{border-right:0}.project-schedule-health__metric strong{font-size:1.65rem;line-height:1}.project-schedule-health__metric span{color:var(--text-muted);font-size:.8rem}.project-schedule-health__metric--good strong{color:var(--viz-status-good)}.project-schedule-health__metric--warning strong{color:var(--viz-status-warning)}.project-schedule-health__metric--critical strong{color:var(--viz-status-critical)}.project-schedule-health__metric--complete strong{color:var(--accent)}.project-chart-toggle{border:1px solid var(--border);border-radius:9px;display:inline-flex;overflow:hidden}.project-chart-toggle__button{border:0;border-right:1px solid var(--border);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;padding:.4rem .65rem;font-size:.8rem;font-weight:600}.project-chart-toggle__button:last-child{border-right:0}.project-chart-toggle__button--active{color:#fff;background:var(--accent)}@media (width<=720px){.project-chart-card__plot{height:19rem}.project-chart-card .viz-chart-card__header{flex-direction:column;align-items:flex-start}.project-schedule-health__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-schedule-health__metric:nth-child(2n){border-right:0}.project-schedule-health__metric:nth-child(n+3){border-top:1px solid var(--border)}}.dashboard-project-progress{align-items:center;gap:1.1rem;display:flex}.dashboard-project-progress .dashboard-card__meta{margin:0}.platform-administration{gap:1.25rem}.platform-reason-field{border:1px solid var(--border);background:color-mix(in srgb, var(--accent-soft) 48%, var(--surface-strong));width:min(100%,42rem);color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase;border-radius:14px;gap:.45rem;padding:.9rem 1rem;font-size:.82rem;font-weight:700;display:grid}.platform-reason-field input,.platform-filter-row input,.platform-filter-row select,.platform-role-form input,.platform-history-filter{border:1px solid var(--border-strong);background-color:var(--surface-strong);min-height:2.75rem;color:inherit;border-radius:10px;font-weight:500;line-height:1.3;transition:border-color .16s,box-shadow .16s,background-color .16s}.platform-reason-field input,.platform-filter-row input,.platform-role-form input{width:100%;padding:.65rem .8rem}.platform-reason-field input{letter-spacing:normal;text-transform:none;font-weight:400}.platform-filter-row{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 92%, transparent);border-radius:14px;grid-template-columns:minmax(0,1.5fr) minmax(9rem,.9fr) minmax(10rem,.7fr);gap:.65rem;width:100%;max-width:56rem;padding:.7rem;display:grid}.platform-filter-row--compact{grid-template-columns:minmax(0,1fr) minmax(10rem,.55fr);max-width:34rem}.platform-filter-row select,.platform-history-filter{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23152033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;background-size:1rem;padding:.65rem 2.5rem .65rem .8rem}.platform-history-filter{width:min(100%,15rem)}.platform-role-form{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 92%, transparent);border-radius:14px;width:min(100%,42rem);padding:.7rem}.platform-role-form input{flex:16rem}.platform-reason-field input:hover,.platform-filter-row input:hover,.platform-filter-row select:hover,.platform-role-form input:hover,.platform-history-filter:hover{border-color:color-mix(in srgb, var(--accent) 68%, var(--border-strong))}.platform-reason-field input:focus-visible,.platform-filter-row input:focus-visible,.platform-filter-row select:focus-visible,.platform-role-form input:focus-visible,.platform-history-filter:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.platform-reason-field input::placeholder,.platform-filter-row input::placeholder,.platform-role-form input::placeholder{color:color-mix(in srgb, var(--text-muted) 78%, transparent)}:root[data-theme=dark] .platform-filter-row select,:root[data-theme=dark] .platform-history-filter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e7eef8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}@media (width<=720px){.platform-filter-row,.platform-filter-row--compact{grid-template-columns:1fr;max-width:none}.platform-role-form{flex-direction:column;align-items:stretch;width:100%}.platform-role-form .primary-button{width:100%}}
