@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap);*,: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: }::backdrop{--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: }/*
! tailwindcss v3.4.17 | 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}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]:where(:not([hidden=until-found])){display:none}.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}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{bottom:0;top:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-screen{max-height:100vh}.min-h-\[60px\]{min-height:60px}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-full{width:100%}.w-max{width:-webkit-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.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}.max-w-max{max-width:-webkit-max-content;max-width:max-content}.flex-1{flex:1 1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\[--radix-menubar-content-transform-origin\]{transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{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-1\/2{--tw-translate-y:-50%}.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%}.rotate-45{--tw-rotate:45deg}.rotate-45,.rotate-90{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))}.rotate-90{--tw-rotate:90deg}.transform{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))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.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))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.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)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-\[inherit\]{border-radius:inherit}.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}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/50{border-color:hsl(var(--primary)/.5)}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:hsl(var(--primary)/.2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:initial}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.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-0\.5{padding-bottom:.125rem;padding-top:.125rem}.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-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.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-normal{font-weight:400}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground)/.5)}.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-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.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)}.ring-0,.ring-1{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-1{--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)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.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,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;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-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@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))}}.animate-in{--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}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}html{background:#f8fafc}body{-webkit-font-smoothing:antialiased}::selection{background:#ddd6fe;color:#4c1d95}.file\:border-0::-webkit-file-upload-button{border-width:0}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::-webkit-file-upload-button{background-color:initial}.file\:bg-transparent::file-selector-button{background-color:initial}.file\:text-sm::-webkit-file-upload-button{font-size:.875rem;line-height:1.25rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::-webkit-file-upload-button{font-weight:500}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::-webkit-file-upload-button{color:hsl(var(--foreground))}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{bottom:0;content:var(--tw-content);top:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:-translate-x-1\/2:after{--tw-translate-x:-50%;content:var(--tw-content);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))}.first\:rounded-l-md:first-child{border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.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-1:focus-visible{--tw-ring-offset-width:1px}.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}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted)/.4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:#fca5a5;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\: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);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)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:#fef2f2;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent)/.5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.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-4[data-state=checked]{--tw-translate-x:1rem;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],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;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-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end],.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{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-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x)}@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-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent)/.5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--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);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)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--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-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--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-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.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-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{--tw-translate-y:-50%;content:var(--tw-content);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-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{--tw-translate-x:0px;content:var(--tw-content);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\=open\]\:focus\:bg-accent:focus[data-state=open],.data-\[state\=open\]\:hover\:bg-accent:hover[data-state=open]{background-color:hsl(var(--accent))}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--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))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.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\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:absolute{position:absolute}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent)/.5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;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))}.\[\&\>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\]\:size-4>svg{height:1rem;width:1rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div,.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{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\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{height:1rem;width:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}:root{--blue:#2563eb;--blue-dark:#1e40af;--purple:#7c3aed;--purple-dark:#5b21b6;--cyan:#06b6d4;--gradient:linear-gradient(135deg,#2563eb,#7c3aed);--gradient-hover:linear-gradient(135deg,#1e40af,#5b21b6);--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--line-soft:#f1f5f9;--bg:#f8fafc;--surface:#fff;--surface-alt:#f8fafc;--green:#059669;--amber:#d97706;--red:#dc2626}*{box-sizing:border-box}body{background:#f8fafc;background:var(--bg);color:#0f172a;color:var(--ink);font-family:Plus Jakarta Sans,sans-serif;font-size:14px;margin:0}button,input,select,textarea{color:#0f172a;color:var(--ink);font:inherit}button{background:none;border:0;color:inherit;cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{background:#fff;background:var(--surface);border-right:1px solid #e2e8f0;border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;padding:28px 18px 20px;width:252px}.brand{align-items:center;display:flex;font-family:Outfit;font-size:21px;font-weight:700;gap:11px;letter-spacing:-.02em;margin:0 12px 54px}.brand small{color:#64748b;color:var(--muted);display:block;font:500 9px Plus Jakarta Sans;letter-spacing:.08em;margin-top:2px;text-transform:uppercase}.brand-icon{background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient);border-radius:9px;box-shadow:0 4px 10px #7c3aed47;color:#fff;display:grid;font-size:20px;font-weight:500;height:31px;place-items:center;width:31px}.sidebar nav{grid-gap:6px;display:grid;gap:6px}.sidebar nav button{align-items:center;border-radius:8px;color:#64748b;display:flex;gap:13px;padding:12px 14px;text-align:left;transition:background-color .2s,color .2s,transform .2s}.sidebar nav button:hover{background:#f1f5f9;background:var(--line-soft);color:#1e40af;color:var(--blue-dark);transform:translateX(2px)}.sidebar nav button.active{background:#f5f3ff;box-shadow:inset 3px 0 0 #7c3aed;box-shadow:inset 3px 0 0 var(--purple);color:#5b21b6;color:var(--purple-dark);font-weight:600}.sidebar-foot{margin-top:auto}.user-mini{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--line);display:flex;gap:10px;padding:18px 9px 13px}.avatar{background:#e0e7ff;border-radius:50%;color:#4338ca;display:grid;font-size:13px;font-weight:700;height:32px;place-items:center;width:32px}.user-mini small,.user-mini strong{display:block}.user-mini strong{font-size:12px}.user-mini small{font-size:10px;margin-top:3px;text-transform:capitalize}.logout,.user-mini small{color:#64748b;color:var(--muted)}.logout{align-items:center;display:flex;gap:9px;padding:8px 9px;transition:color .2s}.logout:hover{color:#5b21b6;color:var(--purple-dark)}.content{flex:1 1;min-width:0}.topbar{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--line);display:flex;height:86px;justify-content:space-between;padding:0 44px;position:-webkit-sticky;position:sticky;top:0;z-index:4}.eyebrow,.top-kicker{color:#7c3aed;color:var(--purple);font-size:10px;font-weight:700;letter-spacing:.12em}.topbar h3{font:600 15px Outfit;letter-spacing:-.01em;margin:5px 0 0}.top-actions{align-items:center;color:#64748b;color:var(--muted);display:flex;font-size:11px;gap:10px}.live-dot{background:#059669;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px #d1fae5;height:7px;width:7px}.avatar-top{margin-left:16px}.mobile-menu{display:none}.page{margin:0 auto;max-width:1230px;padding:48px 44px}.editor-head,.page-heading,.section-title{align-items:flex-end;display:flex;justify-content:space-between}.page h1,.report-head h1{font:600 38px Outfit;letter-spacing:-.02em;margin:12px 0 8px}.page h2{font:600 24px Outfit;letter-spacing:-.02em;margin:8px 0}.muted{color:#64748b;color:var(--muted);line-height:1.6;margin:0}.wave{color:#7c3aed;color:var(--purple);font-size:26px}.primary-button{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient);border-radius:8px;box-shadow:0 6px 16px #7c3aed47;color:#fff;display:flex;font-weight:600;gap:8px;padding:11px 16px;transition:box-shadow .2s,transform .2s,filter .2s}.primary-button:hover{box-shadow:0 9px 20px #2563eb52;filter:brightness(.92);transform:translateY(-2px)}.stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin:42px 0 55px}.stat{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;display:flex;gap:15px;padding:22px;transition:transform .2s,border-color .2s}.stat:hover{border-color:#c7d2fe;transform:translateY(-2px)}.stat-icon{border-radius:9px;display:grid;height:42px;place-items:center;width:42px}.stat-icon svg{width:19px}.stat-icon.teal{background:#dbeafe;color:#1e40af;color:var(--blue-dark)}.stat-icon.amber{background:#ede9fe;color:#5b21b6;color:var(--purple-dark)}.stat-icon.blue{background:#cffafe;color:#0e7490}.stat span,.stat strong{display:block}.stat span{color:#64748b;color:var(--muted);font-size:11px}.stat strong{font:600 23px Outfit;letter-spacing:-.02em;margin-top:4px}.section-title{align-items:center;margin-bottom:18px}.text-button{align-items:center;color:#7c3aed;color:var(--purple);display:flex;font-size:12px;font-weight:600;gap:5px;transition:color .2s,transform .2s}.text-button:hover{color:#5b21b6;color:var(--purple-dark);transform:translateX(2px)}.course-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.course-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;padding:21px;text-align:left;transition:border-color .2s,transform .2s,box-shadow .2s}.course-card:hover{border-color:#a78bfa;box-shadow:0 12px 26px #7c3aed21;transform:translateY(-3px)}.course-bottom,.course-top{align-items:center;display:flex;justify-content:space-between}.course-tag{background:#ede9fe;border-radius:4px;color:#5b21b6;color:var(--purple-dark);font-size:10px;font-weight:700;letter-spacing:.1em;padding:5px 8px}.progress-label{color:#64748b;color:var(--muted);font-size:10px}.course-card h3{font:600 17px Outfit;letter-spacing:-.01em;margin:23px 0 7px}.course-card p{color:#64748b;color:var(--muted);font-size:11px;margin:0}.progress{background:#e2e8f0;background:var(--line);border-radius:4px;height:5px;margin:23px 0 16px;overflow:hidden}.progress span{background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient);border-radius:4px;display:block;height:100%}.course-bottom{color:#64748b;color:var(--muted);font-size:11px}.course-bottom span:first-child{align-items:center;display:flex;gap:6px}.open-icon{background:#eef2ff;border-radius:50%;color:#2563eb;color:var(--blue);display:grid;height:27px;place-items:center;transition:background-color .2s,color .2s;width:27px}.course-card:hover .open-icon{background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient);color:#fff}.report-page{max-width:1400px}.report-head{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--line);display:flex;gap:30px;justify-content:space-between;padding-bottom:32px}.report-head h1{font-size:31px;text-transform:uppercase}.report-subtitle{color:#64748b;color:var(--muted);font-size:13px;margin:0}.report-meta{grid-gap:14px 28px;display:grid;gap:14px 28px;grid-template-columns:1fr 1fr;min-width:450px;padding-top:17px}.report-meta span{color:#64748b;color:var(--muted);font-size:10px}.report-meta b{color:#0f172a;color:var(--ink);display:block;font-size:12px;font-weight:600;margin-top:4px}.toolbar{align-items:center;display:flex;justify-content:space-between;margin:24px 0 16px}.meeting-tabs{display:flex;gap:4px}.meeting-tabs button{border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:6px;color:#64748b;color:var(--muted);font-size:11px;height:30px;transition:border-color .2s,color .2s,transform .2s;width:30px}.meeting-tabs button:hover{border-color:#2563eb;border-color:var(--blue);color:#2563eb;color:var(--blue);transform:translateY(-1px)}.meeting-tabs button.selected{background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient);border-color:#0000;color:#fff;font-weight:700}.bottom-actions,.toolbar-actions{align-items:center;display:flex;gap:9px}.saved{color:#059669;color:var(--green);font-size:11px;margin-right:8px}.icon-button{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;display:flex;font-size:11px;font-weight:600;gap:7px;padding:9px 12px;transition:border-color .2s,color .2s,transform .2s}.icon-button:hover{border-color:#7c3aed;border-color:var(--purple);color:#5b21b6;color:var(--purple-dark);transform:translateY(-1px)}.report-table-wrap{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;overflow:auto}.report-table{border-collapse:collapse;min-width:980px;width:100%}.report-table td,.report-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--line);font-size:11px;padding:13px 10px;text-align:center;white-space:nowrap}.report-table th{background:#f8fafc;background:var(--surface-alt);color:#64748b;color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.report-table th small{color:#7c3aed;color:var(--purple);display:block;font-size:8px;margin-top:4px}.report-table td.sticky-col,.report-table td.sticky-name,.report-table th.sticky-col,.report-table th.sticky-name{background:#fff;background:var(--surface);position:-webkit-sticky;position:sticky;text-align:left;z-index:1}.report-table th.sticky-col,.report-table th.sticky-name{background:#f8fafc;background:var(--surface-alt)}.sticky-col{left:0;width:110px}.sticky-name{left:110px;min-width:180px}.mono{color:#64748b;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px!important}.student-name{font-weight:600}.current-col{background:#f5f3ff!important}.report-table select{background:#0000;border:0;color:#059669;color:var(--green);font-size:11px;font-weight:700;outline:0;text-align:center}.legend{color:#64748b;color:var(--muted);display:flex;font-size:10px;gap:21px;margin-top:15px}.legend span{align-items:center;display:flex;gap:6px}.dot{border-radius:50%;display:inline-block;height:7px;width:7px}.dot.hadir{background:#059669;background:var(--green)}.dot.sakit{background:#d97706;background:var(--amber)}.dot.izin{background:#06b6d4;background:var(--cyan)}.dot.alpa{background:#dc2626;background:var(--red)}.minutes-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:295px 1fr;margin-top:28px}.minutes-list{align-self:start;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;padding:19px}.minutes-list button{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--line-soft);display:flex;gap:11px;padding:12px 0;text-align:left;transition:color .2s;width:100%}.minutes-list button:last-child{border:0}.minutes-list button:hover{color:#1e40af;color:var(--blue-dark)}.minutes-list button.selected{color:#5b21b6;color:var(--purple-dark)}.meeting-number{color:#cbd5e1;font:600 18px Outfit}.selected .meeting-number{color:#7c3aed;color:var(--purple)}.minutes-list small,.minutes-list strong{display:block}.minutes-list strong{font-size:11px}.minutes-list small{color:#64748b;color:var(--muted);font-size:9px;margin-top:3px}.minutes-list svg{margin-left:auto}.minutes-editor{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;padding:26px}.editor-head{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--line);padding-bottom:20px}.editor-head h2{margin-bottom:0}.form-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr;margin:25px 0}.form-grid label{color:#64748b;color:var(--muted);display:flex;flex-direction:column;font-size:11px;font-weight:700;gap:7px}.form-grid input,.form-grid select,.form-grid textarea{background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:6px;color:#0f172a;color:var(--ink);outline:0;padding:11px;transition:border-color .2s,box-shadow .2s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#7c3aed;border-color:var(--purple);box-shadow:0 0 0 3px #7c3aed1f}.form-grid textarea{min-height:74px;resize:vertical}.wide{grid-column:1/-1}.signature-section{border-top:1px solid #e2e8f0;border-top:1px solid var(--line);padding-top:20px}.signature-section h3{font:600 17px Outfit;letter-spacing:-.01em;margin:7px 0 16px}.signature-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.signature-box{align-items:center;background:#fbfaff;border:1px dashed #a5b4fc;border-radius:8px;color:#5b21b6;color:var(--purple-dark);display:flex;flex-direction:column;gap:5px;justify-content:center;min-height:96px;transition:border-color .2s,background-color .2s}.signature-box:hover{background:#f5f3ff;border-color:#7c3aed;border-color:var(--purple)}.signature-box span{font-size:11px;font-weight:600}.signature-box small{color:#64748b;color:var(--muted);font-size:9px}.bottom-actions{justify-content:flex-end;margin-top:17px}.login-page{background:#fff;background:var(--surface);display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}.login-art{background:linear-gradient(135deg,#1e3a8ae6,#5b21b6e0),url(https://images.pexels.com/photos/566305/pexels-photo-566305.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940) 50%/cover;color:#fff;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:80px 10%;position:relative}.login-art .eyebrow{color:#c4b5fd}.login-art h1{font:600 58px/1.03 Outfit;letter-spacing:-.02em;margin:24px 0 20px;max-width:570px}.login-copy{color:#ddd6fe;line-height:1.8;max-width:415px}.login-pattern{border:1px solid #a78bfa;border-radius:50%;bottom:-100px;box-shadow:0 0 0 35px #0000,0 0 0 36px #a78bfa,0 0 0 71px #0000,0 0 0 72px #818cf8;height:440px;opacity:.3;position:absolute;right:-80px;width:440px}.login-form{align-self:center;justify-self:center;width:min(380px,80%)}.login-form h2{font:600 34px Outfit;letter-spacing:-.02em;margin:15px 0 7px}.login-form label{display:block;font-size:11px;font-weight:700;margin-top:24px}.login-form input{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:6px;display:block;margin-top:8px;outline:0;padding:13px;transition:border-color .2s,box-shadow .2s;width:100%}.login-form input:focus{border-color:#7c3aed;border-color:var(--purple);box-shadow:0 0 0 3px #7c3aed1f}.login-form .primary-button{justify-content:center;margin-top:28px;padding:13px;width:100%}.error{color:#dc2626;color:var(--red);font-size:11px;margin-top:15px}.demo-hint{background:#f5f3ff;border-radius:6px;color:#64748b;color:var(--muted);font-size:10px;margin-top:18px;padding:12px;text-align:center}.mobile-brand{display:none}.loading{grid-gap:15px;color:#64748b;color:var(--muted);display:grid;gap:15px;height:100vh;justify-items:center;place-content:center}@media(max-width:900px){.sidebar{width:210px}.topbar{padding:0 25px}.page{padding:35px 25px}.course-grid{grid-template-columns:1fr 1fr}.report-head{display:block}.report-meta{margin-top:22px;min-width:0}.minutes-layout{grid-template-columns:1fr}.minutes-list{display:flex;gap:15px;overflow:auto}.minutes-list .eyebrow{display:none}.minutes-list button{border:1px solid #e2e8f0;border:1px solid var(--line);min-width:190px;padding:11px}.login-art h1{font-size:45px}}@media(max-width:640px){.sidebar{border-right:1px solid #e2e8f0;border-right:1px solid var(--line);bottom:0;height:100dvh;left:0;overflow-y:auto;padding:22px 16px 18px;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease;width:min(280px,82vw);z-index:50}.brand{margin:0 6px 34px}.topbar{height:74px;padding:0 16px}.top-actions{font-size:0}.mobile-menu{display:block;margin-right:12px}.topbar>div:first-of-type{align-items:center;display:flex}.page{padding:29px 16px}.page-heading{display:block}.page-heading .primary-button{margin-top:20px}.page h1{font-size:31px}.stats-grid{gap:9px;margin:30px 0 38px}.course-grid,.stats-grid{grid-template-columns:1fr}.section-title{align-items:flex-start}.report-head h1{font-size:25px}.report-meta{gap:12px;grid-template-columns:1fr 1fr}.toolbar{display:block}.toolbar-actions{justify-content:space-between;margin-top:14px}.meeting-tabs{overflow:auto;padding-bottom:4px}.meeting-tabs button{flex:0 0 30px}.minutes-editor{padding:17px}.editor-head{display:block}.editor-head .primary-button{margin-top:18px}.form-grid,.signature-grid{grid-template-columns:1fr}.wide{grid-column:auto}.bottom-actions{justify-content:stretch}.bottom-actions button{flex:1 1;justify-content:center}.login-page{display:block}.login-art{display:none}.login-form{padding:50px 0;width:calc(100% - 42px)}.mobile-brand{align-items:center;display:flex;font:600 20px Outfit;gap:9px;margin-bottom:65px}.mobile-brand .brand-icon{font-size:17px;height:27px;width:27px}.login-form h2{font-size:31px}.sidebar.mobile-open{box-shadow:14px 0 34px #0f172a38;transform:translateX(0)}.sidebar-backdrop{background:#0f172a73;border:0;inset:0;padding:0;position:fixed;z-index:40}.sidebar .sidebar-foot .logout{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;color:var(--red);font-weight:700;justify-content:center;margin-top:10px;padding:12px;width:100%}.dark .sidebar .sidebar-foot .logout{background:#3f1d1d;border-color:#7f1d1d;color:#fca5a5}.save-cluster{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.save-status{color:#059669;color:var(--green);font-size:10px}}.student-page{background:#f8fafc;background:var(--bg);min-height:100vh}.student-topbar{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd9;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--line);display:flex;height:82px;justify-content:space-between;padding:0 7%;position:-webkit-sticky;position:sticky;top:0;z-index:4}.student-topbar .brand{margin:0}.student-user{align-items:center;display:flex;gap:10px}.student-user small,.student-user strong{display:block}.student-user strong{font-size:11px}.student-user small{color:#64748b;color:var(--muted);font-size:10px;margin-top:3px}.student-user .logout{margin-left:18px}.student-content{margin:0 auto;max-width:1000px;padding:58px 32px}.student-content h1{font:600 38px Outfit;letter-spacing:-.02em;margin:12px 0 8px}.student-course{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;display:flex;gap:20px;justify-content:space-between;margin-top:38px;padding:25px}.student-course h2{font:600 21px Outfit;letter-spacing:-.01em;margin:16px 0 6px}.student-course p{color:#64748b;color:var(--muted);font-size:11px;margin:0}.student-meeting{border-left:1px solid #e2e8f0;border-left:1px solid var(--line);min-width:150px;padding-left:30px}.student-meeting span{color:#7c3aed;color:var(--purple);display:block;font-size:9px;font-weight:700;letter-spacing:.1em}.student-meeting strong{background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:#0000;display:block;font:600 38px Outfit;margin-top:7px}.student-meeting small{-webkit-text-fill-color:#64748b;-webkit-text-fill-color:var(--muted);color:#64748b;color:var(--muted);font-size:15px}.checkin-panel{background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;gap:20px;justify-content:space-between;margin-top:18px;padding:25px;position:relative}.checkin-copy,.checkin-panel{align-items:center;display:flex}.checkin-copy{gap:16px}.checkin-icon{background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient);border-radius:9px;box-shadow:0 6px 14px #7c3aed4d;color:#fff;display:grid;height:47px;place-items:center;width:47px}.checkin-copy h2{font:600 21px Outfit;letter-spacing:-.01em;margin:8px 0 5px}.checkin-copy p:not(.eyebrow){color:#4c5aa3;font-size:11px;margin:0}.locked-status{background:#fff;background:var(--surface);border:1px solid #ddd6fe;border-radius:7px;color:#5b21b6;color:var(--purple-dark);font-size:11px;font-weight:700;padding:12px 14px}.checkin-panel .error{bottom:-26px;left:25px;position:absolute}.student-section-title{align-items:end;display:flex;justify-content:space-between;margin:48px 0 16px}.student-section-title h2{font:600 23px Outfit;letter-spacing:-.02em;margin:8px 0}.student-note{color:#64748b;color:var(--muted);font-size:10px}.student-history{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;overflow:hidden}.student-history-row{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--line-soft);display:grid;grid-template-columns:45px 1fr 100px;min-height:60px;padding:11px 20px;transition:background-color .2s}.student-history-row:hover{background:#fafaff}.student-history-row:last-child{border:0}.student-history-row.current{background:#f5f3ff}.history-number{color:#cbd5e1;font:600 18px Outfit}.current .history-number{color:#7c3aed;color:var(--purple)}.student-history-row small,.student-history-row strong{display:block}.student-history-row strong{font-size:11px}.student-history-row small{color:#64748b;color:var(--muted);font-size:9px;margin-top:3px}.history-status{color:#059669;color:var(--green);font-size:10px;font-weight:700;text-align:right}.history-status.empty{color:#94a3b8;font-size:17px;font-weight:400}.history-status.sakit{color:#d97706;color:var(--amber)}.history-status.izin{color:#06b6d4;color:var(--cyan)}.history-status.alpa{color:#dc2626;color:var(--red)}@media(max-width:640px){.student-topbar{padding:0 16px}.student-topbar .brand small{display:block}.student-user .logout,.student-user>div:not(.avatar){display:none}.student-content{padding:35px 16px}.student-content h1{font-size:31px}.student-course{display:block;padding:19px}.student-meeting{border-left:0;border-top:1px solid #e2e8f0;border-top:1px solid var(--line);margin-top:18px;padding:16px 0 0}.checkin-panel{display:block;padding:19px}.checkin-copy{align-items:flex-start}.checkin-copy h2{font-size:18px}.checkin-panel .primary-button{margin-top:20px}.student-section-title{display:block}.student-note{display:block;margin-top:9px}.student-history-row{grid-template-columns:35px 1fr 80px;padding:11px 14px}.student-user .logout{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;color:var(--red);display:flex;font-size:11px;font-weight:700;gap:6px;margin-left:3px;padding:8px 12px}.student-user .logout svg{height:15px;width:15px}.dark .student-user .logout{background:#3f1d1d;border-color:#7f1d1d;color:#fca5a5}}.signature-box img{max-height:64px;max-width:80%;object-fit:contain}.signature-box.filled{background:#fff;background:var(--surface);border-color:#c7d2fe;border-style:solid}.sig-replace{color:#64748b;color:var(--muted);font-size:9px}.heading-actions{align-items:center;display:flex;flex-wrap:wrap;gap:9px}.import-status{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;color:#5b21b6;color:var(--purple-dark);font-size:12px;font-weight:600;margin-top:18px;padding:12px 16px}.import-status small{color:#64748b;color:var(--muted);display:block;font-size:10px;font-weight:400;margin-top:4px}.recap-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1.6fr repeat(4,1fr);margin-top:44px}.recap-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;padding:18px}.recap-label{color:#64748b;color:var(--muted);display:block;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.recap-card strong{display:block;font:600 26px Outfit;margin-top:8px}.recap-card small{color:#64748b;color:var(--muted);display:block;font-size:9px;margin-top:5px}.recap-card.main{background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient);border:0;color:#fff}.recap-card.main .recap-label,.recap-card.main small{color:#ddd6fe}.recap-card.main strong{color:#fff;font-size:32px}.recap-card strong.hadir{color:#059669;color:var(--green)}.recap-card strong.sakit{color:#d97706;color:var(--amber)}.recap-card strong.izin{color:#06b6d4;color:var(--cyan)}.recap-card strong.alpa{color:#dc2626;color:var(--red)}.recap-warning{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;display:flex;font-size:12px;font-weight:600;gap:10px;margin-top:14px;padding:14px 18px}@media(max-width:640px){.recap-grid{grid-template-columns:1fr 1fr}.recap-card.main{grid-column:1/-1}.heading-actions{margin-top:20px}}.add-student-row{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 6px}.add-student-row input{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:6px;outline:0;padding:11px;transition:border-color .2s}.add-student-row input:focus{border-color:#7c3aed;border-color:var(--purple)}.add-student-row input:first-child{width:170px}.add-student-row input:nth-child(2){flex:1 1;min-width:220px}.row-actions{align-items:center;display:flex;gap:16px;justify-content:center}.row-actions .text-button{white-space:nowrap}.text-button.danger{color:#dc2626;color:var(--red)}.text-button.danger:hover{color:#991b1b}.text-button.restore{color:#059669;color:var(--green)}.text-button.restore:hover{color:#047857}.students-table{margin-top:18px}.students-table .report-table{min-width:640px}.students-table td input{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:5px;outline:0;padding:7px;width:100%}.students-table td input:focus{border-color:#7c3aed;border-color:var(--purple)}.table-note{font-size:11px;margin-top:12px}.archive-search{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;color:#64748b;color:var(--muted);display:flex;gap:10px;margin:26px 0 18px;padding:12px 15px;transition:border-color .2s}.archive-search:focus-within{border-color:#7c3aed;border-color:var(--purple)}.archive-search input{background:#0000;border:0;color:#0f172a;color:var(--ink);flex:1 1;outline:0}.archive-list{grid-gap:10px;display:grid;gap:10px}.archive-row{grid-gap:18px;align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;display:grid;gap:18px;grid-template-columns:1fr auto auto auto;padding:16px 20px;transition:border-color .2s,transform .2s}.archive-row:hover{border-color:#a78bfa;transform:translateY(-1px)}.archive-row.is-archived{background:#fafaff}.archive-main{align-items:center;display:flex;gap:13px}.archive-main strong{display:block;font:600 14px Outfit}.archive-main small{color:#64748b;color:var(--muted);display:block;font-size:10px;margin-top:3px}.archive-badge{border-radius:99px;font-size:9px;font-weight:700;letter-spacing:.08em;padding:5px 10px;text-transform:uppercase}.archive-badge.aktif{background:#d1fae5;color:#065f46}.archive-badge.arsip{background:#ede9fe;color:#5b21b6;color:var(--purple-dark)}.archive-progress{color:#64748b;color:var(--muted);font-size:10px;white-space:nowrap}.settings-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;margin-top:30px;max-width:760px;padding:26px}.letterhead-preview{background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;margin-top:26px;padding:20px}.letterhead-preview strong{display:block;font:700 15px Outfit}.letterhead-preview strong+strong{font-size:13px}.letterhead-preview small{border-bottom:2px solid #0f172a;border-bottom:2px solid var(--ink);color:#64748b;color:var(--muted);display:block;font-size:10px;margin-top:5px;padding-bottom:10px}.qr-panel{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;display:flex;gap:26px;margin:0 0 18px;padding:22px}.qr-panel img{border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;height:150px;width:150px}.qr-info strong{color:#5b21b6;color:var(--purple-dark);display:block;font:600 30px Outfit;letter-spacing:.18em;margin:8px 0}.qr-info strong.qr-empty{color:#0f172a;color:var(--ink);font-size:19px;letter-spacing:0}.qr-info p.muted{font-size:11px;max-width:440px}.qr-info .icon-button,.qr-info .primary-button{margin-top:12px}.checkin-action{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.code-input{background:#fff;background:var(--surface);border:1px solid #c7d2fe;border-radius:8px;font:600 15px JetBrains Mono,monospace;letter-spacing:.2em;outline:0;padding:12px;text-align:center;transition:border-color .2s;width:132px}.code-input:focus{border-color:#7c3aed;border-color:var(--purple)}@media(max-width:640px){.archive-row{gap:10px;grid-template-columns:1fr}.row-actions{justify-content:flex-start}.add-student-row input:first-child{width:100%}.qr-panel{flex-direction:column;text-align:center}.qr-info .row-actions{justify-content:center}.checkin-action{margin-top:18px}.checkin-action .code-input{flex:1 1}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:50}.modal-card{background:#fff;background:var(--surface);border-radius:12px;box-shadow:0 24px 60px #0f172a40;max-height:90vh;overflow:auto;padding:26px;width:min(560px,100%)}.course-top-right{align-items:center;display:flex;gap:9px}.course-edit{background:#f1f5f9;background:var(--line-soft);border-radius:6px;color:#64748b;color:var(--muted);cursor:pointer;display:grid;height:26px;place-items:center;transition:background-color .2s,color .2s;width:26px}.course-edit:hover{background:#ede9fe;color:#5b21b6;color:var(--purple-dark)}.alerts-panel{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin:0 0 46px;padding:20px}.alerts-head{align-items:center;display:flex;gap:12px;margin-bottom:14px}.alerts-icon{background:#fef3c7;border-radius:8px;color:#b45309;display:grid;flex-shrink:0;height:34px;place-items:center;width:34px}.alerts-head strong{display:block;font:600 14px Outfit}.alerts-head small{color:#92400e;display:block;font-size:10px;margin-top:3px}.alerts-list{grid-gap:6px;display:grid;gap:6px}.alert-row{grid-gap:14px;align-items:center;background:#fff;background:var(--surface);border:1px solid #fde68a;border-radius:8px;display:grid;gap:14px;grid-template-columns:110px 1fr auto auto;padding:10px 14px}.alert-row strong{font-size:12px}.alert-pct{font:600 13px Outfit}.alert-pct.waspada{color:#d97706;color:var(--amber)}.alert-pct.kritis{color:#dc2626;color:var(--red)}.archive-badge.waspada{background:#fef3c7;color:#92400e}.archive-badge.kritis{background:#fee2e2;color:#991b1b}.recap-warning.near{background:#fffbeb;border-color:#fde68a;color:#92400e}@media(max-width:640px){.alert-row{gap:6px;grid-template-columns:1fr auto}.alert-row .mono{grid-column:1/-1}.alerts-panel{margin-top:-14px}}.trend-panel{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;margin:-30px 0 26px;padding:22px}.trend-panel h2{font-size:19px}.trend-note{color:#64748b;color:var(--muted);font-size:10px}.trend-bars{align-items:flex-end;display:flex;gap:10px;margin-top:20px}.trend-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.trend-value{color:#5b21b6;color:var(--purple-dark);font:600 10px Outfit}.trend-bar-wrap{align-items:flex-end;background:#f1f5f9;background:var(--line-soft);border-radius:6px;display:flex;height:120px;max-width:40px;overflow:hidden;width:100%}.trend-bar{background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient);border-radius:6px 6px 0 0;transition:height .4s ease;width:100%}.trend-label{color:#64748b;color:var(--muted);font-size:9px}.log-panel{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;margin:0 0 18px;padding:20px}.log-list{grid-gap:4px;display:grid;gap:4px;margin-top:12px;max-height:320px;overflow:auto}.log-row{grid-gap:16px;align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--line-soft);display:grid;font-size:11px;gap:16px;grid-template-columns:120px 1fr auto;padding:9px 6px}.log-row:last-child{border:0}.log-time{font-size:10px}.log-change,.log-desc small,.log-time{color:#64748b;color:var(--muted)}.log-change{font-size:10px;white-space:nowrap}.log-change b{font-weight:700}.log-change b.hadir{color:#059669;color:var(--green)}.log-change b.sakit{color:#d97706;color:var(--amber)}.log-change b.izin{color:#06b6d4;color:var(--cyan)}.log-change b.alpa{color:#dc2626;color:var(--red)}.theme-toggle{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;color:#64748b;color:var(--muted);display:grid;height:32px;place-items:center;transition:color .2s,border-color .2s,transform .2s;width:32px}.theme-toggle:hover{border-color:#7c3aed;border-color:var(--purple);color:#7c3aed;color:var(--purple);transform:translateY(-1px)}.login-theme{position:fixed;right:18px;top:18px;z-index:10}.dark{--bg:#0b1220;--surface:#101a30;--surface-alt:#0d1729;--line:#22304d;--line-soft:#1a2740;--ink:#e2e8f0;--muted:#8fa3bf}html.dark{background:#0b1220}.dark .topbar{background:#0d1628cc}.dark .student-topbar{background:#0d1628d9}.dark .eyebrow,.dark .text-button,.dark .top-kicker{color:#a78bfa}.dark .text-button:hover{color:#c4b5fd}.dark .sidebar nav button:hover{background:#1a2740;color:#c7d2fe}.dark .sidebar nav button.active{background:#251a47;color:#c4b5fd}.dark .course-tag{background:#2b2153;color:#c4b5fd}.dark .avatar{background:#1e1b4b;color:#a5b4fc}.dark .stat-icon.teal{background:#172554;color:#93c5fd}.dark .stat-icon.amber{background:#2b2153;color:#c4b5fd}.dark .stat-icon.blue{background:#083344;color:#67e8f9}.dark .open-icon{background:#1a2740}.dark .course-edit{background:#1a2740;color:#8fa3bf}.dark .live-dot{box-shadow:0 0 0 4px #0c2f24}.dark .current-col{background:#1c1638!important}.dark .checkin-panel{background:#141d3a;border-color:#2c3d66}.dark .checkin-copy p:not(.eyebrow){color:#93a5d1}.dark .locked-status{border-color:#3b2f6b;color:#c4b5fd}.dark .demo-hint{background:#1a2740;color:#8fa3bf}.dark .import-status{background:#1c1638;border-color:#3b2f6b;color:#c4b5fd}.dark .alerts-panel{background:#221a08;border-color:#57430e}.dark .alerts-icon{background:#3a2c08;color:#fbbf24}.dark .alerts-head small{color:#d3a643}.dark .alert-row{border-color:#57430e}.dark .archive-badge.aktif{background:#0c2f24;color:#6ee7b7}.dark .archive-badge.arsip{background:#2b2153;color:#c4b5fd}.dark .archive-badge.waspada{background:#3a2c08;color:#fcd34d}.dark .archive-badge.kritis{background:#3b1219;color:#fca5a5}.dark .archive-row.is-archived{background:#0d1729}.dark .student-history-row:hover{background:#131e38}.dark .student-history-row.current{background:#1c1638}.dark .recap-warning{background:#2a0f13;border-color:#5f1a22;color:#fda4af}.dark .recap-warning.near{background:#221a08;border-color:#57430e;color:#fcd34d}.dark .signature-box{background:#0d1729;border-color:#3b4a76}.dark .signature-box.filled{background:#e2e8f0;border-color:#3b4a76}.dark .signature-box.filled .sig-replace{color:#475569}.dark .qr-panel img{background:#fff}.dark .qr-info strong{color:#c4b5fd}.dark .code-input{border-color:#3b4a76}.dark .checkin-icon{box-shadow:none}.dark .trend-value{color:#c4b5fd}.dark .qr-info strong.qr-empty{color:#0f172a;color:var(--ink)}.dark .current .history-number,.dark .selected .meeting-number{color:#a78bfa}.dark .minutes-list button.selected{color:#c4b5fd}.dark .icon-button:hover{border-color:#7c3aed;color:#c4b5fd}.dark ::placeholder{color:#5c6f8f}@media(max-width:900px){.trend-bars{overflow-x:auto;padding-bottom:6px}.trend-bar-wrap{min-width:22px}}@media(max-width:640px){.log-row{grid-template-columns:1fr auto}.log-time{grid-column:1/-1}}.report-title-wrap{align-items:flex-start;display:flex;gap:18px}.report-logo{flex-shrink:0;height:92px;margin-top:6px;object-fit:contain;width:92px}.name-cell{align-items:center;display:flex;gap:9px}.mini-photo{border-radius:50%;flex-shrink:0;height:26px;object-fit:cover;width:26px}.mini-photo.initial{background:#e0e7ff;color:#4338ca;display:inline-grid;font-size:10px;font-weight:700;place-items:center}.dark .mini-photo.initial{background:#1e1b4b;color:#a5b4fc}.avatar-upload{cursor:pointer;overflow:hidden}.avatar-upload img{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-upload input{display:none}.active-meeting{align-items:center;color:#64748b;color:var(--muted);display:flex;font-size:10px;font-weight:700;gap:7px;margin-right:6px}.active-meeting select{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:6px;font-size:11px;outline:0;padding:6px 9px}.settings-subtitle{font:600 17px Outfit;letter-spacing:-.01em;margin:7px 0 6px}.logo-box{margin-top:16px;max-width:340px;min-height:110px}.logo-box img{max-height:70px;max-width:75%;object-fit:contain}.program-list{grid-gap:8px;display:grid;gap:8px;margin-top:16px}.program-row{align-items:center;border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:12px 16px}.program-row strong{font-size:13px}.program-row input{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:6px;flex:1 1;outline:0;padding:9px}.letterhead-preview{align-items:center;display:flex;gap:16px;text-align:center}.letterhead-preview>div{flex:1 1}.preview-logo{flex-shrink:0;height:52px;object-fit:contain;width:52px}.lecturer-pick{display:flex;flex-direction:column;gap:8px}.pick-label{color:#64748b;color:var(--muted);font-size:11px;font-weight:700}.lecturer-options{grid-gap:7px;background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;display:grid;gap:7px;grid-template-columns:1fr 1fr;max-height:180px;overflow:auto;padding:12px}.lecturer-option{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:6px;cursor:pointer;display:flex;font-size:12px;gap:9px;padding:8px 10px;transition:border-color .2s}.lecturer-option.checked,.lecturer-option:hover{border-color:#7c3aed;border-color:var(--purple)}.lecturer-option.checked{background:#f5f3ff}.dark .lecturer-option.checked{background:#251a47}.lecturer-option input{accent-color:#7c3aed;accent-color:var(--purple)}.card-lecturers{color:#5b21b6!important;color:var(--purple-dark)!important;font-weight:600;margin-top:5px!important}.dark .card-lecturers{color:#c4b5fd!important}.nidn-input{width:140px}@media(max-width:640px){.lecturer-options{grid-template-columns:1fr}.nidn-input{width:100%}}.announce-panel{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2563eb0d;margin:0 0 46px;padding:22px}.announce-form{align-items:flex-start;display:flex;gap:10px;margin-top:16px}.announce-form textarea{background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;color:#0f172a;color:var(--ink);flex:1 1;min-height:62px;outline:0;padding:12px;resize:vertical;transition:border-color .2s}.announce-form textarea:focus{border-color:#7c3aed;border-color:var(--purple)}.announce-list{grid-gap:8px;display:grid;gap:8px;margin-top:14px}.announce-row{align-items:flex-start;border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:12px 14px}.announce-row p{font-size:12px;line-height:1.6;margin:0}.announce-row small{color:#64748b;color:var(--muted);display:block;font-size:9px;margin-top:5px}.student-announcements{grid-gap:8px;display:grid;gap:8px;margin-top:26px}.student-announce{align-items:flex-start;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:10px;color:#5b21b6;color:var(--purple-dark);display:flex;gap:12px;padding:14px 16px}.student-announce svg{flex-shrink:0;margin-top:2px}.student-announce p{color:#0f172a;color:var(--ink);font-size:12px;line-height:1.6;margin:0}.student-announce small{color:#64748b;color:var(--muted);display:block;font-size:9px;margin-top:5px}.dark .student-announce{background:#1c1638;border-color:#3b2f6b;color:#c4b5fd}@media(max-width:640px){.announce-form{flex-direction:column}.announce-form .primary-button{justify-content:center;width:100%}}.announce-head-row{align-items:center;display:flex;justify-content:space-between}.unread-badge{background:#dc2626;background:var(--red);border-radius:99px;color:#fff;font-size:8px;letter-spacing:.05em;margin-left:8px;padding:2px 8px}.new-badge{background:#fee2e2;border-radius:4px;color:#b91c1c;font-size:8px;font-weight:800;letter-spacing:.06em;margin-right:8px;padding:2px 6px}.student-announce.unread{border-color:#a78bfa}.dark .new-badge{background:#3b1219;color:#fca5a5}.role-select{border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:6px;padding:11px}.role-select,.students-table td select{background:#fff;background:var(--surface);outline:0}.students-table td select{border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:5px;padding:7px}@media print{.report-logo{display:block!important;height:88px;width:88px}.active-meeting{display:none!important}.dark,:root{--surface:#fff;--surface-alt:#fff;--bg:#fff;--ink:#000;--line:#cbd5e1;--line-soft:#e2e8f0;--muted:#334155}.alerts-panel,.bottom-actions,.log-panel,.minutes-list,.page-heading,.sidebar,.theme-toggle,.toolbar-actions,.topbar,.trend-panel{display:none!important}body{background:#fff;background:var(--surface)}.content{width:100%}.page{max-width:none;padding:0}.report-head{display:block}.report-table{min-width:0}.report-table td,.report-table th{color:#000;font-size:8px;padding:5px}.course-card,.report-table-wrap,.stat{box-shadow:none}.sticky-col,.sticky-name{position:static!important}}.perm-card{max-width:980px}.perm-table td,.perm-table th{padding:10px 8px;text-align:center}.perm-table td:first-child,.perm-table th:first-child{text-align:left;white-space:nowrap}.perm-table input[type=checkbox]{accent-color:#6d28d9;cursor:pointer;height:16px;width:16px}.perm-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.perm-lock{color:#64748b;color:var(--muted);font-size:10px;letter-spacing:.06em;margin-left:4px;text-transform:uppercase}.clinic-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.clinic-tabs button{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:999px;color:#64748b;color:var(--muted);cursor:pointer;display:inline-flex;font:600 12.5px Plus Jakarta Sans,sans-serif;gap:7px;padding:9px 18px;transition:background-color .2s,color .2s,border-color .2s}.clinic-tabs button:hover{border-color:#7c3aed;border-color:var(--purple);color:#0f172a;color:var(--ink)}.clinic-tabs button.selected{background:linear-gradient(135deg,#2563eb,#7c3aed);border-color:#0000;color:#fff}.loc-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.loc-row input{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:6px;flex:1 1;outline:0;padding:10px;transition:border-color .2s}.loc-row input:focus{border-color:#7c3aed;border-color:var(--purple)}.loc-icon{color:#64748b;color:var(--muted);flex-shrink:0}.shift-badge{border-radius:999px;display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:3px 11px;text-transform:uppercase}.shift-badge.pagi{background:#fef3c7;color:#92400e}.shift-badge.sore{background:#e0e7ff;color:#3730a3}.dark .shift-badge.pagi{background:#78350f;color:#fde68a}.dark .shift-badge.sore{background:#312e81;color:#c7d2fe}.clinic-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.clinic-filter-row input{font-size:13px;min-width:220px;padding:10px 12px}.clinic-cell-select,.clinic-filter-row input{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:6px;color:inherit;outline:0}.clinic-cell-select{font-size:12.5px;max-width:230px;padding:8px 10px}.loc-chip{align-items:center;border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:11.5px;gap:4px;margin:6px 6px 0 0;padding:4px 11px}.loc-chip,.page-empty{color:#64748b;color:var(--muted)}.page-empty{border:1px dashed #e2e8f0;border:1px dashed var(--line);border-radius:12px;margin-top:26px;padding:48px 26px;text-align:center}.page-empty h2{color:#0f172a;color:var(--ink);margin:10px 0 4px}.student-clinic{margin:26px 0}.clinic-sched td{padding:9px 6px;text-align:center}.clinic-status{font-size:13px}.clinic-status.hadir{color:#059669;color:var(--green)}.clinic-status.sakit{color:#d97706}.clinic-status.izin{color:#0891b2}.clinic-status.alpa{color:#dc2626;color:var(--red)}.clinic-min-editor{margin-top:6px}.sipen-badge{align-items:center;background:#ede9fe;border-radius:99px;color:#5b21b6;color:var(--purple-dark);display:inline-flex;font-size:9.5px;font-weight:800;gap:4px;letter-spacing:.05em;margin-left:9px;padding:2px 9px;text-transform:uppercase;vertical-align:middle}.dark .sipen-badge{background:#2b2153;color:#c4b5fd}.sipen-enter-btn{align-items:center;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #a78bfa;border-radius:12px;color:#5b21b6;color:var(--purple-dark);cursor:pointer;display:flex;gap:14px;margin:20px 0 8px;padding:16px 20px;text-align:left;transition:transform .2s,box-shadow .2s;width:100%}.sipen-enter-btn:hover{box-shadow:0 8px 20px -10px #7c3aed80;transform:translateY(-1px)}.sipen-enter-btn>span{display:flex;flex:1 1;flex-direction:column;gap:3px}.sipen-enter-btn strong{font:700 15px Outfit}.sipen-enter-btn small{color:#6d5bb5;font-size:11px;line-height:1.4}.dark .sipen-enter-btn{background:linear-gradient(135deg,#241b47,#2b2153);border-color:#6d5bb5;color:#ddd6fe}.dark .sipen-enter-btn small{color:#a99fd4}.exit-sipen{justify-content:center;margin-bottom:8px;width:100%}.bcast-bell,.bcast-wrap{display:inline-flex;position:relative}.bcast-bell{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:11px;color:#64748b;color:var(--muted);cursor:pointer;height:38px;justify-content:center;transition:background-color .2s,color .2s;width:38px}.bcast-bell:hover{background:#f3f0ff;color:#5b21b6;color:var(--purple-dark)}.dark .bcast-bell:hover{background:#241b47;color:#c4b5fd}.bcast-count{align-items:center;background:#dc2626;background:var(--red);border-radius:99px;box-shadow:0 0 0 2px #fff;box-shadow:0 0 0 2px var(--surface);color:#fff;font-size:10px;font-weight:800;height:18px;justify-content:center;min-width:18px;padding:0 4px;right:-5px;top:-5px}.bcast-count,.bcast-dropdown{display:flex;position:absolute}.bcast-dropdown{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px -20px #00000059;flex-direction:column;max-height:70vh;max-width:calc(100vw - 32px);overflow:hidden;right:0;top:46px;width:370px;z-index:60}.bcast-head{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:14px 16px}.bcast-head strong{align-items:center;display:inline-flex;font:700 14px Outfit;gap:7px}.bcast-head-actions{display:flex;gap:12px}.bcast-list{overflow-y:auto;padding:6px}.bcast-empty{padding:26px 16px;text-align:center}.bcast-item{border-radius:10px;cursor:pointer;padding:11px 12px;transition:background-color .15s}.bcast-item:hover{background:#f8fafc;background:var(--bg)}.bcast-item.unread{background:#f5f3ff}.dark .bcast-item.unread{background:#221a45}.bcast-item-top{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.bcast-title{align-items:center;display:flex;font:700 13.5px Outfit;gap:7px;line-height:1.35}.bcast-dot{background:#5b21b6;background:var(--purple-dark);border-radius:99px;flex-shrink:0;height:8px;width:8px}.bcast-body{font-size:12.5px;line-height:1.5;margin:4px 0 6px;white-space:pre-wrap;word-break:break-word}.bcast-body,.bcast-meta{color:#64748b;color:var(--muted)}.bcast-meta{display:flex;font-size:10.5px;gap:8px;justify-content:space-between}.bcast-scope{color:#5b21b6;color:var(--purple-dark);font-weight:800;letter-spacing:.03em;text-transform:uppercase}.bcast-del{background:none;border:none;border-radius:6px;color:#64748b;color:var(--muted);cursor:pointer;flex-shrink:0;padding:2px}.bcast-del:hover{background:#dc26261a;color:#dc2626;color:var(--red)}.announce-modal{max-width:520px}.account-form{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1.2fr 1.4fr .9fr .9fr auto;margin:14px 0}.account-form input,.account-form select{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:9px;color:var(--text);font-size:13px;padding:10px 12px}@media(max-width:900px){.account-form{grid-template-columns:1fr 1fr}}.acc-status{border-radius:99px;display:inline-block;font-size:10px;font-weight:800;letter-spacing:.03em;padding:2px 8px}.acc-status.active{background:#dcfce7;color:#15803d}.acc-status.off{background:#fee2e2;color:#b91c1c}.acc-status.pending{background:#fef3c7;color:#b45309;margin-left:5px}.dark .acc-status.active{background:#14331f;color:#86efac}.dark .acc-status.off{background:#3b1717;color:#fca5a5}.dark .acc-status.pending{background:#3a2c0a;color:#fcd34d}.account-inactive{opacity:.55}.lead-cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:26px}.lead-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:14px;gap:13px;padding:16px 18px}.lead-card,.lead-ico{align-items:center;display:flex}.lead-ico{background:#f3f0ff;border-radius:11px;color:#5b21b6;color:var(--purple-dark);flex-shrink:0;height:40px;justify-content:center;width:40px}.dark .lead-ico{background:#241b47;color:#c4b5fd}.lead-card-label{color:#64748b;color:var(--muted);display:block;font-size:11.5px;line-height:1.3;margin-bottom:3px}.lead-card strong{font:800 22px Outfit}.lead-card strong.hadir{color:#059669;color:var(--green)}.lead-card strong.izin{color:#b45309}.lead-card strong.alpa{color:#dc2626;color:var(--red)}.lead-prog{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:16px;margin-bottom:22px;padding:20px}.lead-prog-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-bottom:16px}.lead-prog-head h2{font:700 19px Outfit;margin-top:8px}.lead-prog-metrics{display:flex;flex-wrap:wrap;gap:22px}.lead-metric{min-width:110px}.lead-metric>span{color:#64748b;color:var(--muted);display:block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lead-metric>strong{display:block;font:800 20px Outfit;margin:2px 0}.lead-metric strong.hadir{color:#059669;color:var(--green)}.lead-metric strong.izin{color:#b45309}.lead-metric strong.alpa{color:#dc2626;color:var(--red)}.lead-bar{background:#e2e8f0;background:var(--line);border-radius:99px;height:6px;margin-top:5px;overflow:hidden}.lead-bar-fill{border-radius:99px;display:block;height:100%;transition:width .5s}.lead-bar-fill.hadir{background:#059669;background:var(--green)}.lead-bar-fill.izin{background:#d97706}.lead-bar-fill.alpa{background:#dc2626;background:var(--red)}.lead-bar-fill.muted{background:#64748b;background:var(--muted)}.report-table td.hadir b{color:#059669;color:var(--green)}.report-table td.izin b{color:#b45309}.report-table td.alpa b{color:#dc2626;color:var(--red)}.logbook-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.logbook-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:14px;padding:16px 18px}.logbook-card h3{font:700 16px Outfit;margin:8px 0 3px}.logbook-card .row-actions{flex-wrap:wrap;margin-top:12px}.logbook-card-top{align-items:center;display:flex;gap:8px;justify-content:space-between}.lb-conf-badge{background:#fef3c7;border-radius:99px;color:#b45309;font-size:10px;font-weight:800;padding:2px 8px}.lb-conf-badge.on{background:#dcfce7;color:#15803d}.lb-sub{color:#64748b;color:var(--muted);font-size:11.5px;margin-top:6px}.logbook-student-pick{border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:10px;display:flex;flex-wrap:wrap;gap:7px;margin-top:6px;max-height:180px;overflow-y:auto;padding:8px}.pick-chip{align-items:center;background:#f8fafc;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:99px;color:#64748b;color:var(--muted);cursor:pointer;display:inline-flex;font-size:11.5px;gap:5px;padding:5px 10px}.pick-chip.on{background:#ede9fe;border-color:#a78bfa;color:#5b21b6;color:var(--purple-dark);font-weight:700}.conf-ok{color:#15803d;font-size:12px;font-weight:700}.conf-no{color:#b45309;font-size:12px}.lb-meta{grid-gap:10px 18px;display:grid;gap:10px 18px;grid-template-columns:repeat(2,1fr);margin:6px 0 12px}.lb-meta b{color:#64748b;color:var(--muted);font-size:10.5px;letter-spacing:.03em;text-transform:uppercase}.lb-meta p{font-size:13px;margin-top:2px}.lb-block{margin:10px 0}.lb-block b{color:#64748b;color:var(--muted);font-size:10.5px;letter-spacing:.03em;text-transform:uppercase}.lb-block p{font-size:13px;margin-top:3px;white-space:pre-wrap}.student-logbook-list{display:flex;flex-direction:column;gap:10px}.student-logbook-card{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:14px 16px}.student-logbook-card strong{display:block;font:700 14px Outfit;margin:4px 0 2px}.student-logbook-card small{display:block}.student-logbook-actions{align-items:center;display:flex;gap:10px}.student-nav{display:flex;flex-wrap:wrap;gap:8px;padding:12px 6vw 0}.student-nav button{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:99px;color:#64748b;color:var(--muted);cursor:pointer;display:inline-flex;font:600 13px Outfit;gap:7px;padding:9px 16px;transition:background-color .2s,color .2s,border-color .2s}.student-nav button:hover{color:#5b21b6;color:var(--purple-dark)}.student-nav button.active{background:#5b21b6;background:var(--purple-dark);border-color:#5b21b6;border-color:var(--purple-dark);color:#fff}.pw-field{align-items:center;display:flex;position:relative}.pw-field input{padding-right:46px;width:100%}.pw-toggle{align-items:center;background:none;border:none;border-radius:8px;color:#64748b;color:var(--muted);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:color .15s,background-color .15s;width:32px}.pw-toggle:hover{background:#7c3aed14;color:#5b21b6;color:var(--purple-dark)}.dark .pw-toggle:hover{background:#c4b5fd1f;color:#c4b5fd}.signature-modal{width:min(560px,100%)}.signature-canvas-wrap{background:#fbfaff;border:1px dashed #a5b4fc;border-radius:10px;margin:14px 0 4px;overflow:hidden;position:relative}.signature-canvas{background:#fff;cursor:crosshair;display:block;height:200px;touch-action:none;width:100%}.signature-canvas-hint{color:#cbd5e1;display:grid;font-size:13px;font-weight:600;inset:0;letter-spacing:.02em;place-items:center;pointer-events:none;position:absolute}.signature-modal .save-cluster{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.sig-draw-box{align-items:center;background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:9px;padding:14px;text-align:center}.sig-draw-box img{background:#fff;border-radius:6px;max-height:70px;max-width:100%;object-fit:contain;padding:4px}.sig-draw-box .sig-label{color:#64748b;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sig-draw-box .sig-name{font-size:12px;font-weight:600}.lb-sig-cell{align-items:center;display:flex;flex-direction:column;gap:4px}.lb-sig-cell img{background:#fff;border-radius:4px;max-height:52px;max-width:150px;object-fit:contain}.conf-ok{color:#059669;color:var(--green)}.conf-no,.conf-ok{align-items:center;display:inline-flex;font-size:11px;font-weight:600;gap:5px}.conf-no{color:#dc2626;color:var(--red)}.dark .signature-canvas-wrap{background:#0d1729}.dark .lb-sig-cell img,.dark .sig-draw-box img,.dark .signature-canvas{background:#f8fafc}.stats-grid.four{grid-template-columns:repeat(2,1fr)}@media(min-width:900px){.stats-grid.four{grid-template-columns:repeat(4,1fr)}}.student-stats{margin:24px 0 10px}.stat-icon.violet{background:#f3e8ff;color:#7c3aed}.dark .stat-icon.violet{background:#3b2a63;color:#c4b5fd}.stat-btn{position:relative;text-align:left;width:100%}.stat-btn .stat-go{color:#cbd5e1;margin-left:auto;transition:color .2s,transform .2s}.stat-btn:hover .stat-go{color:#7c3aed;color:var(--purple);transform:translateX(3px)}.student-logbook-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.student-logbook-tabs{margin:0}.student-logbook-search{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:8px;color:#64748b;color:var(--muted);display:flex;flex:1 1;gap:8px;max-width:360px;min-width:260px;padding:8px 12px}.student-logbook-search input{background:#0000;border:0;color:#0f172a;color:var(--ink);font-size:13px;outline:0;width:100%}.student-logbook-search:focus-within{border-color:#7c3aed;border-color:var(--purple);box-shadow:0 0 0 3px #7c3aed1f}@media(max-width:640px){.student-logbook-search{max-width:none;width:100%}}.student-contact-cell{font-size:11px;line-height:1.5;text-align:left!important;white-space:normal!important}.contact-line{display:block}.contact-line.sub{color:#64748b;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px}.student-contact-edit input{background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:5px;display:block;font-size:11px;margin-bottom:4px;outline:0;padding:6px 8px;width:100%}.student-contact-edit input:focus{border-color:#7c3aed;border-color:var(--purple)}.brand-logo{flex-shrink:0;height:34px;object-fit:contain;width:34px}.login-art-logo{background:#fff;border-radius:18px;box-shadow:0 10px 28px #0f172a33;height:92px;margin-bottom:24px;object-fit:contain;padding:9px;width:92px}.login-logo-head{margin-bottom:24px;text-align:center}.login-logo{display:block;height:78px;margin:0 auto 10px;object-fit:contain;width:78px}.brand-name{font:700 32px Outfit;letter-spacing:-.02em;margin:0}.brand-sub{color:#64748b;color:var(--muted);font-size:12px;font-weight:600;margin:5px 0 0}.brand-inst{color:#7c3aed;color:var(--purple);font-size:12px;font-weight:700;letter-spacing:.02em;margin:3px 0 0}.lb-clinical-modal{max-width:1120px;width:min(1120px,96vw)}.lb-entries-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:14px 0 8px}.lb-entries-head b{font-size:13px}.lb-entries-wrap{max-height:52vh;overflow:auto}.lb-entries-table td,.lb-entries-table th{font-size:11.5px;vertical-align:top}.lb-entries-table .lb-txt{min-width:105px;text-align:left!important;white-space:pre-wrap}.lb-sig-td{min-width:112px;text-align:center}.lb-entry-sig{background:#fff;border-radius:4px;max-height:40px;max-width:105px;object-fit:contain}.dark .lb-entry-sig{background:#f8fafc}.primary-button.sm{font-size:11.5px;padding:6px 11px}.lb-recap-box{align-items:flex-start;background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:16px;padding:14px 16px}.lb-recap-box b{align-items:center;display:inline-flex;font-size:13px;gap:6px}.lb-recap-box .recap-sig{align-items:flex-start;margin-top:8px}.lb-recap-box p{font-size:12px;margin-top:6px}.account-edit-panel{display:flex;flex-direction:column;gap:10px;padding:4px 0;text-align:left}.advisee-pick label{color:#64748b;color:var(--muted);display:block;font-size:11px;font-weight:700;letter-spacing:.04em;margin:10px 0 6px;text-transform:uppercase}.pending-sign-banner{align-items:center;background:#fffbeb;border:1px solid #f59e0b;border-radius:12px;color:#92400e;cursor:pointer;display:flex;gap:12px;margin:0 0 18px;padding:13px 16px;text-align:left;transition:background-color .2s,transform .2s;width:100%}.pending-sign-banner:hover{background:#fef3c7;transform:translateY(-1px)}.pending-sign-banner strong{display:block;font:700 13.5px Outfit}.pending-sign-banner small{color:#b45309;display:block;font-size:11.5px;margin-top:2px}.dark .pending-sign-banner{background:#3a2c10;border-color:#b45309;color:#fcd34d}.dark .pending-sign-banner small{color:#fbbf24}.lb-badges{flex-wrap:wrap;gap:6px;justify-content:flex-end}.lb-badges,.lb-pending-badge{align-items:center;display:inline-flex}.lb-pending-badge{background:#fef3c7;border:1px solid #f59e0b;border-radius:99px;color:#92400e;font-size:10.5px;font-weight:700;gap:4px;padding:3px 8px}.dark .lb-pending-badge{background:#3a2c10;color:#fcd34d}.logbook-card.has-pending{border-color:#f59e0b}.chat-page-wrap{display:flex;flex-direction:column}.chat-layout{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:16px;display:flex;gap:0;height:calc(100vh - 170px);min-height:480px;overflow:hidden}.student-chat-view .chat-layout,.student-content .chat-layout{height:calc(100vh - 300px)}.chat-list{background:#f8fafc;background:var(--surface-alt);border-right:1px solid #e2e8f0;border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:260px;width:320px}.chat-list-head{align-items:center;display:flex;justify-content:space-between;padding:14px 14px 10px}.chat-list-head strong{align-items:center;display:inline-flex;font-size:14px;gap:7px}.icon-button.sm{padding:6px 8px}.pa-start-btn{align-items:center;background:#7c3aed14;background:var(--purple-soft,#7c3aed14);border:1px solid #7c3aed;border:1px solid var(--purple);border-radius:12px;color:#7c3aed;color:var(--purple);cursor:pointer;display:flex;gap:10px;margin:0 12px 10px;padding:10px 12px;text-align:left;transition:transform .2s}.pa-start-btn:hover{transform:translateY(-1px)}.pa-start-btn strong{display:block;font-size:12.5px}.pa-start-btn small{font-size:10.5px;opacity:.85}.chat-conv-scroll{flex:1 1;overflow-y:auto;padding:0 8px 10px}.chat-conv-item{align-items:center;background:#0000;border:none;border-radius:12px;color:#0f172a;color:var(--ink);cursor:pointer;display:flex;gap:10px;padding:10px;text-align:left;transition:background-color .15s;width:100%}.chat-conv-item.active,.chat-conv-item:hover{background:#fff;background:var(--surface)}.chat-conv-item.active{box-shadow:inset 0 0 0 1.5px #7c3aed;box-shadow:inset 0 0 0 1.5px var(--purple)}.chat-conv-item .avatar{flex:none}.chat-conv-item .avatar.pa{background:#7c3aed;background:var(--purple);color:#fff}.chat-conv-meta{flex:1 1;min-width:0}.chat-conv-meta strong{font-size:12.5px}.chat-conv-meta small,.chat-conv-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-conv-meta small{color:#64748b;color:var(--muted);font-size:11px}.chat-conv-right{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.chat-conv-right small{color:#64748b;color:var(--muted);font-size:10px}.chat-unread{align-items:center;background:#7c3aed;background:var(--purple);border-radius:99px;color:#fff;display:inline-flex;font-size:10.5px;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 5px}.chat-thread{display:flex;flex:1 1;flex-direction:column;min-width:0}.chat-thread-empty{align-items:center;color:#64748b;color:var(--muted);gap:10px;justify-content:center}.chat-thread-head{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 16px}.chat-thread-head,.chat-thread-title{align-items:center;display:flex;gap:10px}.chat-thread-title{min-width:0}.chat-thread-title strong{font-size:13.5px}.chat-thread-title small{color:#64748b;color:var(--muted);display:block;font-size:11px;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-msgs{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:16px}.chat-hint{margin-top:20px;text-align:center}.chat-bubble-row{display:flex}.chat-bubble-row.mine{justify-content:flex-end}.chat-bubble{background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:14px 14px 14px 4px;max-width:68%;padding:8px 12px}.chat-bubble-row.mine .chat-bubble{background:#7c3aed;background:var(--purple);border-color:#7c3aed;border-color:var(--purple);border-radius:14px 14px 4px 14px;color:#fff}.chat-bubble p{font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.chat-sender{color:#7c3aed;color:var(--purple);display:block;font-size:10.5px;font-weight:700;margin-bottom:2px}.chat-time{display:block;font-size:9.5px;margin-top:3px;opacity:.65;text-align:right}.chat-input-row{border-top:1px solid #e2e8f0;border-top:1px solid var(--line);display:flex;gap:10px;padding:12px 14px}.chat-input-row input{background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:99px;color:#0f172a;color:var(--ink);flex:1 1;font-size:13px;padding:11px 14px}.chat-input-row .primary-button{border-radius:99px;padding:0 16px}.chat-search{margin:0 0 12px}.chat-contact-list{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow-y:auto}.chat-contact{align-items:center;background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:12px;color:#0f172a;color:var(--ink);cursor:pointer;display:flex;gap:10px;padding:9px 10px;text-align:left;transition:border-color .15s}.chat-contact.on,.chat-contact:hover{border-color:#7c3aed;border-color:var(--purple)}.chat-contact.on{box-shadow:inset 0 0 0 1px #7c3aed;box-shadow:inset 0 0 0 1px var(--purple)}.chat-contact strong{display:block;font-size:12.5px}.chat-contact small{color:#64748b;color:var(--muted);font-size:10.5px}.chat-contact span:nth-child(2){flex:1 1;min-width:0}.chat-group-row{cursor:default}.chip-x{background:#0000;border:none;color:inherit;cursor:pointer;margin-left:4px}.chip-x,.nav-badge{display:inline-flex}.nav-badge{align-items:center;background:#ef4444;border-radius:99px;color:#fff;font-size:10.5px;font-weight:800;height:19px;justify-content:center;margin-left:auto;min-width:19px;padding:0 5px}.student-nav .nav-badge{margin-left:6px}.kpa-modal{max-width:980px;width:min(980px,96vw)}.kpa-ident{grid-gap:10px;background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:12px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:12px;padding:12px 14px}.kpa-ident b{color:#64748b;color:var(--muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.kpa-ident p{font-size:12.5px;font-weight:600;margin-top:2px}.kpa-meta-form{align-items:flex-end;border:1px dashed #e2e8f0;border:1px dashed var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:12px}.kpa-meta-form label{color:#64748b;color:var(--muted);display:flex;flex-direction:column;font-size:11px;font-weight:700;gap:4px}.kpa-meta-form input,.kpa-meta-form select{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:9px;color:#0f172a;color:var(--ink);font-size:12.5px;min-width:150px;padding:8px 10px}.kpa-cat{margin:14px 0}.kpa-cat>b{display:block;font-size:13px;margin-bottom:6px}.kpa-table td,.kpa-table th{font-size:11.5px}.kpa-paraf{display:flex;gap:10px}.kpa-paraf-slot{align-items:center;display:flex;flex-direction:column;gap:3px}.kpa-paraf-slot small{color:#64748b;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase}.kpa-paraf-slot img{background:#fff;border-radius:4px;max-height:34px;max-width:80px;object-fit:contain}.kpa-wait{color:#b45309;font-size:10px}.kpa-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--line);display:flex;gap:16px;margin-top:18px;padding-top:14px}.kpa-footer-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px;text-align:center}.kpa-footer-col b{font-size:12.5px}.kpa-footer-col img{background:#fff;border-radius:6px;max-height:60px;max-width:170px;object-fit:contain}.kpa-footer-col p{font-size:12.5px;font-weight:700}.kpa-footer-col small{color:#64748b;color:var(--muted);font-size:11px}@media(max-width:860px){.chat-list{min-width:0;width:100%}.chat-layout{flex-direction:column;height:auto}.chat-thread{min-height:420px}.chat-conv-scroll{max-height:240px}}.chat-att-btn{align-items:center;border-radius:99px;display:inline-flex;padding:0 13px}.chat-att-img{border-radius:10px;cursor:zoom-in;display:block;max-height:200px;max-width:240px;object-fit:cover}.chat-att-file{align-items:center;background:#0000000f;border-radius:10px;color:inherit;display:flex;gap:9px;max-width:280px;min-width:180px;padding:8px 10px;text-decoration:none}.chat-bubble-row.mine .chat-att-file{background:#ffffff29}.chat-att-file span{flex:1 1;min-width:0}.chat-att-file strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-att-file small{font-size:10px;opacity:.75}.chat-att-error{margin:0 14px 8px}.chat-bubble .chat-att-file+p,.chat-bubble .chat-att-img+p{margin-top:6px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.kpa-filter-row{align-items:center;background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:12px 14px}.kpa-filter-ico{align-items:center;color:#64748b;color:var(--muted);display:inline-flex;font-size:12px;font-weight:700;gap:6px}.kpa-filter-row select{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:9px;color:#0f172a;color:var(--ink);font-size:12.5px;padding:8px 12px}.kpa-filter-count{font-size:12px;margin-left:auto}.kpa-status{align-items:center;border-radius:99px;display:inline-flex;font-size:11px;font-weight:700;padding:4px 10px}.kpa-status.ok{background:#dcfce7;border:1px solid #86efac;color:#166534}.kpa-status.warn{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.kpa-status.off{background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);color:#64748b;color:var(--muted)}.dark .kpa-status.ok{background:#14351f;color:#86efac}.dark .kpa-status.warn{background:#3a2c10;color:#fcd34d}.chat-bubble{position:relative}.chat-del-btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:99px;color:#ef4444;cursor:pointer;display:none;height:22px;justify-content:center;position:absolute;right:-8px;top:-8px;width:22px}.chat-bubble:hover .chat-del-btn{display:inline-flex}.chat-deleted{font-size:12.5px!important;font-style:italic;opacity:.65}.chat-conv-del{color:#ef4444}.survey-section{border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:12px 14px}.survey-section>b{display:block;font-size:13px;margin-bottom:8px}.survey-q{border-top:1px dashed #e2e8f0;border-top:1px dashed var(--line);padding:8px 0}.survey-q:first-of-type{border-top:none}.survey-q p{font-size:12.5px;margin-bottom:6px}.survey-opts{display:flex;flex-wrap:wrap;gap:7px}.survey-q.readonly{align-items:center;display:flex;gap:12px;justify-content:space-between}.survey-q.readonly p{flex:1 1;margin:0}.survey-ans{color:#7c3aed;color:var(--purple);font-size:12.5px;font-weight:700;white-space:nowrap}.survey-avg{margin-left:8px}.survey-sug{font-size:12.5px;white-space:pre-wrap}.survey-sig{align-items:flex-end;border-top:1px solid #e2e8f0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:5px;margin-top:14px;padding-top:12px}.survey-sig b{color:#64748b;color:var(--muted);font-size:11px;text-transform:uppercase}.survey-sig img{background:#fff;border-radius:6px;max-height:60px;max-width:180px;object-fit:contain}.kpa-filter-row input{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:9px;color:#0f172a;color:var(--ink);font-size:12.5px;padding:8px 12px}.role-checks{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.role-check{align-items:center;background:#f8fafc;background:var(--surface-alt);border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:99px;color:#0f172a;color:var(--ink);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:7px 11px}.role-check.on{border-color:#7c3aed;border-color:var(--purple);box-shadow:inset 0 0 0 1px #7c3aed;box-shadow:inset 0 0 0 1px var(--purple);color:#7c3aed;color:var(--purple)}.role-check input{accent-color:#7c3aed;accent-color:var(--purple);margin:0}
/*# sourceMappingURL=main.d5473b75.css.map*/