@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Sora:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box}:root{--bg:#f0f4f9;--surface:#fff;--surface2:#f5f8fc;--border:#1e3c641a;--border2:#1e3c642e;--text:#1a2540;--text2:#4b5a74;--text3:#8a97b0;--red:#dc2626;--red-bg:#fee2e2;--red-b:#dc262638;--orange:#c05621;--orange-bg:#fef3c7;--orange-b:#c0562138;--yellow:#92400e;--yellow-bg:#fef9c3;--green:#15803d;--green-bg:#dcfce7;--blue:#1d4ed8;--blue-bg:#eff6ff;--blue-mid:#2563eb;--purple:#6d28d9;--purple-bg:#ede9fe;--wa:#16a34a;--font:"Sora", system-ui, sans-serif;--mono:"DM Mono", ui-monospace, monospace;color:var(--text);background:var(--bg);font:13px/1.5 var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.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}.report-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px;transition:box-shadow .2s;overflow:hidden}.report-card:hover{box-shadow:0 4px 12px #00000014}.report-card-header{cursor:pointer;background:#f8fafc;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.report-card-title{align-items:center;gap:14px;display:flex}.expand-icon{text-align:center;width:18px;font-size:14px}.report-item-no{color:#1f2937;font-size:17px;font-weight:700}.report-subtitle{color:#6b7280;margin-top:4px;font-size:13px}.dispatch-count{color:#2563eb;white-space:nowrap;font-size:14px;font-weight:600}.report-details{padding:22px}.details-section{margin-bottom:24px}.details-section h3{color:#111827;margin:0 0 16px;font-size:16px;font-weight:600}.details-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.detail-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.detail-label{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.detail-value{color:#111827;word-break:break-word;font-size:15px;font-weight:500}.dispatch-history{padding:0 22px 22px}.dispatch-history h3{color:#111827;margin:0 0 16px;font-size:16px;font-weight:600}.dispatch-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.dispatch-table{border-collapse:collapse;width:100%;min-width:950px}.dispatch-table thead{background:#f3f4f6}.dispatch-table th,.dispatch-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px 14px;font-size:14px}.dispatch-table th{color:#374151;white-space:nowrap;font-weight:600}.dispatch-table td{color:#111827}.dispatch-table tbody tr:hover{background:#f9fafb}.threshold-badge{text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.threshold-critical{color:#b91c1c;background:#fee2e2}.threshold-high{color:#c2410c;background:#ffedd5}.threshold-medium{color:#a16207;background:#fef9c3}.threshold-ontrack{color:#15803d;background:#dcfce7}@media (width<=768px){.report-card-header{flex-direction:column;align-items:flex-start;gap:12px}.dispatch-count{align-self:flex-end}.details-grid{grid-template-columns:1fr}.dispatch-history{padding:0 16px 16px}.report-details{padding:16px}}.report-filters{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;display:grid}.filter-group{flex-direction:column;display:flex}.filter-group label{color:var(--text);margin-bottom:6px;font-size:12px;font-weight:600}.filter-group input,.filter-group textarea,.threshold-select{border:1px solid var(--border);background:var(--surface);box-sizing:border-box;border-radius:6px;width:100%;height:56px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.4;transition:all .2s}.filter-group textarea{resize:none;height:56px;min-height:56px;max-height:56px;overflow-y:auto}.filter-group input:focus,.filter-group textarea:focus{border-color:var(--blue-mid);outline:none;box-shadow:0 0 0 2px #2563eb14}.filter-group small{color:#6b7280;margin-top:6px;font-size:12px}.report-actions{gap:10px;margin-top:18px;display:flex}.report-table-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:auto}.report-table{border-collapse:collapse;width:100%;min-width:1800px}.report-table thead th{background:var(--surface2);border-bottom:1px solid var(--border);color:var(--text3);padding:9px 10px;font-size:11px}.report-table tbody td{padding:8px 10px;font-size:12px}.report-table tbody tr:hover{background:var(--surface2)}.report-summary{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.report-summary-count{font-size:13px;font-weight:600}.filter-section-title{color:var(--text);margin-bottom:14px;font-size:14px;font-weight:700}.filter-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px}.large-input{height:38px!important;font-size:12px!important;font-weight:600!important}@media (width<=1400px){.report-filters{grid-template-columns:1fr}}@media (width<=768px){.report-filters{grid-template-columns:1fr}.report-actions{flex-direction:column}.report-actions button{width:100%}}.threshold-select{appearance:none;align-items:center;display:flex}.threshold-select:focus{border-color:var(--blue-mid);box-shadow:0 0 0 2px #2563eb14}.date-input{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;height:48px;min-height:48px;padding:0 14px;font-family:inherit;font-size:14px;font-weight:400;transition:border-color .2s,box-shadow .2s,background-color .2s}.date-input:hover{border-color:#9ca3af}.date-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.searchable-multiselect{flex-direction:column;gap:8px;width:100%;display:flex;position:relative}.searchable-multiselect-label{color:#374151;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:600}.searchable-multiselect-control{cursor:text;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:flex-start;width:100%;min-height:48px;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex}.searchable-multiselect-control:hover{border-color:#9ca3af}.searchable-multiselect-control.open{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.searchable-multiselect-chips{flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding:8px;display:flex}.searchable-multiselect-chip{color:#fff;background:#2563eb;border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:6px 10px;font-size:13px;font-weight:500;line-height:1;animation:.15s chipFadeIn;display:inline-flex}.chip-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chip-remove{color:#fff;cursor:pointer;background:#ffffff2e;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:14px;line-height:1;transition:background .2s,transform .15s;display:flex}.chip-remove:hover{background:#ffffff4d}.chip-remove:active{transform:scale(.9)}.searchable-multiselect-input{color:#111827;background:0 0;border:none;outline:none;flex:1;min-width:140px;padding:6px 4px;font-size:14px}.searchable-multiselect-input::placeholder{color:#9ca3af}.searchable-multiselect-input:disabled{cursor:not-allowed}@keyframes chipFadeIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.searchable-multiselect-dropdown{z-index:1000;background:#fff;border:1px solid #d1d5db;border-radius:8px;max-height:280px;animation:.15s dropdownFadeIn;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.searchable-multiselect-option{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:background-color .15s,color .15s;display:flex}.searchable-multiselect-option:hover{background:#f3f4f6}.searchable-multiselect-option.highlighted{background:#e8f0fe}.searchable-multiselect-option.selected{background:#eff6ff;font-weight:600}.searchable-multiselect-option.selected:hover{background:#dbeafe}.option-text{text-overflow:ellipsis;white-space:nowrap;color:#111827;flex:1;font-size:14px;overflow:hidden}.option-remove{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;line-height:1;transition:background-color .2s,color .2s;display:flex}.option-remove:hover{color:#dc2626;background:#fee2e2}.searchable-multiselect-empty{text-align:center;color:#6b7280;padding:18px;font-size:14px}.searchable-multiselect-dropdown::-webkit-scrollbar{width:8px}.searchable-multiselect-dropdown::-webkit-scrollbar-track{background:#f3f4f6;border-radius:8px}.searchable-multiselect-dropdown::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.searchable-multiselect-dropdown::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.searchable-multiselect-control{min-height:44px}.searchable-multiselect-chip{max-width:100%;font-size:12px}.searchable-multiselect-input{min-width:100px;font-size:13px}.searchable-multiselect-dropdown{max-height:220px}}.option-selected{color:#2563eb;font-size:16px;font-weight:700}.config-page{background:var(--bg);min-height:100vh;color:var(--text);padding:24px}.config-page.loading{color:var(--text2);justify-content:center;align-items:center;font-size:16px;display:flex}.config-header{margin-bottom:32px}.config-header h1{color:var(--text);margin:0 0 8px;font-size:28px;font-weight:700}.config-header p{color:var(--text2);margin:0;font-size:14px}.config-cards-container{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;max-width:1200px;display:grid}.config-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;transition:all .3s;box-shadow:0 1px 3px #0000001a}.config-card:hover{border-color:var(--border);box-shadow:0 4px 12px #00000026}.card-icon{margin-bottom:16px;font-size:40px;display:inline-block}.card-header{margin-bottom:20px}.card-header h2{color:var(--text);margin:0 0 4px;font-size:20px;font-weight:600}.card-header p{color:var(--text2);margin:0;font-size:13px}.card-content{flex-direction:column;gap:12px;display:flex}.config-item{background:var(--surface2);border-radius:6px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.config-label{color:var(--text2);flex-shrink:0;min-width:120px;font-size:13px;font-weight:500}.config-value{color:var(--text);word-break:break-word;text-align:right;flex:1;font-size:13px}.config-value.config-url{color:var(--blue-mid);font-family:monospace;font-size:12px}.card-footer{border-top:1px solid var(--border);gap:12px;margin-top:16px;padding-top:16px;display:flex}.btn-edit,.btn-delete,.btn-create{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:6px;flex:1;padding:10px 16px;font-size:13px;font-weight:500;transition:all .2s}.btn-edit{background:var(--blue-bg);color:var(--blue-mid);border-color:var(--blue-mid)}.btn-edit:hover{background:var(--blue-mid);color:#fff}.btn-delete{background:var(--red-bg);color:var(--red);border-color:var(--red)}.btn-delete:hover{background:var(--red);color:#fff}.btn-create{background:var(--blue-bg);width:100%;color:var(--blue-mid);border-color:var(--blue-mid);margin-top:12px}.btn-create:hover{background:var(--blue-mid);color:#fff}.card-empty{text-align:center;color:var(--text2);padding:32px 16px}.card-empty p{margin:0 0 16px;font-size:14px}.config-form{grid-template-columns:1fr 1fr;gap:16px;max-height:60vh;padding:16px 0;display:grid;overflow-y:auto}.config-form::-webkit-scrollbar{width:6px}.config-form::-webkit-scrollbar-track{background:var(--surface2);border-radius:3px}.config-form::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.config-form::-webkit-scrollbar-thumb:hover{background:var(--text2)}.form-group{flex-direction:column;gap:6px;display:flex}.form-group:nth-child(n+3){grid-column:1/-1}.form-label{color:var(--text);font-size:13px;font-weight:500}.required{color:var(--red);margin-left:4px}.form-input{border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:13px;font-family:var(--font);border-radius:6px;padding:10px 12px;transition:border-color .2s}.form-input:focus{border-color:var(--blue-mid);outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-input.error{border-color:var(--red)}.form-input.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-input::placeholder{color:var(--text3)}.field-error{color:var(--red);margin-top:4px;font-size:12px}.config-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding-top:16px;display:flex}.btn-secondary{background:var(--surface2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:10px 20px;font-size:13px;font-weight:500;transition:all .2s}.btn-secondary:hover{background:var(--border)}.upload-btn{background:var(--blue-mid);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:13px;font-weight:500;transition:all .2s}.upload-btn:hover:not(:disabled){background:#1d4ed8;box-shadow:0 2px 8px #2563eb4d}.upload-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.config-page{padding:16px}.config-cards-container,.config-form{grid-template-columns:1fr}.config-form:nth-child(n+2){grid-column:1}.config-header h1{font-size:24px}.config-card{padding:16px}.card-item{flex-direction:column}}:root{--bg:#f8f9fa;--surface:#fff;--surface2:#f3f4f6;--border:#e5e7eb;--text:#1f2937;--text2:#6b7280;--text3:#9ca3af;--blue-bg:#eff6ff;--blue-mid:#2563eb;--red:#ef4444;--red-bg:#fef2f2}@media (prefers-color-scheme:dark){:root{--bg:#0f172a;--surface:#1e293b;--surface2:#334155;--border:#475569;--text:#f1f5f9;--text2:#cbd5e1;--text3:#94a3b8;--blue-bg:#0c2340;--blue-mid:#3b82f6;--red:#f87171;--red-bg:#7f1d1d}}.threshold-table{border:1px solid #e5e7eb;border-radius:12px;margin-top:20px;overflow:hidden}.threshold-header{color:#475569;background:#f8fafc;border-bottom:1px solid #e5e7eb;grid-template-columns:180px 1fr 1fr;padding:14px 18px;font-weight:600;display:grid}.threshold-row{border-bottom:1px solid #f1f5f9;grid-template-columns:180px 1fr 1fr;align-items:center;gap:12px;padding:14px 18px;display:grid}.threshold-row:last-child{border-bottom:none}.status-label{color:#1e293b;align-items:center;gap:10px;font-weight:600;display:flex}.status-dot{border-radius:50%;width:10px;height:10px}.critical-dot{background:#ef4444}.high-dot{background:#f97316}.medium-dot{background:#eab308}.success-dot{background:#22c55e}.threshold-row input{border:1px solid #d1d5db;border-radius:8px;height:42px;padding:0 12px;font-size:14px}.threshold-row input:disabled{color:#64748b;background:#f8fafc}.dispatch-app{background:var(--bg);min-height:100vh;color:var(--text)}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 1px 4px #1e3c640f}.topbar-brand,.topbar-right,.topbar-nav,.filter-tabs,.filter-right,.si-left,.btn,.search-shell{align-items:center;display:flex}.topbar-brand{gap:10px;min-width:max-content}.logo-mark{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.brand-name{color:var(--text);letter-spacing:0;font-size:14px;font-weight:700}.brand-sub{color:var(--text3);font-size:11px}.topbar-nav{justify-content:center;gap:2px}.nav-item,.ftab{color:var(--text2);cursor:pointer;font-family:var(--font);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;min-height:28px;padding:5px 13px;font-size:12px;font-weight:500}.nav-item:hover,.ftab:hover,.sidebar-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--blue-bg);color:var(--blue-mid)}.nav-badge{background:var(--red-bg);color:var(--red);border-radius:8px;margin-left:4px;padding:1px 5px;font-size:9px;font-weight:700}.topbar-right{justify-content:flex-end;gap:10px}.date-chip,.sheet-select,.filter-select,.search-box{background:var(--surface2);border:1px solid var(--border);color:var(--text2);font-family:var(--font);border-radius:5px;min-height:28px;font-size:11px}.customer-search-input{box-sizing:border-box;outline:none}.customer-search-input::placeholder{color:var(--text2);opacity:.7}.date-chip{font-family:var(--mono);white-space:nowrap;padding:4px 10px}.sheet-select,.filter-select{cursor:pointer;padding:4px 8px}.btn{cursor:pointer;font-family:var(--font);border:0;justify-content:center;gap:6px;font-weight:500}.upload-btn,.wa-btn{color:#fff;border-radius:6px;min-height:30px;padding:6px 14px;font-size:12px}.upload-btn{background:var(--blue-mid)}.wa-btn,.btn-wa,.notif-send{background:var(--wa);color:#fff}.avatar{color:#fff;background:linear-gradient(135deg,#f97316,#dc2626);border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex}.filterbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 24px;display:flex}.filter-tabs{flex-wrap:wrap;gap:4px}.ftab{min-height:26px;padding:4px 12px;font-size:11px}.ftab.active{background:var(--surface2);border-color:var(--border2);color:var(--text)}.filter-right{justify-content:flex-end;gap:8px}.search-shell{background:var(--surface2);border:1px solid var(--border);color:var(--text3);border-radius:5px;gap:6px;padding-left:8px}.search-box{color:var(--text);border:0;outline:0;width:180px;padding:4px 10px 4px 0}.main{grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 95px);display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:14px 10px;overflow-y:auto}.sidebar-section{margin-bottom:18px}.sidebar-label{color:var(--text3);letter-spacing:.8px;text-transform:uppercase;margin-bottom:5px;padding:0 8px;font-size:10px;font-weight:700}.sidebar-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;width:100%;margin-bottom:2px;padding:5px 8px;display:flex}.sidebar-item.active{background:var(--blue-bg)}.sidebar-item.active .si-name{color:var(--blue-mid)}.si-left{gap:7px;min-width:0}.si-dot{border-radius:50%;flex:none;width:7px;height:7px}.si-name{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.si-badge{background:var(--surface2);border:1px solid var(--border);color:var(--text3);font-family:var(--mono);border-radius:10px;padding:1px 7px;font-size:10px}.si-badge.red{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.si-badge.orange{background:var(--orange-bg);border-color:var(--orange-border);color:var(--orange)}.content{padding:20px 24px;overflow:auto}.kpi-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.kpi-card,.panel,.table-wrap,.alert-card,.report-card{background:var(--surface);border:1px solid var(--border);border-radius:8px}.kpi-card{padding:12px 14px;position:relative;overflow:visible}.kpi-label{color:var(--text3);letter-spacing:.5px;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:600}.kpi-value{color:var(--text);font-family:var(--mono);font-size:22px;font-weight:600;line-height:1}.text-blue{color:var(--blue)}.text-green{color:var(--green)}.text-red{color:var(--red)}.kpi-sub{color:var(--text3);margin-top:3px;font-size:10px}.kpi-tag{border:1px solid #0000;border-radius:4px;margin-top:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.kpi-tag.red,.chip-critical{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.kpi-tag.orange,.chip-high{background:var(--orange-bg);border-color:var(--orange-border);color:var(--orange)}.kpi-tag.green,.chip-ok{background:var(--green-bg);color:var(--green)}.section-hdr{justify-content:space-between;align-items:center;margin:4px 0 10px;display:flex}.section-title{color:var(--text);font-size:13px;font-weight:600}.section-meta,.muted{color:var(--text3);font-size:11px}.alerts-strip{flex-direction:column;gap:5px;margin-bottom:16px;display:flex}.alert-row{background:var(--red-bg);border:1px solid var(--red-border);border-radius:6px;align-items:center;gap:10px;padding:7px 12px;display:flex}.alert-dot{background:var(--red);border-radius:50%;flex:none;width:7px;height:7px;animation:1.8s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.alert-text{color:#7f1d1d;flex:1;font-size:12px}.alert-text strong{color:var(--red)}.alert-action{background:var(--red);color:#fff;border-radius:4px;padding:4px 9px;font-size:10px}.table-wrap{margin-bottom:18px;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:880px}thead tr{background:var(--surface2)}th{border-bottom:1px solid var(--border);color:var(--text3);letter-spacing:.5px;text-align:left;text-transform:uppercase;white-space:nowrap;padding:8px 11px;font-size:10px;font-weight:700}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:7px 11px;font-size:12px}tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface2)}.priority-chip{font-family:var(--mono);white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.chip-medium{background:var(--yellow-bg);color:var(--yellow)}.chip-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.customer-tag{white-space:nowrap;border-radius:10px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.ctag-3wl{background:var(--purple-bg);color:var(--purple)}.ctag-2wl{background:var(--blue-bg);color:var(--blue-mid)}.ctag-other{background:var(--surface2);border:1px solid var(--border);color:var(--text2)}.item-code,.mono-cell,.backlog-val,.pct-num{font-family:var(--mono)}.item-code{color:var(--text2);font-size:11px;font-weight:500}.truncate-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.backlog-val{font-size:12px;font-weight:500}.backlog-val.warn,.red{color:var(--red)}.backlog-val.ok,.green{color:var(--green)}.compliance-cell{min-width:125px}.pct-bar{align-items:center;gap:7px;display:flex}.pct-track{background:var(--surface2);border:1px solid var(--border);border-radius:3px;flex:1;height:5px;overflow:hidden}.pct-fill{border-radius:3px;height:100%}.pct-fill.green,.cust-bar-fill.green{background:#16a34a}.pct-fill.orange,.cust-bar-fill.orange{background:#ea580c}.pct-fill.red,.cust-bar-fill.red{background:#dc2626}.pct-fill.yellow,.cust-bar-fill.yellow{background:#ca8a04}.pct-num{text-align:right;white-space:nowrap;min-width:42px;font-size:11px;font-weight:500}.orange{color:var(--orange)}.yellow{color:var(--yellow)}.wa-icon{background:var(--wa);color:#fff;cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.icon{flex:none;width:14px;height:14px}.pagination{background:var(--surface2);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.pg-info{color:var(--text3);font-size:11px}.pg-btns{gap:4px;display:flex}.pg-btn{background:var(--surface);border:1px solid var(--border);color:var(--text2);cursor:pointer;font-family:var(--font);border-radius:4px;width:26px;height:26px;font-size:11px}.pg-btn.active{background:var(--blue-mid);border-color:var(--blue-mid);color:#fff}.bottom-grid{grid-template-columns:minmax(0,1fr) 300px;gap:14px;display:grid}.panel{padding:14px}.panel-title{color:var(--text);margin-bottom:12px;font-size:12px;font-weight:700}.customer-row,.notif-row,.report-summary-row{align-items:center;gap:8px;display:flex}.customer-row{margin-bottom:7px}.cust-info{min-width:140px}.cust-name,.notif-name{color:var(--text);font-size:12px;font-weight:500}.cust-items,.notif-msg,.report-desc,.report-meta,.notif-name span{color:var(--text3);font-size:10px}.cust-bar-wrap{flex:1}.cust-bar-track{background:var(--surface2);border:1px solid var(--border);border-radius:3px;height:6px;overflow:hidden}.cust-bar-fill{border-radius:3px;height:100%}.cust-pct{font-family:var(--mono);text-align:right;min-width:44px;font-size:11px;font-weight:500}.notif-row{border-bottom:1px solid var(--border);align-items:flex-start;padding:8px 0}.notif-row:last-child{border-bottom:0}.notif-avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.notif-body{flex:1;min-width:0}.notif-msg{margin-top:1px;font-size:11px}.notif-time{color:var(--text3);font-family:var(--mono);font-size:10px}.notif-send{border-radius:4px;padding:3px 9px;font-size:10px}.notif-sent{color:var(--green);font-size:10px;font-weight:600}.week-tabs{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.schedule-days{color:var(--text3);text-align:center;grid-template-columns:repeat(5,1fr);gap:2px;margin:0 0 6px 180px;font-size:10px;display:grid}.schedule-row{align-items:center;gap:0;margin-bottom:3px;display:flex}.schedule-label{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;min-width:180px;padding-right:8px;font-size:11px;overflow:hidden}.schedule-bar-container{flex:1;gap:2px;display:flex}.schedule-day{border-radius:2px;flex:1;height:20px}.sday-dispatched{background:#bfdbfe}.sday-partial{background:#fde68a}.sday-zero{background:#fee2e2}.sday-na{background:var(--surface2)}.alert-card{margin-bottom:10px;padding:14px}.alert-card.critical{background:var(--red-bg);border-color:var(--red-border)}.alert-card.high{background:var(--orange-bg);border-color:var(--orange-border)}.alert-hdr{align-items:center;gap:10px;margin-bottom:8px;display:flex}.alert-time{color:var(--text3);font-family:var(--mono);margin-left:auto;font-size:10px}.alert-card-text{color:var(--text2);font-size:12px;line-height:1.6}.alert-link{color:var(--red);cursor:pointer;font-family:var(--font);background:0 0;border:0;margin-top:6px;padding:0;font-size:10px;font-weight:700}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.report-card{cursor:pointer;padding:16px}.report-card:hover{border-color:var(--blue-mid)}.report-icon{background:var(--blue-bg);color:var(--blue-mid);font-family:var(--mono);border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:8px;font-size:15px;font-weight:700;display:flex}.report-title{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.report-desc{font-size:11px}.report-meta{margin-top:12px}.report-btn{border:1px solid var(--border2);color:var(--blue-mid);background:0 0;border-radius:5px;margin-top:8px;padding:5px 12px;font-size:11px}.report-summary-row{border-bottom:1px solid var(--border);grid-template-columns:180px 1fr 220px;padding:8px 0;display:grid}.report-summary-row:last-child{border-bottom:0}.modal-overlay{z-index:200;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border2);border-radius:10px;width:480px;max-width:100%;padding:20px;box-shadow:0 8px 32px #0f172a26}.modal-hdr{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-title{color:var(--text);font-size:14px;font-weight:600}.modal-close{color:var(--text3);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.modal-field{margin-bottom:10px;display:block}.modal-label{color:var(--text3);margin-bottom:4px;font-size:11px;display:block}.modal-input{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:var(--font);border-radius:5px;outline:0;width:100%;padding:7px 10px;font-size:12px}.modal-textarea{resize:vertical;height:124px}.modal-copy{color:var(--text2);margin-bottom:12px;font-size:12px}.check-list{flex-direction:column;gap:7px;display:flex}.check-list label{color:var(--text2);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.modal-footer{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.btn-ghost,.btn-wa{border-radius:5px;padding:6px 14px;font-size:12px}.btn-ghost{border:1px solid var(--border2);color:var(--text2);background:0 0}.btn-wa{border:0;font-weight:600}.toast{background:var(--surface);border:1px solid var(--border2);border-left:4px solid var(--green);color:var(--text);z-index:240;border-radius:8px;padding:12px 14px;font-size:12px;position:fixed;bottom:18px;right:18px;box-shadow:0 10px 28px #0f172a24}.toast.info{border-left-color:var(--blue-mid)}.sr-only{width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (width<=1180px){.topbar,.filterbar{flex-direction:column;align-items:flex-start;padding:10px 16px}.topbar-nav,.topbar-right,.filter-right{flex-wrap:wrap;justify-content:flex-start}.main{grid-template-columns:220px minmax(0,1fr)}.kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=840px){.main{display:block}.sidebar{border-bottom:1px solid var(--border);border-right:0;grid-template-columns:1fr;gap:10px;max-height:none;display:grid}.sidebar-section{margin-bottom:0}.content{padding:16px}.kpi-strip,.bottom-grid,.report-grid{grid-template-columns:1fr}.filterbar{gap:10px}.filter-right,.search-shell,.search-box,.sheet-select{width:100%}.filter-select{flex:180px}.section-hdr,.alert-row,.pagination{flex-direction:column;align-items:flex-start}.alert-action{align-self:flex-start}.schedule-days{margin-left:120px}.schedule-label{min-width:120px}.report-summary-row{grid-template-columns:1fr}}@media (width<=520px){.topbar-brand{flex-wrap:wrap}.nav-item,.ftab{flex:auto}.topbar-nav,.filter-tabs,.date-chip,.upload-btn,.wa-btn{width:100%}.kpi-strip{gap:8px}.customer-row,.notif-row{flex-direction:column;align-items:flex-start}.cust-info,.cust-bar-wrap{width:100%}.modal-footer{flex-direction:column-reverse}}.user-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.action-cell{gap:6px;display:flex}.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;font-family:var(--font);border-radius:6px;padding:6px 14px;font-size:12px}.role-pill{border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.rp-admin{background:var(--purple-bg);color:var(--purple)}.rp-dispatch{background:var(--green-bg);color:var(--green)}.rp-view{background:var(--surface2);border:1px solid var(--border);color:var(--text3)}.selected-file{color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:6px;align-items:center;padding:0 10px;font-size:12px;display:flex}.create-user-card{background:#fff;border-radius:12px;width:520px;max-width:90vw;padding:24px}.create-user-header{margin-bottom:20px;font-size:20px;font-weight:600}.create-user-body{gap:14px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:13px;font-weight:600}.field input,.field select{height:40px;padding:0 12px}.create-user-footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.avatar-wrapper{align-items:center;display:flex;position:relative}.avatar-icon{cursor:pointer;color:#1e293b;background:#eef2ff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.avatar-icon:hover{background:#e0e7ff}.avatar-dropdown{z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:140px;position:absolute;top:46px;right:0;box-shadow:0 10px 25px #00000014}.dropdown-item{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 12px;font-size:14px}.dropdown-item:hover{background:#f3f4f6}.dropdown-item.danger{color:#dc2626}.pagination{background:var(--surface2);border-top:1px solid var(--border);align-items:center;gap:16px;padding:8px 13px;display:flex}.pg-info{min-width:160px;color:var(--text3);font-size:11px}.page-size{align-items:center;gap:8px;margin-left:auto;margin-right:20px;display:flex}.page-size label{white-space:nowrap;color:var(--text2);font-size:12px}.page-size input{border:1px solid var(--border);background:#fff;border-radius:4px;width:70px;height:30px;padding:0 8px;font-size:12px}.pg-btns{align-items:center;gap:4px;display:flex}.pg-nav-btn{border:1px solid var(--blue-mid);background:var(--blue-mid);color:#fff;cursor:pointer;border-radius:4px;width:28px;height:28px;font-size:13px;font-weight:600;transition:all .2s}.pg-nav-btn:hover:not(:disabled){background:#1d4ed8}.pg-nav-btn:disabled{color:#8b8b8b;cursor:not-allowed;background:#d1d5db;border-color:#d1d5db}.apply-btn{background:var(--blue-mid);color:#fff;cursor:pointer;border:none;border-radius:4px;height:30px;padding:0 16px;font-size:12px;font-weight:600}.apply-btn:hover{background:#1d4ed8}.apply-btn:active{transform:translateY(1px)}.import-file-wrapper{align-items:center;gap:10px;display:flex}.selected-dispatch-file{background:var(--surface2);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;max-width:240px;padding:4px 10px;display:flex}.selected-file-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text2);font-size:12px;overflow:hidden}.remove-file-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:50%;flex-shrink:0;width:18px;height:18px;padding:0;font-size:14px;line-height:18px;transition:background .2s}.remove-file-btn:hover{background:#dc2626}.kpi-value-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.kpi-info-wrapper{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.kpi-info-icon{background:var(--surface2);border:1px solid var(--border);width:14px;height:14px;color:var(--blue-mid);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.kpi-tooltip{background:var(--surface);border:1px solid var(--border);color:var(--text2);white-space:normal;word-break:break-word;opacity:0;visibility:hidden;pointer-events:none;z-index:9999;border-radius:10px;width:max-content;max-width:260px;padding:8px 10px;font-size:11px;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 10px 25px #00000026}.kpi-tooltip:after{content:"";background:var(--surface);border-left:1px solid var(--border);border-top:1px solid var(--border);width:10px;height:10px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.kpi-info-icon:hover+.kpi-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.processing-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:99999;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.processing-card{text-align:center;background:#fff;border-radius:12px;width:420px;max-width:90%;padding:32px;box-shadow:0 20px 60px #0003}.processing-card h3{margin:20px 0 10px;font-size:22px}.processing-card p{color:#555;margin:0}.processing-card small{color:#888;margin-top:12px;display:block}.processing-spinner{border:5px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:56px;height:56px;margin:auto;animation:1s linear infinite processing-spin}@keyframes processing-spin{to{transform:rotate(360deg)}}.alerts-toolbar{background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:18px 20px;display:flex;box-shadow:0 2px 8px #0000000d}.alerts-filter-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-label{color:#475569;margin-right:8px;font-size:14px;font-weight:600}.filter-chip{color:#475569;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:500;transition:all .2s}.filter-chip:hover{color:#2563eb;background:#f8fafc;border-color:#2563eb}.filter-chip.active{color:#fff;background:#2563eb;border-color:#2563eb}.alerts-date-filter{align-items:center;gap:10px;display:flex}.alerts-date-filter label{color:#475569;font-size:14px;font-weight:600}.customer-search-dropdown-wrapper{flex-shrink:0;width:220px;position:relative}.customer-search-dropdown-wrapper .search-shell,.customer-search-dropdown-wrapper .search-box{width:100%}.customer-dropdown{background:var(--surface);border:1px solid var(--border);z-index:99999;border-radius:6px;width:100%;max-height:280px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden auto;box-shadow:0 8px 24px #0f172a1f}.customer-dropdown::-webkit-scrollbar{width:6px}.customer-dropdown::-webkit-scrollbar-thumb{background:var(--border2);border-radius:10px}.customer-dropdown::-webkit-scrollbar-track{background:0 0}.customer-dropdown .dropdown-item{font-family:var(--font);color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:8px 12px;font-size:12px;transition:background .15s;overflow:hidden}.customer-dropdown .dropdown-item:hover{background:var(--surface2)}.customer-dropdown .dropdown-item:not(:last-child){border-bottom:1px solid var(--border)}.login-page{background:#f4f7fb;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:14px;width:420px;padding:32px;box-shadow:0 10px 35px #00000014}.login-logo{text-align:center;margin-bottom:28px}.login-logo .logo-mark{color:#fff;background:#2563eb;border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;margin:auto;font-size:24px;font-weight:700;display:flex}.login-logo h2{margin:14px 0 4px}.login-logo p{color:#64748b}.form-group{margin-bottom:18px}.form-group label{margin-bottom:8px;font-weight:600;display:block}.form-group input{border:1px solid #dbe3ec;border-radius:8px;width:100%;height:44px;padding:0 12px}.login-error{color:#b91c1c;background:#fee2e2;border-radius:8px;margin-bottom:18px;padding:10px 12px;font-size:13px}.field-error{color:#dc2626;margin-top:6px;font-size:12px;display:block}.login-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;width:100%;height:46px;font-weight:600}
