:root{--background: 0 0% 100%;--foreground: 173 40% 10%;--card: 0 0% 100%;--card-foreground: 173 40% 10%;--popover: 0 0% 100%;--popover-foreground: 173 40% 10%;--primary: 173 60% 50%;--primary-foreground: 0 0% 100%;--secondary: 173 30% 96%;--secondary-foreground: 173 60% 20%;--muted: 173 20% 96%;--muted-foreground: 173 15% 45%;--accent: 173 30% 94%;--accent-foreground: 173 80% 25%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 173 20% 92%;--input: 173 20% 92%;--ring: 173 80% 40%;--success: 142 76% 36%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 100%;--info: 217 91% 60%;--info-foreground: 0 0% 100%;--radius: .25rem;--radius-lg: .5rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-12: 3rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1)}.dark{--background: 173 40% 4%;--foreground: 173 10% 98%;--card: 173 30% 8%;--card-foreground: 173 10% 98%;--popover: 173 40% 4%;--popover-foreground: 173 10% 98%;--primary: 173 60% 50%;--primary-foreground: 0 0% 100%;--secondary: 173 30% 12%;--secondary-foreground: 173 10% 98%;--muted: 173 30% 12%;--muted-foreground: 173 10% 65%;--accent: 173 30% 15%;--accent-foreground: 173 10% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 173 30% 15%;--input: 173 30% 15%;--ring: 171 77% 55%;--success: 142 71% 45%;--success-foreground: 173 40% 4%;--warning: 38 92% 50%;--warning-foreground: 173 40% 4%;--info: 217 91% 60%;--info-foreground: 173 40% 4%;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .6)}*{box-sizing:border-box;border-color:hsl(var(--border))}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"rlig" 1,"calt" 1;background-color:hsl(var(--background));color:hsl(var(--foreground));line-height:1.5}#root{height:100vh;width:100vw;display:flex;flex-direction:column}button:focus-visible,input:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}@media(hover:none)and (pointer:coarse){button:active{transform:scale(.98)}}button{cursor:pointer;border:none;padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;transition:all .2s}button:hover{opacity:.9}button:disabled{opacity:.5;cursor:not-allowed}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.h-screen{height:100vh}.h-full{height:100%}.h-12{height:48px}.h-8{height:32px}.h-5{height:20px}.w-full{width:100%}.w-8{width:32px}.w-5{width:20px}.w-4{width:16px}.min-h-0{min-height:0}.min-h-12{min-height:48px}.min-w-0{min-width:0}.p-1{padding:4px}.p-2{padding:8px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-6{padding-left:24px;padding-right:24px}.py-2{padding-top:8px;padding-bottom:8px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.mb-1{margin-bottom:4px}.page-container{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;height:100%;width:100%;max-width:1600px;margin:0 auto;overflow-y:auto}.page-header{margin-bottom:.5rem;display:flex;flex-direction:column;gap:.25rem}.page-title{font-size:1.875rem;line-height:2.25rem;font-weight:700;letter-spacing:-.025em;color:hsl(var(--foreground))}.page-description{font-size:.875rem;color:hsl(var(--muted-foreground))}.text-center{text-align:center}.text-right{text-align:right}.text-lg{font-size:18px;line-height:28px}.text-sm{font-size:14px;line-height:20px}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-bold{font-weight:700}.bg-background{background-color:hsl(var(--background))}.bg-muted{background-color:hsl(var(--muted))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-card{background-color:hsl(var(--card))}.text-foreground{color:hsl(var(--foreground))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-primary{color:hsl(var(--primary))}.text-secondary{color:hsl(var(--secondary))}.border-border{border-color:hsl(var(--border))}.border-muted-foreground{border-color:hsl(var(--muted-foreground))}.border-primary{border-color:hsl(var(--primary))}.bg-success{background-color:hsl(var(--success))}.bg-warning{background-color:hsl(var(--warning))}.bg-info{background-color:hsl(var(--info))}.text-success{color:hsl(var(--success))}.text-warning{color:hsl(var(--warning))}.text-info{color:hsl(var(--info))}.text-success-foreground{color:hsl(var(--success-foreground))}.text-warning-foreground{color:hsl(var(--warning-foreground))}.text-info-foreground{color:hsl(var(--info-foreground))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.border{border-width:1px;border-style:solid}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-2{border-width:2px;border-style:solid}.border-dashed{border-style:dashed}.rounded-md{border-radius:4px}.rounded-none{border-radius:0}.rounded-full{border-radius:9999px}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.z-10{z-index:10}.z-1{z-index:1}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.hidden{display:none}.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.animate-in{animation-name:enter;animation-duration:.15s;animation-timing-function:ease-out;animation-fill-mode:both}.fade-in-0{animation-name:fade-in}.zoom-in-95{animation-name:zoom-in}@keyframes enter{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes zoom-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-from-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-in-from-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes loading-spin{to{transform:rotate(360deg)}}.rotate-180{transform:rotate(180deg)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:inherit;position:fixed;top:0;left:0;z-index:9999;transition:opacity .4s ease-out,visibility .4s}.loading-screen.fade-out{opacity:0;visibility:hidden}.spinner{width:42px;height:42px;border:3px solid hsl(var(--primary) / .15);border-top-color:hsl(var(--primary));border-radius:50%;animation:loading-spin .8s cubic-bezier(.4,0,.2,1) infinite;box-shadow:0 0 15px -5px hsl(var(--primary) / .3)}.spinner-container{position:relative;display:flex;align-items:center;justify-content:center}.spinner-pulse{position:absolute;width:42px;height:42px;border-radius:50%;background-color:hsl(var(--primary));opacity:.1;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:.1}50%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:.1}}.ag-right-aligned-cell{text-align:right!important}.ring-8{box-shadow:0 0 0 8px hsl(var(--card))}.flow-root{display:flow-root}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-none{box-shadow:none}
