@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.break-period{background-color:#fc1408ba;height:"100%";z-index:1}.break-indicator{background-color:#fff;border-radius:50%;box-shadow:0 0 3px #0000004d;padding:2px;position:absolute;top:-20px;z-index:10}.break-indicator svg{color:#ff9800;display:block}.shift{bottom:0;height:calc(100% - 20px);overflow:visible}.fixed-buttons{display:flex;gap:10px;left:20px;position:fixed;top:20px;z-index:1000}.fixed-buttons button{background-color:#007bff9d;border:none;border-radius:5px;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;font-size:16px;padding:10px 15px;transition:background-color .3s ease}.fixed-buttons button:hover{background-color:#0056b3}.fixed-buttons button:disabled{background-color:#cccccca0;cursor:not-allowed}.generate-schedule-button{background-color:#28a746b1;left:50%;position:fixed;top:20px;transform:translateX(-50%);z-index:1000}.generate-schedule-button,.logout_button{border:none;border-radius:5px;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;font-size:16px;padding:10px 15px;transition:background-color .3s ease}.logout_button{background-color:#dc2626;position:relative;right:auto;top:auto}.logout_button:hover{background-color:#b91c1c}.generate-schedule-button:hover{background-color:#218838}.generate-schedule-button:disabled{background-color:#ccc;cursor:not-allowed}.schedule-dashboard,body{font-family:Arial,sans-serif}.schedule-dashboard{background-color:#fff;color:#000;padding:16px}.dashboard-title{font-size:24px;font-weight:700;margin-bottom:16px;margin-top:70px}.schedule-container{overflow-x:auto}.time-slots{background-color:#fff;border-bottom:1px solid #333;display:flex;margin-left:20px;margin-top:50px;position:sticky;z-index:10}.time-slot{flex:1 1;min-width:50px;position:relative;text-align:center}.time-label{font-size:10px;padding:4px 0}.time-line{background-color:#333;bottom:-1px;left:0;position:absolute;top:100%;width:1px}.day-schedule{margin-bottom:10px;margin-right:40px}.day-title{font-size:25px;margin-bottom:10px}.schedule-grid{grid-gap:1px;background-color:#333;display:grid;gap:1px;grid-template-columns:60px 1fr;padding:1px}.schedule-row{background-color:#fff;display:contents}.row-label{background-color:#fff;font-weight:700;padding-top:7px;text-align:center;width:60px}.shifts-container{background-color:#fff;flex-grow:1;height:32px;position:relative}.shift{align-items:center;box-sizing:border-box;cursor:pointer;display:flex;height:100%;justify-content:center;min-width:30px;overflow:hidden;padding:0 5px;position:absolute}.shift-content{font-size:12px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.shift.staff.shape-of-day{background-color:rgba(37,230,37,.532)}.shift.staff.shape-of-day,.shift.stint.shape-of-day{border-bottom:1px dashed #0000;border-color:#0000 currentcolor;border-top:1px dashed #0000}.shift.stint.shape-of-day{background-color:rgba(100,126,255,.838)}.shift.staff.scheduled{background-color:rgba(1,141,76,.769);border:1px solid rgba(69,94,85,.399)}.shift.cleaner.scheduled{background-color:rgba(88,168,194,.769);border:1px solid rgba(15,118,81,.399)}.shift.manager.scheduled{background-color:rgba(199,230,20,.717);border:1px solid rgba(15,118,81,.399)}.shift.server.scheduled{background-color:rgba(38,152,99,.769);border:1px solid rgba(69,94,85,.399)}.shift.stint.scheduled{background-color:rgba(70,100,248,.838)}.shift.stint.scheduled,.shift.tbc.scheduled{border-bottom:1px solid #0000;border-color:#0000 currentcolor;border-top:1px solid #0000}.shift.tbc.scheduled{background-color:rgba(221,33,26,.706)}input[type=file]{margin-bottom:10px}.hidden-text{color:#0000}.generate-schedule-container{display:flex;justify-content:center}.generate-schedule button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:20px;margin-top:20px;padding:5px 10px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.schedule-controls{display:flex;justify-content:center;margin:20px 0}.schedule-controls button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin:0 5px;padding:5px 10px}.schedule-controls span{margin-left:20px}.total-coverages{display:flex;gap:20px;justify-content:center;margin-bottom:20px;margin-top:20px}.total-coverage-summary{background-color:#f0f0f0;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-basis:calc(50% - 10px);flex-grow:0;flex-shrink:1;max-width:400px;padding:15px}.total-coverage-summary h2{font-size:1.2em;margin-bottom:10px;text-align:center}.total-coverages:only-child .total-coverage-summary{flex-basis:100%;max-width:400px}.total-coverage-summary{border-radius:4px;display:block;font-weight:700;margin-bottom:5px;padding:10px;text-align:center}.coverage-summary{background-color:#f0f0f0;border-radius:5px;display:flex;justify-content:space-around;margin-bottom:10px;margin-top:10px;padding:2px}.coverage-correct,.coverage-over,.coverage-title,.coverage-under{border-radius:3px;font-size:.9em;margin:3px;padding:5px 10px}.coverage-under{background-color:#ff00001a;color:#d32f2f}.coverage-over{background-color:#ffa5001a;color:#f57c00}.coverage-correct{background-color:#00ff001a;color:#388e3c}@media (max-width:768px){.total-coverages{align-items:center;flex-direction:column}.total-coverage-summary{flex-basis:100%;margin-bottom:15px;max-width:100%}}

/* ! tailwindcss v3.4.9 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.right-4{right:1rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-10{height:2.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-px{height:1px}.max-h-96{max-height:24rem}.w-11{width:2.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-72{width:18rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-lg{max-width:32rem}.flex-1{flex:1 1}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:#0000}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-4{padding-top:1rem}.pb-4,.py-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.text-center{text-align:center}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.schedule-scores-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.schedule-scores{background-color:#f0f0f0;border-radius:8px;margin-top:20px;max-width:500px;padding:15px;width:100%}.schedule-scores-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.overall-score,.schedule-scores h2{margin-bottom:10px}.overall-score{font-size:1.2em;font-weight:700}.toggle-scores-btn{align-items:center;background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;padding:8px 16px}.toggle-scores-btn:hover{background-color:#0056b3}.schedule-scores table{border-collapse:collapse;margin-top:10px;width:100%}.schedule-scores td,.schedule-scores th{border-bottom:1px solid #ddd;padding:8px;text-align:left}.schedule-scores th{background-color:#e0e0e0;font-weight:700}.schedule-scores tr:nth-child(2n){background-color:#f8f8f8}.schedule-scores tr:hover{background-color:#e8e8e8}.rules-section{margin-top:20px}.rules-section h3{margin-bottom:10px}.accordion-trigger{background-color:#e0e0e0;border:none;cursor:pointer;padding:10px;text-align:left;width:100%}.accordion-content{background-color:#f8f8f8;padding:10px}@media (max-width:768px){.schedule-scores{max-width:100%}}.notification{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:4px;color:#856404;margin-bottom:15px;padding:10px;text-align:center}.config-panel{border:1px solid #ccc;border-radius:4px;margin-top:20px;padding:16px}.config-panel-content{margin-top:16px}.config-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.config-item input{width:100px}.dashboard-buttons{display:flex;gap:10px;position:fixed;right:20px;top:20px;z-index:1000}.download_button{align-items:center;background-color:#4caf4fab;border:none;border-radius:5px;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:10px 15px;position:relative;right:auto;top:auto;transition:background-color .3s ease}.download_button:hover{background-color:#45a049}.download_button svg{margin-right:8px}.role-title{font-size:1.2em;font-weight:700;margin-bottom:5px;margin-top:10px;padding-left:60px}.role-schedule{margin-bottom:15px}.busy-periods-container{height:24px;margin-left:60px;margin-top:4px;position:relative}.busy-period-row{align-items:center;display:flex;height:12px;position:relative}.busy-periods-legend{font-size:10px;height:100%;left:-60px;position:absolute;top:0;width:55px}.busy-periods-legend,.legend-item{align-items:center;display:flex}.legend-color{height:6px;margin-right:2px;width:10px}.legend-label{white-space:nowrap}.day-busy-periods,.week-busy-periods{height:6px;left:0;position:absolute;right:0}.selection-container{background-color:#f8f9fa;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.selection-container select{background-color:#fff;border:1px solid #e2e8f0;border-radius:.375rem;color:#1a202c;font-size:.875rem;padding:.5rem;transition:border-color .2s}.selection-container select:hover{border-color:#cbd5e0}.selection-container select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e126;outline:none}.load-data-btn{align-items:center;background-color:#4299e1;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;height:38px;padding:.5rem 1rem;transition:background-color .2s}.load-data-btn:hover{background-color:#3182ce}.load-data-btn:disabled{background-color:#a0aec0;cursor:not-allowed}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:initial}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem}.data-\[state\=checked\]\:translate-x-5[data-state=checked],.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[state\=checked\]\:border-blue-500[data-state=checked]{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.data-\[state\=unchecked\]\:border-gray-400[data-state=unchecked]{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.data-\[state\=checked\]\:bg-blue-100[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=unchecked\]\:bg-gray-200[data-state=unchecked]{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}.\[\&\>span\]\:line-clamp-1>span{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.file-upload-section{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.file-upload-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.file-upload-item{display:flex;flex-direction:column}.file-upload-label{color:#333;font-weight:700;margin-bottom:5px}.file-input-wrapper{display:inline-block;position:relative}.file-input{left:-9999px;opacity:0;position:absolute}.file-input-button{align-items:center;background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;padding:10px 20px;text-align:center;text-decoration:none;transition:background-color .3s}.file-input-button svg{margin-right:8px}.file-input-button:hover,.file-input:focus+.file-input-button{background-color:#45a049}.upload-defaults-btn{align-items:center;background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;padding:10px 20px;text-align:center;text-decoration:none;transition:background-color .3s}.upload-defaults-btn svg{margin-right:8px}.upload-defaults-btn:hover{background-color:#2980b9}.selection-controls-container{align-items:flex-start;display:flex;gap:1rem}.selection-controls{background-color:#fff;border-radius:.375rem;color:#0f172a;font-size:.875rem;margin-bottom:1rem;max-width:600px;min-width:500px;padding:.75rem 1rem;width:50%}.selection-row{align-items:center;display:flex;flex-wrap:wrap;margin-bottom:.75rem;position:relative}.selection-row label{color:#94a3b8;flex-shrink:0;font-size:.75rem;font-weight:500;width:150px}.selection-row input,.selection-row select{background-color:#fff;border:1px solid #e2e8f0;border-radius:.25rem;color:#0f172a;flex:1 1;font-size:.75rem;height:2rem;padding:.375rem .75rem}.selection-row input.validation-error,.selection-row select.validation-error{background-color:#fef2f2;border-color:#ef4444}.error-message{color:#ef4444;font-size:.7rem;margin-left:150px;margin-top:.25rem;width:100%}.date-range-error,.time-range-error{color:#ef4444;font-size:.75rem;margin-bottom:.5rem;text-align:left;width:100%}.selection-row select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1em;padding-right:2rem}.selection-row input:focus,.selection-row select:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f640;outline:none}.date-time-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.icon-label{align-items:center;display:flex}.icon-label svg{color:#94a3b8;height:.875rem;margin-right:.375rem;width:.875rem}.test-request-btn{background-color:#4f46e5;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;height:fit-content;margin-top:.5rem;padding:.75rem 1rem;transition:background-color .2s;white-space:nowrap}.test-request-btn:hover{background-color:#4338ca}.test-request-btn:disabled{background-color:#9ca3af;cursor:not-allowed}@media (max-width:1200px){.selection-controls{width:40%}}@media (max-width:768px){.selection-controls-container{align-items:stretch;flex-direction:column}.selection-controls{min-width:auto;width:90%}.test-request-btn{align-self:flex-start}}.team-overview{margin-top:20px}.team-subtitle{color:#000;font-size:2rem;margin-bottom:1rem;margin-top:1rem}.team-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.team-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));justify-items:center}.team-member-card{border:1px solid #ccc;border-radius:.5rem;margin:0 auto;max-width:370px;min-width:330px;overflow:hidden;padding:10px;transition:opacity .3s ease,filter .3s ease;width:100%}.add-member-card{align-items:center;background-color:#f9f9f9;border:2px dashed #ccc;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:200px;transition:all .3s ease}.add-member-card:hover{background-color:#f0f7ff;border-color:#3b82f6}.add-icon{color:#666;margin-bottom:10px;transition:color .3s ease}.add-member-card:hover .add-icon{color:#3b82f6}.add-text{color:#666;font-size:1rem;font-weight:500;transition:color .3s ease}.add-member-card:hover .add-text{color:#3b82f6}.new-member-form{background-color:#fff;box-shadow:0 4px 6px #0000001a;margin:20px auto;max-width:500px;position:relative;z-index:10}.form-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.form-header h3{color:#333;font-size:1.2rem;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;justify-content:center;padding:5px;transition:background-color .3s ease}.close-button:hover{background-color:#f0f0f0;color:#333}.form-body{gap:12px}.form-body,.form-field{display:flex;flex-direction:column}.form-field{gap:5px}.form-field label{color:#555;font-size:.9rem;font-weight:500}.form-input,.form-select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:8px 10px;transition:border-color .3s ease}.form-input:focus,.form-select:focus{border-color:#3b82f6;outline:none}.form-field-switch{align-items:center;display:flex;justify-content:space-between}.form-field-switch label{color:#555;font-size:.9rem;font-weight:500}.add-member-button{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:10px;padding:10px;transition:background-color .3s ease}.add-member-button:hover{background-color:#2563eb}.secondary-roles-section{margin:10px 0}.secondary-roles-header{margin-bottom:5px}.secondary-roles-tags{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.role-tag{align-items:center;background-color:#e5e7eb;border-radius:16px;color:#4b5563;display:flex;font-size:.85rem;max-width:150px;padding:4px 10px}.role-tag span{margin-right:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-tag-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:0;transition:color .2s ease}.remove-tag-btn:hover{color:#ef4444}.add-role-tag{align-items:center;background-color:#f3f4f6;border:1px dashed #d1d5db;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .2s ease;width:24px}.add-role-tag:hover{background-color:#e5e7eb;border-color:#3b82f6;color:#3b82f6}.add-role-tag:disabled{background-color:#f3f4f6;border-color:#d1d5db;color:#9ca3af;cursor:not-allowed;opacity:.5}.add-role-input-container{align-items:center;display:flex;gap:5px;max-width:200px}.add-role-select{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:.85rem;min-width:150px;padding:4px 8px}.add-role-select:focus{border-color:#3b82f6;outline:none}.add-role-input{border:1px solid #d1d5db;border-radius:4px;flex:1 1;min-width:100px}.add-role-btn,.add-role-input{font-size:.85rem;padding:4px 8px}.add-role-btn{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background-color .2s ease}.add-role-btn:hover{background-color:#2563eb}.form-secondary-roles{margin-top:5px}.role-group{margin-bottom:30px}.role-title{border-bottom:1px solid #e5e7eb;color:#4b5563;font-size:1.2rem;margin-bottom:15px;padding-bottom:8px}.role-members{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:flex-start}.role-members .team-member-card{margin:0}.inactive-member{background-color:#f5f5f5;border-color:#ddd;filter:grayscale(70%);opacity:.6}.inactive-member .assigned-hours,.inactive-member .team-member-name,.inactive-member .team-member-role{color:#999}.team-member-header{display:flex;flex-direction:column;gap:10px}.team-member-info-bottom,.team-member-info-top{align-items:center;display:flex;justify-content:space-between}.team-member-name-container{align-items:center;display:flex;max-width:350px;white-space:wrap}.name-text{font-size:1.2em;font-weight:700;margin-right:5px;max-width:200px;white-space:wrap}.average-hours{background-color:#f5f5f5;border-radius:4px;color:#666;font-size:.85em;font-weight:400;padding:2px 5px;white-space:nowrap}.team-member-role{color:#666}.assigned-hours{border-radius:4px;color:#666;font-size:.9em;padding:2px 4px;transition:background-color .3s ease-out}.assigned-hours.highlight{background-color:#ff9;transition:background-color 0s}@keyframes highlightFade{0%{background-color:#ff9}to{background-color:initial}}.can-manage-shifts{align-items:center;display:flex}.team-member-label{margin-right:5px}.active-worker{align-items:center;display:flex;margin-left:10px}@media (max-width:400px){.team-member-info-right{align-items:flex-start;flex-direction:column}.assigned-hours{margin-bottom:5px}}.availability-container{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.availability-day{border:1px solid #3b82f6;border-radius:.25rem;cursor:pointer;font-size:.75rem;padding:.25rem .5rem}.preferences-toggle{align-items:center;background-color:#f0f0f0;border-radius:4px;cursor:pointer;display:flex;justify-content:center;margin-top:8px;padding:8px}.preferences-toggle:hover{background-color:#e0e0e0}.availability-day.selected{background-color:#2563eb;border:1px solid #2563eb;color:#fff}.hours-input{border-radius:4px;margin-left:10px;padding:5px;width:45px}.availability-day.disabled{background-color:#e0e0e0;border-color:#ccc;color:#888;cursor:not-allowed;opacity:.7}.availability-day.disabled.selected{background-color:#9e9e9e;border-color:#9e9e9e;color:#f5f5f5}.shift-details-dialog{background-color:#00000080}.shift-details-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.shift-details-header{background-color:#2ba733;border-top-left-radius:8px;border-top-right-radius:8px;color:#fff;padding:1rem}.shift-details-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.shift-details-description{color:#e2e8f0;font-size:.875rem}.shift-details-body{flex-grow:1;overflow-y:auto;padding:1rem}.shift-details-section{margin-bottom:1.5rem}.shift-details-section-title{color:#2d3748;font-size:1.125rem;font-weight:600;margin-bottom:.75rem}.employee-accordion{border:1px solid #e2e8f0;border-radius:4px;margin-bottom:.5rem}.employee-accordion-header{align-items:center;background-color:#f7fafc;cursor:pointer;display:flex;font-weight:600;justify-content:space-between;padding:.75rem 1rem}.employee-accordion-content{background-color:#fff;padding:.75rem 1rem}.rule-accordion{border:1px solid #e2e8f0;border-radius:4px;margin-bottom:.5rem}.rule-accordion-header{align-items:center;background-color:#f7fafc;cursor:pointer;display:flex;font-weight:500;justify-content:space-between;padding:.5rem .75rem}.rule-accordion-content{background-color:#fff;padding:.5rem .75rem}.sub-rule{font-size:.875rem;margin-bottom:.5rem}.sub-rule-name{font-weight:500}.sub-rule-status{margin-left:.5rem}.sub-rule-status.passed{color:#38a169}.sub-rule-status.failed{color:#e53e3e}.sub-rule-points{margin-left:.5rem}.sub-rule-details{color:#4a5568;font-size:.8125rem;margin-top:.25rem}.points-positive{color:#38a169}.points-negative{color:#e53e3e}body{font-family:Inter,sans-serif}.config-panel{background-color:#f8f9fa;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;margin-top:1.5rem}.config-panel-header{align-items:center;background-color:#e9ecef;border-bottom:1px solid #dee2e6;border-top-left-radius:.5rem;border-top-right-radius:.5rem;cursor:pointer;display:flex;justify-content:space-between;padding:1rem}.config-panel-header h2{align-items:center;color:#343a40;display:flex;font-size:1.25rem;font-weight:600}.settings-icon{color:#495057;margin-right:.5rem}.config-panel-content{display:flex;flex-direction:column;gap:2rem;padding:1.5rem}.ordered-days{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000000d;padding:1rem}.ordered-days-label{color:#495057;display:block;font-weight:600;margin-bottom:.75rem}.ordered-days-container{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.day-item{align-items:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem;display:flex;gap:.25rem;padding:.5rem .75rem;white-space:nowrap}.day-item.dragging,.day-item:hover{background-color:#dee2e6}.day-item.dragging{box-shadow:0 4px 8px #0000001a}.config-input{border:1px solid #ced4da;border-radius:.25rem;max-width:170px;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.config-input:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40}.number-input{width:80px}.roles-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.role-config-box{background-color:#fff;border:1px solid #dee2e6;border-radius:.5rem;box-shadow:0 2px 4px #0000000d;padding:1.25rem;transition:box-shadow .3s ease-in-out;width:100%}.role-config-box:hover{box-shadow:0 4px 8px #0000001a}.role-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.role-title{color:#343a40;font-size:1.1rem;font-weight:600}.role-rules{grid-gap:1rem;display:grid;gap:1rem}.rule-box{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:.5rem;overflow-wrap:break-word;padding:1rem;transition:box-shadow .3s ease-in-out,opacity .3s ease-in-out;word-break:break-word}.rule-box:hover{box-shadow:0 2px 4px #0000001a}.rule-box.inactive{background-color:#e9ecef;opacity:.6}.rule-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.rule-name{color:#495057;font-size:1rem;font-weight:600;margin:0}.role-config-box.inactive{background-color:#f1f3f5;opacity:.6}.rule-params{grid-gap:.75rem;display:grid;gap:.75rem}.rule-param-item{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:1fr auto}.input-disabled{background-color:#e9ecef;cursor:not-allowed}.switch{display:inline-block;height:34px;position:relative;width:60px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:26px;left:4px;width:26px}input:checked+.slider{background-color:#2196f3}input:checked+.slider:before{transform:translateX(26px)}.PopoverContent{border:1px solid #e2e8f0!important;border-radius:.5rem!important;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important;width:80%!important;z-index:50!important}.PopoverContent,[data-radix-popper-content-wrapper]{background-color:#fff!important}.PopoverContent .SelectContent,.PopoverContent .SelectTrigger{background-color:#fff;border:1px solid #d1d5db}.PopoverContent button{background-color:#f3f4f6;border:1px solid #d1d5db}.PopoverContent button:hover{background-color:#e5e7eb}.constraints-container{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000000d;margin:1.5rem 0;padding:1rem}.constraints-header{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase}.constraints-grid{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.constraint-item{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:.375rem;display:flex;flex:1 0 300px;justify-content:space-between;margin-bottom:.5rem;padding:.5rem .75rem}.constraint-name{color:#495057;font-size:.9rem;font-weight:500}.constraint-switch{margin-left:1rem}.breaks-config-compact{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.breaks-label{color:#495057;font-size:.85rem;font-weight:500;white-space:nowrap}.breaks-chips{flex-wrap:wrap;gap:.25rem}.break-chip,.breaks-chips{align-items:center;display:flex}.break-chip{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:1rem;font-size:.8rem;gap:.2rem;padding:.25rem .5rem}.break-range-input{-moz-appearance:textfield;border:1px solid #dee2e6!important;border-radius:.2rem!important;font-size:.7rem!important;height:22px!important;padding:.05rem .2rem!important;text-align:center;width:28px!important}.break-range-input::-webkit-inner-spin-button,.break-range-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.break-length-input{-moz-appearance:textfield;border:1px solid #dee2e6!important;border-radius:.2rem!important;font-size:.7rem!important;height:22px!important;padding:.05rem .2rem!important;text-align:center;width:24px!important}.break-length-input::-webkit-inner-spin-button,.break-length-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.break-separator{font-weight:500}.break-arrow,.break-separator{color:#6c757d;font-size:.75rem}.break-arrow{margin:0 .1rem}.break-unit{color:#6c757d;font-size:.7rem;font-weight:400}.break-remove-btn{align-items:center!important;background:none!important;border:none!important;color:#dc3545!important;display:flex!important;font-size:.9rem!important;height:20px!important;justify-content:center!important;padding:0!important;width:20px!important}.break-remove-btn:hover{background-color:#dc3545!important;border-radius:50%!important;color:#fff!important}.break-add-btn{align-items:center!important;background-color:initial!important;border:1px dashed #6c757d!important;border-radius:50%!important;color:#6c757d!important;display:flex!important;font-size:.9rem!important;height:24px!important;justify-content:center!important;padding:0!important;width:24px!important}.break-add-btn:hover{background-color:#6c757d!important;border-style:solid!important;color:#fff!important}.login-container{align-items:center;background-color:#f0f0f0;display:flex;height:100vh;justify-content:center}.login-form{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:2rem;width:100%}.login-form h2{text-align:center}.form-group,.login-form h2{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem}.form-group input{width:100%}
/*# sourceMappingURL=main.6f401432.css.map*/