@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300..900;1,14..32,300..900&display=swap";.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{content:"";border:3px solid #ccc;border-width:3px 3px 0 0;width:9px;height:9px;display:block;position:absolute;top:6px}.react-datepicker__sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker-wrapper{border:0;padding:0;display:inline-block}.react-datepicker{color:#000;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:initial;background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-right-radius:.375em;border-bottom-left-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-top:1px solid #aeaeae;border-bottom:none;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{margin:0 15px;display:inline-block}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;background-color:#0000;border:1px solid #aeaeae;border-radius:.3rem;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:1px auto}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:#000;margin-top:0;font-size:.944rem;font-weight:700}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{text-align:center;cursor:pointer;z-index:1;text-indent:-999em;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:2px;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{margin-left:auto;margin-right:auto;display:block;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{width:0;font-size:20px;position:relative;top:-1px}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{text-align:center;margin:.5em}.react-datepicker__year-wrapper{flex-wrap:wrap;max-width:180px;display:flex}.react-datepicker__year .react-datepicker__year-text{width:5em;margin:2px;display:inline-block}.react-datepicker__month{text-align:center;margin:.5em}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{width:5em;margin:2px;display:inline-block}.react-datepicker__input-time-container{clear:both;float:left;text-align:left;width:100%;margin:5px 0 10px 15px}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{margin-left:10px;display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.375em;display:inline;position:absolute;top:0;right:-87px}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.375em;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{text-align:center;border-bottom-right-radius:.375em;width:85px;margin:0 auto;overflow-x:hidden}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;width:100%;height:calc(195px + 1.0625em);margin:0;padding-left:0;padding-right:0;list-style:none;overflow-y:scroll}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{white-space:nowrap;height:30px;padding:5px 10px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{color:#fff;background-color:#216ba5;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:#0000}.react-datepicker__week-number{color:#ccc;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{color:#fff;background-color:#3dcc4a;border-radius:.3rem}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{color:#fff;background-color:#ff6803;border-radius:.3rem;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{color:#000;background-color:#bad9f1;border-radius:.3rem}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{color:#fff;background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){color:#000;background-color:#f0f0f0}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:70%;left:50%;transform:translate(-50%)}.react-datepicker__input-container{width:100%;display:inline-block;position:relative}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.625em;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{top:0;right:-16px;transform:rotate(135deg)}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{z-index:1;text-align:center;background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;width:50%;position:absolute;top:30px;left:25%}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{width:100%;margin-left:auto;margin-right:auto;line-height:20px;display:block}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;user-select:none;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;vertical-align:middle;background-color:#0000;border:0;outline:0;height:100%;padding:0 6px 0 0;display:table-cell;position:absolute;top:0;right:0}.react-datepicker__close-icon:after{cursor:pointer;color:#fff;text-align:center;vertical-align:middle;content:"×";background-color:#216ba5;border-radius:50%;width:16px;height:16px;padding:2px;font-size:12px;line-height:1;display:table-cell}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{cursor:pointer;text-align:center;clear:left;background:#f0f0f0;border-top:1px solid #aeaeae;padding:5px 0;font-weight:700}.react-datepicker__portal{z-index:2147483647;background-color:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.react-datepicker__children-container{width:17.25em;height:auto;margin:.5em;padding-left:.25em;padding-right:.25em}.react-datepicker__aria-live{clip-path:circle(0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker__calendar-icon{vertical-align:-.125em;width:1em;height:1em}.react-datepicker-popper-offset{margin-top:-.7em}.org-tree *{box-sizing:border-box;margin:0;padding:0}.org-tree ul{justify-content:center;padding-top:32px;transition:all .5s;display:flex;position:relative}.org-tree li{float:left;text-align:center;padding:32px 12px 0;list-style-type:none;transition:all .5s;position:relative}.org-tree li:before,.org-tree li:after{content:"";border-top:2px solid #cbd5e1;width:50%;height:32px;position:absolute;top:0;right:50%}.org-tree li:after{border-left:2px solid #cbd5e1;left:50%;right:auto}.org-tree li:only-child:after,.org-tree li:only-child:before{display:none}.org-tree li:only-child{padding-top:0}.org-tree li:first-child:before,.org-tree li:last-child:after{border:0}.org-tree li:last-child:before{border-right:2px solid #cbd5e1;border-radius:0 5px 0 0}.org-tree li:first-child:after{border-radius:5px 0 0}.org-tree ul ul:before{content:"";border-left:2px solid #cbd5e1;width:0;height:32px;position:absolute;top:0;left:50%;transform:translate(-1px)}.org-node-wrapper{display:inline-block;position:relative}:root{--primary-color:#2563eb;--primary-hover:#1d4ed8;--primary-light:#2563eb1a;--text-dark:#1e293b;--text-muted:#64748b;--border-light:#0000000d;--glass-bg:#fff;--glass-border:#00000008;--glass-shadow:0 10px 25px -5px #0000000a, 0 8px 10px -6px #00000003;--glass-blur:blur(8px);--background:#f8fafc;--surface-dim:#f1f5f9;--inverse-surface:#0f172a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;font-size:16px}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-dark);height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden;place-items:initial!important;align-items:initial!important;justify-content:initial!important;display:block!important}body:before{content:"";z-index:-1;background-color:var(--background);pointer-events:none;position:fixed;inset:0}#root{min-height:100vh;display:block}.app-shell{width:100%;height:100%;display:flex;position:fixed;inset:0;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-content{flex:1;padding:24px;overflow-y:auto}.sidebar{-webkit-backdrop-filter:none;color:#fff;will-change:width, min-width;backface-visibility:hidden;z-index:50;border-right:1px solid #ffffff14;flex-direction:column;width:240px;min-width:240px;height:100vh;min-height:100vh;transition:width .22s cubic-bezier(.4,0,.2,1),min-width .22s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow:hidden;background:var(--inverse-surface)!important}.sidebar.collapsed{width:64px;min-width:64px}.sidebar-logo{border-bottom:1px solid #ffffff0d;align-items:center;gap:12px;padding:20px 16px;display:flex}.sidebar.collapsed .sidebar-logo{justify-content:center}.sidebar-logo-icon{background:var(--primary-color);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sidebar-logo-text{flex-shrink:0}.sidebar-logo-text .brand{color:#fff;font-size:14px;font-weight:800;line-height:1.2}.sidebar-logo-text .sub{color:#ffffff80;margin-top:2px;font-size:10px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.nav-item{color:#ffffffb3;cursor:pointer;white-space:nowrap;text-align:left;background:0 0;border:none;border-left:4px solid #0000;border-radius:4px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-item.active{border-left-color:var(--primary-color);font-weight:600;color:#fff!important;background:#2563eb26!important}.sidebar.collapsed .nav-item{justify-content:center;padding:10px}.sidebar.collapsed .nav-item span{display:none}.sidebar-footer{border-top:1px solid #ffffff0d;flex-direction:column;gap:2px;padding:12px 8px;display:flex}.sidebar-user{margin-bottom:4px;padding:8px 12px}.sidebar-user .name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.sidebar-user .role{color:#ffffff80;margin-top:2px;font-size:10px}.sidebar-action{color:#fff9;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;font-size:13px;transition:background .15s,color .15s;display:flex}.sidebar-action:hover{color:#fff;background:#ffffff14}.sidebar-action.danger{color:#f87171}.sidebar-action.danger:hover{color:#fca5a5}.sidebar.collapsed .sidebar-action{justify-content:center;padding:9px}.sidebar.collapsed .sidebar-action span,.sidebar.collapsed .sidebar-user{display:none}.topbar{-webkit-backdrop-filter:none;border-bottom:1px solid var(--border-light);z-index:40;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-menu{border:1px solid var(--border-light);-webkit-backdrop-filter:none;width:36px;height:36px;color:var(--text-dark);cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;display:none}.topbar-title h1{color:var(--text-dark);font-size:17px;font-weight:700}.topbar-title p{color:var(--text-muted);text-transform:capitalize;margin-top:1px;font-size:11px}.topbar-right{align-items:center;gap:10px;min-width:0;display:flex}.topbar-search{background:var(--surface-dim);color:var(--text-muted);cursor:pointer;border:1.5px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;transition:all .15s;display:flex}.topbar-search:hover{background:#2d5a271a;border-color:#2d5a2733}.topbar-bell{background:var(--surface-dim);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.topbar-bell:hover{color:var(--text-dark);background:#2d5a271f}.topbar-bell .dot{background:#d97706;border:1.5px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.topbar-avatar-wrap{border-left:1px solid var(--border-light);align-items:center;gap:10px;padding-left:10px;display:flex}.topbar-avatar-info .user-name{color:var(--text-dark);font-size:13px;font-weight:600;line-height:1.2}.topbar-avatar-info .user-role{color:var(--text-muted);font-size:11px}.card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:4px;transition:transform .2s,box-shadow .2s}.card-body{padding:20px 24px}.card-body-sm{padding:12px 16px}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.section-header h2{color:var(--text-dark);font-size:20px;font-weight:800}.section-header p{color:var(--text-muted);margin-top:2px;font-size:13px}.section-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{cursor:pointer;white-space:nowrap;border:1.5px solid #0000;border-radius:4px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 14px #2d5a2740}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 6px 20px #2d5a2759}.btn-secondary{color:var(--text-dark);border-color:var(--border-light);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--surface-dim);border-color:var(--primary-color)}.btn-danger{color:#fff;background:#c55f5f;border-color:#c55f5f;box-shadow:0 4px 14px #c55f5f40}.btn-danger:hover:not(:disabled){background:#b24d4d;border-color:#b24d4d}.btn-success{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 14px #2d5a2740}.btn-success:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--text-dark);background:#2d5a2714}.btn-sm{border-radius:4px;padding:6px 10px;font-size:12px}.btn-lg{padding:11px 20px;font-size:14px}.badge{white-space:nowrap;border-radius:4px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-gray{color:var(--text-muted);background:#2d5a2714}.badge-black{background:var(--primary-color);color:#fff}.badge-green{color:#2d5a27;background:#4a755926}.badge-red{color:#991b1b;background:#c55f5f26}.badge-blue{color:#1e40af;background:#46738c26}.badge-yellow{color:#854d0e;background:#c89b4b26}.badge-purple{color:#6b21a8;background:#966eb426}.avatar{color:#fff;background:#111;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-weight:800;line-height:1;display:flex}.avatar-sm{border-radius:4px;width:32px;height:32px;font-size:13px}.avatar-md{width:40px;height:40px;font-size:15px}.avatar-lg{border-radius:4px;width:52px;height:52px;font-size:20px}.avatar-xl{border-radius:4px;width:72px;height:72px;font-size:28px}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.form-input{-webkit-backdrop-filter:none;width:100%;color:var(--text-dark);background:#fff;border:1px solid #cbd5e1;border-radius:4px;outline:none;padding:10px 14px;font-family:inherit;font-size:13.5px;transition:all .15s}.form-input:focus{border-color:var(--primary-color);background:#ffffffe6;box-shadow:0 0 0 3px #2d5a271a}.form-input::placeholder{color:var(--text-muted);opacity:.6}.form-input:read-only{color:var(--text-muted);cursor:default;background:#2d5a270d}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232d5a27' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}.form-field{flex-direction:column;gap:5px;display:flex}.form-error{color:#c55f5f;margin-top:2px;font-size:11px}.data-table{border-collapse:collapse;width:100%;font-size:13.5px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap;background:#2d5a2712;border-bottom:1.5px solid #2d5a271f;padding:11px 16px;font-size:10.5px;font-weight:700}.data-table td{color:var(--text-dark);vertical-align:middle;border-bottom:1px solid #2d5a270f;padding:13px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#ffffff73}.modal-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:flex-start;width:100vw;height:100vh;padding:40px 20px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.modal-box{will-change:transform, opacity;backface-visibility:hidden;background:#fff;border:1px solid #00000014;border-radius:4px;flex-direction:column;width:100%;max-height:90vh;animation:.15s cubic-bezier(.34,1.56,.64,1) forwards scaleIn;display:flex;box-shadow:0 24px 80px #12261c29}.modal-sm{max-width:420px}.modal-md{max-width:560px}.modal-lg{max-width:760px}.modal-xl{max-width:960px}.modal-header{border-bottom:1px solid #2d5a2714;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-header h3{color:var(--text-dark);font-size:15px;font-weight:700}.modal-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:#2d5a2714;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-close:hover{color:var(--text-dark);background:#2d5a2726}.modal-body{flex:1;padding:20px 24px;overflow-y:auto}.modal-footer{border-top:1px solid #2d5a2714;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.drawer-backdrop{z-index:9998;pointer-events:none;opacity:0;will-change:opacity;background:#0006;transition:opacity .25s;position:fixed;inset:0}.drawer-backdrop.open{pointer-events:auto;opacity:1}.drawer-panel{height:100dvh;width:min(var(--drawer-w,520px), 100vw);z-index:9999;will-change:transform;backface-visibility:hidden;background:#fff;border-left:1px solid #00000014;border-radius:4px 0 0 4px;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-8px 0 48px #12261c1f}.drawer-panel.open{transform:translate(0)}.drawer-header{background:0 0;border-bottom:1px solid #2d5a2714;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px 18px;display:flex}.drawer-header-left{align-items:flex-start;gap:12px;min-width:0;display:flex}.drawer-icon{background:var(--primary-color);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.drawer-title{color:var(--text-dark);font-size:15px;font-weight:700;line-height:1.3}.drawer-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:400}.drawer-close{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:#2d5a2714;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.drawer-close:hover{color:var(--text-dark);background:#2d5a2726}.drawer-body{scroll-behavior:smooth;flex:1;padding:24px;overflow:hidden auto}.drawer-body::-webkit-scrollbar{width:4px}.drawer-body::-webkit-scrollbar-track{background:0 0}.drawer-body::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}.drawer-body::-webkit-scrollbar-thumb:hover{background:#bbb}.drawer-footer{background:0 0;border-top:1px solid #2d5a2714;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.drawer-section{margin-bottom:24px}.drawer-section-title{color:#aaa;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #f0f0f0;margin-bottom:12px;padding-bottom:8px;font-size:10px;font-weight:700}.drawer-field{border-bottom:1px solid #f7f7f7;flex-direction:column;gap:3px;padding:10px 0;display:flex}.drawer-field:last-child{border-bottom:none}.drawer-field-label{color:#aaa;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.drawer-field-value{color:#111;word-break:break-word;font-size:14px;font-weight:500}@media (max-width:600px){.drawer-panel{border-radius:0;width:100vw}}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state .icon{color:#ccc;margin-bottom:12px}.empty-state .title{color:#888;font-size:14px;font-weight:600}.empty-state .desc{color:#aaa;margin-top:4px;font-size:12px}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.4s infinite shimmer;display:block}.stat-card{background:#fff;border:1px solid #ebebeb;border-radius:4px;flex-direction:row;align-items:center;gap:12px;min-width:0;padding:16px;display:flex;box-shadow:0 1px 4px #0000000a}.stat-icon{color:#fff;background:#111;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-value{color:#111;word-break:break-all;font-size:20px;font-weight:800;line-height:1.2}.stat-label{color:#888;margin-top:4px;font-size:12px;font-weight:500}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;animation:.7s linear infinite spin;display:inline-block}.pagination{justify-content:center;align-items:center;gap:8px;padding:12px 0;display:flex}.pagination span{color:#666;font-size:13px;font-weight:500}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.pt-3{padding-top:12px}.pt-4{padding-top:16px}.pb-3{padding-bottom:12px}.pb-4{padding-bottom:16px}.p-3{padding:12px}.p-4{padding:16px}.text-xs{font-size:11px}.text-sm{font-size:13px}.text-base{font-size:14px}.text-lg{font-size:17px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.text-gray{color:#888}.text-dark{color:#111}.text-muted{color:#aaa}.text-red{color:#ef4444}.text-green{color:#10b981}.border-t{border-top:1px solid #ebebeb}.border-b{border-bottom:1px solid #ebebeb}.rounded,.rounded-lg,.rounded-xl,.rounded-2xl,.rounded-full{border-radius:4px}.bg-white{background:#ffffffd9}.bg-muted{background:#2d5a270d}.bg-dark{background:var(--primary-color);color:#fff}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.line-clamp-2{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.auth-page{background-image:linear-gradient(#182b1f73,#121e14a6),url(https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?q=80&w=2070&auto=format&fit=crop);background-position:50%;background-size:cover;flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-card{-webkit-backdrop-filter:blur(20px);background:#ffffffd1;border:1px solid #ffffff80;border-radius:4px;width:100%;max-width:420px;padding:40px;box-shadow:0 20px 60px #12261c26}.auth-logo-box{background:var(--primary-color);color:#fff;border-radius:4px;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 16px;display:flex;box-shadow:0 4px 12px #2d5a274d}.dashboard-banner{color:#fff;background-color:#0000;background-image:linear-gradient(#2d5a27d1,#1b3d17f2),url(https://images.unsplash.com/photo-1511497584788-876760111969?q=80&w=1200&auto=format&fit=crop);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:4px;justify-content:space-between;align-items:center;padding:24px 28px;display:flex;box-shadow:0 6px 20px #12261c1a}@media (max-width:640px){.auth-card{border-radius:4px;padding:24px 20px}.dashboard-banner{flex-direction:column;align-items:flex-start;gap:20px;padding:20px}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;max-width:340px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:all;border-radius:4px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;animation:.3s forwards toastSlideIn;display:flex;box-shadow:0 8px 32px #0000001f}.toast-success{color:#fff;background:#111}.toast-error{color:#fff;background:#ef4444}.toast-info{color:#fff;background:#3b82f6}.toast-warning{color:#111;background:#f59e0b}.sidebar-backdrop{z-index:45;opacity:0;pointer-events:none;background:0 0;display:none;position:fixed;inset:0}.sidebar-backdrop.show{opacity:1;pointer-events:auto}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bbb}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.25s forwards fadeIn}@media (max-width:1200px){.topbar-search span{display:none}.topbar-search{padding:8px}.topbar-avatar-info{display:none}}@media (max-width:1024px){.sidebar-backdrop{display:block}.topbar{gap:10px;padding:0 14px}.topbar-menu{display:inline-flex}.app-content{padding:16px}.sidebar{z-index:50;width:240px;min-width:240px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(0)}.sidebar.collapsed{width:240px;min-width:240px;transform:translate(-110%)}.sidebar.collapsed .sidebar-logo{justify-content:flex-start}.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .nav-item span,.sidebar.collapsed .sidebar-action span,.sidebar.collapsed .sidebar-user{display:block}.sidebar.collapsed .nav-item,.sidebar.collapsed .sidebar-action{justify-content:flex-start;padding:10px 12px}.grid-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid-3{grid-template-columns:1fr}.data-table{min-width:680px}.modal-overlay{padding:10px}.modal-header,.modal-body,.modal-footer{padding-left:14px;padding-right:14px}.toast-container{max-width:none;bottom:12px;left:12px;right:12px}}@media (max-width:640px){.app-content{padding:12px}.dashboard-title{font-size:22px!important}.dashboard-subtitle{font-size:13px!important}.topbar-title h1{font-size:15px}.topbar-title p{font-size:10px}.section-header h2{font-size:18px}.card-body{padding:14px}.grid-2,.grid-4{grid-template-columns:1fr}.btn{min-height:38px}.w-full-mobile{justify-content:space-between;width:100%}}.attendance-page{max-width:1000px}.attendance-emp-info{border-bottom:1px solid #f0f0f0;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:20px;display:flex}.emp-avatar{background:var(--primary-color);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.emp-name{color:var(--text-dark);font-size:16px;font-weight:700}.emp-id{color:#aaa;letter-spacing:.08em;margin-top:3px;font-family:Courier New,monospace;font-size:12px}.attendance-clock{text-align:center;padding:28px 0 24px}.clock-time{color:var(--text-dark);letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:52px;font-weight:900;line-height:1}.clock-date{color:#888;text-transform:capitalize;margin-top:10px;font-size:13px;font-weight:500}.attendance-actions{grid-template-columns:1fr 1fr;gap:14px;margin-top:4px;display:grid}.attendance-btn{cursor:pointer;letter-spacing:-.02em;border:none;border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:16px 20px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .12s,opacity .15s,box-shadow .15s;display:flex}.attendance-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #0000002e}.attendance-btn:active:not(:disabled){transform:translateY(0)}.attendance-btn:disabled{opacity:.65;cursor:not-allowed}.btn-checkin{background:var(--primary-color);color:#fff;box-shadow:0 4px 14px #2d5a2740}.btn-checkout{-webkit-backdrop-filter:blur(8px);color:var(--text-dark);background:#ffffff8c;border:2px solid #2d5a274d}.attendance-hint{color:#bbb;text-align:center;justify-content:center;align-items:center;gap:6px;margin-top:16px;font-size:11.5px;display:flex}.attendance-result{border:1.5px solid #0000;border-radius:4px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 18px;display:flex;position:relative}.result-success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.result-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.result-text{flex:1;min-width:0}.result-title{margin:0;font-size:13px;font-weight:700}.result-msg{opacity:.8;margin-top:2px;font-size:12px}.result-time{opacity:.7;align-items:center;gap:4px;margin-top:5px;font-size:11px;display:flex}.result-close{cursor:pointer;opacity:.5;color:inherit;background:0 0;border:none;flex-shrink:0;padding:0;font-size:14px;line-height:1}.result-close:hover{opacity:1}.history-header{color:var(--text-dark);align-items:center;gap:8px;margin-bottom:16px;font-size:13px;font-weight:700;display:flex}.history-badge{background:var(--primary-color);color:#fff;border-radius:4px;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:700}.history-empty{text-align:center;color:#ccc;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 16px;display:flex}.history-empty p{color:#aaa;margin:0;font-size:13px;font-weight:600}.history-empty span{color:#ccc;font-size:11px}.history-list{flex-direction:column;gap:8px;display:flex}.history-item{background:#f8f8f8;border-radius:4px;align-items:center;gap:12px;padding:10px 14px;animation:.3s both slideUp;display:flex}.history-error{background:#fef2f2}.history-icon{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.icon-in{color:#166534;background:#dcfce7}.icon-out{color:#1e40af;background:#dbeafe}.history-info{flex:1;min-width:0}.history-label{color:#111;font-size:12px;font-weight:700;display:block}.history-status{color:#888;margin-top:1px;font-size:11px;display:block}.history-time{color:#555;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:700}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in{animation:.25s both slideUp}@media (max-width:768px){.attendance-layout{grid-template-columns:1fr}.clock-time{font-size:40px}.attendance-actions{grid-template-columns:1fr 1fr}}@media (max-width:480px){.attendance-actions{grid-template-columns:1fr}.clock-time{font-size:36px}}.attendance-layout{grid-template-columns:360px 1fr;align-items:start;gap:20px;display:grid}.attendance-history-panel{flex-direction:column;gap:0;min-width:0;display:flex}.at-tabs{-webkit-backdrop-filter:blur(8px);background:#ffffffb3;border:1px solid #2d5a2726;border-bottom:none;border-radius:4px 4px 0 0;gap:0;display:flex;overflow:hidden}.at-tab{color:var(--text-muted);cursor:pointer;background:#2d5a270a;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:7px;padding:12px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:flex}.at-tab:hover{color:var(--text-dark);background:#2d5a2714}.at-tab.active{color:var(--text-dark);border-bottom-color:var(--primary-color);background:#ffffffd9}.at-tabs+.card{border-radius:0 0 4px 4px}.at-module{flex-direction:column;gap:14px;display:flex}.at-module-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.at-module-title{color:var(--text-dark);align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:flex}.at-badge{background:var(--primary-color);color:#fff;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.at-module-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.at-date-toggle{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#fff9;border:1.5px solid #2d5a2733;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:flex}.at-date-toggle:hover{border-color:var(--primary-color);color:var(--text-dark)}.at-date-picker-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.at-date-input{padding:6px 10px;font-size:13px;width:150px!important}.at-refresh{cursor:pointer;width:32px;height:32px;color:var(--text-muted);background:#fff9;border:1.5px solid #2d5a2733;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.at-refresh:hover:not(:disabled){border-color:var(--primary-color);color:var(--text-dark)}.at-refresh:disabled{opacity:.5;cursor:not-allowed}.at-refresh .spin{animation:.8s linear infinite spin}.period-selector{background:#f5f5f5;border-radius:4px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.period-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;text-align:center;background:0 0;border:none;border-radius:4px;flex:1;min-width:60px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.period-btn:hover{color:var(--text-dark);background:#2d5a2714}.period-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 2px 8px #2d5a2740}.at-stats-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.at-stat-card{background:#f8f8f8;border-radius:4px;align-items:center;gap:10px;padding:12px 14px;display:flex}.at-stat-icon{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.at-stat-value{font-size:20px;font-weight:800;line-height:1}.at-stat-label{color:#888;margin-top:3px;font-size:11px;font-weight:500}.at-search-row{align-items:center;gap:10px;display:flex}.at-search-box{-webkit-backdrop-filter:blur(8px);color:var(--text-muted);background:#ffffffb3;border:1.5px solid #2d5a2733;border-radius:4px;flex:1;align-items:center;gap:8px;padding:8px 12px;transition:border-color .15s;display:flex}.at-search-box:focus-within{border-color:var(--primary-color);color:var(--text-dark)}.at-search-input{color:#111;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.at-search-input::placeholder{color:#bbb}.at-search-clear{cursor:pointer;color:#aaa;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.at-search-clear:hover{color:#111}.at-table-wrap{border:1px solid #f0f0f0;border-radius:4px;overflow-x:auto}.at-loading{color:#888;justify-content:center;align-items:center;gap:12px;padding:48px 20px;font-size:13px;display:flex}.at-manv{color:#555;background:#f5f5f5;border-radius:5px;padding:3px 7px;font-family:Courier New,monospace;font-size:12px;font-weight:700}.at-name{color:#111;white-space:nowrap;font-weight:600}.at-date{color:#555;white-space:nowrap;font-size:12.5px}.at-time{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:12.5px;font-weight:700;display:inline-flex}.at-in{color:#166534;background:#dcfce7}.at-out{color:#1e40af;background:#dbeafe}.at-null{color:#ccc;font-size:13px}.at-emp-cell{align-items:center;gap:10px;min-width:0;display:flex}.at-emp-avatar{background:var(--primary-color);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:800;line-height:1;display:flex}.at-emp-name{color:#111;white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:13px;font-weight:600;overflow:hidden}.at-emp-email{color:#aaa;white-space:nowrap;text-overflow:ellipsis;max-width:160px;margin-top:1px;font-size:11px;overflow:hidden}.at-dept-badge{color:#2563eb;white-space:nowrap;text-overflow:ellipsis;background:#f0f4ff;border-radius:4px;max-width:140px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block;overflow:hidden}.at-role-text{color:#555;white-space:nowrap;font-size:12px;font-weight:600}.at-enrich-bar{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:flex}.at-skeleton-pill{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;width:80px;height:20px;animation:1.4s infinite shimmer;display:inline-block}@media (max-width:1100px){.attendance-layout{grid-template-columns:1fr}.at-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.at-stats-grid{grid-template-columns:repeat(2,1fr)}.at-module-header{flex-direction:column;align-items:flex-start}.at-tabs{border-radius:4px 4px 0 0}.at-tab{padding:10px 12px;font-size:12px}}.custom-datepicker-wrapper{align-items:center;width:100%;display:flex;position:relative}.custom-datepicker-wrapper .react-datepicker-wrapper{width:100%}.custom-datepicker-wrapper .datepicker-icon{pointer-events:none;position:absolute;right:14px}.custom-datepicker-wrapper input{padding-right:40px!important}.react-datepicker-popper{z-index:99999!important}.react-datepicker{overflow:hidden;border:1px solid var(--border-light)!important;border-radius:4px!important;font-family:inherit!important;box-shadow:0 10px 25px #00000014!important}.react-datepicker__header{background-color:var(--surface-dim)!important;border-bottom:1px solid var(--border-light)!important;padding-top:12px!important}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background-color:var(--primary-color)!important;color:#fff!important;border-radius:4px!important}.react-datepicker__day:hover{background-color:var(--surface-dim)!important;border-radius:4px!important}.react-datepicker__triangle{display:none}.font-500{font-weight:500}.font-600{font-weight:600}.font-700{font-weight:700}.font-800{font-weight:800}.font-900{font-weight:900}
