@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.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-left-radius:.375em;border-bottom-right-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-bottom:none;border-top:1px solid #aeaeae;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{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;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:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;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{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.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{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.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{display:inline-block;margin-left:10px}.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,.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{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.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{background-color:#216ba5;color:#fff;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:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.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{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.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;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.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{border-radius:.3rem;background-color:#f0f0f0}.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{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.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{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.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{border-radius:.3rem;background-color:#216ba5;color:#fff}.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{border-radius:.3rem;background-color:#bad9f1;color:#000}.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{background-color:#1d5d90;color:#fff}.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){background-color:#f0f0f0;color:#000}.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{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.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 transparent;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{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.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{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.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;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-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;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.dashboard-page{width:100%;min-width:0;box-sizing:border-box;padding:32px 36px 40px;overflow-x:hidden}.dashboard-header{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px;min-width:0}.dashboard-header>div:first-child{min-width:0}.dashboard-header h1{margin:0;font-size:30px;line-height:1.25;font-weight:700;color:#111827;letter-spacing:-.5px}.dashboard-header p{margin:8px 0 0;color:#94a3b8;font-size:15px;line-height:1.5}.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-actions .btn{min-height:46px;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;padding:0 16px;cursor:pointer;font-size:14px;transition:background-color .2s ease,border-color .2s ease,transform .15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:#2f78c9;color:#fff;border:1px solid #2f78c9}.btn-primary:hover{background:#286db8}.btn-ghost{color:#475569;background:#fff}.stats-grid{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-bottom:28px}.stat-card{min-width:0;min-height:106px;display:flex;align-items:center;gap:16px;padding:18px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:7px;box-sizing:border-box;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.stat-card:hover{transform:translateY(-2px);border-color:#d6dee9;box-shadow:0 5px 18px #0f172a12}.stat-icon-wrapper{width:56px;height:56px;min-width:56px;display:flex;align-items:center;justify-content:center;border-radius:7px}.stat-info{min-width:0;display:flex;flex-direction:column;gap:4px}.stat-label{color:#475569;font-size:14px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{color:#111827;font-size:28px;line-height:1;font-weight:700}.stat-trend{font-size:11px;margin-top:2px}.mid-section{width:100%;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:28px;margin-bottom:32px;min-width:0}.dashboard-card{min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:7px;box-sizing:border-box;overflow:hidden}.mid-section .dashboard-card{min-height:400px}.card-title-row{min-height:64px;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px;box-sizing:border-box}.card-title{margin:0;color:#111827;font-size:17px;line-height:1.3;font-weight:700}.card-link{display:inline-flex;align-items:center;gap:3px;color:#2474c5;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.card-link:hover{text-decoration:underline}.overview-chart-row{min-width:0;min-height:330px;padding:10px 28px 28px;display:flex;align-items:center;justify-content:center;gap:40px;box-sizing:border-box}.overview-donut{position:relative;width:240px;height:240px;min-width:240px;flex-shrink:0}.overview-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}.overview-donut-total{color:#111827;font-size:36px;line-height:1;font-weight:700}.overview-donut-label{margin-top:5px;color:#94a3b8;font-size:13px}.overview-legend{min-width:180px;display:flex;flex-direction:column;gap:21px}.overview-legend-item{display:flex;align-items:flex-start;gap:12px;min-width:0}.overview-legend-dot{width:12px;height:12px;min-width:12px;margin-top:4px;border-radius:50%}.overview-legend-text{min-width:0;display:flex;flex-direction:column;gap:3px}.overview-legend-name{color:#111827;font-size:14px;font-weight:600}.overview-legend-sub{color:#94a3b8;font-size:12px}.timeline-list{padding:4px 28px 24px}.timeline-item{min-width:0;display:flex;align-items:flex-start;gap:13px;padding:13px 0}.timeline-icon{width:40px;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.timeline-content{min-width:0;display:flex;flex-direction:column;gap:5px;padding-top:2px}.timeline-title{color:#111827;font-size:13px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}.timeline-time{color:#94a3b8;font-size:12px}.section-title{margin:0 0 16px;color:#111827;font-size:18px;font-weight:700}.quick-actions-row{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:32px}.quick-action-btn{width:100%;min-width:0;min-height:82px;display:flex;align-items:center;gap:12px;padding:14px 15px;background:#fff;border:1px solid #e2e8f0;border-radius:7px;text-align:left;cursor:pointer;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.quick-action-btn:hover{transform:translateY(-2px);border-color:#cbd5e1;box-shadow:0 5px 18px #0f172a0f}.quick-action-icon{width:42px;height:42px;min-width:42px;display:flex;align-items:center;justify-content:center;border-radius:7px}.quick-action-text{min-width:0;display:flex;flex-direction:column;gap:5px}.quick-action-title{color:#111827;font-size:13px;font-weight:700;white-space:nowrap}.quick-action-desc{color:#94a3b8;font-size:11px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-tables{width:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px;min-width:0}.bottom-tables>.dashboard-card{grid-column:span 6!important;min-width:0}.clean-table{width:100%;border-collapse:collapse;table-layout:fixed}.clean-table th,.clean-table td{padding:14px 18px;border-top:1px solid #eef2f7;text-align:left;font-size:13px;vertical-align:middle}.clean-table th{color:#64748b;background:#f8fafc;font-weight:600;white-space:nowrap}.clean-table td{color:#334155}.clean-table td:first-child{color:#1e293b;font-weight:600}.clean-table tbody tr:hover{background:#fafafa}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;white-space:nowrap}.status-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-active{color:#10b981}.status-inactive{color:#94a3b8}.event-list{padding:4px 20px 20px}.event-item{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:13px 8px;border-bottom:1px solid #eef2f7}.event-item:last-child{border-bottom:none}.event-date-box{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px}.event-date-month{color:#64748b;font-size:9px;font-weight:700}.event-date-day{color:#111827;font-size:17px;line-height:1.1;font-weight:700}.event-details{min-width:0;display:flex;flex-direction:column;gap:5px}.event-name{color:#1e293b;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-loc{color:#94a3b8;font-size:11px}.event-loc>span{width:24px;height:24px;min-width:24px;display:inline-flex!important;align-items:center;justify-content:center;border-radius:50%}.event-stats{color:#94a3b8;font-size:11px;white-space:nowrap}.event-pill{padding:5px 10px;border-radius:20px;font-size:10px;font-weight:600;white-space:nowrap}.pill-live{color:#059669;background:#ecfdf5}.pill-upcoming{color:#64748b;background:#f1f5f9}@media (max-width: 1399px){.dashboard-page{padding:28px 28px 36px}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.stat-card{padding:16px;gap:12px}.stat-icon-wrapper{width:50px;height:50px;min-width:50px}.stat-value{font-size:25px}.mid-section{gap:20px}.overview-chart-row{gap:25px;padding-left:20px;padding-right:20px}.overview-donut{width:210px;height:210px;min-width:210px}.quick-actions-row{gap:12px}.quick-action-btn{padding:12px}.quick-action-icon{width:38px;height:38px;min-width:38px}}@media (max-width: 1100px){.dashboard-page{padding:24px}.dashboard-header{margin-bottom:24px}.dashboard-header h1{font-size:27px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mid-section{grid-template-columns:minmax(0,1fr)}.mid-section .dashboard-card{min-height:auto}.overview-chart-row{min-height:300px}.quick-actions-row{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-tables>.dashboard-card{grid-column:span 6!important}}@media (max-width: 900px){.dashboard-page{padding:22px 20px 32px}.dashboard-header{align-items:flex-start}.dashboard-header h1{font-size:25px}.dashboard-header p{font-size:14px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-chart-row{gap:30px}.overview-donut{width:200px;height:200px;min-width:200px}.overview-donut-total{font-size:32px}.overview-legend{gap:17px}.quick-actions-row{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-tables{grid-template-columns:minmax(0,1fr)}.bottom-tables>.dashboard-card{grid-column:1!important}}@media (max-width: 768px){.dashboard-page{width:100%;padding:20px 16px 28px}.dashboard-header{flex-direction:column;gap:18px;margin-bottom:22px}.dashboard-header h1{font-size:23px;letter-spacing:-.3px}.dashboard-header p{margin-top:6px;font-size:13px}.header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.header-actions .btn{width:100%;min-height:44px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.stat-card{min-height:92px;padding:14px;gap:11px}.stat-icon-wrapper{width:44px;height:44px;min-width:44px}.stat-icon-wrapper svg{width:20px;height:20px}.stat-label{font-size:12px}.stat-value{font-size:23px}.mid-section{gap:16px;margin-bottom:24px}.card-title-row{min-height:56px;padding:15px 16px}.card-title{font-size:15px}.card-link{font-size:12px}.overview-chart-row{min-height:auto;padding:16px;flex-direction:column;gap:22px}.overview-donut{width:190px;height:190px;min-width:190px}.overview-donut-total{font-size:30px}.overview-legend{width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.overview-legend-item{gap:8px}.overview-legend-dot{width:9px;height:9px;min-width:9px}.overview-legend-name{font-size:12px}.overview-legend-sub{font-size:10px}.timeline-list{padding:4px 16px 16px}.timeline-item{gap:10px;padding:11px 0}.timeline-icon{width:34px;height:34px;min-width:34px}.timeline-icon svg{width:14px;height:14px}.timeline-title{font-size:12px}.timeline-time{font-size:11px}.section-title{font-size:16px;margin-bottom:12px}.quick-actions-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}.quick-action-btn{min-height:72px;padding:11px;gap:9px}.quick-action-icon{width:36px;height:36px;min-width:36px}.quick-action-icon svg{width:16px;height:16px}.quick-action-title{font-size:11px}.quick-action-desc{font-size:9px}.bottom-tables{gap:16px}.bottom-tables>.dashboard-card{grid-column:1!important}.bottom-tables .dashboard-card{overflow:hidden}.clean-table{min-width:550px}.bottom-tables .dashboard-card:first-child{overflow-x:auto}.clean-table th,.clean-table td{padding:11px 14px;font-size:12px}.event-list{padding:4px 12px 15px}.event-item{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:11px 4px}.event-date-box{width:42px;height:42px}.event-date-day{font-size:15px}.event-name{font-size:12px}.event-loc{font-size:10px}.event-stats{display:none}.event-pill{padding:4px 8px;font-size:9px}}@media (max-width: 480px){.dashboard-page{padding:16px 12px 24px}.dashboard-header{gap:15px;margin-bottom:18px}.dashboard-header h1{font-size:20px}.dashboard-header p{font-size:12px;line-height:1.45}.header-actions{grid-template-columns:1fr 1fr}.header-actions .btn{min-height:42px;padding:0 10px;font-size:12px}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:82px;padding:11px;gap:8px}.stat-icon-wrapper{width:38px;height:38px;min-width:38px}.stat-icon-wrapper svg{width:18px;height:18px}.stat-label{font-size:10px}.stat-value{font-size:20px}.overview-chart-row{padding:14px 12px 18px}.overview-donut{width:165px;height:165px;min-width:165px}.overview-donut-total{font-size:27px}.overview-donut-label{font-size:11px}.overview-legend{gap:12px}.overview-legend-name{font-size:11px}.overview-legend-sub{font-size:9px}.quick-actions-row{gap:8px}.quick-action-btn{min-height:68px;padding:9px}.quick-action-icon{width:32px;height:32px;min-width:32px}.quick-action-title{font-size:10px}.quick-action-desc{font-size:8px}.card-title-row{padding:13px}.card-title{font-size:14px}.timeline-list{padding-left:13px;padding-right:13px}.timeline-title{font-size:11px}.event-item{grid-template-columns:40px minmax(0,1fr) auto;gap:8px}.event-date-box{width:38px;height:38px}.event-date-month{font-size:8px}.event-date-day{font-size:14px}.event-name{font-size:11px}.event-pill{padding:3px 7px;font-size:8px}}@media (max-width: 360px){.dashboard-page{padding-left:10px;padding-right:10px}.dashboard-header h1{font-size:18px}.dashboard-header p{font-size:11px}.stats-grid{gap:7px}.stat-card{padding:9px;gap:7px}.stat-icon-wrapper{width:34px;height:34px;min-width:34px}.stat-value{font-size:18px}.stat-label{font-size:9px}.overview-donut{width:150px;height:150px;min-width:150px}.overview-legend{grid-template-columns:1fr 1fr}.quick-action-btn{padding:8px;gap:6px}.quick-action-icon{width:29px;height:29px;min-width:29px}.quick-action-title{font-size:9px}.quick-action-desc{display:none}}.dashboard-page *,.dashboard-page *:before,.dashboard-page *:after{box-sizing:border-box}.dashboard-page button{font-family:inherit}.dashboard-page img,.dashboard-page svg{max-width:100%}.users-page{width:100%;min-height:100%;padding:24px;box-sizing:border-box;background:transparent;color:#111827}.users-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.users-header-content{min-width:0}.users-title{margin:0;font-size:24px;line-height:1.25;font-weight:700;color:#111827}.users-subtitle{margin:5px 0 0;color:#6b7280;font-size:13px;line-height:1.5}.users-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.users-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 14px;border-radius:7px;font-size:13px;line-height:1;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.users-btn:disabled{opacity:.6;cursor:not-allowed}.users-btn-primary{background:var(--primary);color:#fff;border:1px solid var(--primary)}.users-btn-primary:hover:not(:disabled){filter:brightness(.94)}.users-btn-outline{background:#fff;color:#374151;border:1px solid #d1d5db}.users-btn-outline:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.users-btn-success{background:#16a34a;color:#fff;border:1px solid #16a34a}.users-btn-success:hover:not(:disabled){background:#15803d;border-color:#15803d}.users-btn-danger-outline{background:#fff;color:#dc2626;border:1px solid #fecaca}.users-btn-danger-outline:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.users-btn-remove{min-height:30px;padding:5px 10px;background:#fff;color:#dc2626;border:1px solid #fecaca;font-size:12px}.users-btn-remove:hover{background:#fef2f2}.users-flex-btn{flex:1}.users-login-explainer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.users-login-info{display:flex;align-items:center;gap:11px;min-width:0;padding:13px 15px;border-radius:10px;border:1px solid}.users-login-info-workforce{background:#eff6ff;border-color:#bfdbfe}.users-login-info-external{background:#fffbeb;border-color:#fde68a}.users-login-info-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.users-login-info-workforce .users-login-info-icon{color:#1d4ed8}.users-login-info-external .users-login-info-icon{color:#92400e}.users-login-info-content{min-width:0}.users-login-info-title{font-size:13px;line-height:1.4;font-weight:600}.users-login-info-workforce .users-login-info-title{color:#1d4ed8}.users-login-info-external .users-login-info-title{color:#92400e}.users-login-info-description{margin-top:2px;color:#6b7280;font-size:11px;line-height:1.4}.users-login-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;max-width:100%;padding:3px 8px;border-radius:4px;font-size:10px;line-height:1.3;font-weight:600;white-space:nowrap}.users-login-badge-workforce{background:#dbeafe;color:#1d4ed8}.users-login-badge-external{background:#fef3c7;color:#92400e}.users-login-badge-unknown{background:#f3f4f6;color:#6b7280}.users-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.users-filter-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:3px;background:#f3f4f6;border-radius:8px}.users-filter-tab{position:relative;min-height:32px;padding:6px 14px;border:0;border-radius:6px;background:transparent;color:#6b7280;font-size:13px;font-weight:400;font-family:inherit;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.users-filter-tab:hover{color:#374151}.users-filter-tab-active{background:#fff;color:#111827;font-weight:600;box-shadow:0 1px 3px #0000001a}.users-pending-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#ef4444}.users-search{display:flex;align-items:center;gap:8px;width:300px;min-width:220px;height:36px;padding:0 11px;border:1px solid #d1d5db;border-radius:7px;background:#fff;color:#6b7280;box-sizing:border-box}.users-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #4f46e514}.users-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#111827;font-size:13px;font-family:inherit}.users-search input::placeholder{color:#9ca3af}.users-table-card{width:100%;overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000d}.users-table-wrapper{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.users-table{width:100%;min-width:850px;border-collapse:collapse;font-size:13px}.users-table thead tr{background:#f8fafc;border-bottom:2px solid #e5e7eb}.users-table th{padding:11px 12px;text-align:left;color:#374151;font-size:12px;line-height:1.3;font-weight:600;white-space:nowrap}.users-table td{padding:12px;color:#374151;border-bottom:1px solid #f3f4f6;vertical-align:middle}.users-table tbody tr{cursor:pointer;transition:background-color .12s ease}.users-table tbody tr:hover{background:#f8fafc}.users-table tbody tr:last-child td{border-bottom:0}.users-actions-column{width:90px}.users-user-cell{display:flex;align-items:center;gap:10px;min-width:180px}.users-avatar,.users-drawer-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#fff;font-weight:700}.users-avatar{width:34px;height:34px;border-radius:50%;font-size:13px}.users-drawer-avatar{width:52px;height:52px;border-radius:50%;font-size:20px}.users-avatar-color-0{background:#4f46e5}.users-avatar-color-1{background:#0891b2}.users-avatar-color-2{background:#059669}.users-avatar-color-3{background:#d97706}.users-avatar-color-4{background:#dc2626}.users-avatar-color-5{background:#7c3aed}.users-avatar-color-6{background:#db2777}.users-user-info{min-width:0}.users-user-name{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#111827;font-size:13px;font-weight:600}.users-user-id{margin-top:2px;color:#9ca3af;font-family:monospace;font-size:10px}.users-email{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7280}.users-last-login{color:#6b7280;font-size:12px;white-space:nowrap}.users-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:4px;font-size:11px;line-height:1.3;font-weight:500;white-space:nowrap}.users-status-active{background:#dcfce7;color:#16a34a}.users-status-inactive{background:#fee2e2;color:#dc2626}.users-status-neutral{background:#f3f4f6;color:#6b7280}.users-approval-actions{display:flex;align-items:center;gap:6px}.users-approval-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:50%;cursor:pointer;background:#fff;transition:background-color .15s ease,transform .1s ease}.users-approval-btn:hover{transform:translateY(-1px)}.users-approve-btn{background:#ecfdf5;color:#059669;border:1px solid #10b981}.users-approve-btn:hover{background:#d1fae5}.users-reject-btn{background:#fef2f2;color:#dc2626;border:1px solid #ef4444}.users-reject-btn:hover{background:#fee2e2}.users-view-btn{min-height:29px;padding:4px 10px;font-size:12px}.users-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;padding:48px 24px;color:#6b7280;text-align:center}.users-empty-icon{margin-bottom:10px;color:#9ca3af;opacity:.35}.users-empty-title{color:#374151;font-size:14px;font-weight:600}.users-empty-description{margin-top:4px;color:#9ca3af;font-size:12px}.users-loading-spinner{width:22px;height:22px;margin-bottom:10px;border:2px solid #e5e7eb;border-top-color:var(--primary);border-radius:50%;animation:users-spin .8s linear infinite}@keyframes users-spin{to{transform:rotate(360deg)}}.users-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0006}.users-modal-overlay{display:flex;align-items:center;justify-content:center;padding:12px}.users-drawer-overlay{display:flex;justify-content:flex-end}.users-detail-drawer{width:min(520px,100vw);max-width:100%;height:100%;overflow-y:auto;background:#fff;box-shadow:-4px 0 30px #00000026;animation:users-drawer-in .2s ease-out}@keyframes users-drawer-in{0%{transform:translate(30px);opacity:.8}to{transform:translate(0);opacity:1}}.users-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 24px;border-bottom:1px solid #f3f4f6;background:#f8fafc}.users-drawer-user{display:flex;align-items:center;gap:12px;min-width:0}.users-drawer-user-info{min-width:0}.users-drawer-user-name{color:#111827;font-size:17px;line-height:1.35;font-weight:700}.users-drawer-user-email{margin-top:2px;max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7280;font-size:13px}.users-drawer-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px}.users-close-btn{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;padding:0;border:0;border-radius:6px;background:transparent;color:#6b7280;cursor:pointer;transition:background-color .15s ease,color .15s ease}.users-close-btn:hover{background:#f3f4f6;color:#111827}.users-detail-tabs{display:flex;align-items:center;overflow-x:auto;padding:0 24px;border-bottom:2px solid #f3f4f6}.users-detail-tab{position:relative;flex:0 0 auto;min-height:48px;padding:12px 16px;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;background:transparent;color:#6b7280;font-size:13px;font-weight:400;font-family:inherit;cursor:pointer;text-transform:capitalize}.users-detail-tab:hover{color:#374151}.users-detail-tab-active{color:var(--primary);font-weight:600;border-bottom-color:var(--primary)}.users-detail-content{padding:24px}.users-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;color:#6b7280;font-size:13px}.users-info-list{display:flex;flex-direction:column}.users-info-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:46px;padding:10px 0;border-bottom:1px solid #f3f4f6}.users-info-label{flex:0 0 auto;color:#6b7280;font-size:12px;font-weight:500}.users-info-value-wrapper{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;text-align:right}.users-info-value{max-width:280px;overflow-wrap:anywhere;color:#111827;font-size:12px;line-height:1.4;font-weight:600}.users-monospace{font-family:monospace}.users-link-btn{flex:0 0 auto;padding:2px 0;border:0;background:transparent;color:var(--primary);font-size:12px;font-family:inherit;cursor:pointer}.users-link-btn:hover{text-decoration:underline}.users-detail-approval-actions{display:flex;gap:8px;margin-top:16px}.users-tab-empty{display:flex;align-items:center;justify-content:center;min-height:160px;padding:32px;color:#6b7280;font-size:13px;text-align:center}.users-section-action{display:flex;justify-content:flex-end;margin-bottom:12px}.users-role-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px}.users-role-left{display:flex;align-items:center;gap:10px;min-width:0}.users-role-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;border-radius:8px;background:#faf5ff;color:#7c3aed}.users-role-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#111827;font-size:13px;font-weight:600}.users-role-date{margin-top:2px;color:#9ca3af;font-size:11px}.users-privileges-table-wrapper{width:100%;overflow-x:auto}.users-privileges-table{width:100%;min-width:390px;border-collapse:collapse;font-size:12px}.users-privileges-table th{padding:9px 10px;background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#374151;text-align:left;font-size:12px;font-weight:600;white-space:nowrap}.users-privileges-table td{padding:9px 10px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.users-privilege-table-name{color:#111827;font-weight:600}.users-privilege-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;line-height:1.3;white-space:nowrap}.users-operation-create{background:#dcfce7}.users-operation-read{background:#dbeafe}.users-operation-update{background:#fef3c7}.users-operation-delete{background:#fee2e2}.users-operation-append{background:#f3e8ff}.users-operation-default{background:#f3f4f6}.users-scope-global{background:#dcfce7}.users-scope-wstree{background:#dbeafe}.users-scope-workspace{background:#fef3c7}.users-scope-user{background:#fce7f3}.users-scope-none{background:#fee2e2}.users-scope-default{background:#f3f4f6}.users-modal{width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow-y:auto;padding:24px;background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000002e;animation:users-modal-in .18s ease-out}@keyframes users-modal-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.users-create-modal{width:min(520px,calc(100vw - 24px))}.users-assign-modal{width:min(420px,calc(100vw - 24px))}.users-contact-modal{width:min(460px,calc(100vw - 24px))}.users-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.users-modal-title{margin:0;min-width:0;color:#111827;font-size:18px;line-height:1.4;font-weight:700}.users-modal-message{margin:0 0 18px;color:#6b7280;font-size:13px;line-height:1.5}.users-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #f3f4f6}.users-form-group{margin-bottom:14px}.users-form-label{display:block;margin-bottom:5px;color:#374151;font-size:13px;line-height:1.4;font-weight:500}.users-form-input{width:100%;height:38px;padding:8px 12px;box-sizing:border-box;border:1px solid #d1d5db;border-radius:7px;outline:none;background:#fff;color:#111827;font-size:14px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.users-form-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #4f46e514}.users-form-input::placeholder{color:#9ca3af}.users-form-hint{margin-top:5px;color:#9ca3af;font-size:11px}.users-user-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.users-user-type-option{min-width:0;padding:12px;border:2px solid #e5e7eb;border-radius:7px;background:#fff;text-align:left;font-family:inherit;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.users-user-type-option:hover{border-color:#cbd5e1;background:#f8fafc}.users-user-type-option-active{border-color:var(--primary);background:var(--primary-light)}.users-user-type-title{color:#374151;font-size:13px;line-height:1.4;font-weight:600}.users-user-type-option-active .users-user-type-title{color:var(--primary)}.users-user-type-description{margin-top:3px;color:#6b7280;font-size:11px;line-height:1.4}.users-contact-list{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.users-contact-item{display:block;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #f3f4f6;background:#fff;text-align:left;font-family:inherit;cursor:pointer;transition:background-color .12s ease}.users-contact-item:last-child{border-bottom:0}.users-contact-item:hover{background:#f8fafc}.users-contact-name{color:#111827;font-size:13px;line-height:1.4;font-weight:600}.users-contact-email{margin-top:2px;color:#6b7280;font-size:11px;line-height:1.4}.users-contact-empty{padding:20px;color:#6b7280;font-size:13px;text-align:center}@media (max-width: 992px){.users-page{padding:20px}.users-toolbar{align-items:stretch;flex-direction:column}.users-filter-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.users-filter-tab{flex:0 0 auto}.users-search{width:100%}.users-table{min-width:820px}.users-drawer-header{padding:18px 20px}.users-detail-content{padding:20px}.users-detail-tabs{padding:0 20px}}@media (max-width: 768px){.users-page{padding:16px}.users-header{flex-direction:column;gap:14px}.users-header-actions{width:100%}.users-header-actions .users-btn{flex:1}.users-refresh-btn{min-width:0}.users-login-explainer{grid-template-columns:1fr;gap:8px}.users-login-info{padding:11px 12px}.users-toolbar{gap:10px}.users-filter-tabs{width:100%}.users-filter-tab{padding-left:11px;padding-right:11px;font-size:12px}.users-table-card{border-radius:8px}.users-table{min-width:800px}.users-modal-overlay{align-items:flex-start;padding:12px;overflow-y:auto}.users-modal{margin:auto 0;max-height:calc(100vh - 24px);padding:18px;border-radius:10px}.users-modal-title{font-size:16px}.users-user-type-grid{grid-template-columns:1fr}.users-detail-drawer{width:100%}.users-drawer-header{padding:16px}.users-detail-tabs{padding:0 16px}.users-detail-tab{padding-left:12px;padding-right:12px}.users-detail-content{padding:16px}.users-drawer-user{gap:10px}.users-drawer-avatar{width:44px;height:44px;font-size:17px}.users-drawer-user-name{font-size:15px}.users-drawer-user-email{max-width:240px;font-size:12px}.users-info-row{align-items:flex-start;gap:12px}.users-info-label{max-width:100px}.users-info-value-wrapper{flex:1}.users-info-value{max-width:210px}.users-role-card{align-items:flex-start}.users-section-action{margin-bottom:10px}}@media (max-width: 480px){.users-page{padding:12px}.users-title{font-size:21px}.users-subtitle{font-size:12px}.users-header-actions{gap:6px}.users-btn{min-height:35px;padding:8px 11px;font-size:12px}.users-refresh-text{display:none}.users-login-info-title{font-size:12px}.users-login-info-description{font-size:10px}.users-filter-tab{min-height:30px;padding:5px 9px;font-size:11px}.users-detail-approval-actions{flex-direction:column}.users-info-row{flex-direction:column;align-items:flex-start;gap:5px}.users-info-label{max-width:none}.users-info-value-wrapper{width:100%;justify-content:flex-start;text-align:left}.users-info-value{max-width:none;text-align:left}.users-role-card{flex-direction:column}.users-role-left,.users-role-card .users-btn-remove{width:100%}.users-modal-footer{flex-direction:column-reverse}.users-modal-footer .users-btn{width:100%}.users-drawer-badges{gap:4px}.users-login-badge{font-size:9px}}@media (hover: none){.users-table tbody tr:hover{background:transparent}.users-contact-item:hover{background:#fff}.users-btn-primary:hover:not(:disabled){filter:none}}@media (prefers-reduced-motion: reduce){.users-loading-spinner,.users-detail-drawer,.users-modal{animation:none}.users-btn,.users-filter-tab,.users-table tbody tr,.users-contact-item{transition:none}}.fm-page{padding:24px 32px;background:#fff;min-height:100vh;width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden}.fm-page *{box-sizing:border-box}.fm-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}.fm-header-left{min-width:0}.fm-title{font-size:24px;font-weight:700;color:#111827;margin:0;letter-spacing:-.5px}.fm-subtitle{font-size:14px;color:#6b7280;margin-top:6px;line-height:1.5}.fm-create-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease;flex-shrink:0}.fm-create-btn:hover{transform:translateY(-1px);box-shadow:0 6px 8px -1px #0000001a,0 2px 4px -1px #0000000f}.fm-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:24px}.fm-stat-card{position:relative;overflow:hidden;padding:20px;border:1px solid #e5e7eb;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;transition:all .2s ease}.fm-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.fm-stat-inner{display:flex;align-items:center;gap:16px}.fm-stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fm-stat-body{flex:1;min-width:0}.fm-stat-value-row{display:flex;align-items:baseline;gap:8px}.fm-stat-value{font-size:28px;font-weight:700;color:#111827;line-height:1}.fm-stat-label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.fm-stat-sub{font-size:12px;color:#9ca3af;margin-top:2px}.fm-tabs{display:flex;gap:32px;border-bottom:1px solid #e5e7eb;margin-bottom:24px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.fm-tab{padding:14px 0;font-size:14px;font-weight:500;background:none;border:none;border-bottom:3px solid transparent;color:#6b7280;cursor:pointer;transition:all .2s ease;position:relative;top:1px;white-space:nowrap}.fm-tab:hover:not(.fm-tab-active){color:#374151}.fm-tab-active{border-bottom-color:var(--primary);color:var(--primary)}.fm-list{display:flex;flex-direction:column;gap:0}.fm-badge{display:inline-block;font-size:11px;padding:3px 10px;border-radius:4px;font-weight:500;white-space:nowrap}.fm-badge-active{background:#e8f5ee;color:#1a5c3e}.fm-badge-inactive{background:#f3f4f6;color:#9ca3af}.fm-badge-module{background:var(--primary-light);color:var(--primary)}.fm-badge-type{background:#f3f4f6;color:#4b5563}.fm-badge-required{background:#fef2f2;color:#b91c1c}.fm-badge-draft{background:#fef3c7;color:#92400e}.fm-badge-published{background:#dbeafe;color:#1e40af}.fm-toggle{width:36px;height:20px;border-radius:10px;border:none;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}.fm-toggle[data-active=true]{background:var(--primary)}.fm-toggle[data-active=false]{background:#d1d5db}.fm-toggle-knob{position:absolute;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s;display:block}.fm-toggle[data-active=true] .fm-toggle-knob{left:18px}.fm-toggle[data-active=false] .fm-toggle-knob{left:3px}.fm-chevron{transition:transform .22s ease}.fm-chevron[data-open=true]{transform:rotate(180deg)}.fm-chevron[data-open=false]{transform:rotate(0)}.fm-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d;width:100%;min-width:0;box-sizing:border-box}.fm-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 20px;cursor:pointer;transition:background .15s ease;min-width:0}.fm-card-header:hover{background:#f9fafb}.fm-card-header-expanded{border-bottom:1px solid #f3f4f6}.fm-card-header-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.fm-card-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fm-card-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.fm-card-title{font-size:15px;font-weight:600;color:#111827;word-break:break-word;overflow-wrap:anywhere}.fm-card-desc{font-size:12px;color:#6b7280;margin-top:2px;word-break:break-word;overflow-wrap:anywhere}.fm-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:20px;min-width:0}.fm-card-meta-item{text-align:right}.fm-card-meta-label{font-size:11px;color:#9ca3af;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.fm-card-meta-value{font-size:13px;font-weight:500;color:#374151;margin-top:2px}.fm-card-public-toggle{display:flex;align-items:center;gap:8px}.fm-card-public-label{font-size:12px;color:#6b7280;font-weight:500}.fm-card-actions{display:flex;gap:8px;padding-left:12px;border-left:1px solid #e5e7eb}.fm-card-body{padding:16px 20px}.fm-card-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:12px;background:#f9fafb;border:.5px solid #e5e7eb;border-radius:8px;margin-bottom:16px;font-size:12px}.fm-detail-label{color:#6b7280;display:block;font-size:10px;text-transform:uppercase;font-weight:600}.fm-detail-value{font-weight:500;color:#111827}.fm-pending-banner{padding:10px 16px;margin-bottom:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:12px;color:#92400e;display:flex;align-items:center;gap:8px}.fm-add-section-btn{display:flex;align-items:center;gap:5px;width:100%;padding:8px 16px;margin-top:4px;font-size:12px;color:var(--primary);font-weight:500;background:var(--primary-light);border:.5px dashed #b3c3e0;border-radius:6px;cursor:pointer;justify-content:center}.fm-section{margin-bottom:8px}.fm-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#f9fafb;border:.5px solid #e5e7eb;border-radius:8px;cursor:pointer}.fm-section-header-expanded{border-radius:8px 8px 0 0}.fm-section-header-left{display:flex;align-items:center;gap:8px;min-width:0}.fm-section-dot{width:5px;height:5px;border-radius:50%;background:var(--primary);flex-shrink:0}.fm-section-name{font-size:12px;font-weight:500;color:#111827}.fm-section-count{font-size:11px;color:#9ca3af}.fm-section-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.fm-section-body{border:.5px solid #e5e7eb;border-top:none;border-radius:0 0 8px 8px;overflow:hidden;background:#fff}.fm-field-grid-header{display:grid;grid-template-columns:2.2fr 1fr 80px 200px;gap:12px;padding:6px 16px;border-bottom:.5px solid #f3f4f6}.fm-field-header-label{font-size:10px;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.fm-field-header-right{text-align:right}.fm-field-row{display:grid;grid-template-columns:2.2fr 1fr 80px 200px;gap:12px;align-items:center;padding:8px 16px;border-bottom:.5px solid #f3f4f6;transition:background .15s}.fm-field-row:hover{background:#fafafa}.fm-field-label-col{min-width:0}.fm-field-label-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fm-field-label{font-size:12px;font-weight:500;color:#111827}.fm-field-help{font-size:10px;color:#9ca3af;margin-top:1px}.fm-field-type-col{display:flex;gap:4px;flex-wrap:wrap}.fm-field-active-col{display:flex;justify-content:center}.fm-field-actions{display:flex;justify-content:flex-end;gap:4px}.fm-add-field-row{padding:8px 16px;border-top:.5px solid #f3f4f6;display:flex}.fm-add-field-btn{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--primary);background:none;border:none;cursor:pointer;font-weight:500}.fm-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;border-radius:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap;font-weight:500}.fm-btn-primary{color:#fff;background:var(--primary);border:none}.fm-btn-primary:hover:not(:disabled){opacity:.9}.fm-btn-primary:disabled{opacity:.6;cursor:not-allowed}.fm-btn-unpublish{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.fm-btn-unpublish:hover:not(:disabled){background:#fef3c7}.fm-btn-unpublish:disabled{opacity:.6;cursor:not-allowed}.fm-btn-outline{color:#4b5563;background:#fff;border:1px solid #d1d5db}.fm-btn-outline:hover{background:#f3f4f6;border-color:#9ca3af}.fm-btn-danger{color:#dc2626;background:#fff;border:1px solid #fecaca}.fm-btn-danger:hover{background:#fef2f2;border-color:#f87171}.fm-field-icon-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:.5px solid #d1d5db;border-radius:5px;background:#f0fdf4;cursor:pointer;color:#16a34a;flex-shrink:0}.fm-field-icon-btn:hover:not(:disabled){background:#dcfce7}.fm-field-icon-btn:disabled{opacity:.5;cursor:not-allowed}.fm-field-icon-btn-unpublish{border-color:#fde68a;background:#fffbeb;color:#d97706}.fm-field-icon-btn-unpublish:hover:not(:disabled){background:#fef3c7}.fm-field-edit-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;color:#4b5563;background:#f9fafb;border:.5px solid #e5e7eb;border-radius:5px;cursor:pointer;white-space:nowrap}.fm-field-delete-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:.5px solid #e5e7eb;border-radius:5px;background:none;cursor:pointer;color:#d1d5db;flex-shrink:0}.fm-field-delete-btn:hover{color:#ef4444;border-color:#fca5a5}.fm-section-edit-btn{display:flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;color:#6b7280;background:#fff;border:.5px solid #e5e7eb;border-radius:5px;cursor:pointer;white-space:nowrap}.fm-section-delete-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:.5px solid #e5e7eb;border-radius:5px;cursor:pointer;color:#d1d5db;flex-shrink:0}.fm-section-delete-btn:hover{color:#ef4444}.fm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px}.fm-modal{background:#fff;border-radius:16px;max-width:100%;max-height:calc(100vh - 40px);border:1px solid #e5e7eb;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040}.fm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.fm-modal-title{font-size:18px;font-weight:600;color:#111827}.fm-modal-close{background:#f3f4f6;border:none;font-size:20px;cursor:pointer;color:#6b7280;line-height:1;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;transition:all .15s ease;flex-shrink:0}.fm-modal-close:hover{background:#e5e7eb;color:#374151}.fm-modal-body{padding:24px;overflow-y:auto;flex:1}.fm-form-field{margin-bottom:20px}.fm-form-field-label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:8px}.fm-form-field-required{color:#ef4444;margin-left:2px}.fm-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;box-sizing:border-box;background:#fff;color:#111827;transition:border-color .15s ease,box-shadow .15s ease}.fm-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;box-sizing:border-box;background:#fff;color:#111827;transition:border-color .15s ease,box-shadow .15s ease;resize:vertical}.fm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.fm-form-grid-full{grid-column:span 2}.fm-modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;border-top:1px solid #f3f4f6;padding-top:20px}.fm-modal-footer-no-border{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.fm-cancel-btn{padding:10px 20px;font-size:14px;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;color:#374151;font-weight:500;transition:all .15s ease}.fm-cancel-btn:hover{background:#f9fafb;border-color:#9ca3af}.fm-save-btn{padding:10px 24px;font-size:14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px #0000000d}.fm-save-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.fm-archived-filter{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.fm-archived-filter-label{font-size:13px;color:#6b7280}.fm-archived-filter-select{min-width:180px}.fm-archived-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;padding:16px 20px}.fm-archived-title{font-size:15px;font-weight:600;color:#111827;margin-bottom:12px}.fm-archived-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:.5px solid #f3f4f6;gap:12px}.fm-archived-row-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.fm-archived-row-name{font-size:13px;font-weight:500;color:#111827}.fm-archived-days{font-size:11px;color:#9ca3af}.fm-archived-field-grid{display:grid;grid-template-columns:2.2fr 1fr 120px;gap:12px;padding:6px 0;border-bottom:1px solid #f3f4f6}.fm-archived-field-row{display:grid;grid-template-columns:2.2fr 1fr 120px;gap:12px;align-items:center;padding:8px 0;border-bottom:.5px solid #f3f4f6}.fm-archived-field-type{font-size:12px;color:#6b7280}.fm-archived-restore-actions{display:flex;justify-content:flex-end}.fm-restore-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:11px;color:#fff;background:var(--primary);border:none;border-radius:5px;cursor:pointer;white-space:nowrap}.fm-restore-btn:disabled{opacity:.5;cursor:not-allowed}.fm-empty-state{padding:80px 0;text-align:center;background:#fff;border:2px dashed #e5e7eb;border-radius:16px}.fm-empty-icon{width:64px;height:64px;border-radius:16px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.fm-empty-title{font-size:16px;font-weight:500;color:#374151;margin-bottom:8px}.fm-empty-text{font-size:14px;color:#9ca3af}.fm-preview-header{margin-bottom:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fm-preview-hint{font-size:12px;color:#6b7280}.fm-preview-section{margin-bottom:20px}.fm-preview-section-title{font-size:14px;font-weight:600;color:#111827;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.fm-preview-field{margin-bottom:14px}.fm-preview-field-label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:4px}.fm-preview-required{color:#ef4444;margin-left:2px}.fm-preview-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;box-sizing:border-box;background:#f9fafb;cursor:not-allowed;color:#111827}.fm-preview-empty-section{font-size:12px;color:#9ca3af;font-style:italic}.fm-preview-empty{text-align:center;padding:40px;color:#9ca3af;font-size:14px}.fm-multiselect-config{grid-column:span 2;display:flex;flex-direction:column;gap:12px;padding:14px;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb;margin-bottom:16px}.fm-radio-group{display:flex;gap:24px;padding-top:4px;flex-wrap:wrap}.fm-radio-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13.5px;font-weight:500}.fm-radio-input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.fm-checkbox-group{display:flex;gap:24px;padding-top:4px;flex-wrap:wrap}.fm-checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:500}.fm-checkbox-input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;border-radius:4px}.fm-lookup-columns{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin-top:12px}.fm-autonumber-config{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.fm-autonumber-preview{display:flex;align-items:flex-end}.fm-autonumber-preview-text{font-size:12px;color:#6b7280;padding-bottom:8px}.fm-col-span-hint{font-size:11px;color:#9ca3af;margin-top:4px}.fm-required-row{grid-column:span 2;display:flex;align-items:center;gap:10px;margin:8px 0}.fm-required-label{font-size:13px;color:#374151}.fm-toggle-wrap{display:flex;align-items:center;gap:4px;padding:8px 0}@media (max-width: 1024px){.fm-page{padding:20px 24px}.fm-header{flex-wrap:wrap}.fm-card-meta{gap:16px}.fm-card-actions{padding-left:8px}}@media (max-width: 768px){.fm-page{padding:16px;overflow-x:hidden}.fm-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:24px}.fm-create-btn{width:100%;justify-content:center}.fm-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.fm-tabs{gap:0;flex-wrap:nowrap}.fm-tab{flex:0 0 auto;padding:12px 16px;font-size:13px}.fm-card-header{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.fm-card-header-left{gap:10px}.fm-card-meta{flex-direction:column;align-items:stretch;gap:8px;width:100%}.fm-card-meta-item{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left}.fm-card-public-toggle{justify-content:space-between;width:100%;padding:4px 0}.fm-card-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%;padding:12px 0 0;margin-top:4px;border-left:none;border-top:1px solid #f3f4f6}.fm-card-actions .fm-btn{width:100%;justify-content:center}.fm-card-body{padding:14px 16px}.fm-card-details-grid{grid-template-columns:repeat(2,1fr)}.fm-section-header{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 14px}.fm-section-header-left{width:100%;flex-wrap:wrap}.fm-section-actions{flex-wrap:wrap;gap:6px;width:100%;justify-content:flex-start}.fm-field-grid-header{display:none}.fm-field-row{grid-template-columns:1fr;gap:8px;padding:12px 14px;border-bottom:1px solid #f3f4f6}.fm-field-label-col{width:100%}.fm-field-label-row{flex-wrap:wrap}.fm-field-label{word-break:break-word;overflow-wrap:anywhere}.fm-field-type-col{flex-wrap:wrap}.fm-field-active-col{justify-content:flex-start}.fm-field-actions{justify-content:flex-start;flex-wrap:wrap;gap:6px;width:100%}.fm-archived-field-grid{display:none}.fm-archived-field-row{grid-template-columns:1fr;gap:8px;padding:12px 0}.fm-archived-restore-actions{justify-content:flex-start}.fm-form-grid{grid-template-columns:1fr}.fm-form-grid-full{grid-column:span 1}.fm-lookup-columns,.fm-autonumber-config{grid-template-columns:1fr}.fm-required-row,.fm-multiselect-config{grid-column:span 1}.fm-modal-overlay{padding:12px}.fm-modal{width:100%!important;max-width:100%!important}.fm-modal-body{padding:16px}.fm-archived-filter{flex-direction:column;align-items:stretch}.fm-archived-filter-select{min-width:0;width:100%}.fm-archived-row{flex-direction:column;align-items:stretch;gap:8px}.fm-archived-restore-actions{justify-content:flex-end}}@media (max-width: 560px){.fm-page{padding:12px;overflow-x:hidden}.fm-title{font-size:20px}.fm-stats-grid{grid-template-columns:1fr}.fm-stat-card{padding:16px}.fm-stat-icon{width:40px;height:40px}.fm-stat-value{font-size:24px}.fm-card-details-grid{grid-template-columns:1fr}.fm-card-meta{flex-direction:column;align-items:flex-start;gap:8px}.fm-card-meta-item{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left}.fm-card-public-toggle{width:100%;justify-content:space-between}.fm-btn{width:100%;justify-content:center}.fm-card-actions{flex-direction:column;gap:8px;width:100%;display:flex}.fm-card-actions .fm-btn{width:100%;justify-content:center}.fm-modal-footer,.fm-modal-footer-no-border{flex-direction:column-reverse;gap:8px}.fm-cancel-btn,.fm-save-btn{width:100%;text-align:center}.fm-radio-group,.fm-checkbox-group{flex-direction:column;gap:12px}}@media (max-width: 400px){.fm-page{padding:10px 8px;overflow-x:hidden}.fm-stat-inner{gap:12px}.fm-stat-icon{width:36px;height:36px}.fm-stat-value{font-size:22px}.fm-tab{padding:10px 12px;font-size:12px}}.sp-page{padding:24px 32px;background:#fafafa;min-height:100vh;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif}.sp-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;margin-bottom:24px}.sp-header-title{display:flex;align-items:center;gap:16px}.sp-header-icon{width:48px;height:48px;border-radius:5px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;color:var(--primary)}.sp-title{font-size:24px;font-weight:800;margin:0 0 4px;color:#111827}.sp-subtitle{font-size:13px;color:#6b7280;margin:0}.sp-header-actions{display:flex;gap:12px;align-items:center}.sp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.sp-stat-card{background:#fff;border-radius:5px;padding:20px;border:1px solid #f1f5f9;display:flex;gap:16px;align-items:center;box-shadow:0 1px 2px #00000005}.sp-stat-icon{width:44px;height:44px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sp-stat-content{display:flex;flex-direction:column;min-width:0}.sp-stat-title{font-size:12px;font-weight:700;color:#374151;margin-bottom:4px}.sp-stat-value{font-size:15px;font-weight:700;color:#111827;word-break:break-all}.sp-stat-desc{font-size:11px;color:#6b7280}.sp-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}.sp-main{min-width:0}.sp-page .settings-card{background:#fff;border:1px solid #f1f5f9;border-radius:5px;overflow:hidden;margin-bottom:20px;box-shadow:0 1px 2px #00000005}.sp-page .settings-card-head{padding:16px 24px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:10px}.sp-page .settings-card-head span{font-size:15px;font-weight:700;color:#111827}.sp-page .settings-row{display:grid;grid-template-columns:160px 180px 1fr;align-items:start;padding:18px 24px;border-bottom:1px solid #f8fafc;gap:16px}.sp-page .settings-row:last-child{border-bottom:none}.sp-page .settings-label{font-size:13px;font-weight:700;color:#111827;padding-top:4px}.sp-page .settings-hint{font-size:12px;color:#6b7280;padding-top:5px;line-height:1.5}.sp-btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--primary);border-radius:5px;background:var(--primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.sp-btn-primary:hover{background:var(--primary-dark)}.sp-btn-danger{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #ef4444;border-radius:5px;background:#fff;color:#ef4444;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.sp-btn-danger:hover{background:#fef2f2}.sp-btn-outline{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.sp-btn-outline:hover{background:#f8fafc}.sp-preview-box{display:inline-flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:5px;width:fit-content}.sp-sidebar-style-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 20px;border-radius:5px;cursor:pointer;transition:all .2s;font-size:13px;font-weight:600;min-width:80px}.sp-sidebar-style-swatch{width:32px;height:20px;border-radius:6px;border:1px solid rgba(0,0,0,.08)}.sp-preview{position:sticky;top:24px;background:#fff;border-radius:5px;border:1px solid #f1f5f9;padding:24px;box-shadow:0 1px 2px #00000005}.sp-preview-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}.sp-color-chips{display:flex;flex-direction:column;gap:12px;margin-top:16px}.sp-color-chip{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:5px}.sp-color-dot{width:16px;height:16px;border-radius:4px;flex-shrink:0}@media (max-width: 1280px){.sp-stats-grid{grid-template-columns:repeat(2,1fr)}.sp-layout{grid-template-columns:1fr 280px}}@media (max-width: 1024px){.sp-layout{grid-template-columns:1fr}.sp-preview{position:static}.sp-page .settings-row{grid-template-columns:140px 1fr}.sp-page .settings-hint{grid-column:1 / -1}}@media (max-width: 768px){.sp-page{padding:16px}.sp-header{flex-direction:column;align-items:flex-start}.sp-header-actions{width:100%}.sp-header-actions button{width:100%;justify-content:center}.sp-stats-grid{grid-template-columns:1fr}.sp-page .settings-row{grid-template-columns:1fr;gap:8px}.sp-page .settings-hint{grid-column:auto}.sp-page .settings-row>div:last-child{width:100%}.sp-page .settings-row .d-flex.gap-2{flex-wrap:wrap}.sp-page .settings-row .d-flex.gap-2>*{flex:1 1 auto}.sp-page .settings-row .form-input.max-w-260,.sp-page .settings-row .form-input.max-w-280,.sp-page .settings-row .form-input.max-w-340{max-width:100%;width:100%}.sp-page .settings-row .form-input.w-32{flex:0 1 100px;min-width:80px;width:auto}.sp-mobile-wrap{flex-wrap:wrap}.sp-mobile-wrap .sp-mobile-input,.sp-mobile-wrap .sp-mobile-btn{flex:1 1 100%;width:100%}.sp-mobile-flex-wrap{flex-wrap:wrap}.sp-mobile-flex-wrap .sp-sidebar-style-btn{flex:1 1 calc(50% - 8px);min-width:0}.sp-sidebar-style-btn{padding:10px 8px;font-size:12px}.sp-sidebar-style-swatch{width:24px;height:16px}.sp-preview-box{width:100%;flex-direction:column;align-items:flex-start}.sp-color-chips{gap:8px}.sp-color-chip{padding:10px}.sp-preview{width:100%;overflow:hidden}.sp-page .settings-row .d-flex.flex-wrap.gap-2{gap:8px}.sp-page .settings-row .d-flex.flex-wrap.gap-2>button{width:28px;height:28px}.sp-color-input-row{flex-wrap:wrap}.sp-color-input-row .sp-color-hex{flex:1 1 80px;min-width:80px}.sp-color-input-row .sp-color-label{font-size:11px}}@media (max-width: 480px){.sp-page{padding:12px}.sp-header-icon{width:40px;height:40px}.sp-title{font-size:20px}.sp-subtitle{font-size:12px}.sp-stat-card{padding:14px;gap:12px}.sp-stat-icon{width:36px;height:36px}.sp-stat-value{font-size:13px}.sp-page .settings-card-head,.sp-page .settings-row{padding:14px 16px}.sp-page .settings-row .w-32.h-32{width:28px;height:28px}.sp-page .settings-row .w-28.h-28{width:24px;height:24px}.sp-preview{padding:16px}.sp-preview-box{padding:10px}.sp-preview-box .w-44.h-44{width:36px;height:36px}}@media (max-width: 768px){.sp-stats-grid{grid-template-columns:repeat(2,1fr)}.sp-layout{grid-template-columns:1fr}.sp-preview{width:100%}.sp-page .settings-row{grid-template-columns:1fr}}@media (max-width: 560px){.sp-stats-grid{grid-template-columns:1fr}}.sr-container{width:100%;max-width:100%;min-height:100vh;box-sizing:border-box;padding:24px 32px;background-color:#fafafa;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif}.sr-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;margin-bottom:24px}.sr-header-title{min-width:0;display:flex;align-items:center;gap:16px}.sr-header-icon{width:48px;height:48px;min-width:48px;border-radius:5px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;color:var(--primary)}.sr-header-text{min-width:0}.sr-title{font-size:24px;font-weight:800;margin:0 0 4px;color:#111827}.sr-subtitle{font-size:13px;color:#6b7280;margin:0;line-height:1.5}.sr-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;min-width:0}.sr-workspace-select{width:220px;max-width:100%}.sr-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;box-sizing:border-box;padding:8px 16px;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease}.sr-btn-outline:hover{background:#f8fafc}.sr-btn-outline:disabled{opacity:.6;cursor:not-allowed}.sr-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;box-sizing:border-box;padding:8px 16px;border:0;border-radius:5px;background:var(--primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.sr-btn-primary:hover{opacity:.92}.sr-btn-primary:disabled{opacity:.6;cursor:not-allowed}.sr-delete-btn{color:#ef4444;border-color:#fca5a5}.sr-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:24px}.sr-stat-card{min-width:0;background:#fff;border-radius:5px;padding:20px;border:1px solid #f1f5f9;display:flex;gap:16px;align-items:center;box-shadow:0 1px 2px #00000005}.sr-stat-icon{width:48px;height:48px;min-width:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.sr-stat-icon-primary{background:var(--primary-light);color:var(--primary)}.sr-stat-icon-success{background:#ecfdf5;color:#10b981}.sr-stat-icon-purple{background:#f5f3ff;color:#8b5cf6}.sr-stat-icon-orange{background:#fff7ed;color:#f97316}.sr-stat-content{min-width:0;display:flex;flex-direction:column}.sr-stat-title{font-size:12px;font-weight:700;color:#374151;margin-bottom:4px}.sr-stat-value{font-size:24px;font-weight:800;color:#111827;line-height:1.1;margin-bottom:4px}.sr-stat-desc{font-size:11px;font-weight:500;color:#6b7280}.sr-filter-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;min-width:0}.sr-search-wrapper{position:relative;width:100%;max-width:320px;min-width:0;flex:1 1 320px}.sr-search-icon{position:absolute;left:13px;top:50%;width:16px;height:16px;margin:0;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.sr-search-input{display:block;width:100%;height:38px;min-height:38px;margin:0;padding:8px 14px 8px 38px;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#111827;font-family:inherit;font-size:13px;line-height:20px;outline:none;transition:border-color .2s,box-shadow .2s}.sr-search-input::placeholder{color:#9ca3af;opacity:1}.sr-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--theme-primary-rgb, 30, 116, 201),.1)}.sr-filters{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;min-width:0}.sr-filter-status{width:150px}.sr-filter-scope{width:170px}.sr-select-search-icon{margin-left:12px;color:#b3bfcc;flex-shrink:0}.sr-layout{width:100%;min-width:0;display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px;align-items:start}.sr-sidebar{min-width:0;background:#fff;border-radius:5px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000d;overflow:hidden}.sr-sidebar-message{padding:32px;text-align:center;color:#6b7280;font-size:13px}.sr-role-item{width:100%;min-width:0;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #f1f5f9;border-left:3px solid transparent;cursor:pointer;transition:all .2s;background:#fff}.sr-role-item:last-child{border-bottom:none}.sr-role-item:hover{background:#f8fafc}.sr-role-item.active{background:var(--primary-light);border-left-color:var(--primary)}.sr-role-info{min-width:0;flex:1;display:flex;align-items:center;gap:12px}.sr-role-icon{width:32px;height:32px;min-width:32px;border-radius:5px;background:#f3f4f6;display:flex;align-items:center;justify-content:center}.sr-role-item.active .sr-role-icon{background:var(--primary-light);color:var(--primary)}.sr-role-details{min-width:0;flex:1}.sr-role-name{max-width:100%;font-size:14px;font-weight:700;color:#111827;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-role-item.active .sr-role-name{color:var(--primary-dark)}.sr-role-desc{max-width:180px;font-size:11px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-role-meta{font-size:11px;color:#94a3b8;margin-top:2px}.sr-status-badge{flex-shrink:0;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.sr-status-active{background:#dcfce7;color:#166534}.sr-status-inactive{background:#fee2e2;color:#b91c1c}.sr-content{min-width:0;width:100%;box-sizing:border-box;background:#fff;border-radius:5px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000d;padding:32px}.sr-content-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:24px;border-bottom:1px solid #f1f5f9;margin-bottom:24px}.sr-content-title-wrapper{min-width:0;display:flex;align-items:flex-start;gap:16px}.sr-content-icon{width:48px;height:48px;min-width:48px;border-radius:5px;background:#f5f3ff;color:#7c3aed;display:flex;align-items:center;justify-content:center}.sr-content-heading{min-width:0}.sr-content-title{min-width:0;font-size:20px;font-weight:800;color:#111827;margin:0 0 6px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sr-content-desc{font-size:13px;color:#4b5563;margin:0 0 8px;overflow-wrap:anywhere}.sr-content-meta{font-size:11px;color:#9ca3af;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sr-content-actions{flex-shrink:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sr-info-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:32px}.sr-info-card{min-width:0;padding:16px;border:1px solid #f1f5f9;border-radius:5px;background:#fafafa}.sr-info-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#6b7280;margin-bottom:8px}.sr-info-value{min-width:0;font-size:18px;font-weight:800;color:#111827;margin-bottom:4px;overflow-wrap:anywhere}.sr-info-link{font-size:11px;font-weight:600;color:var(--primary);text-decoration:none;display:inline-flex;align-items:center;gap:4px}.sr-info-subtext{font-size:11px;color:#6b7280}.sr-status-value{display:flex;align-items:center;gap:6px}.sr-status-dot{width:8px;height:8px;min-width:8px;border-radius:50%}.sr-status-dot-active{background:#10b981}.sr-status-dot-inactive{background:#ef4444}.sr-table-header{margin-bottom:16px}.sr-table-title{font-size:15px;font-weight:700;color:#111827;margin:0 0 4px}.sr-table-container{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #f1f5f9;border-radius:5px;-webkit-overflow-scrolling:touch}.sr-privilege-table{width:100%;min-width:700px;border-collapse:collapse;font-size:13px}.sr-privilege-table th{padding:12px 16px;text-align:left;font-weight:600;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #f1f5f9;white-space:nowrap}.sr-privilege-table th.center{text-align:center}.sr-privilege-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.sr-privilege-table tbody tr:hover{background:#f8fafc}.sr-table-name{min-width:180px;font-weight:600;color:#374151;white-space:nowrap}.sr-table-icon{color:#9ca3af;margin-right:12px;vertical-align:middle}.sr-actions-column{width:80px}.sr-table-actions{white-space:nowrap}.sr-tag{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;display:inline-block;white-space:nowrap}.sr-tag.create{background:#dcfce7;color:#166534}.sr-tag.read{background:#dbeafe;color:#1e40af}.sr-tag.update{background:#fef3c7;color:#92400e}.sr-tag.delete{background:#fee2e2;color:#b91c1c}.sr-tag.scope{background:#ffedd5;color:#c2410c}.sr-tag.none{background:transparent;color:#94a3b8;padding:0}.sr-icon-action{width:30px;height:30px;padding:0;margin:0 2px;border:0;background:transparent;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.sr-icon-action-edit{color:var(--primary)}.sr-icon-action-edit:hover{background:var(--primary-light)}.sr-icon-action-delete{color:#ef4444}.sr-icon-action-delete:hover{background:#fef2f2}.sr-empty-privileges{color:#6b7280;font-size:13px;padding:32px;text-align:center;background:#f9fafb;border-radius:5px;border:1px dashed #d1d5db}.sr-no-role{text-align:center;padding:64px 24px;color:#6b7280}.sr-no-role-icon{opacity:.2;margin-bottom:16px}.sr-no-role h3{margin:0 0 8px;color:#374151}.sr-no-role p{margin:0;font-size:13px}.sr-modal-textarea{width:100%;min-height:80px;box-sizing:border-box;padding:10px 12px;border:1px solid #e5e7eb;border-radius:5px;font-family:inherit;font-size:13px;resize:vertical;outline:none}.sr-modal-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--theme-primary-rgb, 30, 116, 201),.1)}.sr-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:500}.sr-checkbox-label input{width:16px;height:16px;cursor:pointer}.sr-permissions-box{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.sr-permission-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:500}.sr-permission-option input{width:16px;height:16px;cursor:pointer}@media (max-width: 1280px){.sr-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sr-layout{grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:20px}.sr-content{padding:24px}.sr-info-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1024px){.sr-container{padding:20px}.sr-layout{grid-template-columns:1fr}.sr-sidebar{max-height:300px;overflow-y:auto}.sr-filter-bar{flex-direction:column;align-items:stretch}.sr-search-wrapper{max-width:100%;flex:0 0 auto}.sr-filters{justify-content:flex-start}.sr-content-header{flex-wrap:wrap}.sr-content-actions{width:100%;justify-content:flex-start}}@media (max-width: 768px){.sr-container{padding:16px}.sr-header{flex-direction:column;align-items:stretch}.sr-header-title{width:100%}.sr-header-actions{width:100%;justify-content:stretch;align-items:stretch}.sr-workspace-select{width:100%}.sr-header-actions>.sr-btn-outline,.sr-header-actions>.sr-btn-primary{flex:1}.sr-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sr-stat-card{padding:16px}.sr-content{padding:20px}.sr-content-header{flex-direction:column;gap:16px}.sr-content-actions{width:100%;flex-direction:row}.sr-content-actions .sr-btn-outline{flex:1}.sr-info-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sr-filters{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sr-filter-status,.sr-filter-scope,.sr-filters .sr-btn-outline{width:100%}}@media (max-width: 560px){.sr-container{padding:12px}.sr-header-title{gap:12px;align-items:flex-start}.sr-header-icon{width:40px;height:40px;min-width:40px}.sr-title{font-size:20px}.sr-subtitle{font-size:12px}.sr-header-actions{flex-direction:column}.sr-header-actions>.sr-btn-outline,.sr-header-actions>.sr-btn-primary{width:100%;flex:none}.sr-stats-grid{grid-template-columns:1fr}.sr-content{padding:16px}.sr-content-title{font-size:18px}.sr-content-title-wrapper{width:100%}.sr-content-icon{width:40px;height:40px;min-width:40px}.sr-content-actions{flex-direction:column}.sr-content-actions .sr-btn-outline{width:100%;flex:none}.sr-info-cards,.sr-filters{grid-template-columns:1fr}.sr-role-item{padding:12px 14px}.sr-role-desc{max-width:140px}.sr-role-item .sr-status-badge{display:none}.sr-table-container{border-radius:5px}.sr-privilege-table{min-width:650px}.sr-privilege-table th,.sr-privilege-table td{padding:10px 12px}.sr-permissions-box{gap:10px}}@media (max-width: 400px){.sr-container{padding:10px}.sr-content{padding:14px}.sr-title{font-size:19px}.sr-stat-card{padding:14px;gap:12px}.sr-stat-icon{width:42px;height:42px;min-width:42px}.sr-stat-value{font-size:20px}.sr-info-card{padding:14px}.sr-role-name{font-size:13px}.sr-role-desc{max-width:110px}.sr-role-meta{font-size:10px}}.tp-container,.tp-container *{box-sizing:border-box}.tp-container{width:100%;max-width:100%;min-height:100vh;padding:24px 32px;background-color:#fafafa;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;overflow-x:hidden}.tp-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;margin-bottom:24px}.tp-header-title{display:flex;align-items:center;gap:16px;min-width:0;flex:1 1 320px}.tp-header-icon{width:48px;height:48px;flex:0 0 48px;border-radius:5px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;color:var(--primary)}.tp-header-text{min-width:0}.tp-title{margin:0 0 4px;color:#111827;font-size:24px;font-weight:800;line-height:1.2}.tp-subtitle{margin:0;color:#6b7280;font-size:13px;line-height:1.5}.tp-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;min-width:0}.tp-workspace-select{width:220px;max-width:100%;min-width:0}.tp-btn-outline,.tp-btn-primary{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:5px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}.tp-btn-outline{border:1px solid #e5e7eb;background:#fff;color:var(--primary)}.tp-btn-outline:hover{background:#f8fafc}.tp-btn-primary{border:1px solid var(--primary);background:var(--primary);color:#fff}.tp-btn-primary:hover:not(:disabled){filter:brightness(.96)}.tp-btn-primary:disabled{opacity:.55;cursor:not-allowed}.tp-delete-btn{color:#ef4444;border-color:#fca5a5}.tp-delete-btn:hover{background:#fef2f2}.tp-more-btn{padding:8px;color:#6b7280}.tp-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:24px}.tp-stat-card{min-width:0;display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid #f1f5f9;border-radius:5px;box-shadow:0 1px 2px #00000005}.tp-stat-icon{width:48px;height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:center;border-radius:50%}.tp-stat-icon-blue{background:#eff6ff;color:#3b82f6}.tp-stat-icon-green{background:#ecfdf5;color:#10b981}.tp-stat-icon-purple{background:#f5f3ff;color:#8b5cf6}.tp-stat-icon-orange{background:#fff7ed;color:#f97316}.tp-stat-content{min-width:0;display:flex;flex-direction:column}.tp-stat-title{margin-bottom:4px;color:#374151;font-size:12px;font-weight:700;line-height:1.3}.tp-stat-value{margin-bottom:4px;color:#111827;font-size:24px;font-weight:800;line-height:1.1}.tp-stat-desc{color:#6b7280;font-size:11px;font-weight:500;line-height:1.4}.tp-filter-bar{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;min-width:0}.tp-search-wrapper{position:relative;width:100%;max-width:320px;min-width:0;flex:1 1 320px}.tp-search-input{display:block;width:100%;height:38px;min-height:38px;margin:0;padding:8px 14px 8px 38px;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#111827;font-family:inherit;font-size:13px;line-height:20px;outline:none;transition:border-color .2s,box-shadow .2s}.tp-search-input::placeholder{color:#9ca3af;opacity:1}.tp-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--theme-primary-rgb, 30, 116, 201),.1)}.tp-search-icon{position:absolute;left:13px;top:50%;width:16px;height:16px;margin:0;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.tp-filters{display:flex;align-items:center;gap:12px;min-width:0}.tp-filter-divider{width:1px;height:24px;flex:0 0 1px;margin:0 8px;background:#e5e7eb}.tp-view-btn{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#6b7280;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.tp-view-btn:hover{background:#f8fafc}.tp-view-btn-active{background:var(--primary-light);color:var(--primary);border-color:var(--primary-light)}.tp-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:24px;align-items:start;min-width:0}.tp-sidebar{min-width:0;overflow:hidden;background:#fff;border:1px solid #f1f5f9;border-radius:5px;box-shadow:0 1px 3px #0000000d}.tp-team-item{min-width:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #f1f5f9;border-left:3px solid transparent;background:#fff;cursor:pointer;transition:background-color .2s,border-color .2s}.tp-team-item:last-child{border-bottom:none}.tp-team-item:hover{background:#f8fafc}.tp-team-item.active{background:var(--primary-light);border-left-color:var(--primary)}.tp-team-item-info{min-width:0;flex:1;display:flex;align-items:center;gap:12px}.tp-team-item-icon{width:32px;height:32px;flex:0 0 32px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#f3f4f6}.tp-team-item.active .tp-team-item-icon{background:var(--primary-light);color:var(--primary)}.tp-team-item-text{min-width:0}.tp-team-item-name{margin-bottom:2px;overflow:hidden;color:#111827;font-size:14px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.tp-team-item.active .tp-team-item-name{color:var(--primary-dark)}.tp-team-item-desc{max-width:180px;overflow:hidden;color:#6b7280;font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.tp-team-item-meta{max-width:180px;margin-top:2px;overflow:hidden;color:#94a3b8;font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.tp-status-badge{flex:0 0 auto;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap}.tp-status-active{background:#dcfce7;color:#166534}.tp-status-inactive{background:#f1f5f9;color:#64748b}.tp-content{min-width:0;overflow:hidden;padding:32px;background:#fff;border:1px solid #f1f5f9;border-radius:5px;box-shadow:0 1px 3px #0000000d}.tp-content-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #f1f5f9}.tp-content-title-wrapper{min-width:0;flex:1 1 auto;display:flex;align-items:flex-start;gap:16px}.tp-content-icon{width:48px;height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#f5f3ff;color:#7c3aed}.tp-content-main{min-width:0}.tp-content-title{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 6px;color:#111827;font-size:20px;font-weight:800;line-height:1.3}.tp-content-title-text{min-width:0;overflow-wrap:anywhere}.tp-content-desc{margin:0 0 8px;color:#4b5563;font-size:13px;line-height:1.5}.tp-content-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#9ca3af;font-size:11px;line-height:1.4}.tp-content-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.tp-info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.tp-info-card{min-width:0;padding:16px;background:#fafafa;border:1px solid #f1f5f9;border-radius:5px}.tp-info-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#6b7280;font-size:11px;font-weight:600}.tp-info-value{margin-bottom:4px;color:#111827;font-size:18px;font-weight:800;line-height:1.3}.tp-info-subtext{color:#6b7280;font-size:11px;line-height:1.4}.tp-status-value{display:flex;align-items:center;gap:6px}.tp-status-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#10b981}.tp-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid #f3f4f6;overflow-x:auto;scrollbar-width:thin}.tp-tab{position:relative;flex:0 0 auto;padding:8px 16px;margin-bottom:-2px;border:none;border-bottom:2px solid transparent;background:none;color:#6b7280;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:color .2s,border-color .2s}.tp-tab.active{color:var(--primary);font-weight:600;border-bottom-color:var(--primary)}.tp-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--primary);box-shadow:0 2px 4px rgba(var(--theme-primary-rgb, 30, 116, 201),.3)}.tp-tab:hover{color:var(--primary)}.tp-table-container{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #f1f5f9;border-radius:5px;-webkit-overflow-scrolling:touch}.tp-table{width:100%;min-width:620px;border-collapse:collapse;font-size:13px}.tp-table th{padding:12px 16px;background:#f8fafc;border-bottom:2px solid #f1f5f9;color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap}.tp-table th.center{text-align:center}.tp-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.tp-table tbody tr:last-child td{border-bottom:none}.tp-table tbody tr:hover{background:#f8fafc}.tp-table-name{min-width:180px;display:flex;align-items:center;gap:12px;color:#374151;font-weight:600}.tp-table-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-table-icon{flex:0 0 auto;color:#9ca3af}.tp-member-avatar{width:28px;height:28px;flex:0 0 28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:700}.tp-table-action{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:5px;background:transparent;cursor:pointer;transition:background-color .2s}.tp-remove-action{color:#ef4444}.tp-remove-action:hover{background:#fee2e2}.tp-empty-table{min-height:120px;display:flex;align-items:center;justify-content:center;padding:32px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;font-size:13px;text-align:center}.tp-state-message{min-height:120px;display:flex;align-items:center;justify-content:center;padding:32px;color:#6b7280;font-size:13px;text-align:center}.tp-empty-role{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:#6b7280;text-align:center}.tp-empty-role-icon{margin-bottom:16px;opacity:.2}.tp-empty-role h3{margin:0 0 8px;color:#374151;font-size:16px}.tp-empty-role p{max-width:480px;margin:0;font-size:13px;line-height:1.5}.tp-form-input,.tp-form-textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#111827;font-family:inherit;font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s}.tp-form-input:focus,.tp-form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--theme-primary-rgb, 30, 116, 201),.1)}.tp-form-textarea{min-height:80px;resize:vertical;line-height:1.5}.tp-member-search{width:100%;display:flex;align-items:stretch;gap:8px}.tp-member-search-input{flex:1 1 auto;min-width:0}.tp-find-btn{flex:0 0 auto}.tp-search-error{margin-top:6px;color:#ef4444;font-size:12px;line-height:1.4}.tp-member-result{padding:12px;margin-bottom:12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.tp-member-result-content{display:flex;align-items:center;gap:10px}.tp-member-result-avatar{width:36px;height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#16a34a;color:#fff;font-weight:700}.tp-member-result-info{min-width:0}.tp-member-result-found{margin-bottom:2px;color:#15803d;font-size:12px;font-weight:600}.tp-member-result-name{overflow-wrap:anywhere;color:#111827;font-size:13px;font-weight:600}.tp-member-result-email{overflow-wrap:anywhere;color:#6b7280;font-size:12px}.tp-no-roles{padding:24px;color:#6b7280;font-size:13px;line-height:1.5;text-align:center}.tp-members-list{display:flex;flex-direction:column;gap:8px}.tp-member-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px;transition:background-color .2s}.tp-member-item:hover{background:#f1f5f9}.tp-member-name{margin-bottom:2px;color:#111827;font-size:13px;font-weight:600}.tp-member-email{color:#6b7280;font-size:11px}.tp-remove-btn{padding:0;border:none;background:none;color:#ef4444;font-size:20px;line-height:1;cursor:pointer;transition:opacity .2s}.tp-remove-btn:hover{opacity:.7}.tp-roles-list{display:flex;flex-direction:column;gap:8px}.tp-role-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px;background:#faf5ff;border:1px solid #e9d5ff;border-radius:8px;transition:background-color .2s}.tp-role-item:hover{background:#f5f3ff}.tp-role-name{color:#111827;font-size:13px;font-weight:600}.tp-role-desc{margin-top:2px;color:#6b7280;font-size:11px}@media (max-width: 1280px){.tp-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1024px){.tp-layout{grid-template-columns:1fr}.tp-sidebar{max-height:280px;overflow-y:auto}.tp-info-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-header-actions{justify-content:flex-start}.tp-search-wrapper{max-width:360px}}@media (max-width: 768px){.tp-container{padding:16px}.tp-header{flex-direction:column;align-items:stretch}.tp-header-title{width:100%;flex:none}.tp-header-actions{width:100%;flex-direction:column;align-items:stretch;justify-content:stretch}.tp-workspace-select{width:100%;max-width:none}.tp-header-actions .tp-btn-outline,.tp-header-actions .tp-btn-primary{width:100%}.tp-filter-bar{flex-direction:column;align-items:stretch;gap:12px}.tp-search-wrapper{width:100%;max-width:none;flex:none}.tp-search-input{width:100%;height:38px}.tp-filters{width:100%;flex-wrap:wrap}.tp-filters .tp-btn-outline{flex:1 1 auto}.tp-content{padding:20px}.tp-content-header{flex-direction:column;gap:16px}.tp-content-title-wrapper{width:100%}.tp-content-actions{width:100%;flex-direction:column;align-items:stretch}.tp-content-actions .tp-btn-outline,.tp-content-actions .tp-btn-primary{width:100%}.tp-team-item{padding:14px 16px}}@media (max-width: 560px){.tp-container{padding:12px}.tp-stats-grid{grid-template-columns:1fr;gap:12px}.tp-stat-card{padding:16px}.tp-stat-value{font-size:21px}.tp-info-cards{grid-template-columns:1fr;gap:12px}.tp-content{padding:16px}.tp-content-title{font-size:18px}.tp-content-meta{gap:4px}.tp-header-title{gap:12px}.tp-header-icon{width:42px;height:42px;flex-basis:42px}.tp-title{font-size:21px}.tp-subtitle{font-size:12px}.tp-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tp-filters .tp-btn-outline{grid-column:1 / -1;width:100%}.tp-filter-divider{display:none}.tp-view-btn{width:100%}.tp-team-item{align-items:flex-start}.tp-team-item-desc{max-width:140px}.tp-status-badge{padding:4px 8px;font-size:10px}.tp-member-search{flex-direction:column}.tp-find-btn{width:100%}.tp-table{min-width:600px;font-size:12px}.tp-table th,.tp-table td{padding:10px 12px}.tp-tabs{overflow-x:auto}.tp-tab{padding:8px 14px}}@media (max-width: 420px){.tp-container{padding:10px}.tp-content{padding:14px}.tp-header-title{align-items:flex-start}.tp-header-icon{width:40px;height:40px;flex-basis:40px}.tp-title{font-size:19px}.tp-content-icon{width:40px;height:40px;flex-basis:40px}.tp-content-title-wrapper{gap:12px}.tp-content-actions{gap:8px}.tp-stat-card{gap:12px}.tp-stat-icon{width:42px;height:42px;flex-basis:42px}.tp-team-item{padding:12px}.tp-team-item-info{gap:8px}.tp-team-item-icon{width:30px;height:30px;flex-basis:30px}.tp-team-item-desc{max-width:120px}.tp-status-badge{display:none}.tp-empty-role{min-height:260px;padding:40px 16px}.tp-table{min-width:560px}}@media (max-width: 360px){.tp-header-title{flex-direction:column;align-items:flex-start}.tp-header-icon{width:40px;height:40px}.tp-filters{grid-template-columns:1fr}.tp-view-btn{width:100%}.tp-table{min-width:540px}}.urp-page{padding:24px 32px;background:#fafafa;min-height:100vh;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif}.urp-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;margin-bottom:24px}.urp-header-title{display:flex;align-items:center;gap:16px}.urp-header-icon{width:48px;height:48px;border-radius:5px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;color:var(--primary)}.urp-title{font-size:24px;font-weight:800;margin:0 0 4px;color:#111827}.urp-subtitle{font-size:13px;color:#6b7280;margin:0}.urp-search-card{background:#fff;border-radius:5px;border:1px solid #f1f5f9;padding:20px;margin-bottom:24px;box-shadow:0 1px 2px #00000005}.urp-search-label{font-size:13px;font-weight:700;color:#374151;margin-bottom:8px}.urp-search-inputs{flex-wrap:wrap}.urp-search-input{flex:1 1 300px}.urp-error{font-size:12px;color:#ef4444;margin-top:8px}.urp-user-card{background:linear-gradient(135deg,var(--primary-light),#f5f3ff);border-radius:5px;border:1px solid #f1f5f9;padding:20px;margin-bottom:20px;box-shadow:0 1px 2px #00000005}.urp-user-info{display:flex;align-items:center;gap:16px;margin-bottom:16px}.urp-user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:20px;flex-shrink:0}.urp-user-details{flex:1;min-width:0}.urp-user-name{font-weight:700;font-size:16px;color:#111827}.urp-user-email{font-size:13px;color:#374151;font-weight:500;margin-top:2px}.urp-user-badges{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.urp-badge{font-size:11px;padding:2px 8px;border-radius:6px;font-weight:600}.urp-badge-workforce{background:#dbeafe;color:#1d4ed8}.urp-badge-external{background:#fef3c7;color:#92400e}.urp-badge-admin{background:#fce7f3;color:#9d174d;font-weight:700}.urp-badge-role{background:#ede9fe;color:#5b21b6}.urp-badge-active{background:#dcfce7;color:#16a34a}.urp-badge-inactive{background:#fee2e2;color:#dc2626}.urp-user-actions{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}.urp-user-meta{font-size:11px;color:#9ca3af;display:flex;flex-wrap:wrap;gap:12px}.urp-meta-item{font-family:"monospace"}.urp-btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--primary);border-radius:5px;background:var(--primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.urp-btn-primary:hover{background:var(--primary-dark)}.urp-btn-primary:disabled{opacity:.5;cursor:not-allowed}.urp-btn-danger{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #ef4444;border-radius:5px;background:#fff;color:#ef4444;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.urp-btn-danger:hover{background:#fef2f2}.urp-btn-outline{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.urp-btn-outline:hover{background:#f8fafc}.urp-btn-outline:disabled{opacity:.5;cursor:not-allowed}.urp-tabs{display:flex;gap:4;margin-bottom:20px;border-bottom:2px solid #f3f4f6}.urp-tab{padding:10px 20px;border:none;cursor:pointer;font-size:14px;font-weight:400;color:#6b7280;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.urp-tab-active{font-weight:600;color:var(--primary)}.urp-loading{text-align:center;padding:48px;color:#6b7280}.urp-empty{text-align:center;padding:48px;color:#6b7280;display:flex;flex-direction:column;align-items:center;gap:16px}.urp-empty svg{color:#d1d5db}.urp-empty p{margin:0}.urp-roles-list{display:flex;flex-direction:column;gap:12px}.urp-role-item{background:#fff;border-radius:5px;border:1px solid #f1f5f9;padding:16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 2px #00000005}.urp-role-info{display:flex;align-items:center;gap:12px}.urp-role-icon{width:36px;height:36px;border-radius:5px;background:#faf5ff;display:flex;align-items:center;justify-content:center;color:#7c3aed;flex-shrink:0}.urp-role-name{font-weight:600;color:#111827}.urp-role-meta{font-size:12px;color:#6b7280;margin-top:2px}.urp-role-extra{font-size:11px;color:#9ca3af;font-family:monospace;margin-top:4px}.urp-privileges-table{overflow-x:auto;background:#fff;border-radius:5px;border:1px solid #f1f5f9;box-shadow:0 1px 2px #00000005}.urp-table{width:100%;border-collapse:collapse;font-size:13px}.urp-table th{padding:12px 16px;text-align:left;font-weight:600;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #f1f5f9}.urp-table th.center{text-align:center}.urp-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#111827}.urp-table tbody tr:hover{background:#f8fafc}.urp-table td svg{vertical-align:middle}.urp-badge-op{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-align:center;min-width:40px}.urp-badge-op-yes{background:#dcfce7;color:#16a34a}.urp-badge-op-no{background:#fee2e2;color:#dc2626}.urp-badge-scope{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;background:#ede9fe;color:#5b21b6}@media (max-width: 1024px){.urp-header{flex-direction:column;align-items:flex-start}.urp-user-actions{width:100%}.urp-user-actions button{flex:1 1 auto}}@media (max-width: 768px){.urp-page{padding:16px}.urp-header{gap:12px}.urp-header-title{flex-direction:column;align-items:flex-start}.urp-header-icon{width:40px;height:40px}.urp-title{font-size:20px}.urp-subtitle{font-size:12px}.urp-search-inputs{flex-direction:column}.urp-search-input{width:100%}.urp-search-inputs .urp-btn-primary{width:100%;justify-content:center}.urp-user-card{padding:16px}.urp-user-info{flex-direction:column;align-items:flex-start;gap:12px}.urp-user-avatar{width:40px;height:40px;font-size:16px}.urp-user-actions{flex-direction:column}.urp-user-actions button{width:100%;justify-content:center}.urp-user-meta{flex-direction:column;gap:8px}.urp-tabs{flex-wrap:wrap}.urp-tab{padding:8px 12px;font-size:13px}.urp-role-item{flex-direction:column;align-items:flex-start;gap:12px}.urp-role-item .urp-btn-danger{width:100%;justify-content:center}.urp-table{font-size:12px}.urp-table th,.urp-table td{padding:10px 12px}}@media (max-width: 480px){.urp-page{padding:12px}.urp-search-card{padding:16px}.urp-user-card{padding:14px}.urp-user-name{font-size:14px}.urp-user-email{font-size:12px}.urp-badge{font-size:10px;padding:1px 6px}.urp-table{font-size:11px}.urp-table th,.urp-table td{padding:8px 10px}}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid var(--border)}.page-title{font-size:20px;font-weight:700;color:var(--text-1);display:flex;align-items:center;gap:8px;margin:0}.record-count{font-size:12px;font-weight:500;color:var(--text-3);background:var(--bg);padding:2px 8px;border-radius:12px}.page-desc{font-size:13px;color:var(--text-3);margin:4px 0 0}.command-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--border)}.command-group{display:flex;align-items:center;gap:8px}.cmd-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text-1);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.cmd-btn:hover{background:var(--bg);border-color:var(--primary)}.cmd-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.cmd-btn.danger{color:#ef4444;border-color:#fca5a5}.cmd-btn.danger:hover{background:#fef2f2}.view-toggle{display:flex;background:var(--bg);border-radius:6px;padding:2px}.view-toggle button{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.view-toggle button span{display:none}.view-toggle button:hover{color:var(--text-1)}.view-toggle button.active{background:#fff;color:var(--primary);box-shadow:0 1px 2px #0000000d}.search{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg);border-radius:6px;border:1px solid var(--border);width:280px}.search input{flex:1;border:none;background:transparent;font-size:13px;color:var(--text-1);outline:none;padding:4px 8px 4px 24px!important}.search input::placeholder{color:var(--text-3)}.search-clear{display:flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;color:var(--text-3);cursor:pointer;border-radius:4px}.search-clear:hover{color:var(--text-1);background:#0000000d}.group-view{display:flex;height:100%;gap:0}.mentor-list-head{padding:16px;border-bottom:1px solid var(--border);background:var(--bg);font-size:14px;font-weight:600;color:var(--text-1)}.mentor-list-content{flex:1;overflow-y:auto}.record-details-panel{flex:1;display:flex;flex-direction:column;background:#fff}.record-details-content{flex:1;overflow-y:auto;padding:20px}.empty-state{text-align:center;color:var(--text-3);margin-top:40px}.empty-state-center{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-3);flex-direction:column;gap:12px}.empty-state-center p{font-size:14px}.record-cards{display:flex;flex-direction:column;gap:12px}.mentor-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;transition:all .15s ease;border-bottom:1px solid var(--border)}.mentor-item:hover{background:var(--bg)}.mentor-item.active{background:var(--sidebar-active-bg);border-left:3px solid var(--primary)}.mentor-item-name{font-size:13px;font-weight:500;color:var(--text-1)}.mentor-item-count{font-size:12px;color:var(--text-3);background:var(--bg);padding:2px 8px;border-radius:10px}.record-card{padding:16px;border:1px solid var(--border);border-radius:5px;cursor:pointer;background:#fff;transition:all .15s ease}.record-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.record-card.selected{background:var(--sidebar-active-bg);border-color:var(--primary)}.record-card-row{margin-bottom:4px;font-size:13px}.record-card-label{font-weight:500;color:var(--text-2)}.list-view{display:flex;flex-direction:column;gap:12px}.list-row{padding:16px;border:1px solid var(--border);border-radius:5px;cursor:pointer;background:#fff;transition:all .15s ease}.list-row:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.list-row.selected{background:var(--sidebar-active-bg);border-color:var(--primary)}.list-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.list-row-top{display:flex;align-items:center;gap:8px}.list-row-checkbox{width:16px;height:16px;cursor:pointer}.list-row-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg);border-radius:6px;color:var(--primary)}.list-row-id{font-size:12px;font-weight:600;color:var(--text-3)}.list-row-tag{font-size:11px;font-weight:500;color:var(--primary);background:var(--sidebar-active-bg);padding:2px 8px;border-radius:4px}.list-row-actions{display:flex;gap:4px}.list-row-content{display:flex;flex-direction:column;gap:8px}.list-row-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text-2)}.list-row-meta-label{font-weight:500;color:var(--text-3)}.list-empty{text-align:center;color:var(--text-3);padding:40px;font-size:14px}.pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;padding:20px 16px;border-top:1px solid var(--border);background:#fff}.pagination button{display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;height:36px;padding:0;border-radius:5px}.pagination button.page-num{width:36px;border:1px solid transparent;background:transparent;color:var(--text-2)}.pagination button.page-num:hover:not(.active){background:#f1f5f9;color:var(--text-1)}.pagination button.page-num.active{background:var(--primary);color:#fff;font-weight:600;cursor:default;border-color:var(--primary)}.pagination button.nav-btn{width:36px;border:1px solid var(--border);background:#fff;color:var(--text-2)}.pagination button.nav-btn:hover:not(:disabled){background:#f8fafc;color:var(--primary);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 6px #0000000d}.pagination button.nav-btn:disabled{background:#f8fafc;border-color:#e2e8f0;color:#cbd5e1;cursor:not-allowed;opacity:.6}.pagination span.ellipsis{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:14px;color:var(--text-3);font-weight:500;-webkit-user-select:none;user-select:none}.row-actions{display:flex;justify-content:flex-end;gap:4px}.field-name{color:var(--primary)!important;font-weight:600}.field-department{color:#6366f1!important;font-weight:500}.field-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.field-status-active{background:#dcfce7!important;color:#166534!important}.field-status-inactive{background:#f1f5f9!important;color:#64748b!important}.field-status-pending{background:#fef3c7!important;color:#92400e!important}.field-status-complete{background:#dbeafe!important;color:#1e40af!important}.field-status-error{background:#fee2e2!important;color:#991b1b!important}.field-status-warning{background:#ffedd5!important;color:#9a3412!important}.field-status-success{background:#d1fae5!important;color:#065f46!important}.field-status-info{background:#e0f2fe!important;color:#075985!important}.bg-page{background:var(--bg)}.card{background:#fff;border:1px solid var(--border);border-radius:5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text-1);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn:hover{background:var(--bg);border-color:var(--primary)}.btn-icon{padding:6px;border:none;background:transparent}.btn-icon:hover{background:var(--bg)}.btn-ghost{border:none;background:transparent}.btn-ghost:hover{background:var(--bg)}.btn-xs{padding:4px 8px;font-size:12px}.btn-icon.btn-xs{padding:4px}.text-danger{color:#ef4444}.text-xs{font-size:12px}.btn-icon.btn-ghost.btn-xs{padding:4px}@media (max-width: 768px){.group-view{flex-direction:column}.mentor-list{width:100%;border-right:none;border-bottom:1px solid var(--border)}.search{width:100%}}.communication-page{width:100%;min-width:0}.communication-page-head,.communication-command-bar{width:100%}.communication-command-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.communication-command-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.communication-card{margin-bottom:16px;padding:0;overflow:hidden;width:100%;min-width:0}.communication-tabs{display:flex;width:100%;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.communication-tab{flex:1 1 0;min-width:140px;height:56px;padding:16px 20px;border:none;border-bottom:3px solid transparent;background:transparent;color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.communication-tab:hover:not(.communication-tab-active){background:var(--bg-2)}.communication-tab-active{color:#fff}.communication-tab-email-active,.communication-tab-default-active{background:var(--primary);border-bottom-color:var(--primary)}.communication-tab-whatsapp-active{background:#25d366;border-bottom-color:#25d366}.communication-tab-sms-active{background:#3b82f6;border-bottom-color:#3b82f6}.communication-content{width:100%;padding:24px;box-sizing:border-box}.communication-form{display:flex;flex-direction:column;gap:20px;width:100%;max-width:100%}.communication-form-group{display:flex;flex-direction:column;gap:8px;width:100%}.communication-label{display:block;margin-bottom:4px;color:var(--text-2);font-size:13px;font-weight:600;line-height:1.4}.communication-input-wrapper{position:relative;width:100%}.communication-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none;z-index:1}.communication-whatsapp-icon{color:#25d366}.communication-sms-icon{color:#3b82f6}.communication-input{width:100%;min-width:0;height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-1);color:var(--text-1);font-size:14px;line-height:20px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.communication-input-with-icon{padding-left:40px}.communication-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent)}.communication-textarea{width:100%;min-height:200px;box-sizing:border-box;padding:12px 16px;border:1px solid var(--border);border-radius:8px;resize:vertical;font-size:14px;line-height:1.5;outline:none}.communication-textarea-html{font-family:monospace}.communication-sms-textarea{min-height:160px}.communication-template-textarea{width:100%;min-height:160px;box-sizing:border-box;padding:12px;border:1px solid var(--border);border-radius:6px;resize:vertical;font-size:14px;line-height:1.5;outline:none}.communication-checkbox-box{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-2);border-radius:8px}.communication-checkbox{width:16px;height:16px;margin:0;cursor:pointer;flex:0 0 auto}.communication-checkbox-label{color:var(--text-2);cursor:pointer;font-size:14px;font-weight:500;line-height:1.4}.communication-schedule-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:8px}.communication-schedule-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-1);color:var(--text-2);cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;transition:border-color .2s ease,background-color .2s ease,color .2s ease}.communication-schedule-btn:hover,.communication-schedule-active{background:var(--bg-2)}.communication-schedule-email{border-color:var(--primary);color:var(--primary)}.communication-schedule-whatsapp{border-color:#25d366;background:#dcfce7;color:#25d366}.communication-schedule-sms{border-color:#3b82f6;background:#dbeafe;color:#3b82f6}.communication-schedule-input-wrap{position:relative;display:flex;align-items:center;min-width:0}.communication-datetime-input{width:230px}.communication-clear-date{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:-36px;border:none;background:transparent;color:var(--text-3);cursor:pointer;z-index:2}.communication-clear-date:hover{color:var(--text-1)}.communication-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:8px}.communication-send-btn{min-height:44px;padding:12px 24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-size:14px;font-weight:500;white-space:nowrap}.communication-whatsapp-send{background:#25d366;border:1px solid #25d366;color:#fff}.communication-whatsapp-send:hover:not(:disabled){background:#20bd5c;border-color:#20bd5c}.communication-sms-send{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.communication-sms-send:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.communication-send-btn:disabled{opacity:.65;cursor:not-allowed}.communication-template-form{margin-bottom:24px;padding:20px;border:1px solid var(--border);border-radius:8px;background:var(--bg-1)}.communication-template-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.communication-template-title{margin:0;color:var(--text-1);font-size:16px;font-weight:600}.communication-icon-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-3);cursor:pointer}.communication-icon-btn:hover{background:var(--bg-2);color:var(--text-1)}.communication-template-fields{display:flex;flex-direction:column;gap:16px}.communication-template-row{display:flex;align-items:flex-start;gap:16px;width:100%}.communication-template-name{flex:1 1 auto;min-width:0}.communication-template-channel{flex:0 0 180px}.communication-template-default{background:transparent;padding:0}.communication-template-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.communication-template-btn{min-height:40px;padding:10px 20px;font-size:14px;border-radius:6px}.communication-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:32px;color:var(--text-3);font-size:13px;text-align:center}.communication-empty-icon{margin-bottom:8px;opacity:.3}.communication-empty-subtext{margin-top:4px;font-size:11px}.communication-table-wrapper{width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.communication-table-wrapper>*{min-width:680px}.communication-template-name-cell{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--text-1);font-size:13px;font-weight:600}.communication-default-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:8px;background:#dcfce7;color:#16a34a;font-size:10px;font-weight:600;white-space:nowrap}.communication-channel{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.communication-channel-whatsapp{background:#dcfce7;color:#25d366}.communication-channel-sms{background:#dbeafe;color:#3b82f6}.communication-channel-email{background:#e0e7ff;color:#6366f1}.communication-muted-cell{color:var(--text-3);font-size:12px}.communication-body-preview{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3);font-size:12px}.communication-table-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.communication-small-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:30px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-1);color:var(--text-2);cursor:pointer;font-size:12px;font-weight:500;white-space:nowrap}.communication-small-btn:hover{background:var(--bg-2)}.communication-delete-btn{border-color:#fecaca;color:#ef4444}.communication-delete-btn:hover{background:#fef2f2}.communication-recipient-cell{color:var(--text-2);font-size:13px}.communication-date-cell{color:var(--text-2);font-size:13px;white-space:nowrap}.communication-error-cell{display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ef4444;font-size:13px}.communication-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.communication-status-sent{background:#dcfce7;color:#166534}.communication-status-failed{background:#fee2e2;color:#991b1b}.communication-status-pending{background:#f1f5f9;color:#64748b}.communication-logs-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.communication-logs-title{margin:0;color:var(--text-1);font-size:16px;font-weight:600}.communication-refresh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 16px;font-size:13px;border-radius:6px}.communication-result{margin:16px 24px 24px;padding:10px 14px;border-radius:8px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;line-height:1.4}.communication-result-success{background:#dcfce7;color:#166534}.communication-result-error{background:#fee2e2;color:#991b1b}.communication-result-count{margin-left:4px}@media (max-width: 992px){.communication-content{padding:20px}.communication-tab{min-width:130px;padding:14px 16px}.communication-template-channel{flex-basis:160px}.communication-body-preview{max-width:220px}}@media (max-width: 768px){.communication-command-group{width:100%}.communication-command-btn{flex:1 1 auto}.communication-tabs{flex-wrap:nowrap}.communication-tab{flex:0 0 auto;min-width:120px;height:52px;padding:13px 14px;font-size:13px}.communication-content{padding:16px}.communication-template-row{flex-direction:column;gap:16px}.communication-template-name,.communication-template-channel{width:100%;flex:1 1 auto}.communication-template-channel{flex-basis:auto}.communication-template-actions{justify-content:stretch}.communication-template-actions .communication-template-btn{flex:1 1 140px}.communication-schedule-row{align-items:stretch;flex-direction:column}.communication-schedule-btn,.communication-schedule-input-wrap,.communication-datetime-input,.communication-action-row,.communication-send-btn{width:100%}.communication-logs-header{align-items:stretch;flex-direction:column}.communication-refresh-btn{width:100%}.communication-result{margin:16px}}@media (max-width: 576px){.communication-card{border-radius:8px}.communication-command-group{display:grid;grid-template-columns:1fr 1fr;width:100%}.communication-command-btn{width:100%;min-width:0}.communication-command-btn:first-child{grid-column:1 / -1}.communication-content{padding:14px}.communication-tab{min-width:112px;height:50px;padding:12px 10px;gap:6px;font-size:12px}.communication-tab svg{width:15px;height:15px}.communication-form{gap:17px}.communication-textarea{min-height:180px}.communication-sms-textarea{min-height:150px}.communication-checkbox-box{padding:11px 12px;gap:9px}.communication-checkbox-label{font-size:13px}.communication-template-form{padding:14px}.communication-template-title{font-size:15px}.communication-template-actions{flex-direction:column-reverse}.communication-template-actions .communication-template-btn{width:100%}.communication-small-btn{padding:5px 8px}.communication-result{margin:14px}.communication-result-count{width:100%;margin-left:24px}}@media (max-width: 400px){.communication-content{padding:12px}.communication-command-group{grid-template-columns:1fr}.communication-command-btn:first-child{grid-column:auto}.communication-tab{min-width:105px;padding-left:8px;padding-right:8px}.communication-tab span{font-size:11px}.communication-input{font-size:13px}.communication-send-btn{padding-left:16px;padding-right:16px}}@keyframes siteReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes siteRevealDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.site-reveal{animation:siteReveal .6s cubic-bezier(.2,.7,.2,1) both}.site-reveal-down{animation:siteRevealDown .45s cubic-bezier(.2,.7,.2,1) both}@media (prefers-reduced-motion: reduce){.site-reveal,.site-reveal-down{animation:none}}:root{--primary: var(--theme-primary, #1e74c9);--primary-dark: var(--theme-primary-dark, #165b9e);--primary-light: rgba(var(--theme-primary-rgb, 30, 116, 201), .12);--sidebar-width: 260px;--primary-mid: var(--theme-primary-hover, #6da5e0);--secondary: #0ea5e9;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--info: #3b82f6;--bg: #f8fafc;--bg-card: #ffffff;--bg-sidebar: #ffffff;--sidebar-item: #64748b;--sidebar-active-bg: var(--primary-light, #eef5fc);--sidebar-active-border: #bbdbfa;--sidebar-border: #e8eaf0;--text-1: #0f172a;--text-2: #475569;--text-3: #94a3b8;--text-4: #b8c4d0;--border: #e2e8f0;--border-focus: var(--theme-primary, #1e74c9);--r-sm: 5px;--r-md: 5px;--r-lg: 6px;--r-xl: 8px;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .05), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 16px rgba(15, 23, 42, .07), 0 2px 6px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .12);--command-bg: #ffffff;--table-header-bg: #f8fafc;--table-row-hover: #f1f5f9;--accent-blue: #0078d4}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-1);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:IBM Plex Sans,sans-serif;font-weight:700;line-height:1.25}a{text-decoration:none;color:inherit}input,select,textarea,button{font-family:inherit}button{cursor:pointer}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}.shell{display:flex;height:100vh;overflow:hidden;background:var(--bg)}.sidebar{width:256px;height:100vh;background:var(--bg-sidebar);display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid var(--sidebar-border);transition:width .3s cubic-bezier(.4,0,.2,1);z-index:200}.shell-collapsed .sidebar{width:70px}.sidebar-brand{padding:20px 18px 16px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--sidebar-border)}.brand-icon{width:32px;height:32px;border-radius:8px;background:var(--theme-primary);display:flex;align-items:center;justify-content:center}.brand-title{font-family:IBM Plex Sans,sans-serif;font-size:16px;font-weight:800;color:var(--text-1)}.brand-sub{font-size:10.5px;color:var(--text-3);margin-top:1px}.sidebar-nav{flex:1;padding:14px 12px}.nav-group{margin-bottom:22px}.nav-group-label{font-size:9.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-3);padding:0 10px;margin-bottom:5px}.nav-btn{display:flex;align-items:center;gap:9px;width:100%;padding:8.5px 10px;border:1px solid transparent;border-radius:var(--r-sm);background:none;color:var(--sidebar-item);font-size:13.5px;font-weight:500;margin-bottom:2px;transition:all .15s;text-align:left}.nav-btn:hover{background:#f8fafc;color:var(--text-1)}.nav-btn svg{width:16px;height:16px;flex-shrink:0}.sidebar-footer{padding:14px 12px;border-top:1px solid var(--sidebar-border)}.user-pill{display:flex;align-items:center;gap:9px;padding:9px 10px;background:#f8fafc;border:1px solid var(--border);border-radius:var(--r-sm)}.user-av{width:30px;height:30px;border-radius:50%;background:var(--theme-primary)}.user-name{font-size:12.5px;font-weight:600;color:var(--text-1)}.user-email{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.logout-btn{background:none;border:none;color:var(--text-3);padding:4px;margin-left:auto;transition:color .15s}.logout-btn:hover{color:var(--danger)}.main{flex:1;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:relative}.topbar{height:64px;min-height:64px;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm);flex-shrink:0}.topbar-left h2{font-size:17px;font-weight:700;color:var(--text-1)}.topbar-right{display:flex;align-items:center;gap:10px}.page{flex:1;padding:26px 28px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.page-title{font-size:22px;font-weight:800;color:var(--text-1);display:inline-flex;align-items:center;gap:10px}.record-count{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:999px;background:#f1f5f9;color:var(--text-2);font-size:13px;font-weight:600}.page-desc{font-size:13px;color:var(--text-2);margin-top:3px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:22px}.stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:18px;display:flex;align-items:flex-start;gap:13px;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.stat:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:19px;height:19px}.stat-num{font-family:IBM Plex Sans,sans-serif;font-size:26px;font-weight:800;line-height:1;margin-bottom:3px;color:var(--text-1)}.stat-lbl{font-size:12px;color:var(--text-2);font-weight:500}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:5px;box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.card-title{font-size:14px;font-weight:700;color:var(--text-1)}.card-body{padding:20px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search{position:relative;flex:1;min-width:200px;max-width:380px}.search>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3);width:16px;height:16px;pointer-events:none}.search input{width:100%;padding:9px 36px 9px 38px;border:1px solid var(--border);border-radius:var(--r-md);font-size:14px;outline:none;background:#fff;transition:all .18s ease;color:var(--text-1);line-height:1.5}.search input:hover{border-color:#cbd5e1}.search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--theme-primary-rgb, 30, 116, 201),.1)}.comm-focus:focus{border-color:var(--border-focus)!important;box-shadow:0 0 0 3px rgba(var(--theme-primary-rgb, 30, 116, 201),.12)}.search .search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--text-3);cursor:pointer;transition:all .15s ease;padding:0}.search .search-clear:hover{background:#f1f5f9;color:var(--danger)}.search .search-clear svg{width:14px;height:14px}.search.no-icon>svg{display:none}.search.no-icon input{padding-left:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{text-align:left;padding:10px 16px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text-2);background:#f8fafc;border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:13px 16px;border-bottom:1px solid #f1f5f9;font-size:13.5px;vertical-align:middle;color:var(--text-1)}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fafbff}.cell-primary{font-weight:600;color:var(--text-1)}.cell-sub{font-size:11.5px;color:var(--text-3);margin-top:1px}.command-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;background:var(--command-bg);border-bottom:1px solid var(--border);position:sticky;top:60px;z-index:90;gap:16px;flex-wrap:wrap}.command-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.cmd-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:none;background:transparent;color:var(--text-1);font-size:13px;font-weight:500;border-radius:4px;transition:all .1s;white-space:nowrap}.cmd-btn:hover{background:#f3f4f6}.cmd-btn.active{background:var(--primary-light);color:var(--primary);font-weight:600}.cmd-btn svg{width:15px;height:15px;color:var(--accent-blue)}.cmd-btn.danger svg{color:var(--danger)}.view-toggle{display:inline-flex;align-items:center;background:#f3f4f6;border-radius:6px;padding:3px;gap:2px}.view-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:28px;padding:0 10px;border:none;background:transparent;color:var(--text-3);border-radius:4px;cursor:pointer;transition:all .15s ease;font-size:12px;font-weight:500;white-space:nowrap}.view-toggle button:hover{background:#fff9;color:var(--text-1)}.view-toggle button.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #00000014;font-weight:600}.cmd-btn:disabled{opacity:.4;cursor:not-allowed}.ent-table-container{background:#fff;flex:1;display:flex;flex-direction:column;overflow:auto;min-height:0}.ent-table{width:100%;border-collapse:collapse;table-layout:fixed}.ent-table thead th{background:#f8fafc;padding:11px 16px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid var(--border);border-right:1px solid transparent;position:sticky;top:0;z-index:10;cursor:pointer;transition:background .1s;white-space:nowrap}.ent-table thead th:hover{background:#f1f5f9;border-right-color:#e2e8f0}.ent-table tbody tr{border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .1s}.ent-table tbody tr:hover{background:#f8fafc}.ent-table tbody tr.selected{background:#f0f7ff}.ent-table tbody td{padding:11px 16px;font-size:13px;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ent-table .check-col{width:44px;text-align:center;padding:0!important}.ent-table .check-col input{cursor:pointer;transform:scale(1.1)}.ent-table tbody td.actions-cell{overflow:visible}.ent-table tbody td .row-actions{display:flex;justify-content:flex-end;gap:6px;opacity:0;transition:opacity .15s ease}.ent-table tbody tr:hover .row-actions,.ent-table tbody td .row-actions.open{opacity:1}.record-card{padding:16px;border:1px solid var(--border);border-radius:8px;cursor:pointer;background:#fff;transition:all .15s ease}.record-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.record-card.selected{background:rgba(var(--theme-primary-rgb, 30, 116, 201),.05);border-color:var(--primary)}.record-card-row{display:flex;gap:8px;margin-bottom:4px;font-size:13px}.record-card-row:last-child{margin-bottom:0}.record-card-label{font-weight:500;color:var(--text-2);min-width:90px}.record-card-value{color:var(--text-1)}.list-view{padding:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-content:start}@media (max-width: 768px){.list-view{grid-template-columns:1fr}}.list-row{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:8px;cursor:pointer;background:#fff;border:1px solid var(--border);transition:all .12s ease}.list-row:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.list-row.selected{border-color:var(--primary);background:rgba(var(--theme-primary-rgb, 30, 116, 201),.04)}.list-row-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);margin:0}.list-row-icon{color:var(--primary)}.list-row-icon svg{width:18px;height:18px}.list-row-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.list-row-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.list-row-top{display:flex;align-items:center;gap:8px;font-size:12px}.list-row-id{font-weight:600;color:var(--text-2)}.list-row-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:0 4px 4px 0;background:#f1f5f9;color:var(--text-2);font-weight:500;border-left:3px solid var(--primary)}.list-row-title{font-size:15px;font-weight:600;color:var(--text-1)}.list-row-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-3)}.list-row-meta span{display:flex;gap:4px}.list-row-meta-label{font-weight:500;color:var(--text-2)}.list-row-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .12s ease;align-self:flex-end}.list-row:hover .list-row-actions{opacity:1}.list-empty{text-align:center;color:var(--text-3);padding:40px;font-size:13px;grid-column:1 / -1}.mentor-list{width:280px;border-right:1px solid var(--border);display:flex;flex-direction:column;background:#fff}.mentor-list-head{padding:16px;border-bottom:1px solid var(--border);background:#f8fafc;font-size:14px;font-weight:600;color:var(--text-1)}.mentor-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:all .15s ease;display:flex;justify-content:space-between;align-items:center}.mentor-item:hover{background:#f8fafc}.mentor-item.active{background:var(--primary);color:#fff}.mentor-item-name{font-weight:500;font-size:13px}.mentor-item-count{font-size:11px;padding:2px 8px;border-radius:10px;background:#e2e8f0;color:var(--text-2)}.mentor-item.active .mentor-item-count{background:#fff3;color:#fff}.filter-panel{position:fixed;top:60px;right:0;bottom:0;width:420px;background:#fff;border-left:1px solid var(--border);box-shadow:-4px 0 20px #0000000d;z-index:150;display:flex;flex-direction:column;animation:slideInRight .25s ease}.filter-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.filter-body{flex:1;overflow-y:auto;padding:20px}.filter-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-bottom:12px;align-items:center}.filter-add{margin-top:12px;color:var(--accent-blue);font-weight:600;font-size:12.5px;background:none;border:none;display:flex;align-items:center;gap:6px}.column-picker{position:fixed;top:60px;right:0;bottom:0;width:360px;background:#fff;border-left:1px solid var(--border);box-shadow:-4px 0 20px #0000000d;z-index:150;display:flex;flex-direction:column;animation:slideInRight .25s ease}.column-picker-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.column-picker-title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--text-1)}.column-picker-title svg{color:var(--primary)}.column-picker-body{flex:1;overflow-y:auto;padding:20px}.column-picker-actions{display:flex;gap:10px;margin-bottom:16px}.column-picker-action-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:#fff;color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.column-picker-action-btn:hover:not(:disabled){background:#f8fafc;border-color:var(--primary);color:var(--primary)}.column-picker-action-btn:disabled{opacity:.5;cursor:not-allowed;background:#f8fafc}.column-picker-list{display:grid;grid-template-columns:1fr;gap:2px;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}@media (min-height: 600px){.column-picker-list{grid-template-columns:repeat(2,1fr)}}.column-picker-item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;transition:all .12s ease;background:#fff;border-bottom:1px solid var(--border)}.column-picker-item:last-child{border-bottom:none}.column-picker-item:hover{background:#f8fafc}.column-picker-item.checked{background:rgba(var(--theme-primary-rgb, 30, 116, 201),.04)}.column-picker-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.column-picker-label{font-size:13px;color:var(--text-1);-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-picker-foot{padding:16px 20px;border-top:1px solid var(--border);display:flex}.column-picker-foot .btn{flex:1;justify-content:center}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:var(--r-sm);font-size:14px;font-weight:600;transition:all .15s;white-space:nowrap}.btn svg{width:16px;height:16px}.btn-primary{background:var(--theme-primary);color:#fff;box-shadow:0 1px 4px rgba(var(--theme-primary-rgb),.15)}.btn-primary:hover{background:var(--theme-primary-dark);box-shadow:0 2px 8px rgba(var(--theme-primary-rgb),.25);transform:translateY(-1px)}.btn-secondary{background:var(--theme-primary-light);color:var(--theme-primary)}.btn-secondary:hover{background:#e0e7ff}.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border)}.btn-ghost:hover{background:#f8fafc;color:var(--text-1);border-color:#cbd5e1}.btn-danger{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.btn-danger:hover{background:#fee2e2}.btn-success{background:#ecfdf5;color:#065f46}.btn-sm{padding:6px 12px;font-size:13px}.btn-icon{width:34px;height:34px;padding:0;justify-content:center}.btn.btn-icon.btn-ghost.btn-xs{width:28px;height:28px;border:none;background:transparent;color:var(--text-3);border-radius:6px;padding:0}.btn.btn-icon.btn-ghost.btn-xs:hover{background:#f1f5f9;color:var(--text-1)}.btn.btn-icon.btn-ghost.btn-xs.text-danger:hover{background:#fee2e2;color:var(--danger)}.btn:disabled{opacity:.6;cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:600}.badge-green{background:#d1fae5;color:#065f46}.badge-red{background:#fee2e2;color:#991b1b}.badge-yellow{background:#fef3c7;color:#92400e}.badge-blue{background:#dbeafe;color:#1e40af}.badge-purple{background:var(--primary-light);color:#3730a3}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000059;display:flex;align-items:center;justify-content:center;padding:16px;animation:overlayFadeIn .15s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:5px;border:1px solid var(--border);box-shadow:0 20px 60px #0000002e,0 4px 16px #00000014;width:100%;max-width:520px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .2s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-sm{max-width:380px}.modal-md{max-width:520px}.modal-lg{max-width:680px}.modal-xl{max-width:860px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-head h3{font-size:15px;font-weight:700;color:var(--text-1);margin:0;letter-spacing:-.2px}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:#f8fafc;flex-shrink:0}.d-flex{display:flex}.d-grid{display:grid}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.no-border{border:none!important}.grid-2{display:grid;grid-template-columns:repeat(2,1fr)}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.top-0{top:0}.inset-0{top:0;right:0;bottom:0;left:0}.pin-y-center{top:50%;transform:translateY(-50%)}.z-10{z-index:10}.z-50{z-index:50}.backdrop-blur-2{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.flex-shrink-0{flex-shrink:0}.object-cover{object-fit:cover}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-6{margin-bottom:24px}.m-3{margin:12px}.my-3{margin-top:12px;margin-bottom:12px}.mx-3{margin-left:12px;margin-right:12px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.p-6{padding:24px}.p-10{padding:40px}.p-x-12{padding-left:48px;padding-right:48px}.p-b-15{padding-bottom:60px}.rounded-8{border-radius:8px}.rounded-12{border-radius:12px}.rounded-full{border-radius:9999px}.w-32{width:32px}.h-32{height:32px}.w-42{width:42px}.h-42{height:42px}.w-56{width:56px}.h-56{height:56px}.min-h-70{min-height:70px}.min-h-80{min-height:80px}.max-w-400{max-width:400px}.max-w-460{max-width:460px}.h-px{height:1px}.h-5{height:20px}.w-px{width:1px}.w-full{width:100%}.h-full{height:100%}.bg-page{background:#f8fafc}.bg-muted{background:#f1f5f9}.bg-dim{background:#00000005}.bg-glass{background:#ffffffb3}.bg-border{background:var(--border)}.bg-success-light{background:#ecfdf5}.bg-danger-light{background:#fef2f2}.border{border:1px solid var(--border)}.border-dashed{border:1px dashed var(--border)}.border-b{border-bottom:1px solid var(--border)}.border-t{border-top:1px solid var(--border)}.border-success{border-color:#10b981}.border-danger{border-color:#ef4444}.grid-cols-auto-220{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.grid-cols-auto-240{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.lh-1-5{line-height:1.5}.max-h-300{max-height:300px}.break-all{word-break:break-all}.settings-card{background:#fff;border:1px solid var(--border);border-radius:5px;overflow:hidden;margin-bottom:12px}.settings-card-head{padding:11px 22px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:8px}.settings-row{display:grid;grid-template-columns:180px 180px 1fr;align-items:start;padding:11px 22px;border-bottom:1px solid #f8fafc;gap:12px}.settings-row:last-child{border-bottom:none}.settings-label{font-size:13px;font-weight:600;color:var(--text-1);padding-top:4px}.settings-hint{font-size:12px;color:var(--text-3);padding-top:5px;line-height:1.5}.v-divider{width:1px;height:20px;background:var(--border);margin:0 8px}.avatar-circle{border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;border:1px solid transparent}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.event-card{padding:20px;cursor:pointer;position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:all .2s}.event-card:hover{border-color:var(--primary-mid);transform:translateY(-2px);box-shadow:var(--shadow-md)}.event-card.selected{border:2px solid var(--primary);box-shadow:var(--shadow-md)}.text-xs{font-size:11px}.text-sm{font-size:13px}.text-md{font-size:15px}.text-lg{font-size:18px}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.fw-900{font-weight:900}.font-mono{font-family:DM Mono,monospace}.text-muted{color:var(--text-3)}.text-main{color:var(--text-1)}.text-primary{color:var(--primary)}.text-success{color:#059669}.text-danger{color:#dc2626}.pointer{cursor:pointer}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.auth-box-max{max-width:460px;width:100%}.auth-brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-password-wrapper{position:relative}.auth-password-input{padding-right:42px!important}.auth-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center}.form-field{margin-bottom:16px;flex:1 1 180px;min-width:0}div:has(>.form-field){flex-wrap:wrap}@media (max-width: 560px){div:has(>.form-field)>.form-field{flex-basis:100%}}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:6px;letter-spacing:.1px;-webkit-user-select:none;user-select:none}.form-label span{color:var(--danger);margin-left:2px}.form-error{font-size:11.5px;color:var(--danger);margin-top:5px;display:flex;align-items:center;gap:4px}.form-input{width:100%;padding:11px 16px;border:1.5px solid var(--border);border-radius:var(--r-md);font-size:13.5px;font-weight:500;background:#fff;color:var(--text-1);transition:all .25s cubic-bezier(.4,0,.2,1);outline:none;line-height:1.6;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:0 1px 2px #0000000d}.form-input:hover{border-color:var(--primary-mid);background-color:#fafbfc;box-shadow:0 2px 4px #0000000d}.form-input:focus{border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 4px rgba(var(--theme-primary-rgb, 30, 116, 201),.12),0 4px 12px rgba(var(--theme-primary-rgb, 30, 116, 201),.08);transform:translateY(-1px)}.form-input::placeholder{color:#b3bfcc;font-weight:400}.form-input-error{border-color:var(--danger)!important;background:#fff8f8}textarea.form-input{resize:vertical;min-height:90px;line-height:1.6}select.form-input{cursor:pointer;padding-right:36px;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='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}select.form-input:focus{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='%231e74c9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}input[type=date].form-input,input[type=time].form-input{cursor:pointer;color-scheme:light;padding-right:12px}input[type=date].form-input::-webkit-calendar-picker-indicator,input[type=time].form-input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;transition:opacity .15s;border-radius:4px;padding:2px}input[type=date].form-input::-webkit-calendar-picker-indicator:hover,input[type=time].form-input::-webkit-calendar-picker-indicator:hover{opacity:1;background-color:rgba(var(--theme-primary-rgb, 30, 116, 201),.08)}input[type=date].form-input:focus::-webkit-calendar-picker-indicator,input[type=time].form-input:focus::-webkit-calendar-picker-indicator{opacity:.8}.form-search{position:relative}.form-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-3);width:15px;height:15px;pointer-events:none}.form-search input{width:100%;padding:9px 12px 9px 36px;border:1.5px solid var(--border);border-radius:var(--r-sm);font-size:13.5px;outline:none;background:#fff;color:var(--text-1);transition:all .18s ease;line-height:1.5}.form-search input:hover{border-color:#b0bfd0}.form-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3.5px rgba(var(--theme-primary-rgb, 30, 116, 201),.1)}.date-picker-wrap{position:relative;width:100%}.date-picker-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--primary);pointer-events:none;z-index:1;opacity:.75}.date-picker-input{padding-left:38px!important;cursor:pointer}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.react-datepicker{font-family:IBM Plex Sans,sans-serif!important;border:1px solid var(--border)!important;border-radius:5px!important;box-shadow:0 12px 32px #0f172a1f,0 4px 12px #0f172a0f!important;overflow:hidden}.react-datepicker__header{background:var(--theme-primary, var(--primary))!important;border-bottom:none!important;border-radius:0!important;padding:12px 10px 10px!important}.react-datepicker__current-month,.react-datepicker-time__header{color:#fff!important;font-size:13.5px!important;font-weight:700!important;font-family:IBM Plex Sans,sans-serif!important}.react-datepicker__day-name{color:#ffffffbf!important;font-size:11px!important;font-weight:600!important;width:32px!important;line-height:32px!important;margin:1px!important}.react-datepicker__navigation-icon:before{border-color:#fff!important;border-width:2px 2px 0 0!important}.react-datepicker__navigation:hover *:before{border-color:#fffc!important}.react-datepicker__month{margin:8px!important}.react-datepicker__day{width:32px!important;line-height:32px!important;margin:1px!important;border-radius:5px!important;font-size:13px!important;color:var(--text-1)!important;transition:all .15s!important}.react-datepicker__day:hover{background:var(--theme-primary-light, var(--primary-light))!important;color:var(--theme-primary, var(--primary))!important}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background:var(--theme-primary, var(--primary))!important;color:#fff!important;font-weight:700!important}.react-datepicker__day--today{font-weight:700!important;color:var(--theme-primary, var(--primary))!important;border:1.5px solid var(--theme-primary, var(--primary))!important;background:transparent!important}.react-datepicker__day--today.react-datepicker__day--selected{color:#fff!important;border-color:var(--theme-primary, var(--primary))!important;background:var(--theme-primary, var(--primary))!important}.react-datepicker__day--outside-month{color:var(--text-3)!important;opacity:.5}.react-datepicker__day--disabled{color:var(--text-3)!important;opacity:.35!important;cursor:not-allowed!important}.react-datepicker__time-container .react-datepicker__time{border-radius:0 0 5px 5px!important}.react-datepicker__time-list-item{font-size:13px!important;color:var(--text-1)!important;border-radius:6px!important;display:flex!important;align-items:center!important;margin:1px 4px!important;padding:6px 12px!important;transition:background .15s!important}.react-datepicker__time-list-item:hover{background:var(--primary-light)!important;color:var(--primary)!important}.react-datepicker__time-list-item--selected{background:var(--primary)!important;color:#fff!important;font-weight:700!important}.react-datepicker__time-list-item--selected:hover{background:var(--primary-dark)!important;color:#fff!important}.react-datepicker__triangle{display:none!important}.react-datepicker-popper{z-index:9999!important}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.col-span-3{grid-column:span 3}.form-section{margin-bottom:20px}.form-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.toggle-group{display:flex;align-items:center;gap:8px}.toggle{position:relative;width:38px;height:22px;background:#d1d5db;border-radius:99px;border:none;cursor:pointer;transition:background .2s;flex-shrink:0}.toggle.on{background:var(--primary)}.toggle:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle.on:after{transform:translate(16px)}.toggle-label{font-size:13px;font-weight:500}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s ease;padding:20px}.modal{display:flex;flex-direction:column;background:var(--bg-card);border-radius:5px;width:100%;max-width:580px;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-lg);animation:slideUp .2s ease;border:1px solid var(--border)}.modal-lg{max-width:760px}.modal-xl{max-width:900px}.modal-sm{max-width:420px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--bg-card);z-index:10;border-radius:var(--r-xl) var(--r-xl) 0 0}.modal-head h3{font-size:15px;font-weight:700;color:var(--text-1)}.modal-body{padding:22px;flex:1;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border);background:var(--bg-card)}.empty{text-align:center;padding:56px 20px}.empty-icon{width:52px;height:52px;color:#cbd5e1;margin:0 auto 14px}.empty h3{font-size:15px;margin-bottom:5px;color:var(--text-1)}.empty p{font-size:13px;color:var(--text-2);margin-bottom:18px}.loading{display:flex;align-items:center;justify-content:center;padding:60px}.spinner{width:30px;height:30px;border:3px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.auth-page{min-height:100vh;background:#f8fafc;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.auth-page:before{display:none}.auth-page:after{display:none}.auth-box{background:#fff;border:1px solid #e2e8f0;border-radius:var(--r-xl);padding:40px;width:100%;max-width:420px;box-shadow:0 8px 40px #0f172a1a,0 2px 8px #0f172a0d;position:relative;z-index:1}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.auth-title{font-size:24px;font-weight:800;color:var(--text-1);margin-bottom:6px}.auth-sub{font-size:13.5px;color:var(--text-2);margin-bottom:26px}.auth-box .form-label{color:var(--text-1)}.auth-box .form-input{background:#fff;border-color:var(--border);color:var(--text-1)}.auth-box .form-input:focus{border-color:var(--border-focus);background:#fff}.auth-box .form-input::placeholder{color:var(--text-3)}.auth-link{text-align:center;margin-top:18px;font-size:13px;color:var(--text-2)}.auth-link a{color:var(--theme-primary);font-weight:600}.actions{display:flex;gap:5px}hr{border:none;border-top:1px solid var(--border);margin:18px 0}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.tabs{display:flex;gap:2px;border-bottom:2px solid var(--border);margin-bottom:20px}.tab{padding:9px 16px;font-size:13.5px;font-weight:600;border:none;background:none;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.tab:hover{color:var(--primary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-error-icon{color:var(--danger);position:absolute;top:13px;right:12px;animation:tabErrorPulse 2s infinite;filter:drop-shadow(0 2px 4px rgba(239,68,68,.2))}@keyframes tabErrorPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}to{transform:scale(1);opacity:1}}.form-sidebar{width:280px;background:#fff;border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:12px 0;height:fit-content;overflow:hidden;border:1px solid var(--border)}.sub-sidebar-btn{position:relative;display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:0;border:none;background:transparent;color:var(--text-2);text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:13.5px;width:100%;font-weight:500}.sub-sidebar-btn:hover{background:#f8fafc;color:var(--text-1)}.sub-sidebar-btn.active{background:#f1f5f9;color:var(--primary);font-weight:800}.sub-sidebar-btn.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary);border-radius:0 4px 4px 0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.info-item label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3);display:block;margin-bottom:3px}.info-item span{font-size:13.5px;font-weight:500;color:var(--text-1)}.check-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;height:100vh;width:264px!important;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:0 0 40px #0f172a40;z-index:250}.shell-collapsed .sidebar{width:264px!important}.shell.mobile-open .sidebar{transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:240;animation:panelFade .18s ease}.main{width:100%}.topbar{padding:0 14px}.page{padding:16px 14px}.ent-table{min-width:640px}.ent-table-container{overflow-x:auto}.command-bar{flex-wrap:wrap;padding:10px 14px;gap:10px}.command-group{flex-wrap:wrap;row-gap:6px;min-width:0}.command-bar>.search{flex:1 1 100%;max-width:none;min-width:0}.command-group>div{max-width:100%}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.col-span-2,.col-span-3{grid-column:span 1}.settings-row,.grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-2{grid-template-columns:1fr!important}.form-shell{flex-direction:column}.form-shell>.form-sidebar{width:100%}}@media (max-width: 560px){.hide-sm{display:none!important}.stats{grid-template-columns:1fr}.page{padding:14px 12px}.topbar{padding:0 12px}.topbar-right{gap:10px!important}}.nav-btn.active{background:rgba(var(--theme-primary-rgb),.12);color:var(--theme-primary)}.nav-btn.active svg{color:var(--theme-primary)}.brand-icon,.sidebar-footer .user-av{background:var(--theme-primary)}@keyframes ssDropdown{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.form-section-nav{display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding-top:24px;border-top:1px dashed var(--border)}.form-section-nav .nav-buttons{display:flex;gap:12px;margin-left:auto}.btn-next{background:var(--primary);color:#fff;padding:10px 24px;border-radius:8px;font-weight:600;display:flex;align-items:center;gap:8px;transition:all .2s;border:1px solid var(--primary)}.btn-next:hover{background:var(--primary-dark);border-color:var(--primary-dark);transform:translate(4px);box-shadow:0 4px 12px var(--primary-light)}.btn-prev{background:#f1f5f9;color:var(--text-2);padding:10px 24px;border-radius:8px;font-weight:600;display:flex;align-items:center;gap:8px;transition:all .2s;border:1px solid var(--border)}.btn-prev:hover{background:#e2e8f0;color:var(--text-1);border-color:#cbd5e1;transform:translate(-4px)}.p-0{padding:0}.p-1{padding:4px}.p-b-0{padding-bottom:0}.p-b-1{padding-bottom:4px}.p-b-2{padding-bottom:8px}.p-b-4{padding-bottom:16px}.p-b-10{padding-bottom:40px}.p-t-0{padding-top:0}.p-t-1{padding-top:4px}.p-t-2{padding-top:8px}.p-t-4{padding-top:16px}.p-t-6{padding-top:24px}.p-x-1{padding-left:4px;padding-right:4px}.p-x-2{padding-left:8px;padding-right:8px}.p-x-3{padding-left:12px;padding-right:12px}.p-x-4{padding-left:16px;padding-right:16px}.p-x-5{padding-left:20px;padding-right:20px}.p-x-6{padding-left:24px;padding-right:24px}.p-x-10{padding-left:40px;padding-right:40px}.p-y-1{padding-top:4px;padding-bottom:4px}.p-y-2{padding-top:8px;padding-bottom:8px}.p-y-3{padding-top:12px;padding-bottom:12px}.p-y-4{padding-top:16px;padding-bottom:16px}.p-y-10{padding-top:40px;padding-bottom:40px}.m-0{margin:0}.m-b-0{margin-bottom:0}.m-b-1{margin-bottom:4px}.m-b-2{margin-bottom:8px}.m-b-4{margin-bottom:16px}.ml-2{margin-left:8px}.mx-auto{margin-left:auto;margin-right:auto}.gap-0{gap:0}.gap-1{gap:4px}.gap-5{gap:20px}.w-1{width:4px}.w-2{width:8px}.w-4{width:16px}.w-5{width:20px}.w-6{width:24px}.w-8{width:32px}.w-9{width:36px}.w-10{width:40px}.w-20{width:80px}.w-28{width:28px}.w-44{width:44px}.w-180{width:180px}.w-200{width:200px}.w-260{width:260px}.w-fit{width:fit-content}.min-w-0{min-width:0}.h-1{height:4px}.h-2{height:8px}.h-4{height:16px}.h-6{height:24px}.h-8{height:32px}.h-20{height:80px}.h-28{height:28px}.h-44{height:44px}.max-w-md{max-width:448px}.max-w-760{max-width:760px}.max-w-1100{max-width:1100px}.max-w-1200{max-width:1200px}.max-w-260{max-width:260px}.max-w-280{max-width:280px}.max-w-340{max-width:340px}.min-h-screen{min-height:100vh}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.col-span-2{grid-column:span 2}.rounded{border-radius:6px}.rounded-sm{border-radius:4px}.rounded-md{border-radius:8px}.rounded-lg{border-radius:12px}.rounded-xl{border-radius:16px}.rounded-2xl{border-radius:20px}.rounded-10{border-radius:10px}.rounded-b-lg{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.border-b-2{border-bottom-width:2px}.border-t-0{border-top:none!important}.border-b-0{border-bottom:none!important}.border-none{border:none!important}.border-transparent{border-color:transparent}.border-primary{border-color:var(--primary)}.border-gray-100{border-color:#f3f4f6}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d1d5db}.border-red-300{border-color:#fca5a5}.border-dashed{border-style:dashed}.bg-white{background-color:#fff}.bg-card{background-color:var(--bg-card, #ffffff)}.bg-transparent{background-color:transparent}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-green-100{background-color:#dcfce7}.bg-red-50{background-color:#fff1f2}.bg-primary-light{background-color:var(--primary-light)}.bg-background{background-color:var(--bg-body, #f8fafc)}.bg-slate-50{background-color:#f8fafc}.bg-none{background:none}.bg-primary\/10{background-color:rgba(var(--theme-primary-rgb, 30, 116, 201),.1)}.bg-black\/30{background-color:#0000004d}.bg-white\/70{background-color:#ffffffb3}.text-xxs{font-size:10px}.text-xl{font-size:20px}.text-3xl{font-size:30px}.text-4xl{font-size:36px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-white{color:#fff}.text-gray-300{color:#d1d5db}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-red-500{color:#ef4444}.text-red-700{color:#b91c1c}.text-green-800{color:#166534}.text-warning{color:#f59e0b}.text-foreground{color:var(--text-1)}.text-muted-foreground{color:var(--text-3)}.text-uppercase{text-transform:uppercase}.text-nowrap{white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.tracking-tight{letter-spacing:-.02em}.tracking-wider{letter-spacing:.05em}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.font-inter{font-family:Inter,-apple-system,sans-serif}.fw-400{font-weight:400}.fw-450{font-weight:450}.fw-850{font-weight:850}.hover-bg-gray-50:hover{background-color:#f9fafb}.hover-bg-muted:hover{background-color:var(--bg-muted, #f1f5f9)}.hover-text-main:hover{color:var(--text-1)}.hover-text-red-500:hover{color:#ef4444}.hover-border-red-300:hover{border-color:#fca5a5}.hover-border-primary:hover{border-color:var(--primary)}.hover-text-primary:hover{color:var(--primary)}.transition-colors{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.scale-120{transform:scale(1.2)}.object-contain{object-fit:contain}.cursor-pointer{cursor:pointer}.top-6{top:24px}.resize-none{resize:none}.bg-success{background-color:#10b981}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .22s ease}.top-4{top:16px}.right-4{right:16px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.glass-card{background:#ffffffbf;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1.5px solid rgba(255,255,255,.4);border-radius:24px;padding:28px 32px;box-shadow:0 12px 40px #1f268714,0 4px 12px #1f26870a;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-card:hover{box-shadow:0 20px 60px #1f26871f;border-color:#fff9;transform:translateY(-2px)}.form-section-accent{display:flex;align-items:center;gap:12px;margin-bottom:24px}.form-section-icon{width:44px;height:44px;border-radius:14px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(var(--theme-primary-rgb, 30, 116, 201),.15);transition:all .3s ease}.glass-card:hover .form-section-icon{background:var(--primary);color:#fff;transform:rotate(5deg) scale(1.1);box-shadow:0 10px 24px rgba(var(--theme-primary-rgb, 30, 116, 201),.25)}[dir=rtl] body,[dir=rtl] .page{text-align:right}[dir=rtl] .topbar-right{flex-direction:row-reverse}.ems-datefield-wrap,.react-datepicker-wrapper{width:100%}.ems-datefield{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:5px;font-size:13px;outline:none;background:#fff;color:var(--text-1)}.ems-datefield:focus{border-color:var(--theme-primary, var(--primary))}.ems-datefield-popper{z-index:600}.panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;display:flex;justify-content:flex-end;z-index:1000;animation:panelFade .18s ease}.side-panel{height:100vh;max-width:96vw;background:var(--bg-card);display:flex;flex-direction:column;box-shadow:-12px 0 40px #0f172a24;border-left:1px solid var(--border);border-radius:0;animation:panelSlideIn .26s cubic-bezier(.32,.72,0,1)}.side-panel .modal-head{border-radius:0}@keyframes panelFade{0%{opacity:0}to{opacity:1}}@keyframes panelSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media (max-width: 560px){.side-panel{width:100vw!important;max-width:100vw}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.rte-editable:empty:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none}.rte-editable blockquote,.rte-content blockquote{border-left:3px solid #e2e8f0;margin:8px 0;padding:4px 14px;color:#475569}.rte-content{line-height:1.7}.rte-content h1,.rte-content h2,.rte-content h3{font-weight:700;margin:1em 0 .4em;line-height:1.3}.rte-content h2{font-size:1.35em}.rte-content h3{font-size:1.15em}.rte-content p{margin:0 0 .8em}.rte-content ul,.rte-content ol{margin:0 0 .8em;padding-left:1.4em}.rte-content a{color:#2563eb;text-decoration:underline}.rte-content pre,.rte-content code{background:#f1f5f9;border-radius:4px}.rte-content pre{padding:10px 12px;overflow-x:auto}.rte-content code{padding:1px 5px;font-size:.92em}.dynamic-section-grid,.dynamic-field-cell{min-width:0}.dynamic-field-cell .form-field{margin-bottom:0}@media (max-width: 900px){.dynamic-section-grid-3,.dynamic-section-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dynamic-section-grid-3 .dynamic-field-cell,.dynamic-section-grid-4 .dynamic-field-cell{grid-column:span 2!important}.dynamic-section-grid-3 .dynamic-field-cell[data-span="1"],.dynamic-section-grid-4 .dynamic-field-cell[data-span="1"]{grid-column:span 1!important}}@media (max-width: 600px){.dynamic-section-grid,.dynamic-section-grid-1,.dynamic-section-grid-2,.dynamic-section-grid-3,.dynamic-section-grid-4{grid-template-columns:1fr!important}.dynamic-section-grid .dynamic-field-cell,.dynamic-section-grid-1 .dynamic-field-cell,.dynamic-section-grid-2 .dynamic-field-cell,.dynamic-section-grid-3 .dynamic-field-cell,.dynamic-section-grid-4 .dynamic-field-cell{grid-column:span 1!important}}.so-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end;animation:fadeIn .18s ease}.so-panel{width:100%;height:100%;background:var(--bg-card);border-left:1px solid var(--border);box-shadow:-16px 0 48px #0f172a24;display:flex;flex-direction:column;animation:panelSlideIn .26s cubic-bezier(.22,.61,.36,1)}.so-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border)}.so-title{font-size:16px;font-weight:700;color:var(--text-1)}.so-sub{font-size:12.5px;color:var(--text-2);margin-top:3px}.so-body{flex:1;overflow-y:auto;padding:22px 24px}.so-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-card)}.segmented{display:inline-flex;background:#f1f5f9;border:1px solid var(--border);border-radius:var(--r-sm);padding:3px;gap:2px}.segmented button{border:none;background:transparent;color:var(--text-2);font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:4px;transition:all .15s}.segmented button.on{background:var(--bg-card);color:var(--primary);box-shadow:var(--shadow-sm)}.crit-row{border:1px solid var(--border);border-radius:var(--r-md);padding:14px;margin-bottom:12px;background:#fcfdff;position:relative;transition:border-color .15s,box-shadow .15s}.crit-row:hover{border-color:#cbd5e1;box-shadow:var(--shadow-sm)}.crit-row-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.crit-handle{color:var(--text-3);cursor:grab;display:flex}.crit-index{width:22px;height:22px;border-radius:5px;background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.crit-mini-grid{display:grid;grid-template-columns:1fr 88px 88px;gap:10px;align-items:end}.weight-summary{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:var(--r-sm);background:var(--primary-light);border:1px solid var(--sidebar-active-border);font-size:12.5px;color:var(--primary-dark);font-weight:600;margin-top:4px}.meter{display:flex;flex-direction:column;gap:6px}.meter-top{display:flex;align-items:baseline;justify-content:space-between}.meter-label{font-size:13px;font-weight:600;color:var(--text-1)}.meter-val{font-size:12.5px;font-weight:700;color:var(--text-2);font-variant-numeric:tabular-nums}.meter-track{height:8px;border-radius:99px;background:#eef1f6;overflow:hidden}.meter-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary-mid),var(--primary));transition:width .5s cubic-bezier(.22,.61,.36,1)}.meter-fill.good{background:linear-gradient(90deg,#34d399,var(--success))}.meter-fill.warn{background:linear-gradient(90deg,#fbbf24,var(--warning))}.score-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:#e2e8f0;outline:none}.score-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary);border:3px solid #fff;box-shadow:var(--shadow-md);cursor:pointer;transition:transform .1s}.score-range::-webkit-slider-thumb:active{transform:scale(1.12)}.score-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary);border:3px solid #fff;box-shadow:var(--shadow-md);cursor:pointer}.sc-crit{padding:16px 0;border-bottom:1px solid #f1f5f9}.sc-crit:last-child{border-bottom:none}.sc-crit-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}.sc-crit-name{font-size:13.5px;font-weight:600;color:var(--text-1)}.sc-crit-desc{font-size:11.5px;color:var(--text-3);margin-bottom:12px}.sc-score-badge{font-size:15px;font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums;min-width:54px;text-align:right}.sc-score-badge small{font-size:11px;font-weight:600;color:var(--text-3)}.sc-scale{display:flex;gap:6px;flex-wrap:wrap}.sc-scale button{width:34px;height:34px;border-radius:var(--r-sm);border:1.5px solid var(--border);background:#fff;font-size:13px;font-weight:700;color:var(--text-2);transition:all .12s}.sc-scale button:hover{border-color:var(--primary-mid);color:var(--primary)}.sc-scale button.on{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(var(--theme-primary-rgb, 30,116,201),.25)}.rank-list{display:flex;flex-direction:column}.rank-row{display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid #f1f5f9}.rank-row:last-child{border-bottom:none}.rank-badge{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0;background:#f1f5f9;color:var(--text-2)}.rank-row:nth-child(1) .rank-badge{background:#fef3c7;color:#b45309}.rank-row:nth-child(2) .rank-badge{background:#e2e8f0;color:#475569}.rank-row:nth-child(3) .rank-badge{background:#fde8d7;color:#c2410c}.rank-main{flex:1;min-width:0}.rank-title{font-size:13px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-sub{font-size:11px;color:var(--text-3);margin-top:1px}.rank-score{font-size:18px;font-weight:800;color:var(--text-1);font-variant-numeric:tabular-nums}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.kpi{background:var(--bg-card);padding:16px 18px}.kpi-val{font-size:26px;font-weight:800;color:var(--text-1);line-height:1;font-variant-numeric:tabular-nums}.kpi-lbl{font-size:11.5px;color:var(--text-2);font-weight:500;margin-top:6px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--text-2);background:#f1f5f9;padding:3px 8px;border-radius:5px}.muted{color:var(--text-3)}.stack-sm>*+*{margin-top:10px}.scoring-alert{padding:14px;margin-bottom:16px;border-color:#fecaca;background:#fef2f2;color:#991b1b;font-size:13px}
