@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700&display=swap";/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-900:oklch(41% .159 10.272);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-neutral-50:oklch(98.5% 0 none);--color-neutral-100:oklch(97% 0 none);--color-neutral-200:oklch(92.2% 0 none);--color-neutral-300:oklch(87% 0 none);--color-neutral-400:oklch(70.8% 0 none);--color-neutral-500:oklch(55.6% 0 none);--color-neutral-600:oklch(43.9% 0 none);--color-neutral-700:oklch(37.1% 0 none);--color-neutral-800:oklch(26.9% 0 none);--color-neutral-900:oklch(20.5% 0 none);--color-neutral-950:oklch(14.5% 0 none);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.top-\[-1px\]{top:-1px}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.left-0{left:0}.-z-10{z-index:-10}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-auto{margin-inline:auto}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-4{margin-block:calc(var(--spacing) * 4)}.-mt-3{margin-top:calc(var(--spacing) * -3)}.-mt-5{margin-top:calc(var(--spacing) * -5)}.-mt-px{margin-top:-1px}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-6{margin-right:calc(var(--spacing) * 6)}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-px{margin-left:-1px}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-12{margin-left:calc(var(--spacing) * 12)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-\[9px\]{width:9px;height:9px}.h-0{height:0}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-16{height:calc(var(--spacing) * 16)}.h-60{height:calc(var(--spacing) * 60)}.h-\[18px\]{height:18px}.h-\[23\.5px\]{height:23.5px}.h-\[56px\]{height:56px}.h-auto{height:auto}.h-full{height:100%}.max-h-180{max-height:calc(var(--spacing) * 180)}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-\[18px\]{width:18px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-100{min-width:calc(var(--spacing) * 100)}.min-w-120{min-width:calc(var(--spacing) * 120)}.min-w-140{min-width:calc(var(--spacing) * 140)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-not-allowed\!{cursor:not-allowed!important}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-neutral-200>:not(:last-child)){border-color:var(--color-neutral-200)}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-emerald-900{border-color:var(--color-emerald-900)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-neutral-100{border-color:var(--color-neutral-100)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-neutral-300{border-color:var(--color-neutral-300)}.bg-amber-200{background-color:var(--color-amber-200)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-black\/8{background-color:#00000014}@supports (color:color-mix(in lab,red,red)){.bg-black\/8{background-color:color-mix(in oklab,var(--color-black) 8%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-700{background-color:var(--color-blue-700)}.bg-emerald-200{background-color:var(--color-emerald-200)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-800{background-color:var(--color-emerald-800)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-600{background-color:var(--color-neutral-600)}.bg-rose-200{background-color:var(--color-rose-200)}.bg-rose-200\!{background-color:var(--color-rose-200)!important}.bg-rose-500{background-color:var(--color-rose-500)}.bg-rose-600{background-color:var(--color-rose-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-white\/\[2\%\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[2\%\]{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.bg-none{background-image:none}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[6px\]{padding-inline:6px}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pr-1{padding-right:var(--spacing)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pb-0{padding-bottom:0}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\/none{font-size:var(--text-xs);line-height:1}.text-\[13px\]{font-size:13px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.text-amber-900{color:var(--color-amber-900)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-900{color:var(--color-blue-900)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-900{color:var(--color-emerald-900)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-neutral-100{color:var(--color-neutral-100)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-500\!{color:var(--color-neutral-500)!important}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-800{color:var(--color-neutral-800)}.text-neutral-900{color:var(--color-neutral-900)}.text-neutral-950{color:var(--color-neutral-950)}.text-red-600{color:var(--color-red-600)}.text-rose-900{color:var(--color-rose-900)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.decoration-neutral-400{-webkit-text-decoration-color:var(--color-neutral-400);text-decoration-color:var(--color-neutral-400)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.scheme-light-dark{color-scheme:light dark}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.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-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media(hover:hover){.group-hover\:text-blue-500:is(:where(.group):hover *),.group-hover\/exception\:text-blue-500:is(:where(.group\/exception):hover *){color:var(--color-blue-500)}}.odd\:bg-white\/2:nth-child(odd){background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.odd\:bg-white\/2:nth-child(odd){background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.even\:bg-white:nth-child(2n){background-color:var(--color-white)}@media(hover:hover){.hover\:border:hover{border-style:var(--tw-border-style);border-width:1px}.hover\:border-neutral-200:hover{border-color:var(--color-neutral-200)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\:bg-neutral-200:hover{background-color:var(--color-neutral-200)}.hover\:bg-white\/50:hover{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/50:hover{background-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.hover\:text-blue-500:hover{color:var(--color-blue-500)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media(min-width:40rem){.sm\:mb-16{margin-bottom:calc(var(--spacing) * 16)}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-start{justify-content:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:p-14{padding:calc(var(--spacing) * 14)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-0{padding-block:0}.sm\:pt-0{padding-top:0}.sm\:pt-16{padding-top:calc(var(--spacing) * 16)}.sm\:pb-0{padding-bottom:0}}@media(min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media(prefers-color-scheme:dark){:where(.dark\:divide-white\/5>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){:where(.dark\:divide-white\/5>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}:where(.dark\:divide-white\/10>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){:where(.dark\:divide-white\/10>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dark\:border{border-style:var(--tw-border-style);border-width:1px}.dark\:border-none{--tw-border-style:none;border-style:none}.dark\:border-amber-500{border-color:var(--color-amber-500)}.dark\:border-amber-800{border-color:var(--color-amber-800)}.dark\:border-blue-600{border-color:var(--color-blue-600)}.dark\:border-blue-800{border-color:var(--color-blue-800)}.dark\:border-emerald-500{border-color:var(--color-emerald-500)}.dark\:border-emerald-600{border-color:var(--color-emerald-600)}.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:border-neutral-500{border-color:var(--color-neutral-500)}.dark\:border-neutral-700{border-color:var(--color-neutral-700)}.dark\:border-neutral-800{border-color:var(--color-neutral-800)}.dark\:border-rose-500{border-color:var(--color-rose-500)}.dark\:border-rose-900{border-color:var(--color-rose-900)}.dark\:border-transparent{border-color:#0000}.dark\:border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/5{border-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.dark\:border-white\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/8{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.dark\:border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dark\:border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.dark\:border-white\/\[9\%\]{border-color:#ffffff17}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/\[9\%\]{border-color:color-mix(in oklab,var(--color-white) 9%,transparent)}}.dark\:bg-\[\#1a1a1a\]{background-color:#1a1a1a}.dark\:bg-amber-600{background-color:var(--color-amber-600)}.dark\:bg-amber-950{background-color:var(--color-amber-950)}.dark\:bg-blue-700{background-color:var(--color-blue-700)}.dark\:bg-blue-950{background-color:var(--color-blue-950)}.dark\:bg-emerald-600{background-color:var(--color-emerald-600)}.dark\:bg-emerald-900\/70{background-color:#004e3bb3}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-900\/70{background-color:color-mix(in oklab,var(--color-emerald-900) 70%,transparent)}}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-neutral-400{background-color:var(--color-neutral-400)}.dark\:bg-neutral-600{background-color:var(--color-neutral-600)}.dark\:bg-neutral-700{background-color:var(--color-neutral-700)}.dark\:bg-neutral-800{background-color:var(--color-neutral-800)}.dark\:bg-neutral-900{background-color:var(--color-neutral-900)}.dark\:bg-rose-600{background-color:var(--color-rose-600)}.dark\:bg-rose-900\!{background-color:var(--color-rose-900)!important}.dark\:bg-rose-950{background-color:var(--color-rose-950)}.dark\:bg-transparent{background-color:#0000}.dark\:bg-white{background-color:var(--color-white)}.dark\:bg-white\/1{background-color:#ffffff03}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/1{background-color:color-mix(in oklab,var(--color-white) 1%,transparent)}}.dark\:bg-white\/2{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/2{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.dark\:bg-white\/3{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/3{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.dark\:bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/5{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.dark\:bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dark\:bg-white\/\[2\%\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/\[2\%\]{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.dark\:bg-white\/\[3\%\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/\[3\%\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.dark\:text-amber-300{color:var(--color-amber-300)}.dark\:text-blue-300{color:var(--color-blue-300)}.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-emerald-500{color:var(--color-emerald-500)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:text-neutral-100{color:var(--color-neutral-100)}.dark\:text-neutral-200{color:var(--color-neutral-200)}.dark\:text-neutral-300{color:var(--color-neutral-300)}.dark\:text-neutral-400{color:var(--color-neutral-400)}.dark\:text-neutral-500{color:var(--color-neutral-500)}.dark\:text-neutral-600{color:var(--color-neutral-600)}.dark\:text-neutral-600\!{color:var(--color-neutral-600)!important}.dark\:text-neutral-900{color:var(--color-neutral-900)}.dark\:text-rose-100{color:var(--color-rose-100)}.dark\:text-white{color:var(--color-white)}.dark\:text-white\!{color:var(--color-white)!important}}@media(hover:hover){@media(prefers-color-scheme:dark){.group-hover\:dark\:text-emerald-500:is(:where(.group):hover *),.group-hover\/exception\:dark\:text-emerald-500:is(:where(.group\/exception):hover *){color:var(--color-emerald-500)}}}@media(prefers-color-scheme:dark){.odd\:dark\:bg-white\/4:nth-child(odd){background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.odd\:dark\:bg-white\/4:nth-child(odd){background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.even\:dark\:bg-white\/2:nth-child(2n){background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.even\:dark\:bg-white\/2:nth-child(2n){background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}@media(hover:hover){.dark\:hover\:border-none:hover{--tw-border-style:none;border-style:none}.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:bg-white\/2:hover{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-white\/2:hover{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.dark\:hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.dark\:hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}}}@media(hover:hover){@media(prefers-color-scheme:dark){.hover\:dark\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:dark\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}}}@media(prefers-color-scheme:dark){@media(hover:hover){.dark\:hover\:text-emerald-500:hover{color:var(--color-emerald-500)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}}@media(hover:hover){@media(prefers-color-scheme:dark){.hover\:dark\:text-white:hover{color:var(--color-white)}}}@media(prefers-color-scheme:dark){.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}.\[\&_svg\]\:size-2\.5 svg{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.\[\&_svg\]\:\!text-white svg{color:var(--color-white)!important}@media(hover:hover){.hover\:\[\&_svg\]\:stroke-emerald-500:hover svg{stroke:var(--color-emerald-500)}}@media(prefers-color-scheme:dark){.dark\:\[\&_svg\]\:\!text-white svg{color:var(--color-white)!important}}}:root{--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", "Inter", system-ui, sans-serif;--blue:#0b5ed7;--blue2:#1a73e8;--blue-gradient:linear-gradient(135deg, #0b5ed7 0%, #1a73e8 100%);--bg:#bdefff;--text:#0f172a;--muted:#64748b;--card:#fff;--border:#e2e8f0;--success:#16a34a;--warn:#f59e0b;--danger:#ef4444;--radius-xl:18px;--radius-lg:14px;--radius-md:12px;--topbar-bg:linear-gradient(135deg, #0b5ed7f2 0%, #1a73e8eb 100%);--topbar-text:#fff;--topbar-sub:#ffffffd9;--topbar-border:#ffffff2e;--topbar-avatar-border:#ffffff73;--avatar-bg:#eff6ff;--avatar-text:#0b5ed7;--icon-btn-bg:#ffffff29;--icon-btn-border:#ffffff38;--icon-btn-color:#fff;--card-alt:#f8fbff;--card-alt2:#fbfdff;--nav-bg:#fff;--nav-icon:#64748b;--nav-active:#1a73e8;--nav-active-bg:#0b5ed71a;--nav-active-border:#0b5ed729;--input-bg:#fff;--pill-pending:#64748b1a;--pill-pending-border:#64748b2e;--empty-dashed:#64748b59}[data-theme=dark]{--bg:#0f172a;--text:#f8fafc;--muted:#94a3b8;--card:#1e293b;--border:#334155;--topbar-bg:#1e293beb;--topbar-text:#f8fafc;--topbar-sub:#94a3b8;--topbar-border:#ffffff14;--topbar-avatar-border:#ffffff2e;--avatar-bg:#334155;--avatar-text:#60a5fa;--icon-btn-bg:#ffffff14;--icon-btn-border:#ffffff1f;--icon-btn-color:#f8fafc;--card-alt:#0f172a;--card-alt2:#1e293b;--nav-bg:#1e293b;--nav-icon:#94a3b8;--nav-active:#60a5fa;--nav-active-bg:#1a73e838;--nav-active-border:#1a73e859;--input-bg:#0f172a;--pill-pending:#94a3b829;--pill-pending-border:#94a3b847;--empty-dashed:#94a3b859}*{box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);margin-top:0;font-weight:700}#appCapsule{background:var(--card);max-width:430px;min-height:100vh;margin:0 auto;padding-bottom:92px;position:relative;box-shadow:0 0 30px #00000014}.login-wrapper{background-color:var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.login-card{flex-direction:column;align-items:stretch;width:100%;max-width:420px;display:flex}.login-illustration{border-radius:var(--radius-xl);background:linear-gradient(135deg,#7fdcff,#46caff);flex-direction:column;justify-content:center;align-items:center;padding:40px 32px 80px;display:flex;box-shadow:0 18px 36px #0000001f}.login-illustration img{filter:drop-shadow(0 10px 15px #0000001a);max-width:100%;height:auto}.login-illustration-title{text-align:center;color:#0f172a;margin-top:24px;font-size:20px;font-weight:700;line-height:1.4}.login-form-panel{background:var(--card);border-radius:var(--radius-xl);border:1px solid var(--border);flex-direction:column;justify-content:center;margin-top:-60px;padding:32px 28px 28px;display:flex;box-shadow:0 20px 40px #00000026}.login-title{text-align:center;color:var(--text);margin-bottom:32px;font-size:22px;font-weight:700;line-height:1.4}.login-alert{border-radius:var(--radius-md);color:#856404;background-color:#fff3cd;border:1px solid #ffeeba;align-items:center;gap:8px;margin-bottom:20px;padding:12px 16px;font-size:13.5px;font-weight:600;line-height:1.4;animation:.25s ease-out fadeInSlide;display:flex}.login-alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.login-alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.login-label{color:var(--muted);margin-bottom:6px;font-size:14px;font-weight:600}.login-field{margin-bottom:18px}.login-input{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--input-bg);width:100%;color:var(--text);outline:none;padding:12px 14px;font-size:14px;transition:all .2s}.login-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0b5ed726}.login-footer{justify-content:space-between;align-items:center;margin-top:4px;margin-bottom:24px;font-size:13px;display:flex}.forgot-link{color:var(--blue2);font-weight:600;text-decoration:none}.forgot-link:hover{text-decoration:underline}.login-button{background:var(--blue-gradient);color:#fff;cursor:pointer;border:none;border-radius:999px;width:100%;padding:12px 20px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 8px 18px #0b5ed74d}.login-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0b5ed766}.login-button:active{transform:translateY(1px)}.login-alert{border-radius:var(--radius-md);color:#ad6800;background:#fffbe6;border:1px solid #ffe58f;margin-bottom:16px;padding:10px 14px;font-size:13px}.login-alert-danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.login-alert-success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}@media(max-width:480px){.login-card{max-width:360px}.login-illustration{padding:32px 20px 72px}.login-form-panel{margin-top:-52px;padding:28px 20px 24px}.login-title{font-size:20px}}.topbar,.topBar{z-index:999;background:var(--topbar-bg);color:var(--topbar-text);padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;border-bottom:1px solid var(--topbar-border);-webkit-backdrop-filter:blur(16px);transition:background .3s,border-color .3s,box-shadow .3s;position:sticky;top:0;box-shadow:0 4px 20px -2px #00000012}[data-theme=dark] .topbar,[data-theme=dark] .topBar{box-shadow:0 4px 20px -2px #00000059}.topBarRow{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.profileGroup{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.avatar{background-color:var(--avatar-bg);width:40px;min-width:40px;height:40px;min-height:40px;color:var(--avatar-text);border:2px solid var(--topbar-avatar-border);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:800;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;display:flex;box-shadow:0 2px 6px #0000001f}.avatar:hover{transform:scale(1.05)}.profileMeta{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.profileMeta .name{color:var(--topbar-text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.profileMeta .sub{color:var(--topbar-sub);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;font-weight:500;overflow:hidden}.topIcons{flex-shrink:0;align-items:center;gap:6px;display:flex}.iconBtn,.icon-btn{background:var(--icon-btn-bg);border:1px solid var(--icon-btn-border);width:36px;min-width:36px;height:36px;color:var(--icon-btn-color);cursor:pointer;-webkit-backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:18px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.iconBtn:hover,.icon-btn:hover{color:var(--topbar-text);background:#ffffff40;border-color:#ffffff59;transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}[data-theme=dark] .iconBtn:hover,[data-theme=dark] .icon-btn:hover{background:#ffffff26;border-color:#ffffff40;box-shadow:0 4px 10px #0000004d}.iconBtn:active,.icon-btn:active{transform:scale(.94)}.fabAdd{background:var(--blue-gradient);color:#fff;z-index:950;border:1px solid #0b5ed740;border-radius:14px;place-items:center;width:50px;height:50px;text-decoration:none;transition:all .2s;display:grid;position:fixed;bottom:86px;right:max(18px,50vw - 197px);box-shadow:0 10px 24px #0b5ed759}.fabAdd:hover{transform:scale(1.05)}.sectionTitleRow{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 12px;display:flex}.sectionTitleRow h2,.sectionTitleWrap h2{color:var(--text);letter-spacing:-.2px;margin:0;font-size:16px;font-weight:800}.sectionSubtitle{color:var(--muted);font-size:11px;font-weight:600}.badgeDate{background:var(--card-alt);color:var(--text);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 1px 3px #0000000a}.badgeDate ion-icon{color:var(--blue2);font-size:14px}.page-wrapper,.content{box-sizing:border-box;width:100%}.dashboardGrid{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;padding:0 16px 28px;display:flex}.dashboardCol{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;min-width:0;display:flex}.summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px;display:grid}@media(min-width:992px){.dashboardGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 24px 36px;display:grid}.summaryGrid{gap:16px;padding:0 24px 20px}}.summaryCard{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);flex-direction:column;gap:8px;padding:14px 16px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000008}.summaryCard:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.summaryTop{z-index:2;justify-content:space-between;align-items:center;gap:8px;display:flex}.summaryIcon{border-radius:12px;place-items:center;width:40px;height:40px;font-size:20px;display:grid;box-shadow:0 2px 6px #0000000a}.summaryIcon.hadir{color:#16a34a;background:#16a34a24}.summaryIcon.sakit{color:#dc2626;background:#ef444424}.summaryIcon.izin{color:#d97706;background:#f59e0b26}.summaryIcon.alpha{color:#b91c1c;background:#ef44442e}.summaryLabel{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:11px;font-weight:800}.summaryCount{color:var(--text);z-index:2;font-variant-numeric:tabular-nums;font-size:28px;font-weight:900;line-height:1.1}.summaryBigIcon{opacity:.06;color:var(--text);pointer-events:none;z-index:1;font-size:58px;position:absolute;bottom:-6px;right:-4px}.cardBox{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);margin:0;padding:18px 16px;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000008}.cardHeadRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.cardHeadRow h2{color:var(--text);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:800;display:flex}.kpiLeaderboardList{flex-direction:column;gap:10px;display:flex}.kpiCard{background:var(--card-alt);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:transform .15s;display:flex}.kpiLeft{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.kpiRank{text-align:center;border-radius:8px;flex-shrink:0;min-width:38px;padding:4px 6px;font-size:11px;font-weight:900}.kpiRank.gold{color:#d97706;background:#fffbe6;border:1px solid #fde68a}.kpiRank.silver{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.kpiRank.bronze{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.kpiRank.normal{background:var(--card);color:var(--muted);border:1px solid var(--border)}.kpiAvatar{background:var(--blue2);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:grid;overflow:hidden}.kpiInfo{flex:1;min-width:0}.kpiName{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:800;overflow:hidden}.kpiMeta{color:var(--muted);align-items:center;gap:6px;margin-top:2px;font-size:11px;font-weight:600;display:flex}.kpiRight{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.kpiScore{color:var(--blue2);font-size:14px;font-weight:900}.kpiScoreSub{color:var(--muted);font-size:10px;font-weight:600}.activityHeaderRow{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.activityHeaderRow h2{color:var(--text);margin:0;font-size:13px;font-weight:900}.mutedLink{color:var(--blue2);font-size:12px;font-weight:700;text-decoration:none}.activityList{flex-direction:column;gap:10px;padding:0 16px 20px;display:flex}.activityRow{background:var(--card);border:1px solid var(--border);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex;box-shadow:0 1px 4px #00000008}.activityLeft{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.activityAvatar{background:var(--avatar-bg);width:38px;height:38px;color:var(--avatar-text);border-radius:12px;flex-shrink:0;place-items:center;font-size:14px;font-weight:800;display:grid;overflow:hidden}.activityName{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:800;overflow:hidden}.activityMeta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;font-weight:600;overflow:hidden}.activityRight{flex-shrink:0;align-items:center;gap:8px;display:flex}.pill{letter-spacing:.2px;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.pill.hadir{color:#15803d;background:#16a34a1f;border-color:#16a34a33}.pill.sakit{color:#dc2626;background:#ef44441f;border-color:#ef444433}.pill.izin{color:#d97706;background:#f59e0b26;border-color:#f59e0b33}.pill.terlambat{color:#475569;background:#64748b1f;border-color:#64748b33}.pill.pending{background:var(--pill-pending);color:#64748b;border-color:var(--pill-pending-border)}.pill.alpha{color:#b91c1c;background:#ef44441f;border-color:#ef444438}.detailBtn{color:var(--blue2);background:#0b5ed71a;border:1px solid #0b5ed72e;border-radius:12px;padding:7px 10px;font-size:11px;font-weight:800;text-decoration:none}.emptyState{text-align:center;border:1px dashed var(--empty-dashed);color:var(--muted);border-radius:16px;margin:10px 0 20px;padding:14px;font-size:12px;font-weight:700}.flashAlert{border-radius:14px;margin:12px 16px 0;padding:10px 12px;font-size:12px;font-weight:700}.flashAlert.success{color:#166534;background:#16a34a1a;border:1px solid #16a34a40}.flashAlert.warning{color:#92400e;background:#f59e0b1f;border:1px solid #f59e0b40}.pageHeaderRow{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 10px;display:flex}.btnPrimary{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #084298 100%));min-height:40px;font-size:13px;font-weight:700;font-family:var(--font-sans);cursor:pointer;box-sizing:border-box;white-space:nowrap;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;transition:all .15s;display:inline-flex;box-shadow:0 4px 14px #0b5ed740;color:#fff!important;text-decoration:none!important}.btnPrimary:hover{opacity:.96;transform:translateY(-1px);box-shadow:0 6px 18px #0b5ed759}.btnPrimary:active{opacity:.9;transform:scale(.98)}.btnOutlineDanger{min-height:40px;font-size:13px;font-weight:700;font-family:var(--font-sans);cursor:pointer;box-sizing:border-box;white-space:nowrap;background:#ef444414;border:1px solid #ef444440;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;transition:all .15s;display:inline-flex;color:#dc2626!important;text-decoration:none!important}.btnOutlineDanger:hover{background:#ef444426;border-color:#ef444466}.btnOutline{background:var(--card,#fff);color:var(--blue2);border:1px solid var(--border,#0b5ed733);min-height:40px;font-size:13px;font-weight:700;font-family:var(--font-sans);cursor:pointer;box-sizing:border-box;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;transition:all .15s;display:inline-flex;text-decoration:none!important}.btnOutline:hover{background:var(--card-alt,#f8fbff);border-color:var(--blue2);box-shadow:0 2px 8px #0b5ed71f}.formCard{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);margin:0 16px 24px;padding:20px 22px;box-shadow:0 4px 16px #00000008}.fieldLabel{color:var(--text);align-items:center;gap:4px;margin-bottom:8px;font-size:12.5px;font-weight:700;display:flex}.input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:12px;outline:none;padding:12px 14px;font-size:13.5px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:#0b5ed773;box-shadow:0 0 0 3px #0b5ed726}.formRow{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.errorList{color:#dc2626;background:#ef444414;border:1px solid #ef444440;border-radius:16px;margin:0 16px 16px;padding:14px 16px;font-size:12.5px;font-weight:700}.siswaGrid{grid-template-columns:1fr;gap:16px;padding:0 16px 28px;display:grid}@media(min-width:768px){.siswaGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 20px 36px}}.siswaCard{border:1px solid var(--border);background:var(--card);border-radius:20px;flex-direction:column;justify-content:space-between;padding:20px 22px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 4px 16px #0000000a}.siswaCard:hover{border-color:#0b5ed759;box-shadow:0 8px 24px #0000000f}.siswaTop{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.siswaName{color:var(--text);margin-top:0;margin-bottom:8px;font-size:16px;font-weight:800;line-height:1.4}.siswaMeta{color:var(--muted);margin-top:10px;font-size:12.5px;font-weight:500;line-height:1.65}.cardInfoBox{background:var(--card-alt,#f8fafc);border:1px solid var(--border);border-radius:14px;grid-template-columns:1fr;gap:8px;margin-top:14px;padding:12px 14px;display:grid}@media(min-width:540px){.cardInfoBox.twoCols{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}}.cardInfoRow{color:var(--text);align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.cardInfoIcon{color:var(--blue2);flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.cardInfoLabel{color:var(--muted);font-size:11px;font-weight:600}.cardInfoVal{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.siswaActions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;width:100%;margin-top:18px;padding-top:16px;display:flex}.siswaActions>a,.siswaActions>button,.siswaActions>form{flex:1;min-width:0;display:flex}.siswaActions>form{margin:0}.siswaActions>form>button{flex:1;width:100%}.smallBtn{cursor:pointer;white-space:nowrap;text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:38px;padding:9px 12px;font-size:12px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.smallBtn.edit{color:var(--blue2);background:#0b5ed70f;border:1px solid #0b5ed72e}.smallBtn.edit:hover{background:#0b5ed71f;border-color:#0b5ed759}.smallBtn.delete{color:#dc2626;background:#ef444414;border:1px solid #ef444438}.smallBtn.delete:hover{background:#ef444426;border-color:#ef444466}.btn-table-action{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-width:64px;height:32px;padding:0 10px;font-size:11.5px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;width:auto!important}.btn-status-toggle{color:var(--text,#0f172a);background:var(--card-alt,#f8fafc);border:1px solid #64748b38}.btn-status-toggle:hover{background:#f1f5f9;border-color:#64748b66}.filterPillsContainer{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filterPillBtn{border-radius:12px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:12.5px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.pagination{flex-wrap:wrap;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.pagination li{display:inline-block}.pagination li a,.pagination li span,.pagination .page-link{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;justify-content:center;align-items:center;padding:8px 10px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.pagination li.active span,.pagination li.active a,.pagination .active .page-link{background:var(--blue2);color:#fff;border-color:#0000}.pagination li.disabled span,.pagination li.disabled a{opacity:.45;cursor:default}.appBottomMenu,.bottomNavAdmin{background:var(--nav-bg);border-top:1px solid var(--border);width:100%;max-width:430px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));z-index:1000;-webkit-backdrop-filter:blur(18px);grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 24px #00000014}[data-theme=dark] .appBottomMenu,[data-theme=dark] .bottomNavAdmin{background:#1e293beb;border-top-color:#ffffff14;box-shadow:0 -6px 28px #00000059}.bottomNavAdmin a.navItem,.bottomNavAdmin button.navItem,.bottomNavAdmin a:not(.navItemCenter),.appBottomMenu .item:not(.navItemCenter){color:var(--nav-icon);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;min-width:0;padding:6px 2px;font-size:10px;font-weight:600;text-decoration:none;transition:color .2s,background-color .2s,transform .15s;display:flex}.bottomNavAdmin a.navItem:active,.bottomNavAdmin button.navItem:active,.appBottomMenu .item:active{transform:scale(.92)}.navIconWrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.bottomNavAdmin a.navItem ion-icon,.bottomNavAdmin button.navItem ion-icon,.bottomNavAdmin a:not(.navItemCenter) ion-icon,.appBottomMenu .item:not(.navItemCenter) ion-icon{flex-shrink:0;font-size:21px;transition:transform .2s,color .2s}.bottomNavAdmin a.navItem span,.bottomNavAdmin button.navItem span,.bottomNavAdmin a:not(.navItemCenter) span,.appBottomMenu .item:not(.navItemCenter) span{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.1px;max-width:100%;font-size:10px;font-weight:600;line-height:1.15;display:block;overflow:hidden}.bottomNavAdmin a.navItem.active,.bottomNavAdmin button.navItem.active,.bottomNavAdmin a.active:not(.navItemCenter),.appBottomMenu .item.active:not(.navItemCenter){color:var(--nav-active);background:var(--nav-active-bg);font-weight:700}.bottomNavAdmin a.navItem.active ion-icon,.bottomNavAdmin button.navItem.active ion-icon{transform:translateY(-1px)}.navDotBadge{border:1.5px solid var(--nav-bg);background:#0b5ed7;border-radius:50%;width:7px;height:7px;position:absolute;top:-1px;right:-3px;box-shadow:0 0 6px #0b5ed799}.navItemCenter{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;width:100%;min-width:0;margin-top:-14px;padding-bottom:2px;text-decoration:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.navItemCenter:active{transform:scale(.92)}.navCenterCircle{color:#fff;border:3.5px solid var(--nav-bg);z-index:2;background:linear-gradient(135deg,#0b5ed7,#0284c7);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;box-shadow:0 4px 16px #0b5ed773}[data-theme=dark] .navCenterCircle{border-color:#1e293bf2;box-shadow:0 4px 20px #0284c773}.navCenterCircle ion-icon{color:#fff;font-size:24px;transition:transform .2s}.navCenterLabel{color:var(--nav-icon);letter-spacing:-.1px;margin-top:3px;font-size:9.5px;font-weight:700;line-height:1.1;transition:color .2s}.navItemCenter.active .navCenterCircle{background:linear-gradient(135deg,#1d4ed8,#0b5ed7,#0284c7);transform:translateY(-2px);box-shadow:0 6px 22px #0b5ed7a6,0 0 0 3px #0b5ed740}.navItemCenter.active .navCenterLabel{color:var(--nav-active);font-weight:800}.navDrawerBackdrop{-webkit-backdrop-filter:blur(6px);z-index:2000;opacity:0;visibility:hidden;background:#0f172a99;transition:opacity .3s cubic-bezier(.16,1,.3,1),visibility .3s cubic-bezier(.16,1,.3,1);position:fixed;top:0;right:0;bottom:0;left:0}.navDrawerBackdrop.active{opacity:1;visibility:visible}.navDrawerSheet{background:var(--card);border-top:1px solid var(--border);width:100%;max-width:480px;padding:12px 18px calc(24px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;z-index:2001;border-top-left-radius:26px;border-top-right-radius:26px;max-height:85vh;transition:transform .35s cubic-bezier(.16,1,.3,1);position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)translateY(100%);box-shadow:0 -16px 48px #00000038}.navDrawerBackdrop.active .navDrawerSheet{transform:translate(-50%)translateY(0)}.navDrawerHandle{background:var(--muted);opacity:.35;border-radius:999px;width:42px;height:4.5px;margin:4px auto 14px}.navDrawerHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.navDrawerTitleWrap{flex-direction:column;display:flex}.navDrawerSub{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-size:10.5px;font-weight:700}.navDrawerTitle{color:var(--text);margin:2px 0 0;font-size:16px;font-weight:800}.navDrawerCloseBtn{border:1px solid var(--border);background:var(--card-alt);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;font-size:18px;transition:background-color .15s,transform .15s;display:grid}.navDrawerCloseBtn:active{transform:scale(.92)}.navDrawerBody{flex-direction:column;gap:18px;display:flex}.navDrawerSection{flex-direction:column;gap:10px;display:flex}.navDrawerSectionTitle{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.navDrawerSectionTitle ion-icon{color:var(--primary,#0b5ed7);font-size:14px}.navDrawerGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.navDrawerCard{background:var(--card-alt);border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:all .2s;display:flex}.navDrawerCard:hover{background:var(--card);border-color:#0b5ed74d;transform:translateY(-2px);box-shadow:0 4px 14px #0000000d}.navDrawerCard:active{transform:scale(.97)}.navDrawerCard.active{background:#0b5ed714;border-color:#0b5ed759}.navDrawerCard.active .navCardTitle{color:var(--nav-active);font-weight:800}.navCardIcon{border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.navCardIcon.emerald{color:#059669;background:#10b9811f}.navCardIcon.blue{color:#0284c7;background:#0ea5e91f}.navCardIcon.cyan{color:#0891b2;background:#06b6d41f}.navCardIcon.indigo{color:#6366f1;background:#6366f11f}.navCardIcon.purple{color:#9333ea;background:#a855f71f}.navCardIcon.amber{color:#d97706;background:#f59e0b1f}.navCardIcon.orange{color:#ea580c;background:#f973161f}.navCardIcon.rose{color:#e11d48;background:#f43f5e1f}.navCardIcon.teal{color:#0d9488;background:#14b8a61f}.navCardIcon.slate{color:#475569;background:#64748b1f}.navCardMeta{flex:1;min-width:0}.navCardTitle{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;line-height:1.25;overflow:hidden}.navCardDesc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10.5px;overflow:hidden}.pickerMapWrapper{border:1px solid var(--border);z-index:1;touch-action:pan-x pan-y;border-radius:14px;width:100%;height:340px}@media(min-width:1024px){.pickerMapWrapper{height:440px}}.hover-lift{transition:transform .2s,box-shadow .2s}.hover-lift:hover{transform:translateY(-3px)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.35s cubic-bezier(.16,1,.3,1) forwards slideUp}.tutorTop{background:var(--card-alt);border-bottom:1px solid var(--border);padding:12px 14px}.tutorTopRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.tutorLeft{align-items:center;gap:10px;min-width:0;display:flex}.tutorAvatar{background:var(--text);width:42px;height:42px;color:var(--card);border-radius:50%;place-items:center;font-weight:900;display:grid;overflow:hidden}.tutorMeta{min-width:0}.tutorSub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;font-weight:700;overflow:hidden}.tutorIconBtn{background:var(--icon-btn-bg);width:36px;height:36px;color:var(--text);cursor:pointer;border:none;border-radius:999px;place-items:center;display:grid}.clockCard{border-radius:var(--radius-xl);color:#fff;text-align:center;background:linear-gradient(135deg,#1e3a8a,#0b5ed7);margin:0;padding:18px 20px;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #0b5ed759}.clockCard:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff26,#0000 70%);width:200px;height:200px;position:absolute;top:-50%;right:-20%}.clockLabel{letter-spacing:1.2px;opacity:.85;text-transform:uppercase;font-size:11px;font-weight:800}.clockTime{font-variant-numeric:tabular-nums;letter-spacing:-.5px;margin-top:4px;font-size:36px;font-weight:900;line-height:1.1}.clockTz{opacity:.85;margin-top:4px;font-size:11px;font-weight:700}.sectionCaps{padding:4px 0 8px}.sectionCapTitle{letter-spacing:.8px;color:var(--text);text-transform:uppercase;font-size:12px;font-weight:800}.quickGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;display:grid}.quickCard{border-radius:var(--radius-xl);background:var(--card);color:var(--text);border:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:108px;padding:16px 14px;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 2px 8px #00000008}.quickCard:hover{border-color:#0b5ed74d;transform:translateY(-2px);box-shadow:0 8px 18px #0000000f}.quickCard:active{transform:scale(.97)}.quickIcon{width:52px;height:52px;color:var(--blue2);background:#0b5ed71a;border-radius:16px;place-items:center;font-size:24px;transition:transform .2s;display:grid}.quickCard:hover .quickIcon{transform:scale(1.08)}.quickIcon.warn{color:var(--warn);background:#f59e0b24}.quickIcon.success{color:var(--success);background:#16a34a24}.quickLabel{text-align:center;font-size:12px;font-weight:800}.rowHeader{justify-content:space-between;align-items:center;gap:12px;padding:4px 0 8px;display:flex}.rowHeaderTitle{letter-spacing:.8px;color:var(--text);text-transform:uppercase;font-size:12px;font-weight:800}.rowHeaderLink{color:var(--blue2);font-size:11px;font-weight:700;text-decoration:none}.recentWrap{flex-direction:column;gap:10px;padding:0;display:flex}.recentItem{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background-color .15s;display:flex;box-shadow:0 1px 4px #00000005}.recentItem:hover{background:var(--card-alt)}.recentLeft{align-items:center;gap:10px;min-width:0;display:flex}.recentCheck{width:26px;height:26px;color:var(--success);background:#16a34a24;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.recentCheck.pending{color:var(--warn);background:#f59e0b24}.recentMeta{min-width:0}.recentDay{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;overflow:hidden}.recentTime{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;font-weight:600;overflow:hidden}.pillSmall{color:#15803d;letter-spacing:.2px;text-transform:uppercase;background:#16a34a1f;border:1px solid #16a34a33;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:10px;font-weight:800}.pillSmall.pillOk{color:#15803d;background:#16a34a1f;border-color:#16a34a33}.pillSmall.pillPending{color:#b45309;background:#f59e0b24;border-color:#f59e0b40}.pillSmall.pillMuted{background:var(--pill-pending);color:var(--muted);border-color:var(--pill-pending-border)}.pillSmall.pillAlpha{color:#b91c1c;background:#ef44441f;border-color:#ef444438}.agendaWrap{flex-direction:column;gap:10px;padding:0 16px 110px;display:flex}.agendaItem{background:var(--card);border-radius:var(--radius-xl);border:1px solid var(--border);align-items:flex-start;gap:10px;padding:12px;display:flex;box-shadow:0 1px 4px #0000000a}.agendaBar{background:var(--warn);border-radius:999px;flex-shrink:0;width:4px;height:36px;margin-top:2px}.agendaTitle{color:var(--text);font-size:12px;font-weight:800}.agendaSub{color:var(--muted);margin-top:3px;font-size:10px;font-weight:700}.todayCard{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--card);align-items:center;gap:14px;margin:0;padding:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000008}.todayCard.belum{background:#0b5ed70f;border-color:#0b5ed733}.todayCard.proses{background:#f59e0b14;border-color:#f59e0b47}.todayCard.selesai{background:#16a34a12;border-color:#16a34a3d}.todayIcon{border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.todayIcon.belum{color:var(--blue2);background:#0b5ed724}.todayIcon.proses{color:#d97706;background:#f59e0b2e}.todayIcon.selesai{color:#16a34a;background:#16a34a26}.todayBody{flex:1;min-width:0}.todayStatusLabel{letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:800}.todayStatusLabel.belum{color:var(--blue2)}.todayStatusLabel.proses{color:#d97706}.todayStatusLabel.selesai{color:#16a34a}.todayTimeRow{gap:16px;margin-top:6px;display:flex}.todayTimeChip{flex-direction:column;display:flex}.todayTimeVal{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:900}.todayTimeLbl{color:var(--muted);margin-top:1px;font-size:10px;font-weight:700}.todayCountdown{color:#d97706;align-items:center;gap:4px;margin-top:6px;font-size:11px;font-weight:800;display:flex}.todayAbsenBtn{background:var(--blue2);color:#fff;cursor:pointer;border:none;border-radius:12px;flex-shrink:0;align-items:center;gap:6px;padding:10px 16px;font-size:11px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 4px 12px #0b5ed740}.todayAbsenBtn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0b5ed759}.todayAbsenBtn:active{transform:scale(.96)}.todayAbsenBtn.btnSelesai{background:#dc2626;box-shadow:0 4px 12px #dc262640}.todayAbsenBtn.btnSelesai:hover{box-shadow:0 6px 16px #dc262659}.statsGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;display:grid}.statCard{background:var(--card);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:14px 10px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 4px #00000005}.statIcon{margin-bottom:2px;font-size:22px;line-height:1}.statIcon.success{color:#16a34a}.statIcon.primary{color:var(--blue2)}.statIcon.warning{color:#f59e0b}.statValue{color:var(--text);font-variant-numeric:tabular-nums;font-size:18px;font-weight:900;line-height:1.2}.statLabel{color:var(--muted);font-size:11px;font-weight:700}.magangInfoCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);margin:0;padding:16px 18px;box-shadow:0 2px 8px #00000008}.magangInfoHead{align-items:center;gap:12px;margin-bottom:12px;display:flex}.magangInfoIcon{width:42px;height:42px;color:var(--blue2);background:#0b5ed71f;border-radius:12px;flex-shrink:0;place-items:center;font-size:22px;display:grid}.magangInfoTitle{color:var(--text);font-size:14px;font-weight:800;line-height:1.3}.magangInfoSub{color:var(--muted);margin-top:2px;font-size:11px;font-weight:600}.magangInfoGrid{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:12px;font-size:12px;display:grid}.magangInfoItem{flex-direction:column;gap:2px;display:flex}.magangInfoItemLbl{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.magangInfoItemVal{color:var(--text);font-size:12px;font-weight:800}.activeCard{border-radius:var(--radius-xl);background:linear-gradient(135deg,#f59e0b1f,#f59e0b0a);border:1px solid #f59e0b4d;flex-direction:column;gap:12px;margin:0;padding:16px 18px;display:flex;position:relative;overflow:hidden}.activePulse{background:#f59e0b;border-radius:50%;width:10px;height:10px;animation:1.8s cubic-bezier(.66,0,0,1) infinite pulseRing;position:absolute;top:14px;right:14px;box-shadow:0 0 #f59e0bb3}@keyframes pulseRing{0%{box-shadow:0 0 #f59e0bb3}70%{box-shadow:0 0 0 10px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}.activeTitle{color:var(--text);font-size:13px;font-weight:800}.activeSub{color:var(--muted);font-size:12px;font-weight:600}.activeSub strong{color:var(--text)}.activeLoc{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.activeLoc ion-icon{color:var(--blue2);font-size:14px}.activeActionBtn{color:#fff;background:#dc2626;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 16px;font-size:12px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 4px 12px #dc262640}.activeActionBtn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #dc262659}.magangCtaCard{border-radius:var(--radius-xl);text-align:center;background:linear-gradient(135deg,#0b5ed714,#0b5ed705);border:1px dashed #0b5ed759;flex-direction:column;align-items:center;gap:6px;margin:0;padding:18px;display:flex}.magangCtaTitle{color:var(--text);font-size:14px;font-weight:800}.magangCtaDesc{color:var(--muted);max-width:320px;margin-bottom:8px;font-size:12px;line-height:1.4}.magangCtaBtn{background:var(--blue2);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:12px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 4px 14px #0b5ed74d}.magangCtaBtn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0b5ed766}.profileHero{background:linear-gradient(180deg,#0b5ed714 0%,var(--card) 100%);border-bottom:1px solid var(--border);flex-direction:column;align-items:center;margin-bottom:18px;padding:24px 16px 20px;display:flex;position:relative}[data-theme=dark] .profileHero{background:linear-gradient(180deg,#38bdf80f 0%,var(--card) 100%)}.profileAvatarBox{width:104px;height:104px;margin-bottom:14px;position:relative}.profileAvatarImg{object-fit:cover;background:var(--card-alt);border:3.5px solid var(--card);border-radius:50%;width:100%;height:100%;box-shadow:0 8px 24px #0000001f}.profileAvatarInitial{background:linear-gradient(135deg,var(--blue2) 0%,#1e40af 100%);color:#fff;border:3.5px solid var(--card);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:42px;font-weight:900;display:flex;box-shadow:0 8px 20px #0b5ed740}.profileCameraBtn{background:var(--blue2);color:#fff;border:3px solid var(--card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;transition:transform .15s,background-color .15s;display:flex;position:absolute;bottom:0;right:0;box-shadow:0 4px 12px #0000002e}.profileCameraBtn:active{transform:scale(.92)}.profileName{color:var(--text);text-align:center;letter-spacing:-.3px;margin-bottom:6px;font-size:19px;font-weight:800;line-height:1.3}.profileRoleBadge{letter-spacing:.3px;text-align:center;border-radius:999px;align-items:center;gap:6px;padding:4px 14px;font-size:12px;font-weight:800;display:inline-flex}.profileRoleBadge.badgeAdmin{color:#4f46e5;background:#4f46e51f;border:1px solid #4f46e538}.profileRoleBadge.badgeKepsek{color:#9333ea;background:#9333ea1f;border:1px solid #9333ea38}.profileRoleBadge.badgeTutor{color:var(--blue2);background:#0b5ed71f;border:1px solid #0b5ed738}.profileRoleBadge.badgeMagang{color:#10b981;background:#10b9811f;border:1px solid #10b98138}.profileStatsGrid{justify-content:center;gap:12px;width:100%;max-width:360px;margin-top:14px;display:flex}.profileStatItem{background:var(--card-alt);border:1px solid var(--border);text-align:center;border-radius:14px;flex:1;padding:10px 12px}.profileStatLabel{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;font-size:10.5px;font-weight:800}.profileStatValue{color:var(--text);margin-top:2px;font-size:15px;font-weight:900}.profileTabs{background:var(--card-alt);border:1px solid var(--border);border-radius:16px;gap:4px;margin:0 16px 18px;padding:4px;display:flex}.profileTabBtn{text-align:center;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:12.5px;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.profileTabBtn.active{background:var(--card);color:var(--blue2);box-shadow:0 3px 12px #00000012}.profileTabBtn ion-icon{font-size:16px}.profileCard{background:var(--card);border:1px solid var(--border);border-radius:20px;margin:0 16px 16px;padding:18px;box-shadow:0 4px 16px #00000005}.profileSectionTitle{letter-spacing:.6px;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin-bottom:14px;font-size:11.5px;font-weight:900;display:flex}.profileField{margin-bottom:15px}.profileField:last-child{margin-bottom:0}.profileFieldLabel{letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:800;display:block}.profileInput{border:1px solid var(--border);background:var(--card-alt);width:100%;height:46px;color:var(--text);border-radius:12px;padding:10px 14px;font-size:13.5px;font-weight:600;transition:all .15s}.profileInput:focus{border-color:var(--blue2);background:var(--card);outline:none;box-shadow:0 0 0 3px #0b5ed726}.profileTextarea{border:1px solid var(--border);background:var(--card-alt);width:100%;color:var(--text);resize:none;border-radius:12px;padding:12px 14px;font-size:13.5px;font-weight:600;line-height:1.5;transition:all .15s}.profileTextarea:focus{border-color:var(--blue2);background:var(--card);outline:none;box-shadow:0 0 0 3px #0b5ed726}.profileInputGroup{align-items:center;display:flex;position:relative}.profileInputGroup .profileInput{padding-right:44px}.profilePassToggle{color:var(--muted);cursor:pointer;justify-content:center;align-items:center;padding:4px;font-size:20px;transition:color .15s;display:flex;position:absolute;right:12px}.profilePassToggle:hover{color:var(--blue2)}.profileInfoRow{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.profileInfoRow:last-child{border-bottom:none;padding-bottom:0}.profileInfoRow:first-child{padding-top:0}.profileInfoLabel{color:var(--muted);font-size:12.5px;font-weight:700}.profileInfoValue{color:var(--text);text-align:right;font-size:13.5px;font-weight:800}.profileActionGroup{flex-direction:column;gap:10px;margin:20px 16px 28px;display:flex}.profileBtnPrimary{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #084298 100%));width:100%;min-height:40px;font-size:13px;font-weight:700;font-family:var(--font-sans);cursor:pointer;box-sizing:border-box;white-space:nowrap;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;transition:all .15s;display:inline-flex;box-shadow:0 4px 14px #0b5ed740;color:#fff!important;text-decoration:none!important}.profileBtnPrimary:hover{opacity:.96;transform:translateY(-1px);box-shadow:0 6px 18px #0b5ed759}.profileBtnPrimary:active{opacity:.9;transform:scale(.98)}.profileBtnDanger{width:100%;min-height:40px;font-size:13px;font-weight:700;font-family:var(--font-sans);cursor:pointer;box-sizing:border-box;white-space:nowrap;background:#ef444414;border:1px solid #ef444438;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;transition:all .15s;display:inline-flex;color:#dc2626!important;text-decoration:none!important}.profileBtnDanger:hover{background:#ef444426;border-color:#ef444466}.profileBtnSecondary{background:var(--card-alt,#f8fafc);width:100%;min-height:40px;font-size:13px;font-weight:700;font-family:var(--font-sans);border:1px solid var(--border,#e2e8f0);cursor:pointer;box-sizing:border-box;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;transition:all .15s;display:inline-flex;color:var(--text,#1e293b)!important;text-decoration:none!important}.profileBtnSecondary:hover{background:var(--border,#e2e8f0);color:var(--text,#0f172a)!important}.profileBtnSecondary:active{transform:scale(.98)}.profile-header{flex-direction:column;align-items:center;padding:20px 16px;display:flex;position:relative}.avatar-wrapper{width:104px;height:104px;margin-bottom:14px;position:relative}.avatar-img{object-fit:cover;background:var(--avatar-bg);border:3.5px solid var(--card);border-radius:50%;width:100%;height:100%}.avatar-initial{background:linear-gradient(135deg,var(--blue2) 0%,#1e40af 100%);color:#fff;border:3.5px solid var(--card);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:40px;font-weight:900;display:flex}.camera-btn{background:var(--blue2);color:#fff;border:3px solid var(--card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:flex;position:absolute;bottom:0;right:0}.user-name{color:var(--text);text-align:center;margin-bottom:4px;font-size:18px;font-weight:800}.user-role{color:var(--muted);text-align:center;margin-bottom:16px;font-size:13px;font-weight:600}.tab-container{background:var(--card-alt);border:1px solid var(--border);border-radius:14px;gap:4px;margin:0 16px 18px;padding:4px;display:flex}.tab-btn{text-align:center;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:10px 0;font-size:12.5px;font-weight:800;transition:all .2s}.tab-btn.active{background:var(--card);color:var(--blue2);box-shadow:0 2px 8px #0000000f}.btn-save{background:var(--blue-gradient);color:#fff;cursor:pointer;border:none;border-radius:14px;flex:1;padding:13px 0;font-size:13.5px;font-weight:800;box-shadow:0 4px 14px #0b5ed740}.btn-logout{color:var(--danger);cursor:pointer;background:#ef444414;border:1px solid #ef444433;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;padding:13px 0;font-size:13.5px;font-weight:800;display:flex}.input-group{position:relative}.pass-toggle{color:var(--muted);cursor:pointer;font-size:20px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.llTopBar{background:var(--topbar-bg);border-bottom-right-radius:22px;border-bottom-left-radius:22px;padding:14px 16px 18px}.llTopRow{align-items:center;gap:12px;display:flex}.llBackBtn{color:#fff;background:#ffffff2e;border:1px solid #ffffff38;border-radius:12px;flex-shrink:0;place-items:center;width:36px;height:36px;text-decoration:none;display:grid}.llPageTitle{color:#fff;font-size:15px;font-weight:900}.llPageSub{color:#ffffffbf;margin-top:2px;font-size:11px;font-weight:600}.tabBar{background:var(--card-alt);border-radius:var(--radius-xl);border:1px solid var(--border);gap:6px;margin-bottom:18px;padding:5px;display:flex}.tabBtn{color:var(--muted);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:12.5px;font-weight:800;transition:all .2s;display:inline-flex}.tabBtn:hover{color:var(--text)}.tabBtn.active{background:var(--card);border-color:var(--border);color:var(--blue2);box-shadow:0 2px 8px #0000000d}.tabPanel{display:none}.tabPanel.active{display:block}.pengajuanPage{box-sizing:border-box;width:100%;max-width:680px;margin:0 auto;padding:16px 16px 80px}@media(min-width:768px){.pengajuanPage{padding:20px 24px 80px}}.izinFormCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;gap:18px;padding:22px 18px;display:flex;box-shadow:0 2px 12px #00000008}@media(min-width:768px){.izinFormCard{gap:20px;padding:26px 24px}}.dateInputRow{grid-template-columns:1fr;gap:14px;display:grid}@media(min-width:520px){.dateInputRow{grid-template-columns:1fr 1fr;gap:16px}}.izinList{flex-direction:column;gap:14px;display:flex}.izinCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:18px;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #00000008}.izinCard:hover{box-shadow:0 4px 14px #0000000f}.izinCardHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.izinDateTitle{color:var(--text);align-items:center;gap:6px;margin:8px 0 4px;font-size:14.5px;font-weight:800;display:flex}.izinAlasan{color:var(--text);background:var(--card-alt);border:1px solid var(--border);border-radius:12px;margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.5}.izinDocBtn{min-height:36px;color:var(--blue2);background:#0b5ed714;border:1px solid #0b5ed72e;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:0 14px;font-size:12.5px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.izinDocBtn:hover{background:#0b5ed729;border-color:#0b5ed74d}.izinCatatan{border-left:3.5px solid var(--blue2);color:var(--text);background:#0b5ed70f;border-radius:12px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45}.llFormSection{padding:16px 16px 0}.llFormTitle{letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:900}.llFormCard{border:1px solid var(--border);background:var(--card-alt);border-radius:18px;flex-direction:column;gap:12px;margin-bottom:14px;padding:14px;display:flex}.inputRow{grid-template-columns:1fr 1fr;gap:10px;display:grid}.submitBtn{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #1a73e8 100%));color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;padding:0 20px;font-size:13.5px;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #0b5ed740}.submitBtn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0b5ed759}.submitBtn:active{transform:scale(.98)}.submitBtn ion-icon{font-size:18px}.errorBox{color:#dc2626;background:#ef444414;border:1px solid #ef444440;border-radius:14px;margin:0 0 16px;padding:12px 14px;font-size:12.5px;font-weight:800}.errorBox ul{margin:4px 0 0 16px;padding:0}.llList{flex-direction:column;gap:10px;padding:14px 16px 0;display:flex}.llCard{border:1px solid var(--border);background:var(--card-alt2);border-radius:18px;padding:14px}.llCardHead{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.llDate{color:var(--text);font-size:13px;font-weight:900}.llSiswa{color:var(--muted);margin-top:2px;font-size:11px;font-weight:700}.llJam{color:var(--blue2);white-space:nowrap;font-size:11px;font-weight:900}.llAlasan{color:var(--muted);background:var(--card-alt);border:1px solid var(--border);border-radius:12px;padding:9px 11px;font-size:12px;line-height:1.5}.llAlasanLabel{letter-spacing:.3px;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10px;font-weight:900}.emptyLL{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 16px;font-size:13px;font-weight:700;display:flex}.emptyLL ion-icon{opacity:.35;color:var(--muted);font-size:48px}.deleteBtn{color:#dc2626;cursor:pointer;background:#ef444414;border:1px solid #ef444438;border-radius:10px;justify-content:center;align-items:center;gap:5px;min-height:34px;padding:0 14px;font-size:12px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex}.deleteBtn:hover{background:#ef44442e;border-color:#ef444466}.permGate{z-index:9999;background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px 24px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.permGate.hidden{display:none}.permIcon{border-radius:20px;place-items:center;width:72px;height:72px;margin-bottom:20px;font-size:36px;display:grid}.permIcon.loading{color:#0284c7;background:#0284c71f}.permIcon.error{color:#dc2626;background:#ef44441f}.permTitle{color:var(--text);margin-bottom:8px;font-size:18px;font-weight:900}.permDesc{color:var(--muted);max-width:320px;margin-bottom:24px;font-size:13px;line-height:1.5}.permSteps{background:var(--card-alt);border:1px solid var(--border);text-align:left;border-radius:16px;width:100%;max-width:320px;margin-bottom:24px;padding:14px 16px;font-size:12px}.barChart{justify-content:space-between;align-items:flex-end;height:110px;padding-top:20px;display:flex}.barCol{flex-direction:column;align-items:center;width:12%;display:flex}.bar{background-color:var(--border);border-radius:6px 6px 0 0;width:28px;max-height:85px;transition:height .3s}.bar.active{background-color:var(--blue2)}.barDay{color:var(--muted);margin-top:8px;font-size:12px;font-weight:600}.statsRow{gap:10px;margin-bottom:4px;display:flex}.statBox{background:var(--card);color:var(--text);text-align:center;border:1px solid var(--border);border-radius:14px;flex:1;padding:14px 12px}.statBox h2{color:var(--text);margin:2px 0;font-size:26px;font-weight:700}.statBox.dark{color:#fff;background:#1f2a44;flex-direction:column;justify-content:center;align-items:center;display:flex}.statBox.dark h2{color:#fff;font-size:32px}.dotIndicator{border-radius:50%;width:8px;height:8px;margin-bottom:4px;display:inline-block}.dotIndicator.green{background:#22c55e}.dotIndicator.red{background:#ef4444}.searchInput{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:12px;padding:11px 14px;font-size:14px}.btnSortSmall{white-space:nowrap;color:#e0405a;cursor:pointer;background:#e0405a1a;border:1px solid #e0405a33;border-radius:20px;padding:10px 12px;font-size:11px;font-weight:700}.listContainer{padding-bottom:80px}.cardItem{background:var(--card);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:14px;align-items:center;margin-bottom:10px;padding:13px 12px;display:flex}.cardItem:active{background:var(--card-alt)}.staffAvatar{background:var(--card-alt2);width:42px;height:42px;color:var(--text);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.statusBadge{letter-spacing:.3px;border-radius:8px;padding:4px 10px;font-size:11px;font-weight:700}.statusBadge.aktif{color:#15803d;background:#16a34a1f}.statusBadge.nonaktif{color:#dc2626;background:#ef44441f}.drawerOverlay{z-index:100;background:#00000080;display:none;position:fixed;top:0;right:0;bottom:0;left:0}.drawerOverlay.show{display:block}.bottomDrawer{background:var(--card);color:var(--text);z-index:101;border:1px solid var(--border);border-radius:22px 22px 0 0;max-width:480px;margin:0 auto;padding:12px 20px 36px;transition:transform .3s;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.bottomDrawer.show{transform:translateY(0)}.drawerHandle{background:var(--border);border-radius:99px;width:40px;height:4px;margin:0 auto 18px}.drawerName{color:var(--text);font-size:16px;font-weight:700}.drawerRole{color:var(--muted);font-size:13px}.drawerDivider{background:var(--border);height:1px;margin:14px 0}.drawerRowTitle{color:var(--text);font-size:14px;font-weight:600}.drawerRowSub{color:var(--muted);font-size:12px}.drawerHeader{align-items:center;gap:14px;display:flex}.drawerAvatar{color:#fff;border:2px solid var(--border);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;font-size:18px;font-weight:800;display:flex;overflow:hidden}.drawerRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawerActionBtn{cursor:pointer;letter-spacing:.2px;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:10px;padding:13px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:opacity .15s;display:flex}.drawerActionBtn:active{opacity:.75}.drawerActionBtn.primary{background:var(--blue);color:#fff;border:1px solid #0b5ed74d}.drawerActionBtn.danger{color:#dc2626;background:#ef44441a;border:1px solid #ef444438}.drawerActionBtn.ghost{background:var(--card-alt);color:var(--muted);border:1px solid var(--border)}.toggleSwitch{flex-shrink:0;width:46px;height:26px;display:inline-block;position:relative}.toggleSwitch input{opacity:0;width:0;height:0}.toggleSlider{cursor:pointer;background-color:var(--border);border-radius:34px;transition:all .3s;position:absolute;top:0;right:0;bottom:0;left:0}.toggleSlider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.toggleSlider{background-color:var(--blue2)}input:checked+.toggleSlider:before{transform:translate(20px)}.calendar{gap:10px;margin-top:12px;padding-bottom:5px;display:flex;overflow-x:auto}.calItem{text-align:center;min-width:60px;color:var(--muted);font-size:11px;font-weight:700}.calItem .date{background:var(--card-alt);color:var(--text);border-radius:10px;margin-top:6px;padding:8px}.calItem.active .date{background:var(--blue2);color:#fff}.agendaCard{background:var(--card);border-left:5px solid var(--blue2);border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:14px;margin-top:12px;padding:12px;box-shadow:0 2px 6px #0000000d}.camControlBar{z-index:10;justify-content:space-between;align-items:center;gap:6px;display:flex;position:absolute;top:10px;left:10px;right:10px}.camControlGroup{align-items:center;gap:6px;display:flex}.camToolBtn{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#0f172ab8;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:4px;padding:6px 11px;font-size:11px;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #0000004d}.camToolBtn:hover{background:#0f172ae6;transform:translateY(-1px)}.camToolBtn.active{color:#fff;background:#0284c7;border-color:#38bdf8;box-shadow:0 4px 14px #0284c773}.cameraGridOverlay{pointer-events:none;z-index:5;position:absolute;top:0;right:0;bottom:0;left:0}.cameraGridOverlay .gridBox{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:100%;height:100%;display:grid}.cameraGridOverlay .gridCell{border-bottom:1px dashed #ffffff59;border-right:1px dashed #ffffff59}.cameraGridOverlay .gridCell:nth-child(3n){border-right:none}.cameraGridOverlay .gridCell:nth-child(n+7){border-bottom:none}.agendaCard.red{border-left:5px solid var(--danger)}.pagePad{padding:14px 14px 110px}.headRow{background:var(--card-alt);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.headLeft{align-items:center;gap:10px;min-width:0;display:flex}.headAvatar{background:var(--text);width:40px;height:40px;color:var(--card);border-radius:50%;place-items:center;font-weight:900;display:grid;overflow:hidden}.headName{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:13px;font-weight:1000;overflow:hidden}.headSub{color:var(--muted);margin-top:2px;font-size:11px;font-weight:900}.statusBanner{border-radius:18px;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;transition:all .2s;display:flex}.statusBanner.running{background:#f59e0b1a;border:1px solid #f59e0b40}.statusBanner.done{background:#16a34a1a;border:1px solid #16a34a38}.statusBanner.ready{background:#0b5ed714;border:1px solid #0b5ed733}.statusIcon{border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.statusIcon.warn{color:#d97706;background:#f59e0b2e}.statusIcon.green{color:#16a34a;background:#16a34a26}.statusIcon.blue{color:var(--blue2);background:#0b5ed71f}.statusTitle{color:var(--text);font-size:13.5px;font-weight:800;line-height:1.3}.statusSub{color:var(--muted);margin-top:2px;font-size:11.5px;font-weight:600;line-height:1.4}.countdownCard{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:20px;margin-bottom:20px;padding:22px 18px;box-shadow:0 4px 16px #00000008}.countdownLabel{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.countdownTime{color:#d97706;font-variant-numeric:tabular-nums;margin:6px 0;font-size:42px;font-weight:900;line-height:1}.countdownSub{color:var(--muted);margin-top:6px;font-size:12px;font-weight:600}.cardTitle{color:var(--text);letter-spacing:-.2px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px;font-size:15px;font-weight:800;display:flex}.cardTitle ion-icon{display:none}.mapBox{background:var(--card-alt);border:1px solid var(--border);border-radius:16px;width:100%;height:220px;margin-bottom:14px;position:relative;overflow:hidden}.mapBox .gmapFrame{border:0;border-radius:16px;width:100%;height:100%;display:block}.mapPlaceholder{text-align:center;color:var(--muted);z-index:1;background:var(--card-alt);justify-content:center;align-items:center;padding:16px;font-size:13px;font-weight:700;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.mapPlaceholder.hidden{display:none}.mapCoordHint{color:var(--muted);margin-top:8px;font-size:12px;font-weight:500;line-height:1.4}.mapToolbar{justify-content:flex-end;align-items:center;margin-top:12px;display:flex}.mapToolbar button{border:1px solid var(--border);background:var(--card-alt);color:var(--blue2);cursor:pointer;border-radius:12px;align-items:center;gap:6px;padding:9px 16px;font-size:12.5px;font-weight:700;transition:all .15s;display:inline-flex}.mapToolbar button:hover{background:var(--card)}.photoFrame{aspect-ratio:4/3;background:var(--card-alt);border:2px solid var(--border);border-radius:18px;justify-content:center;align-items:center;width:100%;margin-top:14px;margin-bottom:14px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #0000000a}.photoFrame img,.photoFrame video{object-fit:cover;width:100%;height:100%;display:none;position:absolute;top:0;right:0;bottom:0;left:0}.photoFrame video.active,.photoFrame img.visible{display:block}.photoPlaceholder{color:var(--muted);text-align:center;padding:20px;font-size:13px;font-weight:600;line-height:1.5}.photoPlaceholder.hidden{display:none}.camActions{flex-direction:column;gap:10px;margin-top:14px;display:flex}.camRow{gap:10px;display:flex}.camRow .captureBtn{flex:1;margin-top:0}.captureBtn{background:var(--card-alt);border:1px solid var(--border);width:100%;color:var(--blue2);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:14px 16px;font-size:14px;font-weight:800;transition:all .15s;display:flex}.captureBtn:active{transform:scale(.98)}.captureBtn.secondary{background:var(--card);color:var(--muted);border:1px solid var(--border)}.captureBtn.secondary:hover{color:var(--text)}.captureBtn.danger{color:#dc2626;background:#ef444414;border:1px solid #ef444438}.captureBtn.primary-blue{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #084298 100%));color:#fff;border:none;box-shadow:0 4px 14px #0b5ed740}.captureBtn.primary-red{color:#fff;background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;box-shadow:0 4px 14px #dc262640}.captureBtn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.hint{color:var(--muted);text-align:center;margin-top:10px;font-size:12px;font-weight:500}.select{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:12px;outline:none;padding:12px 14px;font-size:13.5px;font-weight:600}.doneCard{text-align:center;background:#16a34a14;border:1px solid #16a34a38;border-radius:20px;margin-bottom:14px;padding:20px 16px}.doneIcon{color:#16a34a;margin-bottom:8px;font-size:46px}.doneTitle{color:var(--text);margin-bottom:4px;font-size:16px;font-weight:900}.doneSub{color:var(--success);font-size:12px;font-weight:700}.doneRow{gap:10px;margin-top:14px;display:flex}.doneChip{background:#16a34a1f;border:1px solid #16a34a33;border-radius:14px;flex:1;padding:12px 8px}.doneChipNum{color:#16a34a;font-size:18px;font-weight:900}.doneChipLbl{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-top:2px;font-size:10px;font-weight:800}.contentPad{padding:0 16px 20px}.formSectionLabel{letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-top:4px;margin-bottom:12px;padding-left:2px;font-size:11px;font-weight:900}.monthFilter{align-items:center;gap:8px;margin:14px 16px 20px;display:flex}.monthInput{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:10px;flex:1;padding:10px 12px;font-size:13px}.monthInput:focus{border-color:var(--blue2);outline:none}.filterBtn{background:var(--blue2);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600}.tableContainer{background:var(--card);border:1px solid var(--border);border-radius:12px;margin:0 16px 20px;overflow-x:auto;box-shadow:0 1px 4px #0000000a}.laporanTable{border-collapse:collapse;width:100%;font-size:12px}.laporanTable th{background:var(--card-alt);text-align:left;color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 10px;font-weight:700}.laporanTable td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);padding:12px 10px}.fotoStack{gap:4px;display:flex}.fotoThumbnail{object-fit:cover;border:1px solid var(--border);cursor:pointer;border-radius:8px;width:38px;height:38px;transition:transform .2s}.fotoThumbnail:hover{transform:scale(1.1)}.fotoPlaceholder{border:1px dashed var(--muted);width:38px;height:38px;color:var(--muted);background:var(--card-alt);border-radius:8px;justify-content:center;align-items:center;font-size:10px;display:flex}.mapBtn{background:var(--blue2);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;text-decoration:none;display:inline-flex}.modal-overlay{z-index:10001;-webkit-backdrop-filter:blur(8px);-webkit-overflow-scrolling:touch;box-sizing:border-box;background:#0f172aa6;justify-content:center;align-items:center;padding:20px 16px;display:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.modal-overlay.active{display:flex}.modal-box{background:var(--card);border:1px solid var(--border);box-sizing:border-box;border-radius:20px;flex-direction:column;width:100%;max-width:520px;max-height:calc(100dvh - 32px);margin:auto;display:flex;overflow:hidden;box-shadow:0 24px 48px #00000040}.modal-header{border-bottom:1px solid var(--border);color:var(--text);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;font-weight:700;display:flex}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:4px;font-size:22px;line-height:1;transition:background .15s,color .15s;display:inline-flex}.modal-close:hover{background:var(--card-alt,#0000000d);color:var(--text)}.modal-body{overscroll-behavior:contain;flex:1;justify-content:center;align-items:center;min-height:160px;padding:14px;display:flex;overflow-y:auto}.modal-body img{object-fit:contain;border-radius:10px;max-width:100%;height:auto;max-height:60vh}.modal-body iframe{border:0;border-radius:10px;width:100%;height:340px}@media(max-width:640px){.modal-overlay{align-items:center;padding:12px 10px}.modal-box{border-radius:18px;width:100%;max-width:100%;max-height:calc(100dvh - 20px)}}.kllHeader{padding:16px 16px 10px}.kllTitle{color:var(--text);letter-spacing:-.3px;margin:0 0 4px;font-size:20px;font-weight:800}.kllSub{color:var(--muted);margin:0;font-size:12.5px;font-weight:600}.filterBarKll{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.filterRowTop{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:flex-end;gap:10px;width:100%;display:grid}.filterInput{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:12px;outline:none;padding:10px 14px;font-size:13px;font-weight:700}input[type=date].filterInput{height:42px;padding:0 12px;line-height:42px}.filterInput:focus{border-color:var(--blue2);box-shadow:0 0 0 3px #0b5ed71f}.summaryBadgeGrid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px;display:grid}.summaryBadge{border-radius:var(--radius-md,16px);border:1px solid var(--border);background:var(--card);align-items:center;gap:12px;padding:14px 16px;transition:transform .15s;display:flex;box-shadow:0 2px 8px #00000008}.summaryBadge:hover{transform:translateY(-2px)}.summaryBadgeIcon{width:40px;height:40px;color:var(--warn);background:#f59e0b26;border-radius:12px;flex-shrink:0;place-items:center;font-size:20px;display:grid}.summaryBadgeLbl{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-top:3px;font-size:11px;font-weight:800}.badgeBadge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.badgeBadge.izin{color:var(--blue2);background:#0b5ed71f;border:1px solid #0b5ed740}.badgeBadge.sakit{color:#dc2626;background:#ef44441f;border:1px solid #ef444440}.kllList{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:20px;display:grid}.kllCard{border:1px solid var(--border);border-radius:var(--radius-lg,18px);background:var(--card);flex-direction:column;justify-content:space-between;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000008}.kllCard:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000000f}.kllCardStrip{background:var(--card-alt,#00000005);border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.kllTutorInfo{flex:1;min-width:0}.kllTutorName{color:var(--text);word-break:break-word;font-size:14px;font-weight:800}.kllTutorId{color:var(--muted);align-items:center;gap:4px;margin-top:3px;font-size:11px;font-weight:600;display:flex}.kllDate{color:var(--blue2);white-space:nowrap;background:#0b5ed714;border:1px solid #0b5ed729;border-radius:10px;flex-shrink:0;align-self:flex-start;padding:4px 10px;font-size:11.5px;font-weight:700}.kllCardBody{flex-direction:column;flex:1;justify-content:space-between;gap:10px;padding:14px 16px;display:flex}.kllRow{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.kllLeft{flex:1;min-width:0}.kllSiswaLabel{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:2px;font-size:10.5px;font-weight:800}.kllSiswaVal{color:var(--text);word-break:break-word;font-size:13.5px;font-weight:800}.kllJamBox{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.kllJamChip{color:var(--blue2);background:#0b5ed714;border:1px solid #0b5ed726;border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:800}.kllAlasanWrap{margin-top:6px}.kllAlasanLbl{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:4px;font-size:10.5px;font-weight:800}.kllAlasanTxt{color:var(--text);background:var(--card-alt,#00000005);border:1px solid var(--border);word-break:break-word;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.5}.kllActions{border-top:1px solid var(--border);box-sizing:border-box;align-items:center;gap:8px;width:100%;margin-top:12px;padding-top:12px;display:flex}.kllActionForm{flex:auto;min-width:0;display:flex}.kllDeleteForm{flex:none;display:flex}.btn-kll-success{cursor:pointer;white-space:nowrap;box-sizing:border-box;background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;height:40px;padding:0 14px;font-size:13px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #16a34a40;color:#fff!important}.btn-kll-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px #16a34a59}.btn-kll-danger{cursor:pointer;white-space:nowrap;box-sizing:border-box;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;height:40px;padding:0 14px;font-size:13px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #ef444440;color:#fff!important}.btn-kll-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444459}.btn-kll-delete{color:#dc2626;cursor:pointer;box-sizing:border-box;background:#ef444414;border:1px solid #ef444438;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:all .15s;display:inline-flex}.btn-kll-delete:hover{background:#ef444429;border-color:#ef444466}@media(max-width:480px){.kllActions{grid-template-columns:1fr 1fr auto;gap:6px;width:100%;display:grid}.kllActionForm{width:100%}.kllActionForm>button{width:100%!important;padding:0 8px!important;font-size:12px!important}}@media(max-width:360px){.kllActions{grid-template-columns:1fr 1fr}.kllDeleteForm{grid-column:1/-1;width:100%}.btn-kll-delete{width:100%!important}}.emptyKll{text-align:center;color:var(--muted);grid-column:1/-1;padding:40px 20px;font-size:13px;font-weight:700}.emptyKll ion-icon{opacity:.35;margin:0 auto 10px;font-size:44px;display:block}.paginatePad{padding:0 0 12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.laporanPageWrapper{width:100%;padding:16px;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px));box-sizing:border-box}.laporanHeader{box-sizing:border-box;width:100%;margin-bottom:16px;padding:16px 16px 0}.laporanHeaderCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg,18px);box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;margin:0;padding:18px 20px;transition:background-color .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 10px #00000008}.laporanPageWrapper>.laporanHeader,.riwayatPage>.laporanHeader,.agendaPage>.laporanHeader,.pengajuanPage>.laporanHeader,.tutor-payroll-container>.laporanHeader,.payroll-container>.laporanHeader,.show-payroll-container>.laporanHeader{margin-bottom:16px;padding:0}@media(min-width:992px){.laporanHeader{margin-bottom:20px;padding:20px 24px 0}.laporanPageWrapper>.laporanHeader,.riwayatPage>.laporanHeader,.agendaPage>.laporanHeader,.pengajuanPage>.laporanHeader,.tutor-payroll-container>.laporanHeader,.payroll-container>.laporanHeader,.show-payroll-container>.laporanHeader{margin-bottom:20px;padding:0}}.laporanHeaderMain{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.laporanHeaderInfo,.laporanTitleBlock{flex:1;min-width:0}.laporanHeaderLabel,.laporanSubtitle{letter-spacing:.6px;text-transform:uppercase;color:var(--blue2);margin-bottom:4px;font-size:11px;font-weight:800;display:block}.laporanHeaderTitle,.laporanMainTitle{color:var(--text);letter-spacing:-.3px;word-break:break-word;margin:0 0 4px;font-size:20px;font-weight:900;line-height:1.25}.laporanHeaderSub{color:var(--text);opacity:.85;word-break:break-word;margin-bottom:4px;font-size:13px;font-weight:700}.laporanHeaderDesc,.laporanDesc{color:var(--muted);word-break:break-word;margin:0;font-size:12.5px;line-height:1.45}.laporanHeaderActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.laporanHeaderActions>form,.payroll-action-form{margin:0;padding:0;display:inline-flex}.laporanHeaderActions>form>button,.payroll-action-form>button{white-space:nowrap;cursor:pointer;box-sizing:border-box;border:none;justify-content:center;align-items:center;height:38px;display:inline-flex}.btnPayrollShortcut{white-space:nowrap;box-sizing:border-box;background:linear-gradient(135deg,#4f46e5,#6366f1);border:1px solid #ffffff26;border-radius:12px;justify-content:center;align-items:center;gap:8px;max-width:100%;padding:10px 18px;font-size:13px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 14px #4f46e547;color:#fff!important;text-decoration:none!important}.btnPayrollShortcut:hover{opacity:.96;transform:translateY(-2px);box-shadow:0 6px 20px #4f46e566}.btnPayrollShortcut ion-icon{flex-shrink:0;font-size:18px}.laporanFilterCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg,18px);box-sizing:border-box;width:100%;margin:0 0 16px;padding:18px 20px;transition:background-color .2s,border-color .2s,box-shadow .2s;box-shadow:0 2px 10px #00000008}.laporanFilterGrid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:flex-end;gap:12px;display:grid}.filterField{flex-direction:column;gap:5px;display:flex}.filterFieldLabel{letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.filterSelect{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%2394a3b8' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:12px;outline:none;padding:10px 32px 10px 14px;font-size:13px;font-weight:700;transition:border-color .2s,box-shadow .2s}.filterSelect:focus{border-color:var(--blue2);box-shadow:0 0 0 3px #0b5ed71f}.filterActionGroup{gap:8px;width:100%;display:flex}.filter-actions-full{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;margin-top:4px;display:flex}.chartContainer{width:100%;margin-bottom:20px}.chartCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg,18px);box-sizing:border-box;width:100%;padding:16px 20px;overflow:hidden;box-shadow:0 2px 10px #00000008}.chartTitle{color:var(--text);margin-bottom:12px;font-size:14px;font-weight:800}.chartWrapper{width:100%;height:260px;min-height:200px;max-height:340px;position:relative}.tutorList{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;width:100%;margin-bottom:20px;display:grid}.tutorCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md,16px);box-sizing:border-box;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;display:flex;box-shadow:0 1px 4px #00000008}.tutorCardTop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tutorAvatar{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #09f 100%));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:flex}.tutorJabatan{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.tutorJamBox{text-align:right;flex-shrink:0}.tutorJamNum{color:var(--blue2);font-size:14px;font-weight:900}.tutorJamLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:10.5px;font-weight:800}.progressRow{width:100%}.progressMeta{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:5px;font-size:11.5px;font-weight:700;display:flex}.progressVal{color:var(--text);font-weight:900}.progressTrack{background:#0000000f;border-radius:999px;width:100%;height:7px;overflow:hidden}.progressFill{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #09f 100%));border-radius:999px;height:100%;transition:width .3s}.ctaArea{width:100%;margin-top:20px;margin-bottom:24px}.ctaBtn{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #09f 100%));color:#fff;border-radius:var(--radius-md,14px);box-sizing:border-box;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 20px;font-size:13.5px;font-weight:900;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 14px #0b5ed740}.ctaBtn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0b5ed759}@media(max-width:860px){.laporanHeaderCard{flex-direction:column;align-items:stretch;gap:16px;padding:16px}.laporanHeaderInfo,.laporanTitleBlock{width:100%}.laporanHeaderActions{border-top:1px solid var(--border);flex-direction:column;gap:10px;width:100%;margin-top:0;padding-top:14px;display:flex}.laporanHeaderActions .btnPayrollShortcut{text-align:center;justify-content:center;width:100%}.laporanHeaderActions>a,.laporanHeaderActions>button,.laporanHeaderActions>form>button,.laporanHeaderActions .profileBtnPrimary,.laporanHeaderActions .profileBtnDanger,.laporanHeaderActions .btnPrimary,.laporanHeaderActions .btnOutline{text-align:center;box-sizing:border-box;white-space:normal;justify-content:center;align-items:center;height:auto;min-height:42px;padding:10px 16px;font-size:13.5px;line-height:1.25;display:inline-flex;width:100%!important}.laporanHeaderActions>form{width:100%;margin:0;padding:0;display:flex}}@media(min-width:520px)and (max-width:860px){.laporanHeaderActions{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}}@media(max-width:640px){.laporanPageWrapper{padding:14px 12px;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.laporanHeaderCard,.laporanFilterCard,.chartCard{border-radius:var(--radius-md,14px);padding:14px}.chartWrapper{height:210px}.laporanFilterGrid,.tutorList{grid-template-columns:1fr}}@media(max-width:576px){.laporanHeaderActions{grid-template-columns:repeat(2,1fr);gap:6px}.laporanHeaderActions>a,.laporanHeaderActions>button,.laporanHeaderActions>form>button{text-align:center;box-sizing:border-box;justify-content:center;align-items:center;gap:5px;min-height:38px;padding:6px 10px;font-size:12px;display:inline-flex}.laporanHeaderActions>form{width:100%;margin:0;padding:0;display:flex}.laporanHeaderActions>form.payroll-action-form,.laporanHeaderActions>:last-child:nth-child(odd){grid-column:1/-1;width:100%}.laporanHeaderActions>a ion-icon,.laporanHeaderActions>button ion-icon,.laporanHeaderActions>form ion-icon,.laporanHeaderActions>form>button ion-icon{font-size:16px}.laporanHeaderActions>a:only-child,.laporanHeaderActions>button:only-child,.laporanHeaderActions>form:only-child{grid-column:1/-1}}@media(max-width:480px){.laporanHeaderTitle,.laporanMainTitle{font-size:17px}.laporanHeaderSub{font-size:12px}.laporanHeaderDesc,.laporanDesc{font-size:11.5px}}@media(max-width:360px){.laporanHeaderActions{grid-template-columns:1fr;gap:6px}.laporanHeaderActions>a,.laporanHeaderActions>button,.laporanHeaderActions>form,.laporanHeaderActions>form>button{width:100%;min-height:40px;font-size:12.5px}}.statRow{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:18px;display:grid}.statCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md,16px);flex-direction:column;justify-content:center;padding:16px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #00000008}.statCard:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000000f}.statNum{margin-bottom:4px;font-size:26px;font-weight:900;line-height:1.1}.statNum.blue{color:var(--blue2)}.statNum.green{color:var(--success)}.statNum.purple{color:#8b5cf6}.statNum.red{color:var(--danger)}.statLabel{color:var(--muted);letter-spacing:.3px;text-transform:uppercase;font-size:11px;font-weight:800}.sectionRow{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.sectionRow h2{color:var(--text);letter-spacing:-.2px;margin:0;font-size:16px;font-weight:800}.badgeCount{color:var(--blue2);white-space:nowrap;background:#0b5ed71a;border:1px solid #0b5ed72e;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.tutorList{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:20px;display:grid}.tutorCard{border:1px solid var(--border);border-radius:var(--radius-lg,18px);background:var(--card);flex-direction:column;gap:12px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #00000008}.tutorCard:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000000f}.tutorCardTop{justify-content:space-between;align-items:center;gap:12px;display:flex}.tutorAvatarGroup{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.tutorAvatar{background:linear-gradient(135deg,var(--blue2) 0%,#1e40af 100%);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:800;display:flex;box-shadow:0 2px 6px #0b5ed740}.tutorInfo{flex:1;min-width:0}.tutorName{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:800;overflow:hidden}.tutorJabatan{color:var(--muted);margin-top:2px;font-size:11px;font-weight:600}.tutorJamBox{text-align:right;background:var(--card-alt,#00000005);border:1px solid var(--border);border-radius:10px;flex-shrink:0;padding:6px 10px}.tutorJamNum{color:var(--blue2);font-size:15px;font-weight:900;line-height:1.1}.tutorJamLabel{color:var(--muted);letter-spacing:.3px;text-transform:uppercase;margin-top:2px;font-size:9px;font-weight:800}.progressRow{background:var(--card-alt,#00000005);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.progressMeta{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.progressLabel{color:var(--muted);font-size:11px;font-weight:700}.progressVal{color:var(--text);font-size:12px;font-weight:800}.progressTrack{background:var(--border);border-radius:999px;height:7px;overflow:hidden}.progressFill{border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.progressFill.high{background:var(--success)}.progressFill.mid{background:var(--blue2)}.progressFill.low{background:var(--danger)}.emptyLaporan{text-align:center;border-radius:var(--radius-lg,18px);border:1px dashed var(--empty-dashed,#cbd5e1);background:var(--card);color:var(--muted);grid-column:1/-1;margin:10px 0 20px;padding:36px 20px;font-size:13px;font-weight:700}.emptyLaporan ion-icon{opacity:.4;color:var(--muted);margin:0 auto 10px;font-size:40px;display:block}.ctaArea{margin-top:8px;margin-bottom:12px}.ctaBtn{border-radius:var(--radius-md,16px);letter-spacing:.4px;cursor:pointer;background:linear-gradient(135deg,#0b5ed7,#1a73e8);border:none;justify-content:center;align-items:center;gap:10px;width:100%;padding:15px 20px;font-size:13px;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 6px 18px #0b5ed747;color:#fff!important;text-decoration:none!important}.ctaBtn:hover{opacity:.96;transform:translateY(-2px);box-shadow:0 8px 24px #0b5ed761}.ctaBtn:active{transform:scale(.98)}.ctaBtn ion-icon{font-size:20px}.weekStrip{background:#1a3a5c;padding:12px 16px 18px}.weekStripDate{color:#cbd5e1;margin-bottom:12px;font-size:12px;font-weight:500}.weekRow{scrollbar-width:none;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.weekRow::-webkit-scrollbar{display:none}.dayCell{flex-direction:column;flex:none;align-items:center;gap:6px;min-width:50px;text-decoration:none;display:flex}.dayLabel{color:#7a8fa6;font-size:10px;font-weight:600}.dayNumber{color:#c8d6e5;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.dayNumber.selected{color:#fff;background:#2563eb}.dayDot{background:#2563eb;border-radius:50%;width:5px;height:5px;position:absolute;bottom:-8px}.scheduleList{flex-direction:column;gap:12px;padding:0 16px 110px;display:flex}.scheduleCard{background:var(--card);border-left:4px solid #2563eb;border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 2px 8px #0000000f}.scheduleCardTop{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.scheduleActions{gap:6px;display:flex}.scheduleActionBtn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.scheduleActionBtn.edit{color:#2563eb;background:#2563eb1a}.scheduleActionBtn.delete{color:#ef4444;background:#ef44441a}.scheduleSubject{color:var(--text);margin-bottom:10px;font-size:16px;font-weight:700}.scheduleMeta{flex-direction:column;gap:5px;display:flex}.scheduleMetaRow{align-items:center;gap:6px;font-size:13px;display:flex}.scheduleMetaRow ion-icon{color:#94a3b8;font-size:13px}.metaText{color:var(--muted)}.metaHighlight{color:#2563eb;font-weight:500}.emptySchedule{color:#94a3b8;flex-direction:column;align-items:center;gap:10px;padding:50px 20px;display:flex}.formPage{padding:0 16px 120px}.formPageHeader{align-items:center;gap:12px;padding:16px 16px 4px;display:flex}.backBtn{color:#2563eb;background:#2563eb1a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;display:flex}.backBtn ion-icon{font-size:20px}.formPageTitle{color:var(--text);font-size:18px;font-weight:700}.formGroup{margin-bottom:16px}.formLabel{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:600;display:block}.formControl{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:12px;padding:13px 14px;font-family:inherit;font-size:14px}.formControl:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}textarea.formControl{resize:vertical;min-height:90px}.errorMsg{color:#ef4444;margin-top:5px;font-size:11px;display:block}.errorList{background:#ef444414;border:1px solid #ef444438;border-radius:12px;margin:0 0 16px;padding:12px 14px}.izinHeader{background:linear-gradient(135deg,#1a3a5c,#0b5ed7);padding:20px 16px 24px}.izinHeaderLabel{color:#ffffffb3;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.izinHeaderTitle{color:#fff;font-size:20px;font-weight:800}.izinHeaderSub{color:#ffffffa6;margin-top:4px;font-size:12px}.panelCard{background:var(--card);border:1px solid var(--border);border-radius:18px;margin:0 0 24px;overflow:hidden;box-shadow:0 2px 10px #00000008}.panelCardHead{background:var(--card-alt,#0b5ed70a);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 18px;display:flex}.panelCardHeadIcon{width:36px;height:36px;color:var(--blue2,#0b5ed7);background:#0b5ed71a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.panelCardHeadTitle{color:var(--text);font-size:14px;font-weight:800}.panelCardHeadSub{color:var(--muted);margin-top:2px;font-size:11.5px}.panelCardBody{flex-direction:column;gap:14px;padding:16px 18px 20px;display:flex}.formGrid2{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media(max-width:576px){.formGrid2{grid-template-columns:1fr}}.fieldGroup{flex-direction:column;gap:6px;display:flex}.fieldLabel{color:var(--text);letter-spacing:.3px;font-size:12px;font-weight:700}.fieldLabelHint{color:var(--muted);font-size:11px;font-weight:500}.selectInput,.dateInput{border:1.5px solid var(--border);background:var(--input-bg);width:100%;height:42px;color:var(--text);box-sizing:border-box;border-radius:12px;outline:none;padding:0 12px;font-family:inherit;font-size:13.5px;font-weight:600;transition:border-color .2s,box-shadow .2s}.selectInput:focus,.dateInput:focus{border-color:#0b5ed780;box-shadow:0 0 0 3px #0b5ed71f}.siswaCheckList{flex-direction:column;gap:8px;max-height:220px;padding-right:4px;display:flex;overflow-y:auto}.siswaCheckList::-webkit-scrollbar{width:5px}.siswaCheckList::-webkit-scrollbar-track{background:0 0}.siswaCheckList::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.siswaCheckItem{border:1.5px solid var(--border);background:var(--card-alt);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;transition:border-color .15s,background .15s;display:flex}.siswaCheckItem:hover{background:#0b5ed70a;border-color:#0b5ed766}.siswaCheckItem:has(input:checked){background:#0b5ed714;border-color:#0b5ed780}.siswaCheckItem input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue2,#0b5ed7);cursor:pointer;flex-shrink:0}.siswaCheckName{color:var(--text);flex:1;font-size:13.5px;font-weight:700}.siswaCheckEmpty{text-align:center;color:var(--muted);border:1.5px dashed var(--border);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 16px;font-size:12.5px;font-weight:600;display:flex}.siswaCheckEmpty ion-icon{opacity:.6;font-size:24px}.btnSubmitIzinFull{width:100%;height:44px;margin-top:4px}.sectionRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.sectionTitleWrap{flex-direction:column;gap:2px;display:flex}.sectionTitleLabel{color:var(--blue2,#0b5ed7);letter-spacing:.8px;text-transform:uppercase;font-size:10.5px;font-weight:800}.sectionTitle{color:var(--text);margin:0;font-size:17px;font-weight:800}.sectionBadge{color:var(--blue2,#0b5ed7);background:#0b5ed714;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.sectionBadge ion-icon{font-size:14px}.riwayatList{flex-direction:column;gap:10px;padding:0 0 30px;display:flex}.riwayatRow{background:var(--card);border:1px solid var(--border);border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 4px #00000008}.riwayatRow:hover{box-shadow:0 3px 10px #0000000d}.riwayatLeft{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.riwayatAvatar{width:42px;height:42px;color:var(--blue2,#0b5ed7);background:linear-gradient(135deg,#0b5ed726,#0b5ed70d);border:1px solid #0b5ed726;border-radius:12px;flex-shrink:0;place-items:center;font-size:15px;font-weight:800;display:grid}.riwayatInfo{flex:1;min-width:0}.riwayatName{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:800;overflow:hidden}.riwayatMeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;font-size:11.5px;display:flex}.riwayatMetaItem{align-items:center;gap:4px;display:inline-flex}.riwayatMetaItem ion-icon{opacity:.7;font-size:12px}.riwayatMetaDivider{color:var(--border);font-size:9px}.riwayatRight{flex-shrink:0;align-items:center;gap:10px;display:flex}.badgeIzinPill{color:#d97706;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:11.5px;font-weight:800;display:inline-flex}.badgeIzinPill ion-icon{font-size:13px}.btnBatal{color:#ef4444;cursor:pointer;background:#ef44440f;border:1px solid #ef444440;border-radius:9px;justify-content:center;align-items:center;gap:5px;height:34px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.btnBatal:hover{color:#dc2626;background:#ef444426;border-color:#ef444473}.emptyStateCard{background:var(--card);border:1.5px dashed var(--border);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:36px 20px;display:flex}.emptyStateIcon{background:var(--card-alt);width:48px;height:48px;color:var(--muted);border-radius:14px;justify-content:center;align-items:center;margin-bottom:12px;font-size:24px;display:flex}.emptyStateTitle{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:800}.emptyStateDesc{color:var(--muted);max-width:320px;font-size:12px}@media(max-width:576px){.riwayatRow{flex-direction:column;align-items:stretch;gap:12px;padding:12px 14px}.riwayatRight{border-top:1px dashed var(--border);justify-content:space-between;width:100%;padding-top:10px}.riwayatRight form{flex-shrink:0}.btnBatal{height:36px;padding:0 14px}}.profileStatsGrid{border:1px solid var(--border);background:var(--card-alt);border-radius:16px;width:100%;margin-bottom:0;padding:12px 0;display:flex}.profileStatItem{text-align:center;flex:1}.profileStatItem:not(:last-child){border-right:1px solid var(--border)}.profileStatLabel{letter-spacing:1px;color:var(--text);text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:900}.profileStatValue{color:var(--text);font-size:16px;font-weight:900}.profileStatValue.primary{color:var(--blue2)}.input--no-resize{resize:none}.input--password{padding-right:46px}.btnPrimary--full{justify-content:center;width:100%}.text-primary{color:var(--blue2);font-weight:700}.link-primary{color:#1d4ed8;font-weight:900;text-decoration:underline}.session-info--end{text-align:right;justify-content:flex-end}.badgeBadge{border:1px solid #0000;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-block}.badgeBadge.sakit{color:#dc2626;background:#ef44441f;border-color:#ef444433}.badgeBadge.izin{color:#d97706;background:#f59e0b24;border-color:#f59e0b33}.badgeStatus{border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.badgeStatus.pending{color:#92400e;background:#f59e0b1f;border-color:#f59e0b33}.badgeStatus.disetujui{color:#15803d;background:#16a34a1f;border-color:#16a34a33}.badgeStatus.ditolak{color:#dc2626;background:#ef44441f;border-color:#ef444433}.riwayatCard{background:var(--card-alt);border-radius:var(--radius-lg);border:1px solid var(--border);margin-bottom:12px;padding:14px;box-shadow:0 1px 4px #0000000a}.btnDelete{color:#dc2626;cursor:pointer;background:#ef444414;border:1px solid #ef444438;border-radius:10px;justify-content:center;align-items:center;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:800;transition:background .15s;display:inline-flex}.btnDelete:hover{background:#ef444426}.sectionLabel{letter-spacing:1px;color:var(--text);text-transform:uppercase;margin-top:5px;margin-bottom:14px;padding-left:4px;font-size:12px;font-weight:900}.errorList ul{margin:4px 0 0;padding-left:14px}.errorList-title{margin-bottom:6px;font-weight:900}.spacer-sm{height:12px}.spacer-md{height:20px}.filterInput--flex{flex:1;min-width:140px}.filterInput--search{flex:2;min-width:180px}.td-bold{color:var(--text);font-weight:600}.td-success{color:var(--success);font-weight:700}.td-primary{color:var(--blue2);font-weight:700}.td-muted{color:var(--muted)}.td-center{text-align:center}.pad-list{padding:0 14px 20px}.pad-pagination{padding:0 14px 100px}.pad-bottom-actions{padding-bottom:30px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}#appCapsule{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}.bottomNavAdmin,.appBottomMenu{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.fixed-bottom-actions{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.bottomDrawer{padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))}.fabAdd{bottom:calc(86px + env(safe-area-inset-bottom,0px))}.paginatePad{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.tableContainer{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}.tableContainer::-webkit-scrollbar{height:5px}.tableContainer::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}@media(max-width:380px){.bottomNavAdmin a,.appBottomMenu .item{letter-spacing:-.2px;gap:1px;padding:4px 1px;font-size:8.5px}.bottomNavAdmin a span,.appBottomMenu .item span{font-size:8.5px}.bottomNavAdmin a ion-icon,.appBottomMenu .item ion-icon{font-size:19px}.inputRow{grid-template-columns:1fr}.summaryGrid{gap:8px;padding:0 12px 10px}.summaryCard{padding:10px}.clockTime{font-size:28px}.quickGrid{gap:8px;padding:0 12px}.quickCard{min-height:92px;padding:10px 8px}.quickIcon{border-radius:12px;width:44px;height:44px}.headName,.tutorName{max-width:140px}.statsRow{gap:6px}.statBox h2{font-size:20px}.filterBarKll,.filterBar{padding:0 12px 12px}.filterRowTop{flex-direction:column}}@media(max-width:340px){.bottomNavAdmin a span,.appBottomMenu .item span{display:none}.bottomNavAdmin a ion-icon,.appBottomMenu .item ion-icon{font-size:24px}.summaryGrid{grid-template-columns:1fr}}@media(min-width:431px)and (max-width:767px){body{background-color:#f1f5f9}[data-theme=dark] body{background-color:#0b1329}#appCapsule{border-left:1px solid var(--border);border-right:1px solid var(--border);max-width:480px;margin:0 auto}}@media(min-width:768px){body{background-color:#f8fafc}[data-theme=dark] body{background-color:#070d1e}#appCapsule{border:1px solid var(--border);border-radius:24px;max-width:1060px;min-height:calc(100vh - 48px);margin:24px auto 64px;padding-bottom:104px;overflow:hidden;box-shadow:0 16px 40px #0000000f}[data-theme=dark] #appCapsule{box-shadow:0 16px 40px #00000059}.topbar,.topBar,.tutorTop{border-top-left-radius:24px;border-top-right-radius:24px;padding:16px 24px}.sectionTitleRow,.pageHeaderRow{padding:20px 24px 14px}.summaryGrid{gap:16px;padding:0 24px 18px}.dashboardGrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;padding:0 24px 32px;display:grid}.dashboardCol{flex-direction:column;gap:16px;min-width:0;display:flex}.dashboardCol .cardBox,.dashboardCol .clockCard,.dashboardCol .todayCard,.dashboardCol .magangInfoCard,.dashboardCol .activeCard,.dashboardCol .magangCtaCard{margin-left:0;margin-right:0}.dashboardCol .sectionCaps,.dashboardCol .rowHeader,.dashboardCol .quickGrid,.dashboardCol .statsGrid,.dashboardCol .recentWrap,.dashboardCol .recentList,.dashboardCol .activityHeaderRow,.dashboardCol .activityList{padding-left:0;padding-right:0}.appBottomMenu,.bottomNavAdmin{border:1px solid var(--border);border-radius:20px;max-width:980px;padding:10px 16px;bottom:20px;box-shadow:0 12px 36px #0000001f}.bottomNavAdmin a,.appBottomMenu .item{border-radius:12px;padding:6px 12px;font-size:11.5px}.bottomNavAdmin a ion-icon,.appBottomMenu .item ion-icon{font-size:24px}.fabAdd{bottom:96px;right:calc(50vw - 506px)}.fixed-bottom-actions{border-bottom-right-radius:24px;border-bottom-left-radius:24px;max-width:1060px}}.payroll-container{width:100%;max-width:1200px;margin:0 auto;padding:20px 16px 90px}.payroll-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.payroll-title-box h2{color:var(--text);letter-spacing:-.02em;margin:4px 0 0;font-size:22px;font-weight:800}.payroll-title-box p{color:var(--muted);margin:4px 0 0;font-size:13px}.payroll-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px;display:grid}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;justify-content:space-between;padding:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000000a}.kpi-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0}.kpi-card.emerald:before{background:linear-gradient(90deg,#059669,#10b981)}.kpi-card.blue:before{background:linear-gradient(90deg,#0284c7,#38bdf8)}.kpi-card.amber:before{background:linear-gradient(90deg,#d97706,#f59e0b)}.kpi-card.indigo:before{background:linear-gradient(90deg,#6366f1,#818cf8)}.kpi-top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.kpi-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:12px;font-weight:700}.kpi-icon-wrap{border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex}.kpi-card.emerald .kpi-icon-wrap{color:#059669;background:#10b9811f}.kpi-card.blue .kpi-icon-wrap{color:#0284c7;background:#0284c71f}.kpi-card.amber .kpi-icon-wrap{color:#d97706;background:#f59e0b1f}.kpi-card.indigo .kpi-icon-wrap{color:#6366f1;background:#6366f11f}.kpi-val{letter-spacing:-.02em;margin-bottom:4px;font-size:26px;font-weight:800;line-height:1.1}.kpi-card.emerald .kpi-val{color:#059669}.kpi-card.blue .kpi-val{color:#0284c7}.kpi-card.amber .kpi-val{color:#d97706}.kpi-card.indigo .kpi-val{color:#4f46e5}.kpi-sub{color:var(--muted);font-size:12px}.filter-card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:20px;padding:14px 18px;box-shadow:0 2px 8px #00000005}.filter-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filter-group{flex-direction:column;flex:1;gap:4px;min-width:140px;display:flex}.filter-label{color:var(--text);font-size:12px;font-weight:700}.filter-select{background:var(--card-alt);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s}.filter-select:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.table-container{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #00000008}.table-header-bar{border-bottom:1px solid var(--border);background:var(--card-alt);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:16px 20px;display:flex}.table-header-title{color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}.modern-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.modern-table th{background:var(--card-alt);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 18px;font-size:11px;font-weight:700}.modern-table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);padding:14px 18px}.modern-table tbody tr:last-child td{border-bottom:none}.modern-table tbody tr:hover{background:#0284c70a}.badge-chip{border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-chip.hadir{color:#059669;background:#10b9811f}.badge-chip.izin{color:#475569;background:#64748b1f}.badge-chip.jam{color:#0284c7;background:#0284c71f;text-decoration:none;transition:all .2s}.badge-chip.jam:hover{color:#fff;background:#0284c7}.mobile-payroll-list{flex-direction:column;gap:12px;padding:12px;display:none}.pmc-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.pmc-stats{background:var(--card-alt);text-align:center;border-radius:10px;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:10px 0;padding:10px;display:grid}.pmc-stat-item .val{color:var(--text);font-size:13px;font-weight:800}.pmc-stat-item .lbl{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:600}.pmc-footer{border-top:1px dashed var(--border);justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;display:flex}.show-payroll-container{width:100%;max-width:1200px;margin:0 auto;padding:20px 16px 90px}.back-nav-link{color:#0284c7;align-items:center;gap:4px;margin-bottom:8px;font-size:13px;font-weight:700;text-decoration:none;transition:color .2s;display:inline-flex}.back-nav-link:hover{color:#0369a1}.show-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.show-title-box h2{color:var(--text);letter-spacing:-.02em;margin:2px 0 0;font-size:22px;font-weight:800}.show-title-box p{color:var(--muted);margin:4px 0 0;font-size:13px}.show-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.content-box{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:24px;overflow:hidden;box-shadow:0 4px 16px #00000008}.content-box-header{border-bottom:1px solid var(--border);color:var(--text);background:var(--card-alt);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:16px 20px;font-size:15px;font-weight:800;display:flex}.mobile-siswa-cards{flex-direction:column;gap:10px;padding:12px;display:none}.siswa-card-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;box-shadow:0 2px 6px #00000005}.sci-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.sci-meta{color:var(--muted);background:var(--card-alt);border-radius:8px;gap:12px;padding:8px 10px;font-size:12px;display:flex}.tutor-payroll-container{max-width:680px;margin:0 auto;padding:16px 16px 90px}.filter-box{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex;box-shadow:0 2px 8px #00000005}.hero-slip-card{color:#fff;background:linear-gradient(135deg,#059669,#10b981);border-radius:20px;margin-bottom:20px;padding:22px;position:relative;overflow:hidden;box-shadow:0 10px 25px #05966940}.hero-slip-card:after{content:"";background:#ffffff14;border-radius:50%;width:140px;height:140px;position:absolute;bottom:-30px;right:-30px}.hero-slip-badge{letter-spacing:.5px;text-transform:uppercase;background:#fff3;border-radius:20px;margin-bottom:8px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.hero-slip-amount{letter-spacing:-.02em;margin-bottom:16px;font-size:32px;font-weight:900;line-height:1.1}.hero-metrics-grid{text-align:center;border-top:1px solid #fff3;grid-template-columns:1fr 1fr 1fr;gap:8px;padding-top:14px;display:grid}.hm-item .val{font-size:15px;font-weight:800}.hm-item .lbl{opacity:.85;margin-top:2px;font-size:11px}.section-card{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:16px;padding:18px;box-shadow:0 2px 10px #00000005}.section-card-title{color:var(--text);align-items:center;gap:8px;margin:0 0 14px;font-size:15px;font-weight:800;display:flex}.student-item-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.student-item-row:last-child{border-bottom:none;padding-bottom:0}.sir-name{color:var(--text);font-size:14px;font-weight:700}.sir-sub{color:var(--muted);margin-top:2px;font-size:12px}.sir-price{color:#059669;text-align:right;font-size:15px;font-weight:800}.session-item-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;display:flex}.session-item-row:last-child{border-bottom:none;padding-bottom:0}@media(min-width:768px){.payroll-container,.show-payroll-container{padding:28px 24px 100px}.tutor-payroll-container{padding:24px 20px 100px}}@media(max-width:768px){.table-responsive-desktop{display:none!important}.mobile-payroll-list,.mobile-siswa-cards{display:flex!important}.mobile-card-list{flex-direction:column;gap:12px;margin-bottom:20px;display:flex!important}.payroll-actions,.show-header-actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}.payroll-actions>a,.payroll-actions>button,.payroll-actions>form,.show-header-actions>a{text-align:center;box-sizing:border-box;flex:calc(50% - 4px);justify-content:center;min-width:130px}.payroll-actions>form{display:flex}.payroll-actions>form>button{width:100%}.filter-form{flex-direction:column;gap:10px}.filter-group{width:100%}}.table-responsive-desktop{display:block}.mobile-card-list,.mobile-payroll-list,.mobile-siswa-cards,.mobile-session-cards{display:none}@media(max-width:768px){.table-responsive-desktop{display:none!important}.mobile-card-list,.mobile-payroll-list,.mobile-siswa-cards,.mobile-session-cards{flex-direction:column;gap:12px;margin-bottom:24px;display:flex!important}}.data-mobile-card{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:16px;padding:16px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #00000008}[data-theme=dark] .data-mobile-card{background:#1e293b;border-color:#ffffff14}.data-mobile-card:hover{box-shadow:0 4px 14px #0000000f}.dmc-header{border-bottom:1px solid var(--border,#f1f5f9);justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}[data-theme=dark] .dmc-header{border-bottom-color:#ffffff0f}.dmc-title{color:var(--text,#0f172a);margin:0;font-size:14.5px;font-weight:800;line-height:1.35}.dmc-subtitle{color:var(--muted,#64748b);margin-top:3px;font-size:11.5px;font-weight:600}.dmc-grid{background:var(--card-alt,#f8fafc);border:1px solid var(--border,#f1f5f9);border-radius:12px;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:12px;padding:12px;display:grid}[data-theme=dark] .dmc-grid{background:#0f172a66;border-color:#ffffff0f}.dmc-field{min-width:0}.dmc-field.full{grid-column:1/-1}.dmc-label{color:var(--muted,#64748b);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:10px;font-weight:800}.dmc-value{color:var(--text,#0f172a);word-break:break-word;font-size:12.5px;font-weight:700}.dmc-footer{border-top:1px solid var(--border,#f1f5f9);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;display:flex}[data-theme=dark] .dmc-footer{border-top-color:#ffffff0f}.dmc-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;width:100%;display:flex}.dmc-actions .btn-table-action,.dmc-actions .smallBtn{text-align:center;flex:auto;justify-content:center;min-width:64px;height:32px}.dmc-actions form{flex:auto;margin:0;display:flex}.dmc-actions form .btn-table-action,.dmc-actions form .smallBtn{width:100%!important}.payroll-mobile-card{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:16px;padding:16px;box-shadow:0 2px 8px #00000008}[data-theme=dark] .payroll-mobile-card{background:#1e293b;border-color:#ffffff14}.pmc-header{border-bottom:1px solid var(--border,#f1f5f9);justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}[data-theme=dark] .pmc-header{border-bottom-color:#ffffff0f}.pmc-name{color:var(--text,#0f172a);margin:0;font-size:14.5px;font-weight:800}.pmc-nik{color:var(--muted,#64748b);margin-top:2px;font-size:11.5px}.pmc-stats{background:var(--card-alt,#f8fafc);border:1px solid var(--border,#f1f5f9);text-align:center;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;padding:10px;display:grid}[data-theme=dark] .pmc-stats{background:#0f172a66;border-color:#ffffff0f}.pmc-stat-item .val{font-size:15px;font-weight:800}.pmc-stat-item .lbl{color:var(--muted,#64748b);margin-top:2px;font-size:10.5px;font-weight:700}.pmc-footer{border-top:1px solid var(--border,#f1f5f9);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;display:flex}[data-theme=dark] .pmc-footer{border-top-color:#ffffff0f}.pmc-honor-label{color:var(--muted,#64748b);text-transform:uppercase;font-size:10.5px;font-weight:700}.pmc-honor-val{color:#16a34a;font-size:15px;font-weight:900}.siswa-card-item,.session-card-item{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:14px;padding:14px 16px;box-shadow:0 1px 4px #00000005}[data-theme=dark] .siswa-card-item,[data-theme=dark] .session-card-item{background:#1e293b;border-color:#ffffff14}.sci-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.sci-name{color:var(--text,#0f172a);font-size:14px;font-weight:800}.sci-subtotal{color:#16a34a;font-size:13.5px;font-weight:800}.sci-meta{color:var(--muted,#64748b);align-items:center;gap:8px;font-size:12px;display:flex}.ses-header{border-bottom:1px solid var(--border,#f1f5f9);justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;padding-bottom:8px;display:flex}[data-theme=dark] .ses-header{border-bottom-color:#ffffff0f}.ses-date{color:var(--text,#0f172a);font-size:13.5px;font-weight:800}.ses-subtotal{color:#16a34a;font-size:13.5px;font-weight:800}.siswaGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:24px;display:grid}.siswaCard{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:16px;flex-direction:column;justify-content:space-between;gap:14px;padding:16px;display:flex;box-shadow:0 2px 8px #00000005}.siswaTop{flex-direction:column;gap:8px;display:flex}.siswaActions{border-top:1px solid var(--border,#f1f5f9);align-items:center;gap:8px;padding-top:12px;display:flex}.siswaActions .smallBtn,.siswaActions .btn-table-action{flex:1;min-width:0}.siswaActions form{flex:1;margin:0;display:flex}.siswaActions form .smallBtn,.siswaActions form .btn-table-action{width:100%!important}.permWarning{background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 14px 0;padding:12px 14px;display:none}.permWarnTitle{color:#92400e;font-size:12px;font-weight:900}.permWarnDesc{color:#b45309;margin-top:2px;font-size:11px}.permWarnBtn{color:#fff;cursor:pointer;white-space:nowrap;background:#f59e0b;border:none;border-radius:10px;align-items:center;gap:4px;padding:7px 12px;font-size:11px;font-weight:900;transition:opacity .15s;display:inline-flex}.permWarnBtn:hover{opacity:.9}[data-theme=dark] .permWarning{background:#f59e0b29;border-color:#f59e0b66}[data-theme=dark] .permWarnTitle{color:#fde047}[data-theme=dark] .permWarnDesc{color:#fef08a}[data-theme=dark] .pill.hadir{color:#4ade80;background:#22c55e33;border-color:#22c55e61}[data-theme=dark] .pill.sakit{color:#f87171;background:#ef444433;border-color:#ef444461}[data-theme=dark] .pill.izin{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b61}[data-theme=dark] .pill.terlambat{color:#cbd5e1;background:#94a3b833;border-color:#94a3b861}[data-theme=dark] .pill.pending{color:#94a3b8;background:#94a3b833;border-color:#94a3b861}[data-theme=dark] .pill.alpha{color:#fca5a5;background:#ef44443d;border-color:#ef44446b}[data-theme=dark] .badgeStatus.pending{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b61}[data-theme=dark] .badgeStatus.disetujui{color:#4ade80;background:#22c55e33;border-color:#22c55e61}[data-theme=dark] .badgeStatus.ditolak,[data-theme=dark] .badgeBadge.sakit{color:#f87171;background:#ef444433;border-color:#ef444461}[data-theme=dark] .badgeBadge.izin{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b61}[data-theme=dark] .badge-chip.hadir{color:#34d399;background:#10b98133}[data-theme=dark] .badge-chip.izin{color:#cbd5e1;background:#94a3b833}[data-theme=dark] .badge-chip.jam{color:#38bdf8;background:#38bdf833}[data-theme=dark] .flashAlert.success{color:#4ade80;background:#22c55e2e;border:1px solid #22c55e61}[data-theme=dark] .flashAlert.warning{color:#fbbf24;background:#f59e0b2e;border:1px solid #f59e0b61}[data-theme=dark] .errorBox{color:#f87171;background:#ef44442e;border:1px solid #ef444461}[data-theme=dark] .kpiRank.gold{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b66}[data-theme=dark] .kpiRank.silver{color:#e2e8f0;background:#94a3b833;border-color:#94a3b866}[data-theme=dark] .kpiRank.bronze{color:#fdba74;background:#ea580c33;border-color:#ea580c66}[data-theme=dark] .sir-price{color:#34d399}.kllHeader,.lp-header{padding:16px 16px 10px}.kllTitle,.lp-title{color:var(--text);letter-spacing:-.3px;margin:0 0 4px;font-size:20px;font-weight:800}.kllSub,.lp-sub{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.filterBarKll{flex-direction:column;gap:8px;padding:0 16px 12px;display:flex}.filterRowTop{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.summaryBadgeGrid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:0 16px 16px;display:grid}.summaryBadge{background:var(--card);border-radius:var(--radius-md);border:1px solid var(--border);align-items:center;gap:12px;padding:14px 16px;display:flex;box-shadow:0 2px 8px #0000000a}.summaryBadgeIcon{background:var(--card-alt);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;display:flex}.summaryBadgeNum{color:var(--text);font-size:20px;font-weight:800;line-height:1.1}.summaryBadgeLbl{color:var(--muted);margin-top:2px;font-size:11.5px}.kllList{flex-direction:column;gap:14px;padding:0 16px 20px;display:flex}.kllCard{background:var(--card);border-radius:var(--radius-md);border:1px solid var(--border);transition:transform .15s,box-shadow .15s;overflow:hidden;box-shadow:0 4px 12px #0000000a}.kllCardStrip{background:var(--card-alt);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.kllTutorName{color:var(--text);font-size:14px;font-weight:700}.kllTutorId{color:var(--muted);font-size:11px}.kllCardBody{padding:16px}.kllSiswaLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.kllSiswaVal{color:var(--text);margin-top:2px;font-size:14px;font-weight:700}.kllJamBox{color:var(--muted);margin-top:6px;font-size:12px}.kllAlasanWrap{background:var(--card-alt);border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:12px}.kllAlasanLbl{color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:700}.kllAlasanTxt{color:var(--text);font-size:13px;line-height:1.5}@media(min-width:768px){.kllHeader,.lp-header{padding:24px 24px 14px}.filterBarKll{padding:0 24px 16px}.summaryBadgeGrid{gap:16px;padding:0 24px 20px}.kllList{gap:16px;padding:0 24px 28px}}.riwayatPage,.agendaPage{max-width:900px;margin:0 auto;padding:16px 16px 96px}.riwayatHeaderCard,.agendaHeaderCard{background:var(--card);border:1px solid var(--border);border-radius:18px;margin-bottom:14px;padding:16px;box-shadow:0 2px 8px #00000008}.riwayatStatsGrid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:14px;display:grid}.riwayatStatCard{background:var(--card-alt);border:1px solid var(--border);text-align:left;border-radius:14px;flex-direction:column;justify-content:center;padding:12px 14px;display:flex}.riwayatStatLabel{text-transform:uppercase;color:var(--muted);letter-spacing:.4px;margin-bottom:4px;font-size:11px;font-weight:800}.riwayatStatValue{color:var(--text);font-size:18px;font-weight:900;line-height:1.1}.riwayatFilterForm{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:center;gap:10px;margin-top:14px;display:grid}.riwayatList{flex-direction:column;gap:12px;display:flex}.riwayatCard{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px 16px;transition:transform .15s,border-color .15s;box-shadow:0 2px 6px #00000005}.riwayatCard:hover{border-color:var(--blue2)}.riwayatCardHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.riwayatDateTitle{color:var(--text);font-size:13.5px;font-weight:800}.riwayatDateSub{color:var(--muted);margin-top:1px;font-size:11.5px;font-weight:600}.riwayatStatusBadge{letter-spacing:.3px;white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:11px;font-weight:800}.riwayatStatusBadge.hadir{color:#15803d;background:#16a34a1f}.riwayatStatusBadge.proses{color:#b45309;background:#d977061f}.riwayatStatusBadge.izin{color:#0369a1;background:#0284c71f}.riwayatStatusBadge.alpha{color:#dc2626;background:#ef44441f}.riwayatTimeGrid{background:var(--card-alt);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;padding:10px 12px;display:grid}.riwayatTimeBox{flex-direction:column;display:flex}.riwayatTimeLabel{text-transform:uppercase;color:var(--muted);letter-spacing:.3px;margin-bottom:2px;font-size:10.5px;font-weight:800}.riwayatTimeVal{color:var(--text);font-size:14.5px;font-weight:800}.riwayatPhotoThumb{object-fit:cover;border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-shrink:0;width:38px;height:38px}.agendaMonthNav{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex}.agendaNavBtn{background:var(--card-alt);border:1px solid var(--border);width:36px;height:36px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;font-size:16px;text-decoration:none;transition:all .15s;display:inline-flex}.agendaNavBtn:hover{background:var(--border)}.agendaMonthTitle{color:var(--text);text-align:center;margin:0;font-size:16px;font-weight:800}.agendaMonthGrid{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:8px;display:grid}.agendaDayNameHeader{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:6px 0;font-size:11px;font-weight:800}.agendaDayNameHeader.sunday{color:#dc2626}.agendaDayCell{aspect-ratio:1;background:var(--card-alt);border:1.5px solid var(--border);min-height:48px;color:var(--text);box-sizing:border-box;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;text-decoration:none;transition:all .15s;display:flex;position:relative}.agendaDayCell:hover{border-color:var(--blue,#0b5ed7);transform:translateY(-1px);box-shadow:0 2px 8px #0000000d}.agendaDayCell.empty{pointer-events:none;background:0 0;border:none}.agendaDayCell.hasEvent{background:#ef444414;border:1.5px solid #ef444473;font-weight:800}.agendaDayCell.hasEvent:hover{background:#ef444426;border-color:#ef4444}.agendaDayCell.today{border:2px solid var(--blue2,#0b5ed7);font-weight:900}.agendaDayCell.today.hasEvent{border:2px solid var(--blue2,#0b5ed7);background:#ef44441a}.agendaDayCell.active{box-shadow:0 4px 14px #0b5ed759;background:var(--blue,#0b5ed7)!important;border-color:var(--blue,#0b5ed7)!important;color:#fff!important}.agendaDayCell.active .agendaDayNum{color:#fff}.agendaDayNum{font-size:14px;font-weight:800;line-height:1}.agendaEventIndicatorWrap{justify-content:center;align-items:center;gap:3px;margin-top:1px;line-height:1;display:inline-flex}.agendaEventDot{background:#ef4444;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;box-shadow:0 0 5px #ef4444cc}.agendaDayCell.active .agendaEventDot{background:#fff;box-shadow:0 0 6px #fffffff2}.agendaEventCountText{color:#ef4444;font-size:9.5px;font-weight:900;line-height:1}.agendaDayCell.active .agendaEventCountText{color:#fff}.agendaCalendarLegend{border-top:1px dashed var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:14px;padding-top:12px;display:flex}.agendaLegendItem{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;font-weight:700;display:inline-flex}.agendaLegendIndicator{border-radius:50%;width:10px;height:10px;display:inline-block}.todayIndicator{border:2px solid var(--blue2,#0b5ed7);background:0 0}.eventIndicator{background:#ef4444;box-shadow:0 0 4px #ef444480}.activeIndicator{background:var(--blue,#0b5ed7)}.agendaBannerBox{background:linear-gradient(135deg,#0b5ed714,#0ea5e914);border:1px solid #0b5ed740;border-radius:18px;margin-bottom:16px;padding:16px;box-shadow:0 4px 12px #00000005}.agendaBannerHeader{border-bottom:1px solid #0b5ed726;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;display:flex}.agendaBannerBadge{text-transform:uppercase;letter-spacing:.5px;background:var(--blue);color:#fff;border-radius:8px;padding:4px 10px;font-size:11px;font-weight:800}.agendaBannerBadge.today{background:#16a34a}.agendaBannerDate{color:var(--text);font-size:12.5px;font-weight:700}.agendaCardItem{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:16px;margin-bottom:10px;padding:14px 16px;transition:transform .15s;box-shadow:0 2px 6px #00000005}.agendaCardItem:hover{transform:translateY(-1px)}.agendaCardItem.today{border-left-color:#16a34a}.agendaMetaRow{color:var(--muted);align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.emptyAgendaBox{background:var(--card);border:1.5px dashed var(--border);text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;margin-bottom:20px;padding:32px 20px;display:flex}.emptyAgendaIcon{width:48px;height:48px;color:var(--blue2,#0b5ed7);background:#0b5ed714;border-radius:14px;justify-content:center;align-items:center;margin-bottom:12px;font-size:24px;display:flex}.emptyAgendaTitle{color:var(--text);margin:0 0 4px;font-size:14.5px;font-weight:800}.emptyAgendaDesc{color:var(--muted);max-width:360px;margin:0;font-size:12.5px;line-height:1.5}@media(max-width:480px){.riwayatPage,.agendaPage{padding:12px 12px 96px}.riwayatHeaderCard,.agendaHeaderCard{border-radius:14px;margin-bottom:10px;padding:12px}.agendaMonthNav{margin-bottom:10px;padding-bottom:8px}.agendaMonthTitle{font-size:14px}.agendaNavBtn{border-radius:8px;width:32px;height:32px;font-size:14px}.agendaDayNameHeader{padding:4px 0;font-size:9.5px}.agendaMonthGrid{gap:3px}.agendaDayCell{border-radius:8px;min-height:36px;padding:2px}.agendaDayNum{font-size:11.5px}.agendaEventDot{width:5px;height:5px;bottom:3px}.agendaEventBadge{min-width:14px;height:14px;padding:0 2px;font-size:8px;top:2px;right:2px}.agendaBannerBox{border-radius:14px;margin-bottom:12px;padding:12px}.agendaBannerHeader{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:10px;padding-bottom:8px}.agendaBannerBadge{padding:3px 8px;font-size:10px}.agendaBannerDate{font-size:11.5px}.agendaCardItem{border-radius:12px;padding:12px}.riwayatStatsGrid{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.riwayatStatCard{border-radius:10px;padding:8px 6px}.riwayatStatLabel{margin-bottom:2px;font-size:9px}.riwayatStatValue{font-size:14px}.riwayatFilterForm{gap:6px;margin-top:10px}.riwayatCard{border-radius:14px;padding:12px}.riwayatDateTitle{font-size:12.5px}.riwayatDateSub{font-size:10.5px}.riwayatStatusBadge{padding:3px 7px;font-size:10px}.riwayatTimeGrid{border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:8px}.riwayatTimeLabel{font-size:9.5px}.riwayatTimeVal{font-size:13px}.riwayatPhotoThumb{border-radius:6px;width:30px;height:30px}}@media(min-width:641px){.riwayatPage,.agendaPage{padding:20px 20px 96px}.riwayatHeaderCard,.agendaHeaderCard{border-radius:20px;margin-bottom:16px;padding:20px}.agendaMonthTitle{font-size:18px}.agendaMonthGrid{gap:8px}.agendaDayCell{border-radius:14px;min-height:52px;padding:6px}.agendaDayNum{font-size:15px}.agendaBannerBox{border-radius:20px;padding:20px}.riwayatStatsGrid{grid-template-columns:repeat(3,1fr);gap:12px}.riwayatStatCard{border-radius:14px;padding:14px 16px}.riwayatStatValue{font-size:20px}}.fileUploadBox{border:2px dashed var(--border);background:var(--card-alt);text-align:center;cursor:pointer;box-sizing:border-box;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;padding:20px 16px;transition:all .2s;display:flex;position:relative;overflow:hidden}.fileUploadBox:hover,.fileUploadBox.dragover{border-color:var(--blue);background:#0b5ed70a}.fileUploadBox input[type=file]{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.fileUploadIcon{width:44px;height:44px;color:var(--blue);pointer-events:none;background:#0b5ed71a;border-radius:12px;justify-content:center;align-items:center;font-size:22px;transition:transform .2s;display:flex}.fileUploadBox:hover .fileUploadIcon{transform:scale(1.08)}.fileUploadText{color:var(--text);pointer-events:none;font-size:13px;font-weight:800}.fileUploadSubtext{color:var(--muted);pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:11.5px;display:flex}.fileUploadInfoPill{color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.fileUploadFeedback{color:#15803d;box-sizing:border-box;word-break:break-all;background:#16a34a1a;border:1px solid #16a34a40;border-radius:10px;align-items:center;gap:8px;width:100%;margin-top:6px;padding:8px 12px;font-size:12px;font-weight:700;display:none}.app-toast-container{top:calc(14px + env(safe-area-inset-top,0px));z-index:10000;pointer-events:none;flex-direction:column;gap:10px;width:calc(100% - 32px);max-width:420px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.app-toast{pointer-events:auto;background:var(--card);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);transform-origin:top;border-radius:16px;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001f,0 2px 8px #0000000f}[data-theme=dark] .app-toast{background:#1e293bf2;border-color:#ffffff1f;box-shadow:0 14px 40px #00000073}.app-toast-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;font-size:19px;display:flex}.app-toast-content{flex:1;min-width:0;padding-top:1px}.app-toast-title{color:var(--text);font-size:13.5px;font-weight:700;line-height:1.3}.app-toast-msg{color:var(--muted);word-break:break-word;margin-top:2px;font-size:12px;line-height:1.4}.app-toast-close{width:26px;min-width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-top:-2px;margin-right:-4px;padding:0;font-size:16px;transition:all .2s;display:flex}.app-toast-close:hover{color:var(--text);background:#0000000d}[data-theme=dark] .app-toast-close:hover{background:#ffffff1a}.app-toast-progress{background:#0000000a;height:3px;position:absolute;bottom:0;left:0;right:0}.app-toast-progress-bar{transform-origin:0;width:100%;height:100%;animation:linear forwards toastProgress}@keyframes toastSlideDown{0%{opacity:0;transform:translateY(-20px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastSlideUp{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-16px)scale(.96)}}@keyframes toastProgress{0%{width:100%}to{width:0%}}.app-toast-enter{animation:.3s cubic-bezier(.16,1,.3,1) forwards toastSlideDown}.app-toast-exit{animation:.22s cubic-bezier(.16,1,.3,1) forwards toastSlideUp}.app-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:10001;-webkit-overflow-scrolling:touch;opacity:0;pointer-events:none;box-sizing:border-box;background:#0f172aa6;justify-content:center;align-items:center;padding:20px 16px;transition:opacity .25s;display:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.app-modal-backdrop.active,.app-modal-backdrop.app-modal-enter,.app-modal-backdrop[style*="display: flex"],.app-modal-backdrop[style*="display:flex"],.app-modal-backdrop[style*="display: block"],.app-modal-backdrop[style*="display:block"]{opacity:1!important;pointer-events:auto!important;display:flex!important}.app-modal-backdrop.active .app-modal-dialog,.app-modal-backdrop.app-modal-enter .app-modal-dialog,.app-modal-backdrop[style*="display: flex"] .app-modal-dialog,.app-modal-backdrop[style*="display:flex"] .app-modal-dialog,.app-modal-backdrop[style*="display: block"] .app-modal-dialog,.app-modal-backdrop[style*="display:block"] .app-modal-dialog{transform:scale(1)!important}body.app-modal-open{overflow:hidden!important}.app-modal-dialog{background:var(--card);border:1px solid var(--border);text-align:center;box-sizing:border-box;border-radius:24px;flex-direction:column;align-items:center;width:100%;max-width:380px;max-height:calc(100dvh - 32px);margin:auto;padding:26px 20px 20px;transition:transform .28s cubic-bezier(.16,1,.3,1);display:flex;overflow-y:auto;transform:scale(.9);box-shadow:0 20px 50px #00000040}[data-theme=dark] .app-modal-dialog{background:#1e293b;border-color:#ffffff1f;box-shadow:0 24px 60px #0000008c}.app-modal-icon-wrap{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:14px;font-size:30px;display:flex}.app-modal-title{color:var(--text);font-size:16.5px;font-weight:800;font-family:var(--font-display);margin-bottom:8px;line-height:1.3}.app-modal-desc{color:var(--muted);word-break:break-word;margin-bottom:20px;font-size:13px;line-height:1.5}.app-modal-actions{gap:10px;width:100%;display:flex}.app-modal-btn{cursor:pointer;box-sizing:border-box;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;height:42px;padding:0 16px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.app-modal-btn:hover{transform:translateY(-1px)}.app-modal-btn:active{transform:scale(.97)}.app-modal-btn-primary{background:var(--blue-gradient);color:#fff;box-shadow:0 4px 14px #0b5ed74d}.app-modal-btn-secondary{background:var(--card-alt);color:var(--text);border:1px solid var(--border)}.app-modal-btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 14px #ef44444d}.app-modal-enter{opacity:1!important;pointer-events:auto!important;display:flex!important}.app-modal-enter .app-modal-dialog{transform:scale(1)}.app-modal-exit{opacity:0!important;pointer-events:none!important}.app-modal-exit .app-modal-dialog{transform:scale(.92)}.proximityRadarCard{background:var(--card-alt,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-md,12px);flex-direction:column;gap:10px;margin-top:10px;padding:12px 14px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.radarHeader{align-items:center;gap:12px;display:flex}.radarStatusDot{background:var(--muted,#94a3b8);border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:all .3s}.radarStatusDot.pulse-red{background:#ef4444;animation:1.6s ease-in-out infinite radarPulseAnim;box-shadow:0 0 0 4px #ef444440}.radarStatusDot.pulse-yellow{background:#f59e0b;animation:1.6s ease-in-out infinite radarPulseAnim;box-shadow:0 0 0 4px #f59e0b40}.radarStatusDot.pulse-green{background:#10b981;box-shadow:0 0 0 4px #10b98140}@keyframes radarPulseAnim{0%{opacity:.8;transform:scale(.92)}50%{opacity:1;transform:scale(1.18)}to{opacity:.8;transform:scale(.92)}}.radarTitle{color:var(--text,#1e293b);font-size:13px;font-weight:800;line-height:1.35}.radarSub{color:var(--muted,#64748b);margin-top:2px;font-size:11.5px;font-weight:600}.radarActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btnNavMaps{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #1a73e8 100%));border-radius:9px;align-items:center;gap:6px;padding:7px 13px;font-size:11.5px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #0b5ed740;color:#fff!important}.btnNavMaps:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0b5ed759}.btnLiveGpsActive{background:var(--card,#fff);color:var(--text,#334155);border:1px solid var(--border,#cbd5e1);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-size:11.5px;font-weight:700;transition:all .2s;display:inline-flex}.btnLiveGpsActive:hover{background:var(--card-alt,#f1f5f9)}.liveDot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:1.6s infinite radarPulseAnim;display:inline-block}.liveDot.paused{background:var(--muted,#94a3b8);animation:none}.form-card-container{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:18px;max-width:900px;margin:0 auto 32px;padding:24px 28px;box-shadow:0 4px 16px #00000008}.form-grid-responsive{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.form-grid-full{grid-column:1/-1}.form-action-footer{border-top:1px solid var(--border,#e2e8f0);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:18px;display:flex}.form-action-footer .profileBtnPrimary{width:auto;min-width:160px}.form-action-footer .btnOutline{min-width:100px}@media(max-width:640px){.form-action-footer{flex-direction:column-reverse;gap:10px;width:100%}.form-action-footer>button,.form-action-footer>a{text-align:center;justify-content:center;width:100%!important}}.form-field-wrapper{flex-direction:column;display:flex}.form-field-wrapper label{margin-bottom:6px;display:block}.checkbox-toggle-card{cursor:pointer;color:var(--text,#0f172a);background:var(--card-alt,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:13.5px;font-weight:700;display:flex}.checkbox-toggle-card input[type=checkbox]{cursor:pointer;width:18px;height:18px}.field-help-text{color:var(--muted,#64748b);margin-top:6px;font-size:11.5px;line-height:1.4}.info-callout-box{background:#1f3b8a0a;border:1px solid #1f3b8a26;border-radius:12px;margin-top:18px;padding:14px 16px}.info-callout-title{color:#1f3b8a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:12.5px;font-weight:800;display:flex}.info-callout-link{color:#1f3b8a;font-size:12px;font-weight:700;text-decoration:underline}.info-callout-desc{color:var(--muted,#64748b);font-size:12px;line-height:1.5}.app-badge{border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:800;line-height:1.3;display:inline-flex}.app-badge.badge-lg{padding:4px 10px;font-size:12px}.badge-status-alumni{color:#3730a3;background:#e0e7ff;border:1px solid #c7d2fe}.badge-status-cuti,.badge-abk{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-reguler{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.badge-jenjang-paket_a{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.badge-jenjang-paket_b{color:#6d28d9;background:#ede9fe;border:1px solid #ddd6fe}.badge-jenjang-paket_c{color:#3730a3;background:#e0e7ff;border:1px solid #c7d2fe}.badge-jenjang-vokasi{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-jenjang-kursus{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.badge-jenjang-default{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.badge-layanan-dl{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.badge-layanan-komunitas{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.badge-layanan-gabungan{color:#9d174d;background:#fdf2f8;border:1px solid #fbcfe8}.app-modal-card{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);box-sizing:border-box;border-radius:20px;width:100%;max-width:520px;max-height:calc(100dvh - 32px);margin:auto;padding:24px 28px;overflow-y:auto;box-shadow:0 24px 48px #00000040}[data-theme=dark] .app-modal-card{background:#1e293b;border-color:#ffffff1f;box-shadow:0 24px 60px #0000008c}.app-modal-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.app-modal-title{color:var(--text,#0f172a);margin:0;font-size:18px;font-weight:800}.app-modal-close{cursor:pointer;color:var(--muted,#64748b);background:0 0;border:none;padding:0;font-size:24px;line-height:1}.app-modal-desc{color:var(--muted,#64748b);margin-bottom:18px;font-size:13px;line-height:1.5}.app-modal-footer{justify-content:flex-end;align-items:center;gap:10px;display:flex}@media(max-width:480px){.app-modal-card{padding:20px 16px}.app-modal-footer{flex-direction:column-reverse;gap:8px;width:100%}.app-modal-footer>button,.app-modal-footer>a{text-align:center;justify-content:center;width:100%!important}}.profileBtnPrimary{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #1a73e8 100%));cursor:pointer;box-sizing:border-box;white-space:nowrap;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 18px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #0b5ed740;color:#fff!important}.profileBtnPrimary:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0b5ed759}.profileBtnPrimary:active{transform:scale(.98)}.profileBtnDanger{cursor:pointer;box-sizing:border-box;white-space:nowrap;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 18px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #ef444440;color:#fff!important}.profileBtnDanger:hover{transform:translateY(-1px);box-shadow:0 4px 14px #ef444459}.profileBtnDanger:active{transform:scale(.98)}.btnOutline{background:var(--card,#fff);height:40px;color:var(--text,#1e293b);border:1px solid var(--border,#cbd5e1);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}[data-theme=dark] .btnOutline{color:#f8fafc;background:#1e293b;border-color:#ffffff1f}.btnOutline:hover{background:var(--card-alt,#f1f5f9);border-color:#94a3b8}.btnPrimary{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #1a73e8 100%));cursor:pointer;box-sizing:border-box;white-space:nowrap;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 20px;font-size:13.5px;font-weight:800;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #0b5ed740;color:#fff!important}.btnPrimary:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0b5ed759}.btnPrimary:active{transform:scale(.98)}.btn-action-primary{color:#fff!important;background:#0b5ed7!important}.btn-action-success{color:#fff!important;background:#16a34a!important}.btn-action-info{color:#fff!important;background:#0284c7!important}.btn-action-danger{color:#fff!important;background:#dc2626!important}.btn-action-purple{color:#fff!important;background:linear-gradient(135deg,#7c3aed,#6d28d9)!important;box-shadow:0 2px 8px #7c3aed40!important}.btn-action-purple-light{color:#fff!important;background:linear-gradient(135deg,#6366f1,#4f46e5)!important;box-shadow:0 2px 8px #6366f140!important}.btn-table-action{border-radius:8px;min-height:32px;padding:6px 12px;font-size:11.5px}.btn-status-toggle{border:1px solid var(--border,#e2e8f0);min-height:32px;color:var(--text,#0f172a);background:var(--card-alt,#f8fafc);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:11.5px}.btn-status-toggle:hover{background:var(--card,#fff)}.error-list-container{color:#b91c1c;background:#ef444414;border:1px solid #ef444440;border-radius:12px;max-width:900px;margin:0 auto 18px;padding:14px 18px}.error-list-container .error-title{margin-bottom:8px;font-weight:800}.error-list-container ul{margin:0;padding-left:20px;line-height:1.5}.header-actions-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media(max-width:768px){.header-actions-group{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;width:100%;display:grid}.header-actions-group>a,.header-actions-group>button{text-align:center;justify-content:center;width:100%!important}}.filter-actions-full{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;width:100%;margin-top:8px;display:flex}.btn-filter-primary{background:var(--blue-gradient,linear-gradient(135deg, #0b5ed7 0%, #084298 100%));cursor:pointer;box-sizing:border-box;border:none;border-radius:12px;flex:2 180px;justify-content:center;align-items:center;gap:6px;min-width:140px;height:42px;padding:0 18px;font-size:13px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #0b5ed740;color:#fff!important}.btn-filter-primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0b5ed759}.btn-filter-success{cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:12px;flex:110px;justify-content:center;align-items:center;gap:6px;min-width:100px;height:42px;padding:0 16px;font-size:13px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #16a34a40;color:#fff!important}.btn-filter-success:hover{transform:translateY(-1px);box-shadow:0 4px 14px #16a34a59}.btn-filter-danger{cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;flex:110px;justify-content:center;align-items:center;gap:6px;min-width:100px;height:42px;padding:0 16px;font-size:13px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #ef444440;color:#fff!important}.btn-filter-danger:hover{transform:translateY(-1px);box-shadow:0 4px 14px #ef444459}.btn-filter-info{cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:12px;flex:110px;justify-content:center;align-items:center;gap:6px;min-width:100px;height:42px;padding:0 16px;font-size:13px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #0284c740;color:#fff!important}.btn-filter-info:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0284c759}.btn-filter-reset{color:#dc2626;cursor:pointer;box-sizing:border-box;background:#ef444414;border:1px solid #ef444438;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;height:42px;padding:0 16px;font-size:13px;font-weight:800;text-decoration:none;transition:all .15s;display:inline-flex}.btn-filter-reset:hover{background:#ef444426}@media(max-width:768px){.filter-actions-full{grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:10px;display:grid}.filter-actions-full>button,.filter-actions-full>a{box-sizing:border-box!important;text-align:center!important;white-space:nowrap!important;text-overflow:ellipsis!important;justify-content:center!important;width:100%!important;min-width:0!important;height:42px!important;padding:0 10px!important;font-size:12.5px!important;overflow:hidden!important}.filter-actions-full .btn-filter-primary{grid-column:1/-1;font-size:13.5px!important}.filter-actions-full>:only-child,.filter-actions-full .btn-filter-primary:first-child:nth-last-child(2)~.btn-filter-reset:last-child{grid-column:1/-1}}@media(max-width:380px){.filter-actions-full{grid-template-columns:1fr}.filter-actions-full>button,.filter-actions-full>a{grid-column:1/-1!important}}.empty-state-standard{text-align:center;background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);color:var(--muted,#64748b);border-radius:18px;margin-bottom:16px;padding:36px 16px}.empty-state-standard .empty-icon{opacity:.5;margin:0 auto 8px;font-size:36px;display:block}.empty-state-standard .empty-title{color:var(--text,#0f172a);margin-bottom:4px;font-size:14px;font-weight:800}.empty-state-standard .empty-desc{color:var(--muted,#64748b);font-size:12px;line-height:1.5}.d-flex{display:flex}.d-none{display:none}.d-block{display:block}.d-inline-flex{display:inline-flex}.d-inline-block{display:inline-block}.flex-1{flex:1}.flex-col{flex-direction:column;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-items-center{align-items:center;display:flex}.flex-items-start{align-items:flex-start;display:flex}.flex-items-end{align-items:flex-end;display:flex}.flex-justify-end{justify-content:flex-end;display:flex}.grid-span-2{grid-column:span 2}.grid-span-full{grid-column:1/-1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.align-middle{vertical-align:middle}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.ml-1{margin-left:4px}.ml-2{margin-left:8px}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.pos-relative{position:relative}.pos-absolute{position:absolute}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.object-cover{object-fit:cover}.object-contain{object-fit:contain}.pointer-events-none{pointer-events:none}.w-full{width:100%}.h-full{height:100%}.w-auto{width:auto!important}.h-auto{height:auto!important}.min-w-0{min-width:0}.flex-1{flex:1;min-width:0}.flex-shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.cursor-pointer{cursor:pointer}.text-no-decor{text-decoration:none}.text-xs{font-size:10.5px}.text-sm{font-size:12px}.text-md{font-size:13.5px}.text-lg{font-size:15px}.text-xl{font-size:18px}.text-2xl{font-size:24px}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}.font-mono{font-family:monospace}.text-uppercase{text-transform:uppercase;letter-spacing:.4px}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-muted{color:var(--muted,#64748b)}.text-primary{color:var(--blue2,#0b5ed7)}.text-success{color:#16a34a}.text-danger{color:#dc2626}.text-warning{color:#d97706}.text-dark{color:var(--text,#0f172a)}.text-white{color:#fff}.white-space-nowrap{white-space:nowrap}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mt-0{margin-top:0!important}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.m-0{margin:0!important}.mx-auto{margin-left:auto;margin-right:auto}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.p-0{padding:0!important}.p-1{padding:4px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.px-2{padding-left:8px;padding-right:8px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.py-1{padding-top:4px;padding-bottom:4px}.py-2{padding-top:8px;padding-bottom:8px}.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.bg-card{background:var(--card,#fff)}.bg-card-alt{background:var(--card-alt,#f8fafc)}.bg-none{background:0 0!important}.border-base{border:1px solid var(--border,#e2e8f0)}.border-none{border:none!important}.rounded-xs{border-radius:4px}.rounded-sm{border-radius:6px}.rounded-md{border-radius:10px}.rounded-lg{border-radius:14px}.rounded-xl{border-radius:18px}.rounded-full{border-radius:9999px}.icon-xs{font-size:14px}.icon-sm{font-size:16px}.icon-md{font-size:18px}.icon-lg{font-size:20px}.icon-xl{font-size:24px}.icon-2xl{font-size:32px}.icon-3xl{font-size:48px}.presensi-session-history-item{border-bottom:1px solid var(--border,#f1f5f9);padding:8px 0}.presensi-session-history-title{color:var(--text,#0f172a);font-size:12px;font-weight:900}.presensi-session-history-sub{color:var(--muted,#64748b);font-size:11px}.geofence-alert-inside{color:#15803d;background:#16a34a1f;border:1px solid #16a34a59;border-radius:10px;margin-bottom:10px;padding:8px 12px;font-size:12px;font-weight:800}.geofence-alert-outside{color:#dc2626;background:#dc26261f;border:1px solid #dc262659;border-radius:10px;margin-bottom:10px;padding:8px 12px;font-size:12px;font-weight:800}.map-container-leaflet{z-index:1;border-radius:12px;width:100%;height:320px}.modal-img-preview-box{text-align:center;background:#0f172a;border-radius:0 0 20px 20px;padding:14px}.modal-img-preview-box img{object-fit:contain;border-radius:12px;max-width:100%;max-height:65vh}.badge-abk{color:#b45309;background:#f59e0b26;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:800;display:inline-block}.badge-reguler{color:#15803d;background:#16a34a1f;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.badge-tutorial-pill{color:var(--blue2);background:#0b5ed71f;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:800}.badge-penugasan-pill{color:#15803d;background:#16a34a1f;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:700}.badge-auto-gabungan{color:#3730a3;background:#e0e7ff;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:800}.wa-support-btn{color:#15803d;background:#25d3661a;border:1px solid #25d36640;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:12px 14px;font-size:13px;font-weight:800;text-decoration:none;display:flex}.table-wrapper-card{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:18px;overflow:hidden;box-shadow:0 4px 12px #00000008}.table-modern{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.table-head-row{background:var(--card-alt,#f8fafc);border-bottom:1px solid var(--border,#e2e8f0);color:var(--muted,#64748b);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.table-head-cell{padding:14px 16px;font-weight:800}.table-body-row{border-bottom:1px solid var(--border,#e2e8f0)}.table-body-cell{padding:14px 16px}.table-empty-cell{text-align:center;color:var(--muted,#64748b);padding:32px 16px}.badge-code{color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.alert-danger-box{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;padding:14px;font-size:12.5px;line-height:1.5}.form-radio-card{cursor:pointer;border:1px solid var(--border,#e2e8f0);background:var(--card-alt,#f8fafc);border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;display:flex}.map-camera-box{z-index:1;border-radius:14px;width:100%;height:220px}.geofence-feedback-badge{border-radius:12px;margin:10px 0 4px;padding:10px 14px;font-size:12px;font-weight:800}.card-sub-alt{background:var(--card-alt,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:14px 16px}.table-col-num{text-align:center;width:50px;color:var(--muted,#64748b);padding:14px 16px;font-weight:700}.table-col-action{text-align:right;white-space:nowrap}.card-section-title{color:var(--text,#0f172a);border-bottom:1px solid var(--border,#e2e8f0);margin-top:0;margin-bottom:16px;padding-bottom:8px;font-size:15px;font-weight:800}.btn-action-pill{border-radius:10px;align-items:center;gap:6px;height:38px;padding:0 14px;font-size:12px;text-decoration:none;display:inline-flex}.avatar-icon-36{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:inline-flex}.avatar-icon-28{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:inline-flex}.max-w-xs{max-width:360px}.max-w-sm{max-width:420px}.max-w-md{max-width:480px}.max-w-lg{max-width:600px}.max-w-xl{max-width:768px}.max-w-2xl{max-width:900px}.bg-dark{color:#fff;background:#0f172a!important}.bg-primary-gradient{background:var(--blue-gradient,linear-gradient(135deg, #1f3b8a 0%, #0b5ed7 100%))!important}.border-t-base{border-top:1px solid var(--border,#e2e8f0)}.border-b-base{border-bottom:1px solid var(--border,#e2e8f0)}.pt-2{padding-top:8px}.pt-3{padding-top:12px}.pt-4{padding-top:16px}.pb-2{padding-bottom:8px}.pb-3{padding-bottom:12px}.pb-4{padding-bottom:16px}.line-height-base{line-height:1.4}.line-height-relaxed{line-height:1.6}.letter-spacing-sm{letter-spacing:.5px}.opacity-50{opacity:.5}.opacity-85{opacity:.85}.shadow-none{box-shadow:none!important}.font-italic{font-style:italic}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-center{align-self:center}.avatar-thumb-52{object-fit:cover;border:1px solid var(--border,#e2e8f0);border-radius:12px;width:52px;height:52px;display:block}.bg-danger-light{color:#dc2626;background:#dc26261f}.bg-success-light{color:#15803d;background:#16a34a1f}.bg-warning-light{color:#b45309;background:#f59e0b26}.opacity-40{opacity:.4}.bg-muted-light{background:#64748b1f}.bg-primary-light{background:#0b5ed71f}.avatar-icon-46{place-items:center;width:46px;height:46px;display:grid}.grid-stats-auto{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.modal-preview-img{object-fit:contain;border-radius:12px;max-width:100%;max-height:65vh}.h-spacer-110{height:110px}.min-w-100{min-width:100px}.min-w-120{min-width:120px}.min-w-140{min-width:140px}.min-w-160{min-width:160px}.min-w-220{min-width:220px}.btn-emerald-sm{color:#fff;white-space:nowrap;background:#059669;border-radius:8px;align-items:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.btn-success-h38{color:#fff;height:38px;background:#16a34a!important}.btn-danger-h38{color:#fff;height:38px;background:#ef4444!important}.border-t-dashed{border-top:1px dashed var(--border,#e2e8f0)}.border-primary{border:1px solid var(--blue2,#0b5ed7)!important}.checkbox-custom{width:16px;height:16px;accent-color:var(--blue2,#1f3b8a);cursor:pointer}.left-2{left:10px}.right-2{right:8px}.search-input-px{outline:none;padding:8px 30px 8px 32px}.max-h-180{max-height:180px}.line-height-tight{line-height:1.2}.stat-box-amber{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.stat-box-amber h2{color:#92400e}.bg-purple{color:#fff;background:#7c3aed!important}.bg-purple-light{color:#fff;background:#8b5cf6!important}.border-danger-light{border-color:#fca5a5!important}.h-60{height:240px}.h-9{height:38px}.w-10{width:40px}.pl-8{padding-left:36px}.pb-6{padding-bottom:96px}.pt-1{padding-top:6px}.text-indigo{color:#4f46e5}.form-card-wide{max-width:1200px!important}.geofence-map-card{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:18px;margin-bottom:24px;padding:20px 24px;box-shadow:0 4px 16px #00000008}.geofence-map-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.geofence-map-title{color:var(--text,#0f172a);align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}.geofence-map-sub{color:var(--muted,#64748b);margin-top:2px;font-size:12px}.overview-map-frame{border:1px solid var(--border,#e2e8f0);z-index:1;border-radius:14px;width:100%;height:340px;overflow:hidden}@media(max-width:640px){.overview-map-frame{height:260px}}.form-map-split{grid-template-columns:1fr 1.15fr;align-items:start;gap:24px;display:grid}@media(max-width:991px){.form-map-split{grid-template-columns:1fr;gap:20px}}.picker-map-column{flex-direction:column;gap:12px;display:flex}.pickerMapWrapper{border:1px solid var(--border,#e2e8f0);z-index:1;border-radius:14px;width:100%;height:420px;overflow:hidden}@media(max-width:640px){.pickerMapWrapper{height:300px}}.badge-lokasi-pusat{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.badge-lokasi-cabang{color:#6d28d9;background:#ede9fe;border:1px solid #ddd6fe}.badge-lokasi-mitra{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-lokasi-kegiatan{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.badge-lokasi-lainnya{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.radius-slider-group{flex-direction:column;gap:10px;display:flex}.radius-slider-input{background:var(--card-alt,#e2e8f0);width:100%;height:8px;accent-color:var(--blue2,#1f3b8a);cursor:pointer;border-radius:6px}.modal-box-map{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);width:100%;overflow:hidden;box-shadow:0 24px 48px #00000040;border-radius:20px!important;max-width:600px!important}.modal-header-map{background:var(--card,#fff);border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.modal-header-info{flex:1;min-width:0}.modal-header-badge{letter-spacing:.5px;color:var(--blue2,#1f3b8a);text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:800}.modal-map-title{color:var(--text,#0f172a);margin:0;font-size:16px;font-weight:800;line-height:1.3}.modal-map-subtitle{color:var(--muted,#64748b);margin-top:2px;font-size:12px;font-weight:600}.modal-body-map{flex-direction:column;padding:0;display:flex}.map-geofence-alert{border-radius:10px;align-items:center;gap:8px;margin:14px 16px 10px;padding:10px 14px;font-size:12.5px;font-weight:700;line-height:1.4;display:flex}.map-geofence-alert.within{color:#15803d;background:#16a34a1a;border:1px solid #16a34a4d}.map-geofence-alert.outside{color:#dc2626;background:#dc26261a;border:1px solid #dc26264d}.map-geofence-alert.unrestricted{color:#b45309;background:#f59e0b1a;border:1px solid #f59e0b4d}.map-modal-frame-wrapper{padding:0 16px}.map-modal-leaflet{border:1px solid var(--border,#e2e8f0);z-index:1;border-radius:12px;width:100%;height:320px;overflow:hidden}@media(max-width:640px){.map-modal-leaflet{height:240px}}.map-modal-info-grid{background:var(--card-alt,#f8fafc);border-top:1px solid var(--border,#f1f5f9);grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding:14px 16px 18px;display:grid}@media(max-width:480px){.map-modal-info-grid{grid-template-columns:1fr}}.account-stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}@media(max-width:992px){.account-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media(max-width:480px){.account-stats-grid{grid-template-columns:1fr;gap:10px}}.account-stat-card{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-lg,14px);align-items:center;gap:14px;padding:16px 18px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #0000000a}.account-stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000012}.account-stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;display:flex}.account-stat-icon.blue{color:#0b5ed7;background:#0b5ed71a}.account-stat-icon.emerald{color:#10b981;background:#10b9811a}.account-stat-icon.indigo{color:#6366f1;background:#6366f11a}.account-stat-icon.amber,.account-stat-icon.orange{color:#d97706;background:#f59e0b1a}.account-stat-icon.teal{color:#0d9488;background:#14b8a61a}.account-stat-icon.purple{color:#9333ea;background:#a855f71a}.account-stat-icon.rose,.account-stat-icon.danger{color:#ef4444;background:#ef44441a}.account-stat-content{flex:1;min-width:0}.account-stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted,#64748b);margin-bottom:2px;font-size:11.5px;font-weight:700}.account-stat-value{color:var(--text,#0f172a);font-size:20px;font-weight:800;line-height:1.2}.account-stat-sub{color:var(--muted,#94a3b8);margin-top:2px;font-size:11px}.segmented-tabs-wrapper{scrollbar-width:thin;-webkit-overflow-scrolling:touch;gap:8px;margin-bottom:20px;padding-bottom:6px;display:flex;overflow-x:auto}.segmented-tab-btn{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);color:var(--muted,#64748b);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.segmented-tab-btn:hover{background:var(--card-alt,#f8fafc);color:var(--text,#0f172a);border-color:#cbd5e1}.segmented-tab-btn.active{color:#fff;background:#0b5ed7;border-color:#0b5ed7;box-shadow:0 4px 12px #0b5ed740}.segmented-tab-pill{color:inherit;background:#00000012;border-radius:999px;justify-content:center;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.segmented-tab-btn.active .segmented-tab-pill{color:#fff;background:#ffffff40}.app-badge{letter-spacing:.2px;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:700;line-height:1.2;display:inline-flex}.badge-role-admin{color:#1e293b;background:#1e293b14;border:1px solid #1e293b2e}.badge-role-kepsek{color:#065f46;background:#10b9811f;border:1px solid #10b98140}.badge-role-tutor{color:#0b5ed7;background:#0b5ed71f;border:1px solid #0b5ed740}.badge-role-siswa{color:#4338ca;background:#6366f11f;border:1px solid #6366f140}.badge-role-magang{color:#0f766e;background:#14b8a61f;border:1px solid #14b8a640}.badge-status-aktif{color:#15803d;background:#22c55e1f;border:1px solid #22c55e40}.badge-status-nonaktif{color:#b91c1c;background:#ef44441f;border:1px solid #ef444440}.user-avatar-initial{color:#fff;text-transform:uppercase;background:linear-gradient(135deg,#0b5ed7,#0284c7);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:800;display:flex}.user-avatar-initial.siswa{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.user-avatar-initial.tutor{background:linear-gradient(135deg,#0284c7,#06b6d4)}.user-avatar-initial.magang{background:linear-gradient(135deg,#0d9488,#14b8a6)}.user-avatar-initial.admin{background:linear-gradient(135deg,#1e293b,#475569)}.user-avatar-initial.kepsek{background:linear-gradient(135deg,#059669,#10b981)}.btn-action-reset-pw{color:#b45309;background:#f59e0b1a;border:1px solid #f59e0b40}.btn-action-reset-pw:hover{color:#fff;background:#f59e0b}.btn-action-view-entity{color:#4f46e5;background:#6366f11a;border:1px solid #6366f140}.btn-action-view-entity:hover{color:#fff;background:#6366f1}.map-modal-info-item{flex-direction:column;gap:2px;display:flex}.map-modal-info-item.full-width{border-top:1px dashed var(--border,#e2e8f0);grid-column:1/-1;margin-top:4px;padding-top:8px}.map-info-lbl{color:var(--muted,#64748b);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:800}.map-info-val{color:var(--text,#0f172a);word-break:break-word;font-size:12.5px;font-weight:700}.paginatePad{box-sizing:border-box;width:100%;padding-top:1rem;padding-bottom:1.5rem}.app-pagination-card{background:var(--card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-xl,16px);box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:4px;padding:12px 18px;display:flex;box-shadow:0 1px 3px #0000000a}.app-pagination-meta{color:var(--muted,#64748b);align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.app-pagination-meta-icon{width:28px;height:28px;color:var(--primary,#0b5ed7);background:#0b5ed714;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.app-pagination-meta-text{line-height:1.4}.app-pagination-highlight{color:var(--text,#0f172a);font-weight:700}.app-pagination-desktop-list{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:inline-flex}.app-page-item{display:inline-flex}.app-page-number{min-width:36px;height:36px;color:var(--text,#334155);border:1px solid var(--border,#e2e8f0);cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border-radius:10px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.app-page-number:hover{color:var(--text,#0f172a);background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 4px #0000000a}.app-page-item.active .app-page-number.current{color:#fff;cursor:default;background:linear-gradient(135deg,#0b5ed7,#0a58ca);border-color:#0b5ed7;font-weight:800;transform:none;box-shadow:0 4px 10px #0b5ed747}.app-page-number.dots{cursor:default;color:var(--muted,#94a3b8);background:0 0;border:none;min-width:20px;padding:0;font-weight:800}.app-page-btn-nav{height:36px;color:var(--text,#334155);border:1px solid var(--border,#e2e8f0);cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.app-page-btn-nav ion-icon{font-size:16px;transition:transform .15s}.app-page-btn-nav:hover{color:var(--text,#0f172a);background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.app-page-item:not(.disabled) .app-page-btn-nav:hover ion-icon[name=chevron-back-outline]{transform:translate(-2px)}.app-page-item:not(.disabled) .app-page-btn-nav:hover ion-icon[name=chevron-forward-outline]{transform:translate(2px)}.app-page-item.disabled .app-page-btn-nav{opacity:.4;cursor:not-allowed;color:var(--muted,#94a3b8);border-color:var(--border,#e2e8f0);pointer-events:none;background:#f8fafc;transform:none}.app-pagination-mobile-nav{box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;width:100%;display:none}.app-page-btn-mobile{border:1px solid var(--border,#cbd5e1);min-height:42px;color:var(--text,#0f172a);cursor:pointer;touch-action:manipulation;background:#f8fafc;border-radius:10px;flex:1 1 0;justify-content:center;align-items:center;gap:4px;min-width:0;padding:0 12px;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.app-page-btn-mobile ion-icon{flex-shrink:0;font-size:16px}.app-page-btn-mobile .app-page-btn-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-page-btn-mobile:active{color:#fff;background:#0b5ed7;border-color:#0b5ed7;transform:scale(.97)}.app-page-btn-mobile.disabled{opacity:.4;cursor:not-allowed;pointer-events:none;border-color:var(--border,#e2e8f0);color:var(--muted,#94a3b8);box-shadow:none;background:#f8fafc}.app-page-badge-mobile{min-height:42px;color:var(--text,#0f172a);border:1px solid var(--border,#e2e8f0);white-space:nowrap;background:#f1f5f9;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0 12px;font-size:12.5px;font-weight:800;display:inline-flex}.pagination{box-sizing:border-box!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:6px!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important;display:flex!important}.page-item{margin:0!important;display:inline-flex!important}.page-link{min-width:36px!important;height:36px!important;color:var(--text,#334155)!important;border:1px solid var(--border,#e2e8f0)!important;background:#f8fafc!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;padding:0 10px!important;font-size:13px!important;font-weight:600!important;text-decoration:none!important;transition:all .15s!important;display:inline-flex!important}.page-item.active .page-link{color:#fff!important;background:#0b5ed7!important;border-color:#0b5ed7!important;font-weight:800!important;box-shadow:0 4px 10px #0b5ed740!important}.page-item.disabled .page-link{opacity:.45!important;cursor:not-allowed!important;color:var(--muted,#94a3b8)!important}@media(max-width:768px){.app-pagination-card{flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:12px 14px!important}.app-pagination-meta{text-align:center!important;justify-content:center!important;width:100%!important;font-size:12px!important}.app-pagination-desktop-list{display:none!important}.app-pagination-mobile-nav{display:flex!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
