@charset "UTF-8";.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);padding-bottom:calc(var(--spacing-lg) + 50px);background:linear-gradient(135deg,var(--green-50) 0%,var(--bg-primary) 100%)}.login-container{width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.login-subtitle{font-size:1.25rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.login-description{font-size:.875rem;color:var(--text-tertiary)}.login-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-xl);border:1px solid var(--border-color)}.login-icon{width:80px;height:80px;margin:0 auto var(--spacing-lg);display:flex;align-items:center;justify-content:center}.login-icon img{width:100%;height:100%;object-fit:contain}.login-card-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);text-align:center;margin-bottom:var(--spacing-xs)}.login-card-subtitle{font-size:.875rem;color:var(--text-secondary);text-align:center;margin-bottom:var(--spacing-xl)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group input{padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-base);background:var(--bg-primary);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.login-error{padding:var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#dc2626;font-size:.875rem;text-align:center}.btn-login{width:100%;padding:var(--spacing-md);background:var(--primary);color:#fff;border-radius:var(--radius-md);font-size:1rem;font-weight:600;transition:all var(--transition-base);margin-top:var(--spacing-md)}.btn-login:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.6;cursor:not-allowed}.btn-microsoft{width:100%;padding:var(--spacing-md);background:#fff;color:#5e5e5e;border:1px solid #8c8c8c;border-radius:var(--radius-md);font-size:1rem;font-weight:600;transition:all var(--transition-base);margin-top:var(--spacing-md);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.btn-microsoft:hover:not(:disabled){background:#f3f3f3;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-microsoft:active:not(:disabled){transform:translateY(0)}.btn-microsoft:disabled{opacity:.6;cursor:not-allowed}.login-divider{display:flex;align-items:center;text-align:center;margin:var(--spacing-lg) 0;color:var(--text-tertiary);font-size:.875rem}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.login-divider span{padding:0 var(--spacing-md)}.login-footer{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color);color:var(--text-tertiary);font-size:.75rem}.login-footer svg{width:16px;height:16px;color:var(--primary)}@media (max-width: 768px){.login-page{padding:var(--spacing-md)}.login-card{padding:var(--spacing-xl)}.login-title{font-size:1.75rem}}.cursor{display:inline-block;width:2px;height:1em;background-color:var(--text-primary);animation:blink 1s step-end infinite;margin-left:2px;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{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:.3rem;border-bottom-right-radius:.3rem}.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{fill:#fff;color:#fff}.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){border-top-right-radius:.3rem}.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__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:.4rem;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:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;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:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.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:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);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:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.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:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.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:.5rem;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__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;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}.visitor-form-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg)}.form-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg)}.form-error{padding:var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#dc2626;font-size:.875rem;margin-bottom:var(--spacing-lg)}.visitor-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select{padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-base)}.form-group .react-datepicker-wrapper{width:100%}.form-group .react-datepicker-wrapper .react-datepicker__input-container input{padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-base);width:100%}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group .react-datepicker-wrapper .react-datepicker__input-container input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.date-time-row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.date-time-group{position:relative}.date-time-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.date-time-input-wrapper{position:relative}.date-time-input{width:100%;padding:1rem 1.25rem!important;border:2px solid var(--border-color)!important;border-radius:var(--radius-lg)!important;font-size:1.125rem!important;font-weight:600!important;background:var(--bg-primary)!important;color:var(--text-primary)!important;box-shadow:0 2px 8px #00000014,inset 0 1px 2px #0000000d!important;transition:all var(--transition-base)!important;cursor:pointer}.date-time-input:hover{border-color:var(--gray-400)!important;box-shadow:0 4px 12px #0000001f,inset 0 1px 2px #0000000d!important;transform:translateY(-1px)}.date-time-input:focus{outline:none!important;border-color:var(--gray-600)!important;box-shadow:0 0 0 3px #0000001a,0 4px 16px #00000026,inset 0 1px 2px #0000000d!important;transform:translateY(-1px);background:var(--bg-primary)!important}.date-time-input:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.date-time-input::placeholder{color:var(--text-secondary);opacity:.7}.react-datepicker-wrapper{width:100%}.react-datepicker{font-family:inherit;border:2px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 4px 16px #00000026;background:var(--bg-primary)}.react-datepicker__header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);padding-top:.75rem}.react-datepicker__current-month{color:var(--text-primary);font-weight:600;font-size:.9375rem;margin-bottom:.5rem}.react-datepicker__day-name{color:var(--text-secondary);font-weight:500;font-size:.875rem}.react-datepicker__day{color:var(--text-primary);border-radius:var(--radius-md);margin:.166rem}.react-datepicker__day:hover{background-color:var(--primary-light);border-radius:var(--radius-md)}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background-color:var(--primary);color:#fff;font-weight:600}.react-datepicker__day--disabled{color:var(--text-secondary);opacity:.4;cursor:not-allowed}.react-datepicker--time-only{width:auto;min-width:200px}.react-datepicker--time-only .react-datepicker__time-container{border-left:none;width:100%}.react-datepicker__time-container{border-left:1px solid var(--border-color);width:100%}.react-datepicker__time-container .react-datepicker__time{background:var(--bg-primary);border-radius:var(--radius-md)}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:100%;border-radius:var(--radius-md)}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{padding:.5rem 0;height:auto;max-height:300px;overflow-y:auto}.react-datepicker__time-list-item{color:var(--text-primary);padding:.5rem 1rem;font-size:.9375rem;white-space:nowrap;border-radius:var(--radius-sm);margin:.125rem .5rem}.react-datepicker__time-list-item:hover{background-color:var(--primary-light);color:var(--text-primary)}.react-datepicker__time-list-item--selected{background-color:var(--primary);color:#fff;font-weight:600}.react-datepicker__time-list-item--selected:hover{background-color:var(--primary);color:#fff}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list-item--disabled{color:var(--text-secondary);opacity:.4;cursor:not-allowed}.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.weekdays-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.weekday-btn{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-base)}.weekday-btn:hover{border-color:var(--primary);background:var(--primary-light)}.weekday-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.date-time-row{grid-template-columns:1fr;gap:var(--spacing-md)}.date-time-input{font-size:1rem!important;padding:.875rem 1rem!important}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.visitor-table-container{overflow-x:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.visitor-table{width:100%;border-collapse:collapse}.visitor-table thead{background:var(--bg-secondary)}.visitor-table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.visitor-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9375rem}.visitor-table tbody tr:hover{background:var(--bg-secondary)}.visitor-table tbody tr:last-child td{border-bottom:none}.visitor-name-cell{font-weight:500;font-size:.9375rem}.visitor-table th:nth-child(4),.visitor-table th:nth-child(5),.visitor-table td:nth-child(4),.visitor-table td:nth-child(5){white-space:nowrap;min-width:fit-content}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase}.actions-cell{white-space:nowrap}.actions-group{display:flex;gap:var(--spacing-sm)}.btn-action{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);border:none}.btn-mark-arrived{background:var(--primary);color:#fff;font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm)}.btn-mark-arrived:hover{background:var(--primary-hover)}.btn-archive{background:var(--gray-200);color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:var(--radius-md)}.btn-archive:hover{background:var(--gray-300);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-archive i{font-size:.875rem}.btn-restore{background:var(--primary);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);display:inline-flex;align-items:center;justify-content:center;min-width:auto;height:32px;border-radius:var(--radius-md);gap:var(--spacing-xs)}.btn-restore:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-restore i{font-size:.875rem}.recurring-icon-wrapper{position:relative;display:inline-flex;align-items:center}.recurring-icon{font-size:.9em;color:#4caf50;cursor:help}.recurring-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;padding:6px 10px;background:#000000e6;color:#fff;font-size:.75rem;white-space:nowrap;border-radius:4px;pointer-events:none;opacity:0;transition:opacity 0s;z-index:1000}.recurring-icon-wrapper:hover .recurring-tooltip{opacity:1}.recurring-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000e6}@media (max-width: 768px){.visitor-table{font-size:.875rem}.visitor-table th,.visitor-table td{padding:var(--spacing-sm)}.actions-group{flex-direction:column}.btn-action{width:100%}}.dashboard{max-width:1280px;margin:0 auto;padding:0 var(--spacing-lg)}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.dashboard-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.dashboard-subtitle{font-size:1rem;color:var(--text-secondary)}.dashboard-section{margin-bottom:var(--spacing-xl)}.register-visitor-cta{display:flex!important;justify-content:center!important;align-items:center!important;margin:var(--spacing-2xl) 0!important;padding:var(--spacing-xl) 0!important;width:100%!important}.btn-register-visitor{display:inline-flex!important;align-items:center!important;gap:var(--spacing-md)!important;padding:1.25rem 3rem!important;background:var(--primary)!important;color:#fff!important;border-radius:var(--radius-xl)!important;font-weight:700!important;font-size:1.5rem!important;transition:all var(--transition-base)!important;cursor:pointer!important;border:none!important;box-shadow:0 10px 25px #22c55e4d!important;min-width:320px!important;justify-content:center!important;text-align:center!important}.btn-register-visitor:hover{background:var(--primary-hover)!important;transform:translateY(-3px)!important;box-shadow:0 15px 35px #22c55e66!important}.btn-register-visitor:active{transform:translateY(0);box-shadow:var(--shadow-md)}.btn-register-visitor .btn-icon{font-size:2rem!important;font-weight:300!important;line-height:1!important;margin-right:.25rem!important}.form-header-actions{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-lg)}.success-message{margin:var(--spacing-lg) 0;animation:slideDown .3s ease-out}.success-content{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);background:linear-gradient(135deg,#22c55e26,#10b9811a);border:2px solid var(--primary);border-radius:var(--radius-xl);box-shadow:0 8px 24px #22c55e33}.success-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary);color:#fff;border-radius:50%;font-size:1.5rem;font-weight:700;flex-shrink:0}.success-text{flex:1;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.success-close{background:none;border:none;font-size:1.75rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-base);flex-shrink:0}.success-close:hover{background:#0000000d;color:var(--text-primary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.filters{display:flex;gap:var(--spacing-md);flex-wrap:wrap;padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.filter-group{flex:1;min-width:200px}.filter-input,.filter-select{width:100%;padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-base)}.filter-group .react-datepicker-wrapper{width:100%}.filter-group .react-datepicker-wrapper .react-datepicker__input-container input{width:100%;padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-base)}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.filter-group .react-datepicker-wrapper .react-datepicker__input-container input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.loading-state .spinner{margin-bottom:var(--spacing-md)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.pagination-info{color:var(--text-secondary);font-size:.875rem}.btn-pagination{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-pagination:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.btn-view-archived{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.5rem;background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:var(--radius-lg);font-weight:600;font-size:1rem;text-decoration:none;transition:all var(--transition-base);cursor:pointer;box-shadow:0 4px 12px #0000001a}.btn-view-archived:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 20px #22c55e4d}.btn-view-archived:active{transform:translateY(0);box-shadow:0 2px 8px #00000026}@media (max-width: 768px){.dashboard{padding:0 var(--spacing-md)}.dashboard-header{flex-direction:column}.dashboard-title{font-size:1.5rem}.filters{flex-direction:column}.filter-group{min-width:100%}.btn-register-visitor{font-size:1.1rem;padding:var(--spacing-md) var(--spacing-xl);min-width:240px}.btn-register-visitor .btn-icon{font-size:1.5rem}}.safety-officer-dashboard{max-width:1280px;margin:0 auto;padding:0 var(--spacing-lg)}.visitor-section{margin-bottom:var(--spacing-2xl)}.section-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xl);margin-top:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-xl);padding-left:var(--spacing-2xl);background:#22c55e26;border-left:6px solid var(--green-700);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--spacing-md);letter-spacing:.5px}.visitor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.visitor-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.visitor-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.visitor-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.visitor-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.status-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-expected{background:#3b82f61a;color:#3b82f6}.status-arrived{background:#22c55e1a;color:var(--green-700)}.visitor-card-body{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.visitor-info{display:flex;gap:var(--spacing-sm);font-size:.875rem}.visitor-label{font-weight:500;color:var(--text-secondary)}.visitor-value{color:var(--text-primary)}.visitor-card-footer{padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.btn-mark-arrived{width:100%;padding:var(--spacing-md);background:var(--primary);color:#fff;border-radius:var(--radius-md);font-weight:500;transition:all var(--transition-base)}.btn-mark-arrived:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.date-group{margin-bottom:var(--spacing-2xl);margin-top:var(--spacing-2xl)}.date-group:first-child{margin-top:0}.date-group:last-child{margin-bottom:0}.date-header{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xl);margin-top:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-xl);padding-left:var(--spacing-2xl);background:#22c55e26;border-left:6px solid var(--green-700);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--spacing-md);letter-spacing:.5px}.notification-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px}.notification-toast{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:slideInRight .3s ease-out;min-width:300px}.notification-icon{color:var(--green-700);font-size:1.25rem;flex-shrink:0}.notification-toast span{flex:1;color:var(--text-primary);font-size:.875rem}.notification-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base);flex-shrink:0}.notification-close:hover{background:var(--bg-secondary);color:var(--text-primary)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.visitor-grid{grid-template-columns:1fr}.visitor-card-header{flex-direction:column;align-items:flex-start}.notification-container{right:10px;left:10px;max-width:none}.notification-toast{min-width:auto}}.user-management{max-width:1280px;margin:0 auto;padding:0 var(--spacing-lg)}.user-form-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg)}.password-input-group{display:flex;gap:var(--spacing-sm)}.password-input-group input{flex:1}.users-table-container{overflow-x:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:var(--bg-secondary)}.users-table th{padding:var(--spacing-md);text-align:left;font-weight:600;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.users-table td{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);color:var(--text-primary)}.users-table tbody tr:hover{background:var(--bg-secondary)}.role-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;background:var(--primary-light);color:var(--primary)}.btn-edit{background:var(--primary);color:#fff}.btn-edit:hover{background:var(--primary-hover)}.btn-delete{background:#ef44441a;color:#dc2626}.btn-delete:hover{background:#ef444433}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background:var(--bg-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc}.navbar-container{max-width:1280px;margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.navbar-brand{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.25rem;font-weight:600;color:var(--text-primary);text-decoration:none;transition:color var(--transition-base)}.navbar-brand:hover{color:var(--primary)}.navbar-logo{height:30px;width:auto}.navbar-menu{display:flex;align-items:center;gap:var(--spacing-md);flex:1;margin-left:var(--spacing-xl)}.navbar-link{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);text-decoration:none;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-base)}.navbar-link:hover,.navbar-link.active{color:var(--primary);background:var(--primary-light)}.navbar-user{display:flex;align-items:center;gap:var(--spacing-md)}.user-name{color:var(--text-primary);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.btn-logout{padding:var(--spacing-sm) var(--spacing-md);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;font-size:inherit;line-height:1.5;cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;box-sizing:border-box}.btn-logout:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.main-content{flex:1;padding:var(--spacing-xl) 0;padding-bottom:calc(var(--spacing-xl) + 50px)}.footer{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md);text-align:center;font-size:.75rem;color:var(--text-secondary);z-index:1000;box-shadow:0 -2px 8px #0000000d}.footer p{margin:0}@media (max-width: 768px){.navbar-container{flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-md)}.navbar-menu{order:3;width:100%;margin-left:0;margin-top:var(--spacing-sm);flex-wrap:wrap}.navbar-user{flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.user-name{font-size:.875rem}.btn-logout{font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md)}}.spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--green-800: #166534;--green-900: #14532d;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--primary: var(--green-500);--primary-hover: var(--green-600);--primary-light: var(--green-100);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-400);--bg-primary: #ffffff;--bg-secondary: var(--gray-50);--border-color: var(--gray-200);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}#root{min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all var(--transition-base)}input,select,textarea{font-family:inherit;font-size:inherit;outline:none;transition:all var(--transition-base)}.container{max-width:1280px;margin:0 auto;padding:0 var(--spacing-lg)}@media (max-width: 768px){.container{padding:0 var(--spacing-md)}}.btn-primary{padding:var(--spacing-md) var(--spacing-lg);background:var(--primary);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:1rem;transition:all var(--transition-base);cursor:pointer;border:none}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);font-weight:500;font-size:1rem;transition:all var(--transition-base);cursor:pointer}.btn-secondary:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-300)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity var(--transition-base)}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.app-footer{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md);text-align:center;font-size:.75rem;color:var(--text-secondary);z-index:1000;box-shadow:0 -2px 8px #0000000d}
