.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{content:"";border:3px solid #ccc;border-width:3px 3px 0 0;width:9px;height:9px;display:block;position:absolute;top:6px}.react-datepicker__sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker-wrapper{border:0;padding:0;display:inline-block}.react-datepicker{color:#000;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:initial;background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-right-radius:.375em;border-bottom-left-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-top:1px solid #aeaeae;border-bottom:none;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{margin:0 15px;display:inline-block}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;background-color:#0000;border:1px solid #aeaeae;border-radius:.3rem;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:1px auto}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:#000;margin-top:0;font-size:.944rem;font-weight:700}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{text-align:center;cursor:pointer;z-index:1;text-indent:-999em;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:2px;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{margin-left:auto;margin-right:auto;display:block;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{width:0;font-size:20px;position:relative;top:-1px}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{text-align:center;margin:.5em}.react-datepicker__year-wrapper{flex-wrap:wrap;max-width:180px;display:flex}.react-datepicker__year .react-datepicker__year-text{width:5em;margin:2px;display:inline-block}.react-datepicker__month{text-align:center;margin:.5em}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{width:5em;margin:2px;display:inline-block}.react-datepicker__input-time-container{clear:both;float:left;text-align:left;width:100%;margin:5px 0 10px 15px}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{margin-left:10px;display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.375em;display:inline;position:absolute;top:0;right:-87px}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.375em;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{text-align:center;border-bottom-right-radius:.375em;width:85px;margin:0 auto;overflow-x:hidden}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;width:100%;height:calc(195px + 1.0625em);margin:0;padding-left:0;padding-right:0;list-style:none;overflow-y:scroll}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{white-space:nowrap;height:30px;padding:5px 10px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{color:#fff;background-color:#216ba5;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:#0000}.react-datepicker__week-number{color:#ccc;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{color:#fff;background-color:#3dcc4a;border-radius:.3rem}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{color:#fff;background-color:#ff6803;border-radius:.3rem;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{color:#000;background-color:#bad9f1;border-radius:.3rem}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{color:#fff;background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){color:#000;background-color:#f0f0f0}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:70%;left:50%;transform:translate(-50%)}.react-datepicker__input-container{width:100%;display:inline-block;position:relative}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.625em;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{top:0;right:-16px;transform:rotate(135deg)}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{z-index:1;text-align:center;background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;width:50%;position:absolute;top:30px;left:25%}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{width:100%;margin-left:auto;margin-right:auto;line-height:20px;display:block}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;user-select:none;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;vertical-align:middle;background-color:#0000;border:0;outline:0;height:100%;padding:0 6px 0 0;display:table-cell;position:absolute;top:0;right:0}.react-datepicker__close-icon:after{cursor:pointer;color:#fff;text-align:center;vertical-align:middle;content:"×";background-color:#216ba5;border-radius:50%;width:16px;height:16px;padding:2px;font-size:12px;line-height:1;display:table-cell}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{cursor:pointer;text-align:center;clear:left;background:#f0f0f0;border-top:1px solid #aeaeae;padding:5px 0;font-weight:700}.react-datepicker__portal{z-index:2147483647;background-color:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.react-datepicker__children-container{width:17.25em;height:auto;margin:.5em;padding-left:.25em;padding-right:.25em}.react-datepicker__aria-live{clip-path:circle(0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker__calendar-icon{vertical-align:-.125em;width:1em;height:1em}.react-datepicker-popper-offset{margin-top:-.7em}:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text-xs:15px;--text-sm:15px;--text-base:15px;--text-md:16px;--text-lg:18px;--text-xl:20px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--shadow-sm:0 2px 8px #0f172a0a;--shadow-md:0 6px 18px #0f172a12;--shadow-lg:0 12px 28px #0f172a1a;--transition-fast:.15s ease;--transition-base:.22s ease;background:#f1f5f9;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:#f1f5f9;min-width:320px;min-height:100vh;margin:0}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}h4{font-size:var(--text-base)}h1,h2,h3,h4,p{margin:0}strong{font-size:inherit}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.btn{border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--text-sm);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:none;padding:.45rem .75rem}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{color:#fff;background:#2563eb;box-shadow:0 2px 6px #2563eb40}.btn-primary:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 10px #2563eb4d}.btn-lg{padding:.65rem 1.15rem;font-size:.95rem}.btn-compact-x{padding-left:10px;padding-right:10px}.btn-with-icon{align-items:center;gap:.4rem;display:inline-flex}.btn-with-icon svg{flex-shrink:0;width:1.15rem;height:1.15rem}.btn:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{color:#0f172a;background:#e2e8f0}.btn-secondary:hover:not(:disabled){background:#cbd5e1}.btn-refresh.spinning{pointer-events:none;opacity:.75}.btn-danger{color:#fff;background:#dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{font-size:var(--text-xs);padding:.3rem .55rem}.form-actions{flex-wrap:wrap;gap:.75rem;display:flex}.table-actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn-icon{border-radius:var(--radius-md);cursor:pointer;width:calc(1.65rem + 4px);height:calc(1.65rem + 4px);transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.btn-icon:active:not(:disabled){transform:scale(.92)}.btn-icon:disabled{opacity:.45;cursor:not-allowed}.btn-icon-edit{color:#2563eb}.btn-icon-edit:hover:not(:disabled){background:#dbeafe}.btn-icon-delete{color:#dc2626}.btn-icon-delete:hover:not(:disabled){background:#fee2e2}.modal-overlay{z-index:3000;animation:fade-in var(--transition-base);background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg);animation:scale-in var(--transition-base);background:#fff;padding:1rem}.btn-sm{padding:.3rem .65rem;font-size:.8rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-card h4{margin-bottom:.75rem}.modal-card p:not(.field-error){color:#64748b;margin-bottom:1.25rem}.modal-card .stack-form{gap:0}.modal-card .form-field+.form-field{margin-top:0}.modal-card .field-error{color:#dc2626;margin-top:.2rem;margin-bottom:0}.form-error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;margin:0 0 .75rem;padding:.625rem .75rem}.modal-card .modal-actions{margin-top:1rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.login-page{background:linear-gradient(135deg,#dbeafe,#f8fafc);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-lg);animation:scale-in var(--transition-base);background:#fff;padding:1.25rem}.login-header{margin-bottom:1.5rem}.login-logo{object-fit:contain;width:150px;height:150px;margin:0 auto 1rem;display:block}.login-header h1{font-size:var(--text-xl);margin-bottom:.25rem}.login-header p,.muted{color:#64748b;font-size:var(--text-sm)}.page-header p{color:#64748b;font-size:var(--text-sm);margin-top:.25rem}.status-badge{font-size:var(--text-xs);white-space:nowrap;transition:transform var(--transition-fast);border-radius:999px;align-items:center;gap:.25rem;padding:.12rem .45rem;font-weight:600;display:inline-flex}.status-checked-in{color:#166534;background:#dcfce7}.status-checked-out{color:#475569;background:#e2e8f0}.status-not-checked-in{color:#991b1b;background:#fee2e2}.status-app-installed{color:#1d4ed8;background:#dbeafe}.status-app-not-registered{color:#64748b;background:#f1f5f9}.status-app-uninstalled{color:#c2410c;background:#ffedd5}.status-mock-detected{color:#b91c1c;background:#fee2e2}.status-mock-clear{color:#64748b;background:#f1f5f9}.user-detail-app-status{margin-left:.5rem}.login-form,.stack-form{flex-direction:column;gap:1rem;display:flex}label{font-size:var(--text-sm);flex-direction:column;gap:.3rem;font-weight:600;display:flex}input,select{border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;border:1px solid #cbd5e1;padding:.45rem .65rem}input:hover,select:hover{border-color:#94a3b8}input:focus,select:focus{border-color:#60a5fa;outline:2px solid #93c5fd}input:disabled{opacity:.75;cursor:not-allowed;color:#64748b;background:#f8fafc}.form-error,.field-error{color:#dc2626;font-size:var(--text-xs);margin-top:.25rem;font-weight:500}.form-field label{flex-direction:column;gap:.4rem;display:flex}.input-error{border-color:#f87171}.input-error:focus{border-color:#ef4444;outline-color:#fca5a5}.password-input-wrap{align-items:center;display:flex;position:relative}.password-input-wrap input{width:100%;padding-right:2.75rem}.password-toggle-btn{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:.5rem}.password-toggle-btn:hover{color:#334155;background:#f1f5f9}.form-success{color:#16a34a;font-size:15px}.dashboard-layout{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{color:#e2e8f0;background:#0f172a;padding:1rem .75rem}.sidebar-brand h1{font-size:var(--text-md)}.sidebar-brand p{color:#94a3b8;font-size:var(--text-xs);margin-top:.15rem}.sidebar-nav{flex-direction:column;gap:.35rem;margin-top:1.25rem;display:flex}.sidebar-link{border-radius:var(--radius-md);color:#cbd5e1;font-size:var(--text-sm);transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);align-items:center;gap:.5rem;padding:.5rem .65rem;display:flex}.sidebar-link-icon{opacity:.9;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;font-size:1.1rem;display:inline-flex}.sidebar-link:hover{color:#fff;background:#1e293b;transform:translate(2px)}.sidebar-link.active{color:#fff;background:#2563eb;box-shadow:0 4px 12px #2563eb59}.dashboard-main{flex-direction:column;min-width:0;display:flex}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.dashboard-header p{color:#64748b;font-size:var(--text-xs);margin-top:.15rem}.dashboard-content{padding:1rem}.page-header{margin-bottom:.85rem}.page--animated{animation:.3s page-in}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-alert{margin-bottom:1rem}.page-header p{color:#64748b;margin-top:.25rem}.page-grid{grid-template-columns:320px 1fr;gap:.85rem;display:grid}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base);background:#fff;border:1px solid #eef2f7;padding:.85rem}.card--interactive:hover{box-shadow:var(--shadow-md);border-color:#dbeafe}.card h4{font-size:var(--text-sm);margin-bottom:.65rem}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;font-size:var(--text-sm);border-bottom:1px solid #e2e8f0;padding:.5rem .4rem}th{color:#475569;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.pagination{border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1rem;display:flex}.pagination-info{color:#64748b;font-size:var(--text-xs)}.pagination-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pagination-pages{align-items:center;gap:.35rem;display:flex}.pagination-page-group{align-items:center;gap:.35rem;display:inline-flex}.pagination-page{border-radius:var(--radius-md);color:#0f172a;cursor:pointer;min-width:1.65rem;height:1.65rem;font-size:var(--text-xs);transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);background:#fff;border:1px solid #cbd5e1;padding:0 .4rem}.pagination-page:active:not(.active){transform:scale(.94)}.pagination-page.active{color:#fff;background:#2563eb;border-color:#2563eb}.pagination-page:hover:not(.active){background:#f8fafc}.pagination-ellipsis{color:#94a3b8;padding:0 .15rem}.filters-card{margin-bottom:1.25rem}.filters{grid-template-columns:repeat(2,minmax(220px,1fr));gap:1rem;display:grid}.filters--location{grid-template-columns:minmax(220px,1fr) minmax(320px,1.4fr)}.filters--location-range{grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) minmax(180px,1fr)}.route-session-legend{z-index:5;background:#ffffffeb;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;gap:.45rem;max-width:calc(100% - 1.5rem);padding:.4rem .5rem;display:flex;position:absolute;bottom:.75rem;left:4.5rem;box-shadow:0 4px 12px #0f172a14}.route-session-legend-item{color:#334155;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:inline-flex}.route-session-legend-swatch{border-radius:999px;width:.7rem;height:.7rem}.route-session-list{flex-direction:column;gap:.45rem;margin-bottom:.85rem;display:flex}.route-session-list-item{font-size:var(--text-sm);background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;padding:.45rem .65rem;display:flex}.filter-field{font-size:var(--text-sm);flex-direction:column;gap:.3rem;font-weight:600;display:flex}.filter-field-label{display:block}.app-select{width:100%;font-size:var(--text-sm);font-weight:400}.app-select__control{cursor:pointer;background:#fff;min-height:2.35rem;border-radius:var(--radius-md)!important;box-shadow:none!important;border-color:#cbd5e1!important}.app-select__control:hover{border-color:#94a3b8!important}.app-select__control--is-focused{border-color:#60a5fa!important;box-shadow:0 0 0 2px #93c5fd!important}.app-select__control--is-disabled{opacity:.7;background:#f8fafc}.app-select__value-container{padding:.15rem .55rem}.app-select__placeholder,.app-select__single-value{color:#0f172a;margin:0}.app-select__placeholder{color:#94a3b8}.app-select__indicator-separator{background:#e2e8f0}.app-select__dropdown-indicator,.app-select__clear-indicator{padding:.35rem;color:#64748b!important}.app-select__menu{z-index:40;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;box-shadow:0 12px 24px #0f172a1a}.app-select__option{cursor:pointer;font-size:var(--text-sm);padding:.45rem .65rem}.app-select__option--is-focused,.app-select__option--is-selected{color:#0f172a!important;background:#eff6ff!important}.app-select--compact .app-select__control{min-width:7.5rem;min-height:1.9rem}.app-select--compact .app-select__value-container{padding:0 .4rem}.app-select--compact .app-select__indicators{height:1.9rem}.date-picker-input{border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;border:1px solid #cbd5e1;padding:.45rem .65rem}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%;display:block}.react-datepicker__input-container .date-picker-input{width:100%;padding-left:2.1rem}.react-datepicker__input-container .react-datepicker__calendar-icon{fill:#64748b;width:1.15rem;height:1.15rem;padding:.55rem .5rem}.date-picker-input:hover{border-color:#94a3b8}.date-picker-input:focus{border-color:#60a5fa;outline:2px solid #93c5fd}.date-picker-input:disabled{opacity:.7;cursor:not-allowed;background:#f8fafc}.date-picker-calendar.react-datepicker{border:1px solid #cbd5e1;border-radius:10px;font-family:inherit;box-shadow:0 12px 24px #0f172a1f}.date-picker-calendar .react-datepicker__header{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-top-left-radius:10px;border-top-right-radius:10px}.date-picker-calendar .react-datepicker__day--selected,.date-picker-calendar .react-datepicker__day--keyboard-selected{background:#2563eb;border-radius:999px}.date-picker-calendar .react-datepicker__day:hover{background:#eff6ff;border-radius:999px}.map-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.location-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin-bottom:.75rem;display:grid}.accuracy-badge{border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:600;line-height:1.2;display:inline-block}.accuracy-badge--good{color:#166534;background:#dcfce7}.accuracy-badge--fair{color:#92400e;background:#fef3c7}.accuracy-badge--poor{color:#991b1b;background:#fee2e2}.accuracy-badge--unknown{color:#475569;background:#e2e8f0}.location-stat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.25rem;padding:.6rem .75rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.location-stat:hover{border-color:#bfdbfe;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb1f}.location-stat .muted{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:.65rem;font-weight:600}.location-stat strong{color:#0f172a;word-break:break-word;font-size:.78rem;line-height:1.4}.map-container{border-radius:10px;width:100%;height:520px;position:relative;overflow:hidden}.map-container--fullscreen{z-index:2000;border-radius:0;width:100vw;height:100vh;position:fixed;inset:0}.map-fullscreen-toggle{z-index:1001;color:#1e293b;cursor:pointer;background:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:18px;transition:background .15s;display:flex;position:absolute;top:.75rem;left:.75rem;box-shadow:0 1px 4px #0f172a40}.map-fullscreen-toggle:hover{background:#f1f5f9}.map-route-status{z-index:1000;background:#ffffffeb;border-radius:8px;max-width:min(360px,100% - 8rem);padding:.4rem .7rem;font-size:.8rem;position:absolute;top:.75rem;left:3.4rem;box-shadow:0 1px 4px #0f172a1f}.map-route-status--warn{color:#92400e;background:#fef3c7f2}.location-map{width:100%;height:100%}.google-map-info-window{color:#0f172a;max-width:260px;font-size:.85rem;line-height:1.45}.map-type-selector{z-index:1000;position:absolute;top:.75rem;right:.75rem}.map-type-selector-label{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.5rem;margin:0;padding:.35rem .5rem .35rem .65rem;display:flex;box-shadow:0 2px 8px #0f172a1f}.map-type-selector-text{color:#64748b;white-space:nowrap;font-size:.8rem;font-weight:500}.map-type-selector-select{background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:7.5rem;padding:.25rem 1.75rem .25rem .5rem;font-size:.85rem}.map-type-selector .app-select{min-width:7.5rem}.map-type-selector .app-select__control{background:#fff}.empty-map-state{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;place-items:center;height:320px;display:grid}.user-map-marker{background:0 0;border:none}.user-map-marker-wrap{flex-direction:column;align-items:center;gap:.25rem;display:flex}.user-map-marker-pin{color:#fff;background:#2563eb;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 2px 8px #00000040}.user-map-marker-label{color:#1e293b;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:999px;max-width:140px;padding:.15rem .5rem;font-size:15px;font-weight:600;overflow:hidden;box-shadow:0 1px 4px #00000026}.user-map-marker-tip{filter:drop-shadow(0 2px 2px #0003);border-top:10px solid #2563eb;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;margin-top:-5px}.user-map-marker-tip--stale{border-top-color:#d97706}.live-popup{color:#0f172a;width:264px;padding:.35rem .25rem .25rem;font-size:.85rem}.live-popup__header{border-bottom:1px solid #e2e8f0;align-items:center;gap:.6rem;padding-bottom:.55rem;display:flex}.live-popup__avatar{color:#fff;background:#2563eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;font-weight:700;display:flex}.live-popup__avatar--stale{background:#d97706}.live-popup__avatar--start{background:#16a34a}.live-popup__avatar--end{background:#dc2626}.live-popup__identity{flex-direction:column;min-width:0;display:flex}.live-popup__name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.live-popup__contact{color:#64748b;font-size:.78rem}.live-popup__close{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;width:26px;height:26px;margin-left:auto;font-size:1rem;line-height:1;transition:background .15s}.live-popup__close:hover{background:#e2e8f0}.live-popup__badges{flex-wrap:wrap;gap:.35rem;margin:.55rem 0;display:flex}.live-popup__chip{border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:600;line-height:1.2;display:inline-block}.live-popup__chip--ok{color:#166534;background:#dcfce7}.live-popup__chip--warn{color:#92400e;background:#fef3c7}.live-popup__rows{flex-direction:column;gap:.3rem;margin-bottom:.6rem;display:flex}.live-popup__row{justify-content:space-between;gap:.75rem;font-size:.8rem;display:flex}.live-popup__row>span:first-child{color:#64748b;flex-shrink:0;font-weight:600}.live-popup__row>span:last-child{text-align:right;word-break:break-word}.live-popup__actions{border-top:1px solid #e2e8f0;gap:.5rem;padding-top:.55rem;display:flex}.live-popup__btn{color:#1e293b;text-align:center;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:.4rem .5rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}.live-popup__btn:hover{background:#f1f5f9}.live-popup__btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.live-popup__btn--primary:hover{background:#1d4ed8}.route-map-marker{background:0 0;border:none}.route-map-marker-wrap{flex-direction:column;align-items:center;gap:.25rem;display:flex}.route-map-marker-pin{color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:flex;box-shadow:0 2px 8px #00000040}.route-map-marker-pin--start{background:#16a34a}.route-map-marker-pin--end{background:#dc2626}.route-map-marker-label{color:#1e293b;background:#fff;border-radius:999px;padding:.15rem .5rem;font-size:15px;font-weight:600;box-shadow:0 1px 4px #00000026}.route-map-marker-tip{filter:drop-shadow(0 2px 2px #0003);border-top:10px solid #2563eb;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;margin-top:-5px}.route-map-marker-tip--start{border-top-color:#16a34a}.route-map-marker-tip--end{border-top-color:#dc2626}.route-map-marker-tip--small{border-top-width:8px;border-top-color:#8430ce;border-left-width:5px;border-right-width:5px;margin-top:-4px}.waypoint-map-marker{background:0 0;border:none}.waypoint-map-marker-pin{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8430ce 100%);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 6px #8430ce59}.waypoint-map-marker-pin:hover{transform:scale(1.2);box-shadow:0 3px 14px #8430ce8c}.waypoint-direction-arrow{color:#fff;transform-origin:50%;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8430ce 100%);border:1.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;font-size:11px;display:flex;box-shadow:0 1px 4px #8430ce66}.waypoint-direction-arrow svg{width:11px;height:11px}.toast-container{z-index:1100;flex-direction:column;gap:.75rem;width:min(360px,100vw - 2rem);display:flex;position:fixed;top:1rem;right:1rem}.toast{border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;animation:.25s toast-in;display:flex;box-shadow:0 12px 30px #0f172a1f}.toast p{font-size:var(--text-sm);margin:0;line-height:1.4}.toast-success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.toast-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.toast-info{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.toast-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.dashboard-layout{grid-template-columns:1fr}.sidebar{padding-bottom:1rem}.sidebar-nav{flex-flow:wrap;margin-top:1rem}.page-grid,.dashboard-grid,.user-detail-grid,.live-tracking-layout,.filters,.filters--location,.filters--location-range,.location-stats,.filters--users{grid-template-columns:1fr}}.stats-grid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:.65rem;margin-bottom:.85rem;display:grid}.stat-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:inherit;background:#fff;border:1px solid #eef2f7;flex-direction:column;gap:.2rem;padding:.7rem .85rem;text-decoration:none;display:flex}.stat-card strong{font-size:var(--text-lg);line-height:1.1}.stat-card--interactive{cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base)}.stat-card--interactive:hover{box-shadow:var(--shadow-md);border-color:#bfdbfe;transform:translateY(-2px)}.stat-card-hint{font-size:var(--text-xs);color:#94a3b8;opacity:0;transition:opacity var(--transition-fast)}.stat-card--interactive:hover .stat-card-hint{opacity:1}.stat-card--success strong{color:#16a34a}.stat-card--info strong{color:#2563eb}.stat-card--warning strong{color:#d97706}.stat-card--loading{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;min-height:92px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-grid{grid-template-columns:1.4fr 1fr}.activity-list,.live-user-list,.attendance-history-list{margin:0;padding:0;list-style:none}.activity-list li+li,.live-user-list li+li,.attendance-history-list li+li{border-top:1px solid #e2e8f0}.activity-item,.live-user-item{border-radius:var(--radius-md);text-align:left;cursor:pointer;width:100%;color:inherit;font-size:var(--text-sm);transition:background var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:.65rem;padding:.55rem .45rem;text-decoration:none;display:flex}.activity-item:hover,.live-user-item:hover,.live-user-item.selected,.activity-item.selected{background:#eff6ff;transform:translate(2px)}.activity-item-main,.live-user-item>div:first-child{flex-direction:column;gap:.15rem;display:flex}.activity-item-meta,.live-user-item-meta{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.live-user-item-main{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.live-user-signals{flex-wrap:wrap;gap:.35rem;margin-top:.25rem;display:flex}.live-user-signal-detail{font-size:.85em}.connectivity-badge,.location-readiness-badge,.silent-push-badge{border-radius:999px;align-items:center;padding:.12rem .45rem;font-size:.78em;font-weight:600;line-height:1.3;display:inline-flex}.connectivity-badge--online{color:#166534;background:#dcfce7}.connectivity-badge--offline{color:#991b1b;background:#fee2e2}.live-user-detail-modal{max-width:420px}.live-user-detail-modal .live-popup__header{margin-bottom:.15rem}.live-user-detail-modal .live-popup__rows{margin-bottom:0}.live-user-detail-modal .modal-actions{border-top:1px solid #e2e8f0;margin-top:.85rem;padding-top:.75rem}.location-readiness-badge--ready{color:#1d4ed8;background:#dbeafe}.location-readiness-badge--blocked{color:#92400e;background:#fef3c7}.silent-push-badge{color:#5b21b6;background:#ede9fe}.live-offline-periods{color:#64748b;margin:.25rem 0 0;padding:0;font-size:.82em;list-style:none}.live-offline-periods li+li{margin-top:.15rem}.live-location-source{text-transform:uppercase;letter-spacing:.03em;font-size:.78em}.card-footer-link{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.card-footer-link a,.back-link{color:#2563eb;font-weight:600;font-size:var(--text-xs);transition:color var(--transition-fast)}.card-footer-link a:hover,.back-link:hover{color:#1d4ed8}.tab-bar{gap:.35rem;margin-bottom:.85rem;display:flex}.tab-button{color:#475569;cursor:pointer;font-weight:600;font-size:var(--text-xs);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.35rem .75rem}.tab-button:hover:not(.active){background:#f8fafc;border-color:#94a3b8}.tab-button:active{transform:scale(.97)}.tab-button.active{color:#fff;background:#2563eb;border-color:#2563eb}.back-link{margin-bottom:.65rem;display:inline-block}.live-tracking-layout{grid-template-columns:300px 1fr;align-items:start;gap:.85rem;display:grid}.live-tracking-layout--map-only{grid-template-columns:1fr}.live-tracking-sidebar{max-height:calc(100vh - 220px);overflow:auto}.live-tracking-filters{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem;display:grid}.filters--users{grid-template-columns:1fr 1fr;align-items:end}.user-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.user-detail-profile{align-items:flex-start;gap:1rem;display:flex}.user-avatar{color:#1d4ed8;width:48px;height:48px;font-weight:700;font-size:var(--text-sm);transition:transform var(--transition-base);background:#dbeafe;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.user-detail-header:hover .user-avatar{transform:scale(1.04)}.user-detail-grid{grid-template-columns:320px 1fr}.section-subtitle{margin-top:1.5rem;margin-bottom:.75rem}.attendance-history-list li{justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.attendance-history-list li>div{align-items:center;gap:.5rem;display:flex}.location-stats--compact{grid-template-columns:repeat(2,minmax(120px,1fr))}.table-clickable tbody tr.table-row-clickable{cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast)}.table-clickable tbody tr.table-row-clickable:hover{background:#f8fafc;box-shadow:inset 3px 0 #2563eb}.table-clickable tbody tr.table-row-clickable:active{background:#eff6ff}.user-detail-subtext{font-size:var(--text-xs);margin-top:.25rem}.user-detail-actions{flex-wrap:wrap;gap:.5rem;display:flex}.table-user-cell{flex-direction:column;gap:.05rem;display:flex}.table-user-cell strong{font-size:var(--text-sm)}.table-user-cell .muted{font-size:var(--text-xs)}.text-warning{color:#d97706;font-weight:600}.user-map-marker-pin--stale{background:#d97706}.user-map-marker-pin--offline{background:#dc2626}.user-map-marker-pin--mock{background:#7c3aed}.live-summary-bar{border-radius:var(--radius-md);color:#334155;background:#f8fafc;border:1px solid #e2e8f0;flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem;padding:.65rem .75rem;font-size:.82em;font-weight:600;display:flex}.live-summary-bar__active{color:#166534}.live-summary-bar__stale{color:#b45309}.live-summary-bar__offline{color:#b91c1c}.live-summary-bar__mock{color:#6d28d9}.live-summary-bar__attention{color:#c2410c}.live-user-title-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.live-health-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:.1rem .45rem;font-size:.72em;font-weight:700;display:inline-flex}.rh-page{flex-direction:column;gap:1rem;min-height:0;display:flex}.rh-controls-strip{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem;display:flex;box-shadow:0 1px 4px #0f172a0d}.rh-controls-left{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.rh-controls-right{align-items:flex-end;display:flex}.rh-filter-group{flex-direction:column;gap:.25rem;display:flex}.rh-filter-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:.65rem;font-weight:700}.rh-export-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#16a34a;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.8rem;font-weight:700;transition:background .15s,box-shadow .15s,transform .12s;display:inline-flex;box-shadow:0 2px 8px #16a34a3d}.rh-export-btn:hover:not(:disabled){background:#15803d;box-shadow:0 4px 12px #15803d4d}.rh-export-btn:active:not(:disabled){transform:scale(.98)}.rh-export-btn:disabled{box-shadow:none;cursor:not-allowed;background:#94a3b8}.rh-add-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.78rem;font-weight:700;transition:background .15s,box-shadow .15s,transform .12s;display:inline-flex;box-shadow:0 2px 8px #2563eb33}.rh-add-btn:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d}.rh-add-btn:active{transform:scale(.97)}.rh-workspace{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:row;height:clamp(560px,100vh - 240px,860px);min-height:560px;display:flex;overflow:hidden;box-shadow:0 1px 4px #0f172a0d}.rh-map-area{--rh-map-left-control-space:3.4rem;background:#f1f5f9;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.rh-map-area .map-container{border-radius:0;flex:1;height:100%}.rh-map-area .map-container--fullscreen{border-radius:0}.rh-stats-overlay{top:1rem;left:calc(1rem + var(--rh-map-left-control-space));z-index:10;max-width:calc(100% - (2rem + var(--rh-map-left-control-space)));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#ffffffeb;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:1rem;padding:.5rem .9rem;display:flex;position:absolute;box-shadow:0 4px 14px #0f172a1a}.rh-stat{flex-direction:column;gap:.05rem;display:flex}.rh-stat-label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;white-space:nowrap;font-size:.6rem;font-weight:700}.rh-stat-value{color:#0f172a;font-size:.82rem;font-weight:700}.rh-stat-value--blue{color:#2563eb}.rh-stat-divider{background:#e2e8f0;flex-shrink:0;width:1px;height:1.5rem}.rh-map-empty{color:#64748b;text-align:center;flex:1;place-items:center;padding:2rem;display:grid}.rh-map-empty p{font-size:.9rem}.rh-map-hint{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#475569;pointer-events:none;background:#ffffffe0;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.72rem;display:flex;position:absolute;bottom:1rem;left:1rem;box-shadow:0 2px 6px #0f172a14}.rh-sidebar{background:#fff;border-left:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;width:384px;min-height:0;display:flex;overflow:hidden}.rh-sidebar-header{background:#f8fafc80;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.rh-sidebar-title-row{align-items:center;gap:.4rem;display:flex}.rh-sidebar-icon{font-size:.9rem}.rh-sidebar-title{color:#0f172a;margin:0;font-size:.82rem;font-weight:700}.rh-sync-badge{color:#475569;background:#e2e8f0;border-radius:4px;padding:.15rem .5rem;font-family:monospace;font-size:.68rem;font-weight:600}.rh-sidebar-body{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9;flex-direction:column;flex:1;gap:1.5rem;min-height:0;padding:1rem;display:flex;overflow-y:auto}.rh-sidebar-body::-webkit-scrollbar{width:5px}.rh-sidebar-body::-webkit-scrollbar-track{background:#f1f5f9}.rh-sidebar-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.rh-sidebar-empty{text-align:center;color:#64748b;padding:2rem .5rem;font-size:.82rem}.rh-session-group{flex-direction:column;gap:0;display:flex}.rh-session-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.rh-session-header-left{align-items:center;gap:.5rem;display:flex}.rh-session-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.rh-session-badge{border-radius:4px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.rh-session-stats{color:#64748b;white-space:nowrap;font-size:.68rem;font-weight:500}.rh-session-timeline{border-left:2px solid #e2e8f0;flex-direction:column;gap:.75rem;margin-left:.75rem;padding-left:1rem;display:flex}.rh-point-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.65rem .75rem;transition:border-color .15s,box-shadow .15s,transform .12s;position:relative;box-shadow:0 1px 3px #0f172a0a}.rh-point-card:hover{border-color:#93c5fd;transform:translate(2px);box-shadow:0 3px 10px #2563eb1a}.rh-point-card--active{border-color:#2563eb!important;box-shadow:0 0 0 2px #2563eb33,0 3px 10px #2563eb1f!important}.rh-point-bullet{color:#fff;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:.55rem;font-weight:700;line-height:1;display:flex;position:absolute;top:.8rem;left:calc(-1rem - 8px);box-shadow:0 1px 4px #0000002e}.rh-point-card-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.rh-point-title{color:#0f172a;font-size:.78rem;font-weight:700}.rh-point-time{color:#64748b;white-space:nowrap;font-family:monospace;font-size:.68rem}.rh-point-addr{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .4rem;font-size:.72rem;display:-webkit-box;overflow:hidden}.rh-point-meta{color:#94a3b8;border-top:1px solid #f1f5f9;gap:.75rem;margin-top:.2rem;padding-top:.35rem;font-size:.68rem;display:flex}.rh-modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:3500;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;animation:.2s fade-in;display:flex;position:fixed;inset:0}.rh-modal-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;max-width:460px;padding:1.5rem;animation:.2s scale-in;position:relative;box-shadow:0 20px 60px #0f172a2e}.rh-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1rem;line-height:1;transition:color .15s,background .15s;position:absolute;top:1rem;right:1rem}.rh-modal-close:hover{color:#475569;background:#f1f5f9}.rh-modal-header{border-bottom:1px solid #f1f5f9;align-items:center;gap:.65rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.rh-modal-icon{color:#2563eb;background:#eff6ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.rh-modal-title{color:#0f172a;margin:0;font-size:.9rem;font-weight:700}.rh-modal-subtitle{color:#64748b;margin:0;font-size:.75rem}.rh-modal-form{flex-direction:column;gap:.75rem;display:flex}.rh-modal-row2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.rh-modal-field{flex-direction:column;gap:.25rem;display:flex}.rh-modal-label{color:#334155;margin:0;font-family:inherit;font-size:.68rem;font-weight:700;display:block}.rh-modal-input{color:#0f172a;box-sizing:border-box;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.45rem .6rem;font-size:.78rem;transition:border-color .15s,box-shadow .15s}.rh-modal-input:focus{border-color:#60a5fa;outline:none;box-shadow:0 0 0 2px #93c5fd80}.rh-modal-input::placeholder{color:#94a3b8}.rh-modal-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:.65rem;margin-top:.25rem;padding-top:.75rem;display:flex}.rh-modal-cancel{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .85rem;font-size:.78rem;font-weight:600;transition:background .15s}.rh-modal-cancel:hover{background:#e2e8f0}.rh-modal-save{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:.45rem 1rem;font-size:.78rem;font-weight:700;transition:background .15s,box-shadow .15s;box-shadow:0 2px 8px #2563eb33}.rh-modal-save:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d}@media (width<=900px){.rh-workspace{flex-direction:column;height:auto;min-height:620px}.rh-sidebar{border-top:1px solid #e2e8f0;border-left:none;width:100%;max-height:420px}.rh-modal-row2{grid-template-columns:1fr}.rh-stats-overlay{max-width:calc(100% - 2rem);left:1rem}}.live-health-badge--good{color:#166534;background:#dcfce7}.live-health-badge--warning{color:#92400e;background:#fef3c7}.live-health-badge--critical{color:#991b1b;background:#fee2e2}.live-user-checkin{font-size:.85em}.live-user-list{flex-direction:column;gap:.4rem;display:flex}.live-user-list li+li{border-top:none}.live-user-item{font-size:var(--text-sm);background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;padding:.5rem .6rem;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}.live-user-item:hover{background:#fff;border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb1f}.live-user-item.selected{background:#eff6ff;border-color:#2563eb;transform:none}.live-user-avatar{color:#fff;background:#2563eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;font-weight:700;display:flex}.live-user-avatar--stale{background:#d97706}.live-user-details-btn{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-self:flex-start;margin-top:.15rem;padding:.2rem .55rem;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s}.live-user-details-btn:hover{background:#dbeafe;border-color:#93c5fd}.mock-gps-badge{color:#6b21a8;background:#f3e8ff;border-radius:999px;align-items:center;padding:.12rem .45rem;font-size:.78em;font-weight:700;display:inline-flex}.offline-total-badge{color:#9f1239;background:#ffe4e6;border-radius:999px;align-items:center;padding:.12rem .45rem;font-size:.78em;font-weight:600;display:inline-flex}.silent-push-badge--gap{color:#c2410c;background:#ffedd5}.live-route-link{color:#2563eb;margin-top:.35rem;font-size:.82em;font-weight:600;display:inline-block}.live-route-link:hover{text-decoration:underline}.offline-history-panel{border-radius:var(--radius-md);background:#fff7ed;border:1px solid #fed7aa;margin:0 0 1rem;padding:.85rem 1rem}.offline-history-panel h5{color:#9a3412;margin:0 0 .65rem;font-size:.95em}.offline-history-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.offline-history-list li{flex-direction:column;gap:.1rem;display:flex}.map-container--compact,.location-map--compact{height:320px}.empty-map-state--compact{height:200px}.live-dot{vertical-align:middle;background:#16a34a;border-radius:50%;width:7px;height:7px;margin-right:.35rem;animation:1.5s infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes spin{to{transform:rotate(360deg)}}.stat-card-top{align-items:center;gap:.5rem;display:flex}.stat-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.1rem;display:inline-flex}.stat-card-icon--default{color:#475569;background:#f1f5f9}.stat-card-icon--success{color:#16a34a;background:#dcfce7}.stat-card-icon--info{color:#2563eb;background:#dbeafe}.stat-card-icon--warning{color:#d97706;background:#ffedd5}.card-title-with-icon{align-items:center;gap:.45rem;display:inline-flex}.card-title-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:1rem;display:inline-flex}.card-title-icon--live{color:#2563eb;background:#dbeafe}.card-title-icon--users{color:#16a34a;background:#dcfce7}.btn-icon-inline,.link-icon-inline{flex-shrink:0;width:1rem;height:1rem}.btn-refresh,.card-footer-link a{align-items:center;gap:.35rem;display:inline-flex}.activity-item{align-items:center}.activity-item-avatar{color:#2563eb;background:#eff6ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;display:inline-flex}.btn-refresh.spinning .btn-icon-inline{animation:.8s linear infinite spin}.btn-refresh.spinning:before{content:none}.chip{color:#1d4ed8;font-size:var(--text-xs);background:#eff6ff;border-radius:999px;align-items:center;padding:.15rem .45rem;font-weight:600;display:inline-flex}.skeleton-list{flex-direction:column;gap:.5rem;display:flex}.skeleton-line{border-radius:var(--radius-md);background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;height:2rem;animation:1.2s infinite shimmer}.empty-hint{font-size:var(--text-sm);padding:.5rem 0}.log-activity-summary{margin-bottom:1rem}.log-activity-section-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.log-activity-section-header h4{margin:0}.filters--log-activity{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.log-activity-count-badge,.log-activity-gap-badge{color:#b91c1c;min-width:2rem;font-weight:600;font-size:var(--text-sm);background:#fee2e2;border-radius:999px;justify-content:center;align-items:center;padding:.15rem .55rem;display:inline-flex}.log-activity-gap-badge{color:#c2410c;background:#ffedd5}@media (width<=960px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
