@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Hanken+Grotesk:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&family=Geist+Mono:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap);@import url(https://fonts.googleapis.com/css2?family=Passion+One:wght@400&display=swap);@import url(https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&family=Geist+Mono:wght@400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&family=Passion+One&display=swap);*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.left-3{left:.75rem}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[119\]{z-index:119}.z-\[120\]{z-index:120}.z-\[124\]{z-index:124}.z-\[125\]{z-index:125}.z-\[128\]{z-index:128}.z-\[1\]{z-index:1}.col-span-full{grid-column:1/-1}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-6{margin-left:1.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-8{margin-top:2rem}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.max-h-40{max-height:10rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[420px\]{max-height:420px}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[min\(360px\2c 45vh\)\]{max-height:min(360px,45vh)}.max-h-\[min\(70vh\2c 520px\)\]{max-height:min(70vh,520px)}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[180px\]{min-width:180px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[140px\]{max-width:140px}.max-w-\[160px\]{max-width:160px}.max-w-\[220px\]{max-width:220px}.max-w-\[min\(100\%\2c 420px\)\]{max-width:min(100%,420px)}.max-w-\[min\(100\%\2c 480px\)\]{max-width:min(100%,480px)}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-4{column-gap:1rem}.gap-y-2{row-gap:.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.125rem*var(--tw-space-y-reverse));margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#f9fafb;border-color:rgb(249 250 251/var(--tw-divide-opacity,1))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-100{--tw-border-opacity:1;border-color:#fef3c7;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:#fde68a;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-600{--tw-border-opacity:1;border-color:#d97706;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:#2563eb;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:#a7f3d0;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-600{--tw-border-opacity:1;border-color:#059669;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-900{--tw-border-opacity:1;border-color:#111827;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:#fed7aa;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-violet-100{--tw-border-opacity:1;border-color:#ede9fe;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.border-violet-100\/80{border-color:#ede9fecc}.border-violet-200{--tw-border-opacity:1;border-color:#ddd6fe;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-violet-200\/80{border-color:#ddd6fecc}.border-violet-300{--tw-border-opacity:1;border-color:#c4b5fd;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/40{background-color:#fffbeb66}.bg-amber-50\/50{background-color:#fffbeb80}.bg-amber-50\/60{background-color:#fffbeb99}.bg-amber-600{--tw-bg-opacity:1;background-color:#d97706;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-black\/40{background-color:#0006}.bg-black\/45{background-color:#00000073}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-destructive{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:#ecfdf5;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:#059669;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-100\/80{background-color:#f3f4f6cc}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-50\/80{background-color:#f9fafbcc}.bg-gray-50\/90{background-color:#f9fafbe6}.bg-gray-900{--tw-bg-opacity:1;background-color:#111827;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-input{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:#fff7ed;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-200{--tw-bg-opacity:1;background-color:#fecaca;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/50{background-color:#fef2f280}.bg-red-500{--tw-bg-opacity:1;background-color:#ef4444;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-secondary{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-sky-600{--tw-bg-opacity:1;background-color:#0284c7;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/50{background-color:#f8fafc80}.bg-slate-900{--tw-bg-opacity:1;background-color:#0f172a;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-transparent{background-color:initial}.bg-violet-100{--tw-bg-opacity:1;background-color:#ede9fe;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:#f5f3ff;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-50\/40{background-color:#f5f3ff66}.bg-violet-50\/50{background-color:#f5f3ff80}.bg-violet-600{--tw-bg-opacity:1;background-color:#7c3aed;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.bg-violet-900{--tw-bg-opacity:1;background-color:#4c1d95;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:#fff3}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50\/80{--tw-gradient-from:#f8fafccc var(--tw-gradient-from-position);--tw-gradient-to:#f8fafc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-50{--tw-gradient-from:#f5f3ff var(--tw-gradient-from-position);--tw-gradient-to:#f5f3ff00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-600{--tw-gradient-from:#7c3aed var(--tw-gradient-from-position);--tw-gradient-to:#7c3aed00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-800{--tw-gradient-to:#1e40af var(--tw-gradient-to-position)}.to-violet-900{--tw-gradient-to:#4c1d95 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-7{padding-bottom:1.75rem;padding-top:1.75rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-5{padding-left:1.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.align-middle{vertical-align:middle}.font-inter{font-family:Inter,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-500{--tw-text-opacity:1;color:#f59e0b;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:#d97706;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:#92400e;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:#78350f;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-600\/80{color:#2563ebcc}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:#059669;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-600\/80{color:#059669cc}.text-emerald-700{--tw-text-opacity:1;color:#047857;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-700\/80{color:#047857cc}.text-emerald-900{--tw-text-opacity:1;color:#064e3b;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:#14532d;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:#ea580c;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-600\/80{color:#ea580ccc}.text-orange-700{--tw-text-opacity:1;color:#c2410c;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-600\/80{color:#dc2626cc}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:#7f1d1d;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-secondary-foreground{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:#7c3aed;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:#6d28d9;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-violet-800{--tw-text-opacity:1;color:#5b21b6;color:rgb(91 33 182/var(--tw-text-opacity,1))}.text-violet-900{--tw-text-opacity:1;color:#4c1d95;color:rgb(76 29 149/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.accent-violet-600{accent-color:#7c3aed}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{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)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-violet-200:hover{--tw-border-opacity:1;border-color:#ddd6fe;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-blue-100\/80:hover{background-color:#dbeafecc}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-emerald-100\/80:hover{background-color:#d1fae5cc}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:#1f2937;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-orange-100\/80:hover{background-color:#ffedd5cc}.hover\:bg-red-100\/80:hover{background-color:#fee2e2cc}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:#b91c1c;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-sky-700:hover{--tw-bg-opacity:1;background-color:#0369a1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:#1e293b;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-violet-50:hover{--tw-bg-opacity:1;background-color:#f5f3ff;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.hover\:bg-violet-700:hover{--tw-bg-opacity:1;background-color:#6d28d9;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.hover\:bg-violet-950:hover{--tw-bg-opacity:1;background-color:#2e1065;background-color:rgb(46 16 101/var(--tw-bg-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-violet-700:hover{--tw-text-opacity:1;color:#6d28d9;color:rgb(109 40 217/var(--tw-text-opacity,1))}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.focus\:border-primary:focus{--tw-border-opacity:1;border-color:#2563eb;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.focus\:border-violet-500:focus{--tw-border-opacity:1;border-color:#8b5cf6;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.focus\:ring-violet-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.site-theme{--paper:#fcf9f4;--card:#fff;--cream-2:#f6f1e8;--ink:#1b2430;--ink-2:#5a6573;--ink-3:#94a0ad;--line:#ece6db;--line-2:#e2dbcd;--brand:#2f7cf0;--brand-deep:#2f5bef;--cyan:#1fc4ee;--brand-ink:#1d4ed8;--brand-wash:#eaf2ff;--leaf:#54bd46;--leaf-deep:#3da233;--leaf-wash:#eaf7e7;--peach:#ffb27a;--sun:#ffd166;--grad:linear-gradient(135deg,#22c3ee,#2f7cf0 52%,#2f5bef);--grad-soft:linear-gradient(135deg,#eaf7fd,#eaf2ff);--r-xl:28px;--r-lg:20px;--r:14px;--r-sm:10px;--shadow-sm:0 1px 2px #1b24300d;--shadow:0 4px 14px -4px #1b24301f,0 1px 3px #1b24300f;--shadow-lg:0 24px 60px -22px #1f4dd852,0 8px 24px -12px #1b24302e;--shadow-brand:0 18px 44px -16px #2f7cf08c;-webkit-font-smoothing:antialiased;background:var(--paper);color:var(--ink);font-family:Hanken Grotesk,system-ui,sans-serif;line-height:1.55;margin:0;min-height:100vh}.site-theme *{box-sizing:border-box}.site-theme h1,.site-theme h2,.site-theme h3,.site-theme h4{font-family:Bricolage Grotesque,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0}.site-theme a{color:inherit;text-decoration:none}.site-theme .mono{font-feature-settings:"tnum";font-family:Hanken Grotesk,monospace;font-variant-numeric:tabular-nums}.site-theme .wrap{margin:0 auto;max-width:1200px;padding:0 28px}.site-theme .eyebrow{align-items:center;color:var(--brand);display:inline-flex;font-size:13px;font-weight:700;gap:8px;letter-spacing:.08em;text-transform:uppercase}.site-theme .eyebrow.leaf{color:var(--leaf-deep)}.site-theme .btn{align-items:center;border:none;border-radius:999px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:700;gap:9px;justify-content:center;padding:14px 24px;transition:transform .12s ease,box-shadow .2s,background .2s;white-space:nowrap}.site-theme .btn svg{height:17px;width:17px}.site-theme .btn-primary{background:var(--grad);box-shadow:var(--shadow-brand);color:#fff}.site-theme .btn-primary:hover{box-shadow:0 22px 50px -16px #2f7cf0b3;transform:translateY(-2px)}.site-theme .btn-dark{background:var(--ink);color:#fff}.site-theme .btn-dark:hover{transform:translateY(-2px)}.site-theme .btn-ghost{background:var(--card);border:1.5px solid var(--line-2);color:var(--ink)}.site-theme .btn-ghost:hover{background:#fff;border-color:var(--ink-3)}.site-theme .btn-light{background:#fff;color:var(--brand-ink)}.site-theme .btn-sm{font-size:14px;padding:10px 18px}.site-theme .btn-lg{font-size:16.5px;padding:17px 30px}.site-theme .nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fcf9f4d1;border-bottom:1px solid #0000;position:sticky;top:0;transition:border-color .2s;z-index:60}.site-theme .nav.scrolled{border-bottom-color:var(--line)}.site-theme .nav-in{align-items:center;display:flex;gap:30px;height:74px;margin:0 auto;max-width:1200px;padding:0 28px}.site-theme .logo{align-items:center;display:flex;font-family:Bricolage Grotesque;font-size:22px;font-weight:800;gap:10px;letter-spacing:-.02em}.site-theme .logo img{height:34px;object-fit:contain;width:34px}.site-theme .nav-links{align-items:center;display:flex;gap:4px;margin-left:8px}.site-theme .nav-links a{border-radius:10px;color:var(--ink-2);font-size:15px;font-weight:600;padding:9px 14px}.site-theme .nav-links a:hover{background:var(--cream-2);color:var(--ink)}.site-theme .nav-right{align-items:center;display:flex;gap:12px;margin-left:auto}.site-theme .hero{overflow:hidden;padding:46px 0 70px;position:relative}.site-theme .hero-grid{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:1.05fr .95fr}.site-theme .badge-pill{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm);color:var(--ink-2);display:inline-flex;font-size:13.5px;font-weight:600;gap:9px;margin-bottom:24px;padding:7px 8px 7px 14px}.site-theme .badge-pill .tag{background:var(--leaf-wash);border-radius:999px;color:var(--leaf-deep);font-size:12px;font-weight:700;padding:3px 10px}.site-theme .hero h1{font-size:60px;font-weight:800;letter-spacing:-.03em}.site-theme .hero h1 .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:#0000}.site-theme .hero p.lede{color:var(--ink-2);font-size:19px;line-height:1.55;margin:22px 0 30px;max-width:520px}.site-theme .hero-cta{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.site-theme .hero-note{align-items:center;color:var(--ink-3);display:flex;font-size:13.5px;gap:8px;margin-top:18px}.site-theme .hero-note svg{fill:var(--leaf-deep);height:15px;width:15px}.site-theme .hero-art{height:520px;position:relative}.site-theme .blob{background:var(--grad-soft);border-radius:42% 58% 56% 44%/52% 44% 56% 48%;filter:blur(2px);inset:-10% -6% -6% 0;position:absolute;z-index:0}.site-theme .phone{background:#0e1422;border:1px solid #20283a;border-radius:42px;box-shadow:var(--shadow-lg);height:540px;padding:11px;position:absolute;right:48px;top:18px;width:264px;z-index:2}.site-theme .phone-screen{background:#eaf0f4;border-radius:32px;height:100%;overflow:hidden;position:relative;width:100%}.site-theme .float-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:13px 15px;position:absolute;z-index:3}.site-theme .float-card .fc-row{align-items:center;display:flex;gap:11px}.site-theme .fc-ic{border-radius:11px;display:grid;flex-shrink:0;height:38px;place-items:center;width:38px}.site-theme .fc-ic svg{height:19px;width:19px}.site-theme .fc-k{color:var(--ink-3);font-size:11.5px;font-weight:600}.site-theme .fc-v{font-family:Bricolage Grotesque;font-size:16px;font-weight:800}.site-theme .trust{align-items:center;color:var(--ink-3);display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:40px;justify-content:center;padding:8px 0 4px}.site-theme .trust b{color:var(--ink);font-family:Bricolage Grotesque;font-size:26px;font-weight:800;margin-right:6px}.site-theme .trust .sep{background:var(--line-2);height:30px;width:1px}.site-theme .section{padding:84px 0}.site-theme .section-head{margin:0 auto 50px;max-width:680px;text-align:center}.site-theme .section-head h2{font-size:42px;font-weight:800;letter-spacing:-.03em;margin:16px 0 14px}.site-theme .section-head p{color:var(--ink-2);font-size:18px}.site-theme .prod-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}.site-theme .prod-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;max-width:920px}.site-theme .prod{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;padding:30px;position:relative;transition:transform .18s,box-shadow .2s,border-color .2s}.site-theme .prod:hover{border-color:#0000;box-shadow:var(--shadow-lg);transform:translateY(-5px)}.site-theme .prod-ic{border-radius:17px;box-shadow:var(--shadow);display:grid;height:58px;margin-bottom:20px;place-items:center;width:58px}.site-theme .prod-ic svg{fill:#fff;height:28px;width:28px}.site-theme .prod h3{font-size:23px;margin-bottom:9px}.site-theme .prod .tagline{color:var(--brand);font-size:14px;font-weight:700;margin-bottom:12px}.site-theme .prod p{color:var(--ink-2);font-size:15px;margin:0 0 18px}.site-theme .prod ul{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0 0 22px;padding:0}.site-theme .prod li{align-items:flex-start;color:var(--ink);display:flex;font-size:14.5px;font-weight:500;gap:10px}.site-theme .prod li svg{flex-shrink:0;height:18px;margin-top:1px;width:18px}.site-theme .prod .learn{align-items:center;color:var(--brand);display:inline-flex;font-size:14.5px;font-weight:700;gap:6px}.site-theme .prod .learn svg{fill:currentColor;height:15px;transition:transform .15s;width:15px}.site-theme .prod:hover .learn svg{transform:translateX(3px)}.site-theme .prod-modes{display:flex;gap:8px;margin-bottom:16px}.site-theme .mode-chip{border-radius:999px;color:var(--ink-2);font-size:12px;font-weight:700;padding:4px 11px}.site-theme .band,.site-theme .mode-chip{background:var(--cream-2)}.site-theme .feat-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(4,1fr)}.site-theme .feat{padding:4px}.site-theme .feat-ic{background:#fff;border:1px solid var(--line);border-radius:13px;display:grid;height:46px;margin-bottom:14px;place-items:center;width:46px}.site-theme .feat-ic svg{height:22px;width:22px}.site-theme .feat h4{font-size:18px;margin-bottom:7px}.site-theme .feat p{color:var(--ink-2);font-size:14.5px;margin:0}.site-theme .price-toggle{background:var(--cream-2);border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:4px;margin:0 auto 14px;padding:5px}.site-theme .price-toggle button{background:#0000;border:none;border-radius:999px;color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;padding:9px 20px}.site-theme .price-toggle button.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--ink)}.site-theme .price-grid{grid-gap:18px;align-items:stretch;display:grid;gap:18px;grid-template-columns:repeat(4,1fr)}.site-theme .price{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);display:flex;flex-direction:column;padding:28px 26px;position:relative}.site-theme .price.feat-plan{border:2px solid var(--brand);box-shadow:var(--shadow-lg);transform:scale(1.03);z-index:2}.site-theme .price .rec{background:var(--grad);border-radius:999px;box-shadow:var(--shadow-brand);color:#fff;font-size:12px;font-weight:800;left:50%;letter-spacing:.04em;padding:6px 16px;position:absolute;top:-13px;transform:translateX(-50%);white-space:nowrap}.site-theme .price .pname{color:var(--ink-2);font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.site-theme .price.feat-plan .pname{color:var(--brand)}.site-theme .price .pdesc{color:var(--ink-3);font-size:13.5px;margin:6px 0 18px;min-height:38px}.site-theme .price .amount{align-items:baseline;display:flex;gap:4px;margin-bottom:4px}.site-theme .price .amount .cur{color:var(--ink-2);font-size:18px;font-weight:700}.site-theme .price .amount .num{font-family:Bricolage Grotesque;font-size:46px;font-weight:800;letter-spacing:-.03em}.site-theme .price .amount .per{color:var(--ink-3);font-size:14px;font-weight:600}.site-theme .price .pbill{color:var(--ink-3);font-size:13px;margin-bottom:22px}.site-theme .price .pfree{color:var(--leaf-deep);font-family:Bricolage Grotesque;font-size:30px;font-weight:800;margin-bottom:4px}.site-theme .price ul{display:flex;flex-direction:column;gap:11px;list-style:none;margin:0 0 24px;padding:0}.site-theme .price li{align-items:flex-start;color:var(--ink);display:flex;font-size:14px;gap:10px}.site-theme .price li svg{flex-shrink:0;height:17px;margin-top:2px;width:17px}.site-theme .price .btn{margin-top:auto;width:100%}.site-theme .price-foot{color:var(--ink-3);font-size:14px;margin-top:26px;text-align:center}.site-theme .cta-band{padding:54px 0}.site-theme .cta-card{background:var(--grad);border-radius:var(--r-xl);box-shadow:var(--shadow-brand);color:#fff;overflow:hidden;padding:56px;position:relative;text-align:center}.site-theme .cta-card h2{color:#fff;font-size:40px;margin-bottom:14px}.site-theme .cta-card p{font-size:18px;margin:0 auto 28px;max-width:520px;opacity:.92}.site-theme .cta-card .btn-light{box-shadow:0 10px 30px -8px #0000004d}.site-theme .footer{background:var(--ink);color:#c7cfdb;padding:60px 0 34px}.site-theme .footer-grid{grid-gap:34px;border-bottom:1px solid #ffffff1a;display:grid;gap:34px;grid-template-columns:1.6fr 1fr 1fr 1fr;padding-bottom:40px}.site-theme .footer .logo{color:#fff}.site-theme .footer p.fdesc{color:#94a0ad;font-size:14.5px;margin:16px 0 0;max-width:280px}.site-theme .footer h5{color:#fff;font-family:Bricolage Grotesque;font-size:15px;margin:0 0 16px}.site-theme .footer a{color:#a9b3c1;display:block;font-size:14.5px;padding:5px 0}.site-theme .footer a:hover{color:#fff}.site-theme .footer-bot{align-items:center;color:#7e8a99;display:flex;flex-wrap:wrap;font-size:13.5px;gap:12px;justify-content:space-between;padding-top:24px}@media(max-width:980px){.site-theme .feat-grid,.site-theme .footer-grid,.site-theme .hero-grid,.site-theme .price-grid,.site-theme .prod-grid{grid-template-columns:1fr}.site-theme .hero-art{display:none}.site-theme .hero h1{font-size:44px}}@media(max-width:760px){.site-theme .nav-in{gap:12px;height:auto;min-height:68px;padding:10px 16px}.site-theme .nav-links{display:none}.site-theme .nav-right{gap:8px}.site-theme .nav-right .btn{font-size:13.5px;padding:10px 13px}.site-theme .wrap{padding:0 18px}}.admin-theme{--bg:#0a0e16;--surface:#111726;--surface-2:#0d1320;--elev:#161d2f;--line:#212a3e;--line-2:#2b3650;--text:#e8ecf4;--muted:#8b95a8;--faint:#5d6678;--brand:#3b9cff;--cyan:#22cdee;--brand-deep:#2f6bef;--grad:linear-gradient(135deg,#22cdee,#3b9cff 55%,#2f6bef);--grad-soft:linear-gradient(135deg,#22cdee29,#2f6bef29);--green:#3ddc84;--green-dim:#3ddc8424;--amber:#f5a524;--amber-dim:#f5a52424;--red:#ff5d62;--red-dim:#ff5d6224;--violet:#9b7cff;--r-lg:18px;--r:14px;--r-sm:10px;--shadow:0 1px 2px #0006,0 12px 28px -14px #000000b3;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);font-family:Geist,system-ui,sans-serif;min-height:100vh}.admin-theme *{box-sizing:border-box}.admin-theme .mono{font-feature-settings:"tnum";font-family:Geist Mono,monospace;font-variant-numeric:tabular-nums}.admin-theme .app{background:var(--bg);display:flex;min-height:100vh}.admin-theme .side{background:var(--surface-2);border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;height:100vh;position:sticky;top:0;width:250px}.admin-theme .side-logo{align-items:center;color:var(--text);display:flex;font-size:19px;font-weight:800;gap:10px;letter-spacing:-.01em;padding:22px 22px 20px}.admin-theme .side-logo img{height:30px;object-fit:contain;width:30px}.admin-theme .side-logo .tag{background:var(--grad-soft);border:1px solid var(--line-2);border-radius:6px;color:var(--cyan);font-size:9.5px;font-weight:700;letter-spacing:.08em;margin-left:2px;padding:3px 7px}.admin-theme .side-sec{margin-top:6px;padding:0 14px}.admin-theme .side-label{color:var(--faint);font-size:10.5px;font-weight:700;letter-spacing:.09em;padding:14px 12px 7px;text-transform:uppercase}.admin-theme .nav-item{align-items:center;border-radius:10px;color:var(--muted);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;margin-bottom:2px;padding:10px 12px;position:relative;transition:background .14s,color .14s}.admin-theme .nav-item svg{fill:currentColor;flex-shrink:0;height:18px;width:18px}.admin-theme .nav-item:hover{background:var(--surface);color:var(--text)}.admin-theme .nav-item.active{background:var(--grad-soft);color:#fff}.admin-theme .nav-item.active:before{background:var(--cyan);border-radius:0 3px 3px 0;bottom:8px;content:"";left:-14px;position:absolute;top:8px;width:3px}.admin-theme .nav-item .count{background:var(--surface);border-radius:999px;color:var(--faint);font-size:11px;font-weight:700;margin-left:auto;padding:2px 8px}.admin-theme .nav-item.active .count{color:var(--cyan)}.admin-theme .side-foot{border-top:1px solid var(--line);margin-top:auto;padding:14px}.admin-theme .su-card{align-items:center;background:var(--surface);border-radius:12px;display:flex;gap:11px;padding:10px}.admin-theme .su-av{background:var(--grad);border-radius:10px;color:#06121f;display:grid;flex-shrink:0;font-weight:700;height:36px;place-items:center;width:36px}.admin-theme .su-name{font-size:13.5px;font-weight:700}.admin-theme .su-role{color:var(--cyan);font-size:11px;font-weight:600}.admin-theme .main{background:var(--bg);display:flex;flex:1 1;flex-direction:column;min-width:0}.admin-theme .topbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0e16d9;border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:18px;height:66px;padding:0 28px;position:sticky;top:0;z-index:20}.admin-theme .tb-title{color:var(--text);font-size:18px;font-weight:700;letter-spacing:-.01em}.admin-theme .tb-search{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--faint);display:flex;font-size:13.5px;gap:9px;padding:9px 13px;width:300px}.admin-theme .tb-search input{background:#0000;border:none;color:var(--text);font-size:13.5px;outline:none;width:100%}.admin-theme .tb-search svg{fill:var(--faint);height:15px;width:15px}.admin-theme .tb-right{align-items:center;display:flex;gap:12px;margin-left:auto}.admin-theme .env{align-items:center;background:var(--green-dim);border:1px solid #3ddc8440;border-radius:999px;color:var(--green);display:inline-flex;font-size:12.5px;font-weight:600;gap:7px;padding:6px 12px}.admin-theme .env .dot{background:var(--green);border-radius:50%;box-shadow:0 0 0 3px #3ddc8433;height:7px;width:7px}.admin-theme .tb-icon{background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer;display:grid;height:38px;place-items:center;width:38px}.admin-theme .tb-icon:hover{color:var(--text)}.admin-theme .tb-icon svg{fill:currentColor;height:17px;width:17px}.admin-theme .content{max-width:1320px;padding:26px 28px 60px;width:100%}.admin-theme .pane{display:none}.admin-theme .pane.active{display:block}.admin-theme .page-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-bottom:22px}.admin-theme .page-head h1{color:var(--text);font-size:25px;font-weight:800;letter-spacing:-.02em;margin:0}.admin-theme .page-head .ph-sub{color:var(--muted);font-size:14px;margin-top:4px}.admin-theme .period{background:var(--surface);border:1px solid var(--line);border-radius:11px;display:flex;gap:3px;padding:3px}.admin-theme .period button{background:#0000;border:none;border-radius:8px;color:var(--muted);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 15px}.admin-theme .period button.active{background:var(--elev);color:#fff}.admin-theme .btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:700;gap:8px;justify-content:center;padding:11px 17px;white-space:nowrap}.admin-theme .btn svg{fill:currentColor;height:16px;width:16px}.admin-theme .btn-primary{background:var(--grad);color:#06121f}.admin-theme .btn-primary:hover{filter:brightness(1.07)}.admin-theme .btn-line{background:var(--surface);border:1px solid var(--line-2);color:var(--text)}.admin-theme .btn-line:hover{border-color:var(--faint)}.admin-theme .kpis{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:18px}.admin-theme .tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;padding:18px 20px;position:relative}.admin-theme .tile.hero-tile{background:linear-gradient(150deg,#13203a,#101627);border-color:var(--line-2)}.admin-theme .tile-k{align-items:center;color:var(--muted);display:flex;font-size:12.5px;font-weight:600;gap:9px}.admin-theme .tile-k .ic{background:var(--grad-soft);border-radius:8px;display:grid;height:26px;place-items:center;width:26px}.admin-theme .tile-k .ic svg{fill:var(--cyan);height:14px;width:14px}.admin-theme .tile-v{color:var(--text);font-family:Geist Mono;font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1;margin-top:13px}.admin-theme .tile-v small{color:var(--muted);font-size:15px;font-weight:600}.admin-theme .tile-foot{align-items:center;display:flex;justify-content:space-between;margin-top:12px}.admin-theme .delta{align-items:center;display:inline-flex;font-size:12.5px;font-weight:700;gap:4px}.admin-theme .delta svg{fill:currentColor;height:12px;width:12px}.admin-theme .delta.up{color:var(--green)}.admin-theme .delta.down{color:var(--red)}.admin-theme .delta.flat{color:var(--faint)}.admin-theme .spark{height:30px;width:90px}.admin-theme .grid-32{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.9fr 1fr;margin-bottom:18px}.admin-theme .grid-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:18px}.admin-theme .grid-3{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:18px}.admin-theme .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px}.admin-theme .card-h{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.admin-theme .card-h h3{color:var(--text);font-size:15.5px;font-weight:700;margin:0}.admin-theme .card-h .note{color:var(--faint);font-size:12.5px}.admin-theme .legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px}.admin-theme .legend span{align-items:center;color:var(--muted);display:inline-flex;font-size:12.5px;font-weight:500;gap:7px}.admin-theme .legend i{border-radius:3px;height:9px;width:9px}.admin-theme .list-row{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;padding:11px 0}.admin-theme .list-row:last-child{border-bottom:none}.admin-theme .lr-ic{border-radius:11px;color:#06121f;display:grid;flex-shrink:0;font-size:13px;font-weight:700;height:38px;place-items:center;width:38px}.admin-theme .lr-name{color:var(--text);font-size:14px;font-weight:600}.admin-theme .lr-meta{color:var(--faint);font-size:12px}.admin-theme .lr-right{margin-left:auto;text-align:right}.admin-theme .lr-amt{font-family:Geist Mono;font-size:14px;font-weight:700}.admin-theme .lr-tag{color:var(--faint);font-size:11px}.admin-theme .badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11.5px;font-weight:700;gap:6px;padding:3px 10px}.admin-theme .b-bus{background:#3b9cff24;color:#6cb6ff}.admin-theme .b-lorryp{background:#f5a52424;color:#f5b24e}.admin-theme .b-cargo{background:#ff8c5024;color:#ff9d5c}.admin-theme .b-class{background:#9b7cff29;color:#b49bff}.admin-theme .status{align-items:center;border-radius:999px;display:inline-flex;font-size:11.5px;font-weight:700;gap:6px;padding:3px 10px}.admin-theme .status .d{border-radius:50%;height:6px;width:6px}.admin-theme .s-active{background:var(--green-dim);color:var(--green)}.admin-theme .s-active .d{background:var(--green)}.admin-theme .s-trial{background:#3b9cff24;color:#6cb6ff}.admin-theme .s-trial .d{background:#6cb6ff}.admin-theme .s-expired{background:var(--red-dim);color:var(--red)}.admin-theme .s-expired .d{background:var(--red)}.admin-theme .s-suspended{background:var(--amber-dim);color:var(--amber)}.admin-theme .s-suspended .d{background:var(--amber)}.admin-theme .plan-pill{background:var(--elev);border:1px solid var(--line);border-radius:7px;color:var(--text);font-size:11.5px;font-weight:700;padding:3px 10px}.admin-theme .tbl{border-collapse:collapse;font-size:13.5px;width:100%}.admin-theme .tbl thead th{border-bottom:1px solid var(--line);color:var(--faint);font-size:11px;font-weight:700;letter-spacing:.05em;padding:12px 14px;text-align:left;text-transform:uppercase}.admin-theme .tbl tbody td{border-bottom:1px solid var(--line);color:var(--muted);padding:14px}.admin-theme .tbl tbody tr:last-child td{border-bottom:none}.admin-theme .tbl tbody tr:hover{background:var(--surface-2)}.admin-theme .tbl .org-name{color:var(--text);font-size:14px;font-weight:700;white-space:nowrap}.admin-theme .tbl .org-code{color:var(--faint);font-family:Geist Mono;font-size:11.5px;white-space:nowrap}.admin-theme .tbl tbody td:first-child{min-width:210px}.admin-theme .tbl .num{color:var(--text);font-family:Geist Mono;font-weight:600}.admin-theme .row-act{background:#0000;border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer;display:grid;height:30px;place-items:center;width:34px}.admin-theme .row-act:hover{background:var(--elev);color:#fff}.admin-theme .row-act svg{fill:currentColor;height:15px;width:15px}.admin-theme .filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.admin-theme .ftabs{background:var(--surface);border:1px solid var(--line);border-radius:11px;display:flex;gap:3px;padding:3px}.admin-theme .ftabs button{background:#0000;border:none;border-radius:8px;color:var(--muted);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 14px}.admin-theme .ftabs button.active{background:var(--elev);color:#fff}.admin-theme .fselect{background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:9px 13px}.admin-theme .fcount{color:var(--faint);font-size:12.5px;margin-left:auto}.admin-theme .chip-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.admin-theme .mini{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex:1 1;min-width:150px;padding:14px 16px}.admin-theme .mini .mk{color:var(--muted);font-size:12px;font-weight:600}.admin-theme .mini .mv{color:var(--text);font-family:Geist Mono;font-size:22px;font-weight:800;margin-top:6px}.admin-theme .coupon-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.admin-theme .coupon{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;padding:20px;position:relative}.admin-theme .coupon:after,.admin-theme .coupon:before{background:var(--bg);border-radius:50%;content:"";height:18px;position:absolute;top:50%;transform:translateY(-50%);width:18px}.admin-theme .coupon:before{left:-9px}.admin-theme .coupon:after{right:-9px}.admin-theme .coupon-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.admin-theme .coupon-code{align-items:center;color:#fff;display:flex;font-family:Geist Mono;font-size:18px;font-weight:700;gap:9px;letter-spacing:.02em}.admin-theme .coupon-off{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:#0000;font-family:Geist Mono;font-size:30px;font-weight:800;margin:6px 0}.admin-theme .coupon-desc{color:var(--muted);font-size:13px;margin-bottom:16px}.admin-theme .coupon-stats{border-top:1px dashed var(--line-2);display:flex;gap:18px;padding-top:14px}.admin-theme .coupon-stat .csk{color:var(--faint);font-size:11px;font-weight:600}.admin-theme .coupon-stat .csv{color:var(--text);font-family:Geist Mono;font-size:15px;font-weight:700;margin-top:2px}.admin-theme .coupon.add{align-items:center;border-style:dashed;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:200px}.admin-theme .coupon.add:hover{border-color:var(--brand);color:var(--text)}.admin-theme .coupon.add .plus{background:var(--grad-soft);border-radius:14px;display:grid;height:48px;place-items:center;width:48px}.admin-theme .coupon.add .plus svg{fill:var(--cyan);height:24px;width:24px}.admin-theme svg text{font-family:Geist,sans-serif}.admin-theme .hbar-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:120px 1fr 70px;padding:8px 0}.admin-theme .hbar-lbl{color:var(--text);font-size:13px;font-weight:600}.admin-theme .hbar-track{background:var(--surface-2);border-radius:99px;height:11px;overflow:hidden}.admin-theme .hbar-fill{border-radius:99px;height:100%}.admin-theme .hbar-val{color:var(--muted);font-family:Geist Mono;font-size:13px;font-weight:700;text-align:right}.admin-theme select{background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--text);font-family:inherit;font-size:13px;font-weight:600;outline:none;padding:9px 13px}.admin-theme input[type=email],.admin-theme input[type=password],.admin-theme input[type=tel],.admin-theme input[type=text]{background:var(--surface-2);border:1.5px solid var(--line);border-radius:10px;color:var(--text);font-family:inherit;font-size:14px;outline:none;padding:10px 14px}.admin-theme input:focus{border-color:var(--brand)}@media(max-width:1100px){.admin-theme .coupon-grid,.admin-theme .grid-3,.admin-theme .kpis{grid-template-columns:repeat(2,1fr)}.admin-theme .grid-2,.admin-theme .grid-32{grid-template-columns:1fr}}.admin-theme .content-content,.admin-theme .dashboard-content,.admin-theme .organizations-content,.admin-theme .users-content{max-width:1320px;padding:26px 28px 60px;width:100%}.admin-theme .section-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.admin-theme .recent-activity h2,.admin-theme .section-header h2{color:var(--text);font-size:18px;font-weight:800;letter-spacing:-.01em;margin:0}.admin-theme .stats-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.admin-theme .batch-menu-card,.admin-theme .bulk-preview,.admin-theme .classroom-option,.admin-theme .content-card,.admin-theme .event-item,.admin-theme .holiday-card,.admin-theme .loading-message,.admin-theme .mode-btn,.admin-theme .no-events,.admin-theme .organization-card,.admin-theme .organization-warning,.admin-theme .recent-activity,.admin-theme .stat-card,.admin-theme .summary-section,.admin-theme .template-info,.admin-theme .upload-target-info,.admin-theme .user-card,.admin-theme .weekly-summary-preview{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--text)}.admin-theme .stat-card{align-items:center;display:flex;gap:16px;padding:18px 20px}.admin-theme .activity-icon,.admin-theme .classroom-icon,.admin-theme .org-avatar,.admin-theme .stat-icon,.admin-theme .user-avatar{background:var(--grad-soft);border:1px solid var(--line-2);color:var(--cyan)}.admin-theme .stat-icon{border-radius:14px;display:grid;flex-shrink:0;height:48px;place-items:center;width:48px}.admin-theme .org-avatar svg,.admin-theme .stat-icon svg,.admin-theme .user-avatar svg{fill:currentColor}.admin-theme .stat-content h3,.admin-theme .stat-number{color:var(--text);font-family:Geist Mono,monospace;font-size:28px;line-height:1;margin:0}.admin-theme .activity-time,.admin-theme .classroom-details p,.admin-theme .content-author,.admin-theme .content-category,.admin-theme .content-description,.admin-theme .content-time,.admin-theme .event-details p,.admin-theme .org-address,.admin-theme .org-code,.admin-theme .org-email,.admin-theme .org-phone,.admin-theme .org-type,.admin-theme .stat-change,.admin-theme .stat-content p,.admin-theme .stat-label,.admin-theme .user-children,.admin-theme .user-email,.admin-theme .user-institution,.admin-theme .user-parent,.admin-theme .warning-text p{color:var(--muted)}.admin-theme .active-badge,.admin-theme .detail-value.active,.admin-theme .stat-change.positive{color:var(--green)}.admin-theme .recent-activity{padding:20px 22px}.admin-theme .activity-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.admin-theme .activity-item{align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);display:flex;gap:12px;padding:14px}.admin-theme .activity-text,.admin-theme .classroom-details h3,.admin-theme .classroom-details h4,.admin-theme .content-title,.admin-theme .event-header h4,.admin-theme .modal h2,.admin-theme .modal-header h2,.admin-theme .org-name,.admin-theme .user-name,.admin-theme .warning-text h3{color:var(--text)}.admin-theme .empty-activity,.admin-theme .loading-message,.admin-theme .no-events,.admin-theme .organization-warning{padding:22px}.admin-theme .add-button,.admin-theme .btn-primary,.admin-theme .create-button,.admin-theme .modal-actions button[type=submit],.admin-theme .modal-button.primary,.admin-theme .select-button,.admin-theme .select-classroom-btn,.admin-theme .upload-yeargroup-btn{align-items:center;background:var(--grad);border:none;border-radius:10px;box-shadow:none;color:#06121f;cursor:pointer;display:inline-flex;font-family:inherit;font-weight:800;gap:8px;justify-content:center}.admin-theme .add-button,.admin-theme .create-button{font-size:13.5px;padding:11px 17px}.admin-theme .add-button:hover,.admin-theme .create-button:hover,.admin-theme .modal-actions button[type=submit]:hover,.admin-theme .modal-button.primary:hover,.admin-theme .select-button:hover,.admin-theme .select-classroom-btn:hover,.admin-theme .upload-yeargroup-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}.admin-theme .content-list,.admin-theme .menu-items-grid,.admin-theme .organizations-list,.admin-theme .users-list,.admin-theme .year-group-section .classroom-list{grid-gap:14px;display:grid;gap:14px}.admin-theme .batch-menu-card,.admin-theme .content-card,.admin-theme .organization-card,.admin-theme .user-card{padding:18px}.admin-theme .batch-menu-card:hover,.admin-theme .content-card:hover,.admin-theme .organization-card:hover,.admin-theme .user-card:hover{border-color:var(--line-2);transform:translateY(-1px)}.admin-theme .organization-card.active,.admin-theme .organization-card.expired{border-left:3px solid var(--line-2)}.admin-theme .organization-card.active{border-left-color:var(--green)}.admin-theme .organization-card.expired{border-left-color:var(--red)}.admin-theme .classroom-info,.admin-theme .content-info,.admin-theme .org-info,.admin-theme .user-info{min-width:0}.admin-theme .org-avatar,.admin-theme .user-avatar{border-radius:14px;display:grid;flex-shrink:0;height:48px;place-items:center;width:48px}.admin-theme .org-stats,.admin-theme .org-summary,.admin-theme .user-stats{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:12px}.admin-theme .detail-label,.admin-theme .org-stats .stat-label,.admin-theme .summary-label,.admin-theme .user-stats .stat-label{color:var(--faint);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-theme .detail-value,.admin-theme .org-stats .stat-value,.admin-theme .summary-value,.admin-theme .user-stats .stat-value{color:var(--text);font-family:Geist Mono,monospace;font-weight:700}.admin-theme .active-badge,.admin-theme .batch-badge,.admin-theme .event-type,.admin-theme .expired-badge,.admin-theme .holiday-type,.admin-theme .preview-count,.admin-theme .role-badge,.admin-theme .status-badge{background:var(--surface-2);border:1px solid var(--line-2);border-radius:999px;color:var(--muted);font-size:11.5px;font-weight:800;padding:5px 10px}.admin-theme .active-badge,.admin-theme .role-badge.active,.admin-theme .status-badge{background:var(--green-dim);border-color:#3ddc843d;color:var(--green)}.admin-theme .detail-value.expired,.admin-theme .expired-badge,.admin-theme .role-badge.expired{background:var(--red-dim);border-color:#ff5d623d;color:var(--red)}.admin-theme .options-dropdown{position:relative}.admin-theme .action-btn,.admin-theme .btn-small,.admin-theme .modal-close,.admin-theme .options-btn{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer}.admin-theme .action-btn:hover,.admin-theme .btn-small:hover,.admin-theme .modal-close:hover,.admin-theme .options-btn:hover{border-color:var(--line-2);color:var(--text)}.admin-theme .dropdown-menu{background:var(--elev);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--shadow);color:var(--text);overflow:hidden;z-index:40}.admin-theme .dropdown-item{background:#0000;border:none;color:var(--muted);font-family:inherit}.admin-theme .dropdown-item:hover{background:var(--surface);color:var(--text)}.admin-theme .action-btn.delete,.admin-theme .btn-small.danger,.admin-theme .dropdown-item.delete{color:var(--red)}.admin-theme .dropdown-divider{border-top:1px solid var(--line)}.admin-theme .content-tabs,.admin-theme .day-selector,.admin-theme .filter-buttons,.admin-theme .mode-selector,.admin-theme .period-selector{background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;padding:4px}.admin-theme .content-tab,.admin-theme .day-btn,.admin-theme .filter-btn,.admin-theme .mode-btn,.admin-theme .period-btn{background:#0000;border:none;border-radius:9px;color:var(--muted);cursor:pointer;font-family:inherit;font-weight:700}.admin-theme .content-tab,.admin-theme .day-btn,.admin-theme .filter-btn,.admin-theme .period-btn{padding:9px 13px}.admin-theme .content-tab.active,.admin-theme .day-btn.selected,.admin-theme .filter-btn.active,.admin-theme .mode-btn.active,.admin-theme .period-btn.active{background:var(--elev);color:var(--text)}.admin-theme .button-group,.admin-theme .content-actions,.admin-theme .image-actions,.admin-theme .modal-actions,.admin-theme .modal-footer{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.admin-theme .modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03060cc2;z-index:1000}.admin-theme .modal,.admin-theme .modal-content{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--text)}.admin-theme .modal-footer,.admin-theme .modal-header{border-color:var(--line)}.admin-theme .form-group input,.admin-theme .form-group select,.admin-theme .form-group textarea,.admin-theme .item-fields input,.admin-theme .item-fields textarea,.admin-theme .modal input,.admin-theme .modal select,.admin-theme .modal textarea,.admin-theme .single-item-form input,.admin-theme .single-item-form select,.admin-theme .single-item-form textarea{background:var(--surface-2);border:1.5px solid var(--line);border-radius:10px;color:var(--text);font-family:inherit}.admin-theme .form-group input:focus,.admin-theme .form-group select:focus,.admin-theme .form-group textarea:focus,.admin-theme .item-fields input:focus,.admin-theme .item-fields textarea:focus,.admin-theme .modal input:focus,.admin-theme .modal select:focus,.admin-theme .modal textarea:focus,.admin-theme .single-item-form input:focus,.admin-theme .single-item-form select:focus,.admin-theme .single-item-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #3b9cff1f}.admin-theme .batch-item-name,.admin-theme .category-name,.admin-theme .form-group label,.admin-theme .holiday-info h4,.admin-theme .item-image-upload label,.admin-theme .modal label,.admin-theme .summary-section h4{color:var(--text)}.admin-theme .btn-small.secondary,.admin-theme .ghost-btn,.admin-theme .modal-actions button[type=button],.admin-theme .modal-button.secondary{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer;font-family:inherit;font-weight:700}.admin-theme .btn-small.secondary:hover,.admin-theme .ghost-btn:hover,.admin-theme .modal-actions button[type=button]:hover,.admin-theme .modal-button.secondary:hover{border-color:var(--line-2);color:var(--text)}.admin-theme .bulk-schedule-section,.admin-theme .classroom-selection,.admin-theme .image-upload-placeholder,.admin-theme .template-section,.admin-theme .upload-target-info,.admin-theme .year-group-section{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);color:var(--muted)}.admin-theme .warning-icon{color:var(--amber)}.admin-theme .large-modal{max-width:min(980px,calc(100vw - 36px))}.admin-theme .timetable-management-fullpage{background:var(--bg);color:var(--text)}@media(max-width:1100px){.admin-theme .stats-section{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.admin-theme .content-content,.admin-theme .dashboard-content,.admin-theme .organizations-content,.admin-theme .users-content{padding:20px 16px 48px}.admin-theme .stats-section{grid-template-columns:1fr}}.admin-theme .content-content .content-card,.admin-theme .organizations-content .organization-card,.admin-theme .organizations-content .organization-card.active,.admin-theme .organizations-content .organization-card.expired,.admin-theme .users-content .user-card{background:var(--surface)!important;border-color:var(--line)!important;color:var(--text)!important;opacity:1!important}.admin-theme .organizations-content .organization-card.active,.admin-theme .organizations-content .organization-card.expired{border-left-style:solid!important;border-left-width:3px!important}.admin-theme .organizations-content .organization-card.active{border-left-color:var(--green)!important}.admin-theme .organizations-content .organization-card.expired{border-left-color:var(--red)!important}.admin-theme .organizations-content .org-info h3,.admin-theme .organizations-content .org-name,.admin-theme .users-content .user-info h3,.admin-theme .users-content .user-name{color:var(--text)!important}.admin-theme .organizations-content .org-code,.admin-theme .organizations-content .org-info p,.admin-theme .users-content .user-children,.admin-theme .users-content .user-email,.admin-theme .users-content .user-institution,.admin-theme .users-content .user-parent{color:var(--muted)!important}.admin-theme .organizations-content .org-summary,.admin-theme .users-content .user-stats{background:var(--surface-2)!important;border:1px solid var(--line)!important}.admin-theme .organizations-content .org-stats .stat,.admin-theme .organizations-content .summary-row,.admin-theme .users-content .user-stats .stat{background:var(--bg)!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:10px 12px!important}.admin-theme .organizations-content .org-stats .stat-value,.admin-theme .organizations-content .summary-value,.admin-theme .users-content .user-stats .stat-value{color:var(--text)!important}.google-sheets-template{background:#f8f9fa;border-radius:12px;margin:0 auto;max-width:1200px;padding:2rem}.template-header{margin-bottom:3rem;text-align:center}.template-header h2{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.template-description{color:#666;font-size:1.1rem;margin:0 auto;max-width:800px}.template-section{background:#fff;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.template-section h3{border-bottom:2px solid #4a90e2;color:#4a90e2;font-size:1.5rem;margin-bottom:1rem;padding-bottom:.5rem}.template-section p{color:#555;line-height:1.6;margin-bottom:1rem}.template-section ol{color:#555;line-height:1.8;padding-left:1.5rem}.template-section li{margin-bottom:.5rem}.control-table{margin:1.5rem 0;overflow-x:auto}.control-table table{background:#fff;border-collapse:collapse;width:100%}.control-table th{background:#4a90e2;color:#fff;font-weight:600;padding:1rem;text-align:left}.control-table td{border-bottom:1px solid #e0e0e0;padding:.75rem 1rem}.control-table tr:hover{background:#f5f5f5}.control-table code{background:#f4f4f4;border-radius:4px;color:#d63384;font-family:Monaco,Courier New,monospace;font-size:.9rem;padding:.25rem .5rem}.control-table .formula{color:#0984e3;font-size:.85rem}.code-block{background:#2d2d2d;border-radius:8px;margin:1rem 0;padding:1.5rem;position:relative}.code-block pre{color:#f8f8f2;font-family:Monaco,Courier New,monospace;font-size:.9rem;margin:0;overflow-x:auto;white-space:pre}.copy-btn{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-left:.5rem;padding:.4rem .8rem;transition:all .2s}.copy-btn:hover{background:#357abd;transform:translateY(-1px)}.copy-btn:active{transform:translateY(0)}.copy-btn-large{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:600;margin:1rem auto 0;padding:.75rem 2rem;transition:all .2s}.copy-btn-large:hover{background:#229954;box-shadow:0 4px 8px #27ae604d;transform:translateY(-2px)}.info-box{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin:1.5rem 0;padding:1rem 1.5rem}.info-box strong{color:#1976d2;display:block;margin-bottom:.5rem}.info-box code{background:#2196f31a;border-radius:3px;color:#1976d2;font-family:Monaco,monospace;padding:.2rem .4rem}.header-row{background:#f4f4f4;border:2px dashed #ccc;border-radius:6px;margin:1rem 0;padding:1rem;text-align:center}.header-row code{color:#555;font-size:1.1rem;font-weight:600}.formulas-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr;margin:1.5rem 0}.formula-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:1rem}.formula-label{color:#4a90e2;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.formula-code{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;justify-content:space-between;padding:.75rem}.formula-code code{color:#0984e3;flex:1 1;font-family:Monaco,Courier New,monospace;font-size:.85rem;overflow-x:auto;white-space:nowrap}.highlight-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.highlight-section h3{border-bottom-color:#ffffff4d;color:#fff}.highlight-section li,.highlight-section ol{color:#fff}.success-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:6px;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem;text-align:center}.reference-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin:1.5rem 0}.reference-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;position:relative}.reference-item strong{color:#4a90e2;display:block;font-size:1.1rem;margin-bottom:.5rem}.reference-item p{color:#666;font-size:.95rem;margin:0}.priority-badge{background:gold;border-radius:20px;color:#333;font-size:.85rem;font-weight:600;padding:.3rem .8rem;position:absolute;right:1rem;top:1rem}@media (max-width:768px){.google-sheets-template{padding:1rem}.template-header h2{font-size:2rem}.template-section{padding:1.5rem}.reference-grid{grid-template-columns:1fr}.control-table{font-size:.85rem}.formulas-grid{grid-template-columns:1fr}}.timetable-editor{background:#fff;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:10000}.timetable-editor-header{box-shadow:0 4px 12px #5041bc4d;justify-content:space-between}.header-left h2{font-size:24px;font-weight:700;margin:0}.header-left p{font-size:14px;margin:5px 0 0;opacity:.8}.header-right{gap:12px}.quick-btn{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.quick-btn:hover{background:#fff3;border-color:#ffffff80}.quick-btn.break{border-color:#f7b84b}.quick-btn.lunch{border-color:#6fcf97}.save-btn{background:#43be83;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px 24px;transition:all .2s}.save-btn:hover:not(:disabled){background:#3cad75;transform:translateY(-1px)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.close-btn{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:24px;height:40px;transition:all .2s;width:40px}.close-btn:hover{background:#fff3}.timetable-editor-body{flex:1 1;overflow:hidden;padding:20px}.loading-state{height:100%}.fc{font-family:Nunito,sans-serif!important}.fc-theme-standard td,.fc-theme-standard th{border-color:#ebe8ff!important}.fc-col-header-cell{background:#f5f3ff!important;padding:12px 0!important}.fc-col-header-cell-cushion{color:#5041bc!important;font-size:14px!important;font-weight:700!important}.fc-timegrid-slot-label{color:#8487a2!important;font-size:12px!important}.fc-timegrid-event{border-radius:6px!important;box-shadow:0 2px 4px #0000001a!important;cursor:pointer!important}.fc-timegrid-event:hover{opacity:.9;transform:scale(1.02)}.fc-event-content-custom{overflow:hidden;padding:4px 6px}.event-title{font-size:12px;font-weight:700}.event-room,.event-teacher,.event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-room,.event-teacher{font-size:10px;opacity:.9}.fc-highlight{background:#5041bc1a!important}.modal-overlay{z-index:10001}.lesson-modal{animation:modalSlideIn .2s ease;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-width:90%;padding:30px;width:400px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.lesson-modal h3{color:#303972;font-size:20px;margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{color:#4a4c60;margin-bottom:6px}.form-group input{border-radius:8px;font-family:Nunito,sans-serif;font-size:14px;padding:12px 14px;transition:border-color .2s}.type-buttons{display:flex;flex-wrap:wrap;gap:8px}.type-btn{border:2px solid;border-radius:6px;color:#4a4c60;cursor:pointer;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.type-btn.active{color:#fff!important}.type-btn:hover:not(.active){opacity:.8}.cancel-btn{background:#fff;border:2px solid #e2def9;border-radius:8px;color:#8487a2;font-family:Nunito,sans-serif;font-size:14px;padding:12px 20px}.cancel-btn:hover{background:#f5f3ff;border-color:#5041bc;color:#5041bc}.add-btn{background:#5041bc;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;padding:12px 24px;transition:all .2s}.add-btn:hover:not(:disabled){background:#3d2f96}.add-btn:disabled{cursor:not-allowed;opacity:.5}.delete-btn{background:#ea8f95;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;margin-right:auto;padding:12px 20px;transition:all .2s}.delete-btn:hover{background:#d67a80}.duplicate-actions{display:flex;gap:6px;margin-left:10px;margin-right:auto}.duplicate-btn{align-items:center;background:#56ccf2;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;gap:4px;padding:10px 14px;transition:all .2s}.duplicate-btn:hover{background:#45b8de;transform:translateY(-1px)}.duplicate-btn.secondary{background:#e8e5ff;color:#5041bc;font-size:12px;padding:8px 12px}.duplicate-btn.secondary:hover{background:#d8d3ff}.modal-actions{justify-content:flex-end;margin-top:24px}.event-context-hint{background:#000c;border-radius:4px;bottom:100%;color:#fff;font-size:10px;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .2s;white-space:nowrap}.fc-timegrid-event:hover .event-context-hint{opacity:1}.timetable-management-screen{background:#f5f3ff;min-height:100vh;padding:30px}.management-header{margin-bottom:30px}.management-header h1{color:#303972;font-size:32px;margin:20px 0 10px}.management-header p{color:#8487a2;font-size:16px}.back-btn{background:#fff;border:2px solid #ebe8ff;border-radius:8px;color:#5041bc;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.back-btn:hover{background:#5041bc;border-color:#5041bc;color:#fff}.loading-state{align-items:center;color:#8487a2;display:flex;font-size:18px;justify-content:center;min-height:400px}.year-groups-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.empty-state{color:#8487a2;grid-column:1/-1;padding:60px}.empty-state,.year-group-card{background:#fff;border-radius:16px}.year-group-card{border:2px solid #ebe8ff;box-shadow:0 4px 12px #00000014;padding:24px;transition:all .2s}.year-group-card:hover{border-color:#5041bc;box-shadow:0 8px 24px #5041bc26}.year-group-card.has-timetable{border-color:#43be83}.yg-header{align-items:center;border-bottom:1px solid #ebe8ff;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.yg-header h3{color:#303972;font-size:20px;margin:0}.classroom-count{background:#f5f3ff;color:#5041bc;font-size:13px}.yg-timetable-info{flex-direction:column}.timetable-stats,.yg-timetable-info{display:flex;gap:16px}.stat{background:#f5f3ff;border-radius:10px;flex:1 1;padding:12px;text-align:center}.stat-value{display:block;font-size:18px;font-weight:700}.stat-label{color:#8487a2;display:block;font-size:12px;margin-top:4px}.yg-actions{display:flex;gap:10px}.edit-timetable-btn{background:linear-gradient(135deg,#5041bc,#7d6fd1);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.edit-timetable-btn:hover{box-shadow:0 6px 16px #5041bc4d;transform:translateY(-2px)}.delete-timetable-btn{background:#fee2e2;border:none;border-radius:10px;color:#dc2626;cursor:pointer;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s}.delete-timetable-btn:hover{background:#dc2626;color:#fff}.yg-no-timetable{padding:20px 0;text-align:center}.yg-no-timetable p{color:#8487a2;margin-bottom:16px}.setup-timetable-btn{background:linear-gradient(135deg,#43be83,#34a472);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 28px;transition:all .2s}.setup-timetable-btn:hover{box-shadow:0 6px 16px #43be834d;transform:translateY(-2px)}.setup-form{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;max-width:500px;padding:30px}.form-group label{color:#303972}.form-group input{border:2px solid #ebe8ff;border-radius:10px;font-size:15px;padding:12px 16px;transition:all .2s;width:100%}.form-group input:focus{border-color:#5041bc;box-shadow:0 0 0 4px #5041bc1a;outline:none}.form-actions{display:flex;gap:12px;margin-top:24px}.cancel-btn{background:#f5f3ff;border:2px solid #ebe8ff;border-radius:10px;color:#5041bc;cursor:pointer;flex:1 1;font-weight:600;padding:14px;transition:all .2s}.cancel-btn:hover{background:#ebe8ff}.create-btn{background:linear-gradient(135deg,#5041bc,#7d6fd1);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:14px;transition:all .2s}.create-btn:hover:not(:disabled){box-shadow:0 6px 16px #5041bc4d;transform:translateY(-2px)}.create-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.date-display{border-radius:8px;font-size:14px;font-weight:500;margin-top:8px;padding:10px 14px}.date-display.valid{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.date-display.invalid{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.date-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px;font-weight:500;margin-top:8px;padding:10px 14px}.timetable-editor-fullpage{background:#f5f3ff;display:flex;flex-direction:column;min-height:100vh}.timetable-editor-header{align-items:center;background:linear-gradient(135deg,#5041bc,#7d6fd1);color:#fff;display:flex;gap:24px;padding:20px 30px}.back-btn-large{background:#fff3;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.back-btn-large:hover{background:#fff;color:#5041bc}.header-info{flex:1 1}.header-info h1{font-size:24px;font-weight:700;margin:0}.term-badge{background:#fff3;border-radius:20px;display:inline-block;font-size:13px;margin-top:4px;padding:4px 12px}.header-actions{display:flex;gap:12px}.copy-all-btn{background:#fff3;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:all .2s}.copy-all-btn:hover{background:#fff;color:#5041bc}.week-tabs-bar{background:#303972;display:flex;gap:4px;overflow-x:auto;padding:12px 30px;scrollbar-width:thin}.week-tabs-bar::-webkit-scrollbar{height:6px}.week-tabs-bar::-webkit-scrollbar-track{background:#ffffff1a}.week-tabs-bar::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.week-tab-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#ffffff80;cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:4px;min-width:80px;padding:10px 20px;position:relative;transition:all .2s;white-space:nowrap}.week-tab-btn:hover{background:#ffffff1a;color:#fffc}.week-tab-btn.active{background:#5041bc;color:#fff}.week-tab-btn.has-events{color:#fffc}.week-tab-btn.has-events.active{color:#fff}.week-label{font-size:13px}.event-badge{align-items:center;background:#43be834d;border-radius:10px;color:#43be83;display:inline-flex;font-size:11px;font-weight:700;justify-content:center;padding:2px 8px}.week-tab-btn.active .event-badge{background:#fff3;color:#fff}.current-week-info{align-items:center;background:#fff;border-bottom:2px solid #ebe8ff;display:flex;justify-content:space-between;padding:16px 30px}.week-details{align-items:center;display:flex;gap:20px}.week-details h2{color:#303972;font-size:22px;margin:0}.week-dates{background:#f5f3ff;color:#5041bc}.event-count,.week-dates{border-radius:20px;font-size:13px;font-weight:600;padding:6px 14px}.event-count{background:#ecfdf5;color:#43be83}.week-nav{display:flex;gap:10px}.nav-arrow{background:#f5f3ff;border:none;border-radius:8px;color:#5041bc;cursor:pointer;font-size:13px;font-weight:600;padding:10px 18px;transition:all .2s}.nav-arrow:hover:not(:disabled){background:#5041bc;color:#fff}.nav-arrow:disabled{cursor:not-allowed;opacity:.4}.calendar-container{background:#fff;flex:1 1;min-height:600px;padding:20px 30px}.affected-classrooms{background:#f0fdf4;border-top:2px solid #bbf7d0;padding:16px 30px}.affected-classrooms h4{color:#166534;font-size:14px;margin:0 0 12px}.classroom-list{flex-wrap:wrap;gap:8px}.classroom-chip{background:#fff;border:1px solid #bbf7d0;border-radius:20px;color:#166534;font-size:13px;font-weight:500;padding:6px 12px}@media (max-width:768px){.timetable-management-screen{padding:16px}.management-header h1{font-size:24px}.year-groups-grid{grid-template-columns:1fr}.timetable-editor-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.header-actions{width:100%}.copy-all-btn{flex:1 1}.week-tabs-bar{padding:10px 16px}.current-week-info{flex-direction:column;gap:12px;padding:12px 16px}.week-details{flex-wrap:wrap;gap:10px}.calendar-container{padding:12px}.affected-classrooms{padding:12px 16px}}.cow-overlay{--bg:#0a0e16;--surface:#111726;--surface-2:#0d1320;--elev:#161d2f;--line:#212a3e;--line-2:#2b3650;--text:#e8ecf4;--muted:#8b95a8;--faint:#5d6678;--brand:#3b9cff;--cyan:#22cdee;--grad:linear-gradient(135deg,#22cdee,#3b9cff 55%,#2f6bef);--grad-soft:linear-gradient(135deg,#22cdee29,#2f6bef29);--green:#3ddc84;--red:#ff5d62;-webkit-font-smoothing:antialiased;animation:cowFade .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060910b3;color:var(--text);display:flex;flex-direction:column;font-family:Geist,system-ui,sans-serif;inset:0;position:fixed;z-index:4000}@keyframes cowFade{0%{opacity:0}to{opacity:1}}.cow-overlay *{box-sizing:border-box}.cow-overlay .cow-mono{font-family:Geist Mono,monospace}.cow{background:var(--bg);border:1px solid var(--line-2);border-radius:22px;box-shadow:0 40px 100px -30px #000c;display:grid;flex:1 1;grid-template-columns:288px 1fr;margin:28px auto;max-height:calc(100vh - 56px);max-width:1080px;overflow:hidden;width:calc(100% - 56px)}.cow-rail{background:var(--surface-2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 26px}.cow-logo{align-items:center;display:flex;font-size:17px;font-weight:800;gap:9px;margin-bottom:6px}.cow-logo .cow-logo-mark{background:var(--grad);border-radius:8px;color:#06121f;display:grid;font-size:14px;font-weight:800;height:26px;place-items:center;width:26px}.cow-rail h2{font-size:21px;font-weight:800;letter-spacing:-.02em;margin:18px 0 5px}.cow-rail .cow-sub{color:var(--muted);font-size:13.5px;line-height:1.5;margin-bottom:28px}.cow-steps{display:flex;flex-direction:column;gap:3px}.cow-step{align-items:center;background:none;border:none;border-radius:11px;color:var(--muted);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:12px;padding:11px 12px;text-align:left;transition:.14s;width:100%}.cow-step:hover{background:var(--surface);color:var(--text)}.cow-step.on{background:var(--grad-soft);color:#fff}.cow-step .cow-sn{border:2px solid var(--line-2);border-radius:50%;color:var(--faint);display:grid;flex-shrink:0;font-size:13px;font-weight:800;height:28px;place-items:center;width:28px}.cow-step.on .cow-sn{border-color:var(--cyan);color:var(--cyan)}.cow-step.done .cow-sn{background:var(--grad);border-color:#0000;color:#06121f}.cow-rail .cow-foot{color:var(--faint);font-size:12px;line-height:1.5;margin-top:auto}.cow-body{display:flex;flex-direction:column;min-height:0}.cow-scroll{flex:1 1;overflow-y:auto;padding:36px 44px}.cow-body h1{font-size:25px;font-weight:800;letter-spacing:-.02em;margin:0 0 7px}.cow-body .cow-bsub{color:var(--muted);font-size:14.5px;margin:0 0 26px}.cow-footbar{align-items:center;background:var(--surface-2);border-top:1px solid var(--line);display:flex;flex-shrink:0;justify-content:space-between;padding:18px 44px}.cow-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:700;gap:8px;justify-content:center;padding:11px 17px;transition:.15s;white-space:nowrap}.cow-btn svg{height:15px;width:15px}.cow-btn-primary{background:var(--grad);color:#06121f}.cow-btn-primary:hover{filter:brightness(1.07)}.cow-btn-primary:disabled{cursor:not-allowed;opacity:.5}.cow-btn-line{background:var(--surface);border:1px solid var(--line-2);color:var(--text)}.cow-btn-line:hover{border-color:var(--faint)}.cow-kchoice{display:flex;flex-direction:column;gap:13px}.cow-kc{align-items:center;background:var(--surface);border:1.5px solid var(--line);border-radius:15px;color:var(--text);cursor:pointer;display:flex;font-family:inherit;gap:16px;padding:18px 20px;position:relative;text-align:left;transition:.15s}.cow-kc:hover{background:var(--elev);border-color:var(--line-2)}.cow-kc.on{background:var(--grad-soft);border-color:var(--brand)}.cow-kc .cow-kc-ic{border-radius:13px;color:#fff;display:grid;flex-shrink:0;height:46px;place-items:center;width:46px}.cow-kc .cow-kc-ic svg{height:23px;width:23px}.cow-kc .cow-kc-tt{color:var(--text);display:block;font-size:16px;font-weight:700}.cow-kc .cow-kc-ds{color:var(--muted);display:block;font-size:13px;line-height:1.4;margin-top:3px}.cow-kc .cow-kc-role{color:var(--cyan);display:block;font-size:12.5px;font-weight:600;margin-top:11px}.cow-kc .cow-kc-role code{background:var(--surface);border:1px solid var(--line);border-radius:6px;font-family:Geist Mono;padding:1px 7px}.cow-kc .cow-kc-check{border:2px solid var(--line-2);border-radius:50%;flex-shrink:0;height:24px;margin-left:auto;width:24px}.cow-kc.on .cow-kc-check{background:var(--grad);border-color:#0000;color:#06121f;display:grid;place-items:center}.cow-kc.on .cow-kc-check svg{height:13px;width:13px}.cow-ksub{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;margin-top:14px;padding:16px 18px}.cow-ksub .cow-ksl{color:var(--text);font-size:12.5px;font-weight:700;margin-bottom:12px}.cow-wsubrow{display:flex;flex-wrap:wrap;gap:10px}.cow-wsub{background:var(--surface);border:1.5px solid var(--line-2);border-radius:10px;color:var(--muted);cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:700;padding:10px 16px;transition:.15s}.cow-wsub.on{background:var(--grad-soft);border-color:var(--brand);color:#fff}.cow-fld-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr}.cow-fld{display:flex;flex-direction:column;gap:7px}.cow-fld.full{grid-column:1/-1}.cow-fld label{color:var(--text);font-size:13px;font-weight:700}.cow-fld label .req{color:var(--red)}.cow-fld input,.cow-fld select{background:var(--surface-2);border:1.5px solid var(--line);border-radius:11px;color:var(--text);font-family:inherit;font-size:14.5px;outline:none;padding:12px 14px;transition:.15s;width:100%}.cow-fld input::placeholder{color:var(--faint)}.cow-fld input:focus,.cow-fld select:focus{border-color:var(--brand);box-shadow:0 0 0 4px #3b9cff24}.cow-fld .cow-codeprev{color:var(--muted);font-size:12.5px}.cow-fld .cow-codeprev code{background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--cyan);font-family:Geist Mono;padding:1px 7px}.cow-plan-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-bottom:8px}.cow-plan{background:var(--surface);border:1.5px solid var(--line);border-radius:15px;color:var(--text);cursor:pointer;font-family:inherit;padding:18px;text-align:left;transition:.15s}.cow-plan:hover{border-color:var(--line-2)}.cow-plan.on{background:var(--grad-soft);border-color:var(--brand)}.cow-plan .cow-wpn{color:var(--text);font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.cow-plan.on .cow-wpn{color:var(--cyan)}.cow-plan .cow-wpp{color:var(--text);font-family:Geist Mono;font-size:22px;font-weight:700;margin:8px 0 4px}.cow-plan .cow-wpp span{color:var(--muted);font-size:11px;font-weight:500}.cow-plan .cow-wpl{color:var(--muted);font-size:12px;line-height:1.45}.cow-toggle{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;cursor:pointer;display:flex;gap:12px;margin-top:10px;padding:14px 16px}.cow-toggle .cow-tsw{background:var(--line-2);border-radius:999px;flex-shrink:0;height:26px;position:relative;transition:.2s;width:46px}.cow-toggle .cow-tsw:after{background:#fff;border-radius:50%;content:"";height:22px;left:2px;position:absolute;top:2px;transition:.2s;width:22px}.cow-toggle.on .cow-tsw{background:var(--green)}.cow-toggle.on .cow-tsw:after{transform:translateX(20px)}.cow-toggle .cow-tt{color:var(--text);font-size:14px;font-weight:600}.cow-toggle .cow-td{color:var(--muted);font-size:12.5px}.cow-review{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px 22px}.cow-rev-row{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:15px 0}.cow-rev-row:last-child{border:none}.cow-rev-row .cow-rk{color:var(--muted);font-size:13.5px}.cow-rev-row .cow-rv{color:var(--text);font-size:14px;font-weight:600;text-align:right}.cow-rev-row .cow-rv code{color:var(--cyan);font-family:Geist Mono}.cow-status{align-items:center;border-radius:999px;display:inline-flex;font-size:11.5px;font-weight:700;gap:6px;padding:3px 10px}.cow-status .d{border-radius:50%;height:6px;width:6px}.cow-status.active{background:#3ddc8424;color:var(--green)}.cow-status.active .d{background:var(--green)}.cow-status.suspended{background:#f5a52424;color:#f5a524}.cow-status.suspended .d{background:#f5a524}.cow-err{background:#ff5d621f;border:1px solid #ff5d624d;border-radius:10px;color:var(--red);font-size:13px;font-weight:600;margin-top:14px;padding:11px 14px}.cow-done{padding:30px 20px;text-align:center}.cow-done-mark{background:var(--grad);border-radius:50%;color:#06121f;display:grid;height:80px;margin:0 auto 22px;place-items:center;width:80px}.cow-done-mark svg{height:38px;width:38px}.cow-done h1{font-size:25px;margin:0 0 10px}.cow-done p{color:var(--muted);font-size:14.5px;line-height:1.5;margin:0 auto 22px;max-width:420px}.cow-done-code{align-items:center;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;color:#fff;display:inline-flex;font-family:Geist Mono;font-size:18px;gap:10px;margin-bottom:24px;padding:13px 20px}.cow-done-code svg{color:var(--cyan);height:18px;width:18px}.cow-done-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}@media(max-width:860px){.cow{grid-template-columns:1fr}.cow-rail{display:none}.cow-scroll{padding:26px 22px}.cow-footbar{padding:16px 22px}.cow-fld-grid,.cow-plan-grid{grid-template-columns:1fr}}body{margin:0;padding:0}.dashboard-container,body{background:#f5f3ff;min-height:100vh;overflow-x:hidden}.dashboard-container{max-width:100vw;width:100%}.dashboard-container,.sidebar{display:flex;position:relative}.sidebar{background:#5041bc;border-radius:40px;box-shadow:0 10px 30px #5041bc33;flex-direction:column;flex-shrink:0;height:calc(100vh - 40px);margin:20px;min-width:280px;overflow-y:auto;padding:30px 20px;width:280px}.sidebar::-webkit-scrollbar{background:#0000;width:0}.sidebar::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar-header{margin-bottom:40px}.logo{align-items:center;display:flex;gap:15px}.logo-icon{flex-shrink:0;height:40px;position:relative;width:40px}.logo-orange{background:#ff7f57;left:0;top:0}.logo-orange,.logo-yellow{border-radius:50%;height:20px;position:absolute;width:20px}.logo-yellow{background:#ffc629;bottom:0;right:0}.logo-text{color:#fff;font-family:Passion One,cursive;font-size:44px;font-weight:400;text-transform:uppercase;white-space:nowrap}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0}.nav-item{align-items:center;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:15px;padding:15px 20px;transition:all .3s ease;white-space:nowrap}.nav-item:hover{background:#ffffff1a}.nav-item.active{background:#fff;border:.56px solid #e2def9;box-shadow:-28px 22px 45px rgba(27,29,66,.139);color:#5041bc}.nav-icon{align-items:center;color:currentColor;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.upgrade-card{background:#fff;border:.56px solid #e2def9;border-radius:20px;box-shadow:-28px 22px 45px rgba(27,29,66,.139);flex-shrink:0;margin-top:30px;padding:25px}.upgrade-content{text-align:center}.upgrade-content h3{color:#263156;font-size:16px;font-weight:700;margin-bottom:5px}.upgrade-content p{color:#797d8c;font-size:14px}.rocket-illustration{height:60px;margin-bottom:15px;position:relative}.rocket{background:#a5e8fc;border-radius:50% 50% 0 0;height:40px;left:50%;transform:translateX(-50%);width:30px}.clouds,.rocket{position:absolute}.clouds{bottom:0;width:100%}.cloud{background:#fff;border-radius:10px;height:10px;position:absolute;width:20px}.cloud-1{left:10%}.cloud-2{left:50%}.cloud-3{right:10%}.main-content{background:#fff;border-radius:40px;box-shadow:0 10px 30px #0000001a;flex:1 1;height:calc(100vh - 40px);margin:20px;min-width:0;overflow-y:auto;padding:30px}.header{align-items:center;border-bottom:1px solid #ebe8ff;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:40px;padding-bottom:20px}.header-left h1{color:#1f192f;font-size:clamp(24px,4vw,32px);font-weight:700;margin-bottom:5px;white-space:nowrap}.header-left p{color:#797d8c;font-size:clamp(14px,2vw,16px)}.header-right{gap:20px}.header-right,.refresh-button{align-items:center;display:flex}.refresh-button{background:#5041bc;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.refresh-button:hover{background:#3d2f9a;transform:scale(1.05)}.organization-selector{align-items:center;display:flex}.org-select{background:#fff;border:2px solid #e2def9;border-radius:8px;color:#303972;cursor:pointer;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;min-width:200px;padding:8px 12px;transition:all .2s ease}.org-select:focus,.org-select:hover{border-color:#5041bc}.org-select:focus{box-shadow:0 0 0 3px #5041bc1a;outline:none}.search-container{max-width:100%;min-width:250px;position:relative;width:300px}.search-input{background:#f5f3ff;border:none;border-radius:23px;color:#5041bc;font-size:14px;outline:none;padding:12px 20px;width:100%}.search-icon,.search-input::placeholder{color:#5041bc}.search-icon{right:15px;top:50%;transform:translateY(-50%)}.notification-icon{color:#5041bc;cursor:pointer;flex-shrink:0;font-size:20px;position:relative}.notification-badge{background:#ea8f95;border-radius:50%;height:8px;position:absolute;right:-5px;top:-5px;width:8px}.user-profile{align-items:center;display:flex;flex-shrink:0;gap:10px}.user-avatar{height:40px;width:40px}.user-name{color:#54657e;font-size:14px;font-weight:500;white-space:nowrap}.dashboard-content{display:flex;flex-direction:column;gap:30px}.stats-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{align-items:center;background:#fff;border:1px solid #d3cbfb;border-radius:20px;display:flex;gap:20px;min-height:120px;padding:25px;transition:all .3s ease}.stat-card:hover{box-shadow:0 10px 30px #5041bc1a;transform:translateY(-2px)}.stat-icon{align-items:center;background:#f5f3ff;border-radius:15px;color:#5041bc;display:flex;flex-shrink:0;font-size:20px;height:50px;justify-content:center;width:50px}.stat-content h3{color:#04103b;font-size:clamp(24px,4vw,32px);font-weight:700;margin-bottom:5px}.stat-content p{color:#797d8c;font-size:14px;margin-bottom:10px}.stat-change{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:4px 8px}.stat-change.positive{background:#b5ffce;color:#43be83}.stat-change.negative{background:#ffd9d7;color:#ea8f95}.recent-activity{background:#fff;border:1px solid #d3cbfb;border-radius:20px;padding:25px}.recent-activity h2{color:#04103b;font-size:20px;font-weight:700;margin-bottom:20px}.activity-list{display:flex;flex-direction:column;gap:15px}.activity-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;margin-bottom:8px;padding:12px;transition:all .2s ease}.activity-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.activity-icon{align-items:center;background:#5041bc;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;margin-right:12px;width:40px}.activity-content{flex:1 1;min-width:0}.activity-text{color:#303972;font-size:14px;font-weight:500;line-height:1.4;margin:0 0 4px}.activity-time{color:#8487a2;font-size:12px;margin:0}.activity-actions{flex-shrink:0;margin-left:12px}.action-btn{background:none;border-radius:6px;padding:8px}.action-btn:hover{transform:scale(1.1)}.action-btn.edit{background:#5041bc1a}.action-btn.edit:hover{background:#5041bc33}.action-btn.delete{background:#ea8f951a}.action-btn.delete:hover{background:#ea8f9533}.action-btn.more{background:#8487a21a;color:#8487a2}.action-btn.more:hover{background:#8487a233;color:#5041bc}.action-btn.primary-large{align-items:center;background:linear-gradient(135deg,#5041bc,#7d6fd1);border-radius:12px;box-shadow:0 4px 12px #5041bc4d;color:#fff;display:flex;font-size:16px;font-weight:700;gap:10px;height:auto;padding:14px 28px;transition:all .3s;width:auto}.action-btn.primary-large:hover{background:linear-gradient(135deg,#3d2f96,#6b5cbd);box-shadow:0 6px 20px #5041bc66;transform:translateY(-2px)}.organizations-content{display:flex;flex-direction:column;gap:20px}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#04103b;font-size:clamp(20px,3vw,24px);font-weight:700}.add-button{align-items:center;background:#5041bc;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.add-button:hover{background:#3d29d0;transform:translateY(-2px)}.organizations-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.organization-card{align-items:flex-start;background:#fff;border:1px solid #ebe8ff;border-radius:15px;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;min-height:120px;padding:20px;transition:all .3s ease}.organization-card:hover{box-shadow:0 10px 30px #5041bc1a;transform:translateY(-2px)}.organization-card.expired{background:#fff5f5;border-color:#ea8f95;opacity:.8}.organization-card.expired:hover{box-shadow:0 10px 30px #ea8f9533}.expired-badge{border-radius:4px;display:inline-block;font-size:10px;font-weight:700;margin-top:8px;padding:4px 8px;text-transform:uppercase}.expired-badge,.role-badge.expired{background:#ea8f95;color:#fff}.role-badge.active{background:#43be83;color:#fff}.organization-card.active{background:#fff;border-color:#43be83;opacity:1}.organization-card.active:hover{box-shadow:0 10px 30px #43be8333}.active-badge{background:#43be83;border-radius:4px;color:#fff;display:inline-block;font-size:10px;font-weight:700;margin-top:8px;padding:4px 8px;text-transform:uppercase}.org-info{flex:1 1;min-width:0}.org-info h3{word-wrap:break-word;color:#797d8c;font-size:18px;font-weight:600;margin-bottom:5px}.org-code,.org-type{color:#797d8c;font-size:14px;margin-bottom:3px}.org-expiration{color:#f7941d}.org-expiration,.org-status{font-size:12px;font-weight:600;margin-bottom:3px}.org-status.active{color:#43be83}.org-status.inactive{color:#ea8f95}.org-plan{color:#5041bc}.org-plan,.org-subscription{font-size:12px;font-weight:600;margin-bottom:3px}.org-subscription.active{color:#43be83}.org-subscription.expired{color:#ea8f95}.org-subscription.suspended{color:#f7941d}.org-address,.org-email,.org-phone{color:#8487a2;font-size:12px;margin-bottom:3px}.org-stats{display:flex;flex-wrap:wrap;gap:20px}.org-stats .stat{min-width:60px;text-align:center}.org-stats .stat-label{color:#797d8c;display:block;font-size:12px;margin-bottom:3px}.org-stats .stat-value{color:#04103b;display:block;font-size:16px;font-weight:700}.org-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.role-badge{background:#43be83;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;text-transform:capitalize;transition:all .3s ease}.role-badge:hover{transform:scale(1.05)}.options-dropdown{position:relative}.options-btn{align-items:center;background:#f5f3ff;border:none;border-radius:8px;color:#797d8c;cursor:pointer;display:flex;font-size:14px;height:35px;justify-content:center;transition:all .3s ease;width:35px}.options-btn:hover{background:#ebe8ff;color:#5041bc}.dropdown-menu{background:#fff;border:1px solid #ebe8ff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;opacity:0;padding:12px 0;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .3s ease;visibility:hidden;z-index:1000}.options-dropdown:hover .dropdown-menu{opacity:1;transform:translateY(0);visibility:visible}.dropdown-item{align-items:center;background:none;border:none;color:#797d8c;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 15px;transition:all .3s ease;width:100%}.dropdown-item:hover{background:#f5f3ff;color:#5041bc}.dropdown-item.delete{color:#ea8f95}.dropdown-item.delete:hover{background:#ffd9d7;color:#ea8f95}.dropdown-details{padding:0 15px 8px}.detail-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.detail-label{color:#797d8c;font-size:12px;font-weight:500}.detail-value{color:#04103b;font-size:12px;font-weight:600}.detail-value.active{color:#43be83}.detail-value.expired{color:#ea8f95}.detail-value.suspended{color:#f7941d}.dropdown-divider{background:#ebe8ff;height:1px;margin:8px 0}.users-content{display:flex;flex-direction:column;gap:20px}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.filter-btn{background:#fff;border:1px solid #ebe8ff;border-radius:10px;color:#797d8c;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.filter-btn.active{background:#5041bc;border-color:#5041bc;color:#fff}.users-list{display:flex;flex-direction:column;gap:15px}.user-card{align-items:center;background:#fff;border:1px solid #ebe8ff;border-radius:15px;display:flex;flex-wrap:wrap;gap:20px;padding:20px;transition:all .3s ease}.user-card:hover{box-shadow:0 10px 30px #5041bc1a;transform:translateY(-2px)}.user-avatar{align-items:center;background:#d8d8d8;border-radius:50%;color:#797d8c;display:flex;flex-shrink:0;font-size:20px;height:50px;justify-content:center;width:50px}.user-children{color:#43be83}.user-children,.user-parent{font-size:12px;font-weight:600;margin:4px 0 0}.user-parent{color:#5041bc}.user-info{flex:1 1;min-width:0}.user-name{color:#303972;font-size:16px;font-weight:700;margin:0 0 4px}.user-email{color:#8487a2;font-size:14px;margin:0 0 4px}.user-institution{color:#a098ae;font-size:12px;margin:0}.user-stats{display:flex;flex-wrap:wrap;gap:20px}.user-stats .stat{min-width:60px;text-align:center}.user-stats .stat-label{color:#797d8c;display:block;font-size:12px;margin-bottom:3px}.user-stats .stat-value{color:#04103b;display:block;font-size:14px;font-weight:700}.user-status{flex-shrink:0;margin-left:20px}.status-badge{border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;white-space:nowrap}.user-actions{color:#797d8c;cursor:pointer;flex-shrink:0;padding:5px}.content-content{display:flex;flex-direction:column;gap:20px}.content-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.content-tab{align-items:center;background:#fff;border:1px solid #ebe8ff;border-radius:10px;color:#797d8c;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.content-tab.active{background:#5041bc;border-color:#5041bc;color:#fff}.content-actions{margin-bottom:20px}.create-button{align-items:center;background:#5041bc;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.create-button:hover{background:#3d29d0;transform:translateY(-2px)}.content-list{display:flex;flex-direction:column;gap:15px}.content-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:16px;padding:20px}.content-info{flex:1 1}.content-title{color:#303972;font-size:16px;font-weight:600;margin:0 0 8px}.content-description{color:#8487a2;font-size:14px;margin:0 0 4px}.content-author,.content-category,.content-time{color:#b0b1bc;font-size:12px;margin:0}.content-actions{display:flex;gap:8px}.action-btn{height:36px;justify-content:center;transition:all .2s ease;width:36px}.action-btn.edit{background:#f5f3ff;color:#5041bc}.action-btn.edit:hover{background:#e2def9}.action-btn.delete{background:#fef2f2;color:#ea8f95}.action-btn.delete:hover{background:#fee2e2}.modal-overlay{padding:20px}.modal{border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;padding:30px}.modal h2{color:#04103b;font-size:24px;font-weight:700;margin-bottom:20px}.modal form{display:flex;flex-direction:column;gap:15px}.modal input,.modal select,.modal textarea{border:1px solid #ebe8ff;border-radius:10px;font-size:14px;outline:none;padding:12px 15px;transition:all .3s ease;width:100%}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#5041bc;box-shadow:0 0 0 3px #5041bc1a}.modal textarea{min-height:100px;resize:vertical}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.modal-actions button{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-weight:600;min-width:120px;padding:12px 20px;transition:all .3s ease}.modal-actions button[type=button]{background:#f5f3ff;color:#5041bc}.modal-actions button[type=submit]{background:#5041bc;color:#fff}.modal-actions button:hover{transform:translateY(-2px)}.classroom-list{margin:20px 0;max-height:300px;overflow-y:auto}.classroom-item{align-items:center;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px;transition:all .3s ease}.classroom-item:hover{background-color:#f0f0f0;border-color:#5041bc}.classroom-info h3{font-size:16px;margin:0 0 5px}.classroom-info p{margin:2px 0}.select-button{background-color:#5041bc;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s ease}.select-button:hover{background-color:#3d35a5;transform:translateY(-1px)}.selected-classroom{background-color:#e8f4fd;border:1px solid #b3d9ff;border-radius:6px;color:#06c;font-weight:500;margin-bottom:15px;padding:12px}.dashboard-loading{align-items:center;display:flex;flex-direction:column;gap:20px;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f5f3ff;border-top-color:#5041bc;height:50px;width:50px}@media (max-width:1400px){.sidebar{min-width:250px;width:250px}.main-content{margin:15px;padding:25px}}@media (max-width:1200px){.dashboard-container{flex-direction:column}.sidebar{border-radius:20px;height:auto;margin:10px;max-height:200px;min-width:auto;overflow-y:hidden;width:100%}.sidebar-nav{flex-direction:row;overflow-x:auto;padding-bottom:10px}.sidebar-nav::-webkit-scrollbar{background:#0000;height:0}.sidebar-nav::-webkit-scrollbar-thumb,.sidebar-nav::-webkit-scrollbar-track{background:#0000}.nav-item{min-width:120px;white-space:nowrap}.main-content{border-radius:20px;height:auto;margin:10px;min-height:calc(100vh - 220px)}.stats-section{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:992px){.header{align-items:flex-start;flex-direction:column;gap:15px}.search-container{max-width:400px;width:100%}.header-right{justify-content:space-between;width:100%}.organizations-list{gap:15px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.user-card{flex-direction:column;gap:15px;text-align:center}.user-stats{justify-content:center}.user-status{margin-left:0}}@media (max-width:768px){.dashboard-container{flex-direction:column;min-height:auto;padding:0}.sidebar{border-radius:15px;height:auto;margin:5px;max-width:calc(100vw - 10px);min-width:100%;overflow-y:hidden;padding:15px 10px;position:sticky;top:0;width:100%;z-index:100}.logo-text{font-size:28px}.sidebar-nav{-ms-overflow-style:none;flex-direction:row;flex-wrap:wrap;gap:10px;justify-content:space-around;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-item{flex-direction:column;flex-shrink:0;font-size:12px;gap:4px;min-width:80px;padding:10px 8px;text-align:center;white-space:nowrap}.nav-icon{font-size:16px;height:18px;margin-bottom:4px;width:18px}.main-content{border-radius:15px;height:auto;margin:0 5px 5px;max-width:calc(100vw - 10px);min-height:calc(100vh - 150px);padding:15px}.header{align-items:flex-start;flex-direction:column;gap:10px}.header-left h1{font-size:20px}.header-left p{font-size:12px}.header-right{flex-wrap:wrap;gap:8px;justify-content:space-between;width:100%}.search-container{max-width:none;order:1;width:100%}.organization-selector{order:2;width:100%}.org-select{font-size:14px;min-width:auto;width:100%}.stats-section{gap:10px;grid-template-columns:1fr}.stat-card{min-height:80px;padding:15px}.stat-content h3{font-size:20px}.organization-card{flex-direction:row;gap:15px;padding:15px;text-align:left}.org-stats{gap:15px;justify-content:flex-start}.content-tabs{flex-wrap:wrap;justify-content:center}.content-card{flex-direction:column;gap:15px;text-align:center}.modal{margin:5px;padding:15px;width:95%}.modal-actions{flex-direction:column}.modal-actions button{flex:none}}@media (max-width:480px){.sidebar{border-radius:15px;margin:5px;padding:15px 10px}.logo{gap:10px}.logo-text{font-size:28px}.nav-item{font-size:11px;gap:3px;min-width:70px;padding:8px 6px}.nav-icon{font-size:14px;height:16px;width:16px}.main-content{border-radius:15px;margin:5px;padding:15px}.header-left h1{font-size:20px}.header-left p{font-size:12px}.search-container{min-width:200px}.search-input{padding:10px 15px}.search-input,.user-name{font-size:12px}.stat-card{gap:15px;padding:15px}.stat-icon{font-size:16px;height:40px;width:40px}.stat-content h3{font-size:20px}.stat-content p{font-size:12px}.filter-buttons{justify-content:center}.filter-btn{font-size:12px;padding:8px 15px}.add-button,.content-tab,.create-button{font-size:12px;padding:10px 15px}}@media (max-width:360px){.sidebar{padding:10px 5px}.logo-text{font-size:24px}.nav-item{font-size:12px;min-width:80px;padding:10px 12px}.main-content{padding:10px}.header-left h1{font-size:18px}.search-container{min-width:150px}.stat-card{gap:12px;padding:12px}.stat-icon{font-size:14px;height:35px;width:35px}.stat-content h3{font-size:18px}}@media (max-height:600px) and (orientation:landscape){.sidebar{height:auto;max-height:none}.main-content{height:auto;min-height:auto}.dashboard-loading{height:100vh}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.logo-text{font-weight:400}.nav-item{font-weight:600}}@media print{.sidebar{display:none}.main-content{border-radius:0;box-shadow:none;margin:0}.header-right{display:none}}.organization-warning{align-items:center;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #ffc107;border-radius:12px;box-shadow:0 4px 12px #ffc10733;display:flex;gap:16px;margin-bottom:24px;padding:20px}.warning-icon{flex-shrink:0;font-size:24px}.warning-text h3{color:#856404;font-size:18px;font-weight:600;margin:0 0 8px}.warning-text p{color:#856404;font-size:14px;margin:0;opacity:.8}.large-modal{max-height:90vh;max-width:800px}.large-modal,.modal{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 20px 40px #00000026;overflow-y:auto}.modal{max-height:80vh;max-width:600px;width:90%}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-header{border-bottom:1px solid #e0e0e0}.modal-header h2{color:#333;font-size:24px;font-weight:600}.modal-close{border-radius:4px;color:#666;font-size:24px;padding:4px;transition:all .2s ease}.modal-close:hover{background:#f0f0f0;color:#333}.classroom-info{background:#f8f9fa;border-radius:8px;margin-bottom:24px;padding:16px}.classroom-info h3{color:#333;font-size:18px;font-weight:600;margin:0 0 12px}.classroom-info p{color:#666;font-size:14px;margin:8px 0}.classroom-info strong{color:#333}.events-section{margin-bottom:24px}.events-section h3{color:#333;font-size:18px;font-weight:600;margin:0 0 16px}.events-list{display:flex;flex-direction:column;gap:16px}.event-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:16px}.event-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.event-header h4{color:#333;font-size:16px;font-weight:600;margin:0}.event-type{background:#6a0dad;border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:4px 8px;text-transform:capitalize}.event-details{margin-bottom:12px}.event-details p{color:#666;font-size:14px;margin:4px 0}.event-details strong{color:#333}.event-actions{display:flex;gap:8px}.btn-small{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.btn-small.secondary{background:#6c757d;color:#fff}.btn-small.secondary:hover{background:#5a6268}.btn-small.danger{background:#dc3545;color:#fff}.btn-small.danger:hover{background:#c82333}.add-event-section{border-top:1px solid #e0e0e0;padding-top:16px}.add-event-section h3{color:#333;font-size:18px;font-weight:600;margin:0 0 12px}.btn-primary{background:#6a0dad;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.btn-primary:hover{background:#5a0b8f}.no-events{font-style:italic}.loading-message,.no-events{color:#666;padding:40px 20px;text-align:center}.mode-selection{border-bottom:1px solid #e0e0e0;margin-bottom:24px;padding-bottom:20px}.mode-selection h3{color:#333;font-size:18px;font-weight:600;margin:0 0 16px}.mode-buttons{display:flex;flex-wrap:wrap;gap:12px}.mode-btn{background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;min-width:120px;text-align:center}.mode-btn:hover{border-color:#6a0dad;color:#6a0dad}.mode-btn.active{background:#6a0dad;border-color:#6a0dad;box-shadow:0 2px 8px #6a0dad4d}.event-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d0d0d0;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6a0dad;box-shadow:0 0 0 3px #6a0dad1a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.bulk-schedule-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.bulk-schedule-section h4{color:#333;font-size:16px;font-weight:600;margin:0 0 16px}.day-selector{display:flex;flex-wrap:wrap;gap:8px}.day-btn{background:#fff;border:1px solid #d0d0d0;border-radius:6px;color:#666;cursor:pointer;font-size:12px;font-weight:500;min-width:50px;padding:8px 12px;text-align:center;transition:all .2s ease}.day-btn:hover{border-color:#6a0dad;color:#6a0dad}.day-btn.selected{background:#6a0dad;border-color:#6a0dad;box-shadow:0 2px 4px #6a0dad4d;color:#fff}.bulk-preview{background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-top:16px;padding:16px}.bulk-preview h5{color:#333;font-size:14px;font-weight:600;margin:0 0 8px}.bulk-preview p{color:#666;font-size:14px;margin:0 0 8px}.bulk-preview ul{margin:0;padding-left:20px}.bulk-preview li{color:#333;font-size:14px;margin-bottom:4px}.preview-count{background:#e3f2fd;border:1px solid #2196f3;border-radius:6px;margin-top:12px;padding:8px 12px;text-align:center}.preview-count strong{color:#1976d2;font-size:14px}.template-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.template-section h4{color:#333;font-size:16px;font-weight:600;margin:0 0 16px}.template-info{color:#666;font-size:14px;font-style:italic;margin:8px 0 0}@media (max-width:768px){.form-row{grid-template-columns:1fr}.mode-buttons{flex-direction:column}.day-selector{justify-content:center}}.classroom-selection{margin:20px 0}.classroom-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.classroom-option{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;padding:20px}.classroom-option:hover{background:#f0f0f0;border-color:#6a0dad;box-shadow:0 4px 12px #6a0dad1a;transform:translateY(-2px)}.classroom-details h3{color:#333;font-size:18px;font-weight:600;margin:0 0 8px}.classroom-details p{color:#666;font-size:14px;margin:4px 0}.select-classroom-btn{background:linear-gradient(135deg,#6a0dad,#4a90e2);box-shadow:0 2px 8px #6a0dad4d;font-weight:500;padding:12px 24px}.select-classroom-btn:hover{box-shadow:0 4px 12px #6a0dad66;transform:translateY(-1px)}.warning-message{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;margin:16px 0;padding:16px;text-align:center}.modal-content{padding:24px}.modal-footer{border-top:1px solid #e0e0e0;padding:20px 24px}.modal-button{border-radius:6px;font-weight:500;padding:10px 20px;transition:all .2s ease}.modal-button.primary{background:#6a0dad}.modal-button.primary:hover{background:#5a0b8f}.modal-button.secondary{background:#6c757d;color:#fff}.modal-button.secondary:hover{background:#5a6268}.modal-button:disabled{cursor:not-allowed;opacity:.6}.loading-spinner{animation:spin 1s ease-in-out infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;display:inline-block;height:16px;margin-right:8px;width:16px}.mode-selector{border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:10px;margin-bottom:20px;overflow:hidden}.mode-btn{background:#f5f5f5;border:none;color:#666;cursor:pointer;flex:1 1;font-weight:500;padding:12px 16px;transition:all .3s ease}.mode-btn.active{background:#4d44b5;color:#fff}.mode-btn:hover:not(.active){background:#e8e8e8}.period-selector{display:flex;gap:10px;margin-top:8px}.period-btn{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;flex:1 1;padding:10px 16px;transition:all .3s ease}.period-btn.active{background:#4d44b5;border-color:#4d44b5;color:#fff}.period-btn:hover:not(.active){background:#f5f5f5}.menu-items-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:10px}.menu-item-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px}.item-header{margin-bottom:15px}.checkbox-label{align-items:center;color:#333;cursor:pointer;display:flex;font-weight:600;gap:8px}.checkbox-label input[type=checkbox]{accent-color:#4d44b5;height:18px;width:18px}.category-name{font-size:14px;text-transform:capitalize}.item-fields{display:flex;flex-direction:column;gap:10px}.item-fields input,.item-fields textarea{border:1px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px;transition:border-color .3s ease;width:100%}.item-fields input:focus,.item-fields textarea:focus{border-color:#4d44b5;outline:none}.item-fields textarea{min-height:80px;resize:vertical}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input[type=date]{border:1px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px;width:100%}.button-group{display:flex;gap:10px}.button-group .create-button{flex:1 1}.image-upload-section{margin-top:10px}.image-preview{align-items:center;background:#f8f9fa;border:2px dashed #e0e0e0;border-radius:8px;display:flex;gap:15px;padding:15px}.image-actions{display:flex;flex-direction:column;gap:8px}.remove-image-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .3s ease}.remove-image-btn:hover{background:#c82333}.image-upload-placeholder{align-items:center;background:#f8f9fa;border:2px dashed #e0e0e0;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:30px;transition:all .3s ease}.image-upload-placeholder:hover{background:#e9ecef;border-color:#5041bc}.upload-label{align-items:center;color:#5041bc;cursor:pointer;display:flex;flex-direction:column;font-weight:500;gap:8px}.upload-label span{font-size:14px}.item-image-upload{margin-top:10px}.item-image-upload label{color:#333;display:block;font-size:12px;font-weight:600;margin-bottom:8px}.single-item-form{display:flex;flex-direction:column;gap:20px}.single-item-form .form-group{margin-bottom:0}.single-item-form input,.single-item-form select,.single-item-form textarea{border:1px solid #e0e0e0;border-radius:6px;font-size:14px;padding:12px;transition:border-color .3s ease;width:100%}.single-item-form input:focus,.single-item-form select:focus,.single-item-form textarea:focus{border-color:#5041bc;outline:none}.single-item-form textarea{min-height:80px;resize:vertical}.batch-menu-card{background:linear-gradient(135deg,#f8f9ff,#fff);border-left:4px solid #4d44b5!important}.batch-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.batch-badge{background:#4d44b5;border-radius:12px;color:#fff;font-size:10px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.batch-items{display:flex;flex-direction:column;gap:8px;margin-top:16px}.batch-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.batch-item-info{display:flex;flex-direction:column;gap:2px}.batch-item-name{color:#303972;font-size:14px;font-weight:600}.batch-item-category{color:#a098ae;font-size:12px;text-transform:capitalize}.batch-item-image{flex-shrink:0}.year-group-container{max-height:500px;overflow-y:auto;padding:10px 0}.year-group-section{border:1px solid #ebe8ff;border-radius:12px;margin-bottom:24px;overflow:hidden}.year-group-header{align-items:center;background:linear-gradient(135deg,#5041bc,#7c3aed);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.year-group-header h3{font-size:18px;font-weight:700;margin:0}.classroom-count{background:#fff3;border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px}.upload-yeargroup-btn{background:#fff3;border:1px solid #fff6;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s ease}.upload-yeargroup-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.year-group-section .classroom-list{background:#fafafa;max-height:none;padding:15px}.classroom-option{align-items:center;background:#fff;border:1px solid #ebe8ff;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:10px;padding:16px;transition:all .3s ease}.classroom-option:hover{border-color:#5041bc;box-shadow:0 4px 12px #5041bc1a}.classroom-option:last-child{margin-bottom:0}.classroom-details h4{color:#303972;font-size:16px;font-weight:600;margin:0 0 8px}.classroom-details p{color:#8487a2;font-size:13px;margin:3px 0}.select-classroom-btn{background:#5041bc;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.select-classroom-btn:hover{background:#3d35a5;transform:translateY(-2px)}.upload-target-info{background:#f5f3ff;border-left:4px solid #5041bc;border-radius:12px;margin-bottom:20px;padding:20px}.upload-target-info h3{color:#303972;font-size:18px;margin:0 0 8px}.csv-upload-section label:hover{background:#f0edff!important;border-color:#5041bc!important}.modal-button{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.modal-button.primary{background:#5041bc;color:#fff}.modal-button.primary:hover:not(:disabled){background:#3d35a5;transform:translateY(-2px)}.modal-button.primary:disabled{background:#c4c4c4;cursor:not-allowed}.modal-button.secondary{background:#f5f3ff;color:#5041bc}.modal-button.secondary:hover{background:#ebe8ff}.modal-footer{border-top:1px solid #ebe8ff;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.modal-header{align-items:center;border-bottom:1px solid #ebe8ff;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.modal-header h2{margin:0}.modal-close{background:none;border:none;color:#8487a2;cursor:pointer;font-size:28px;line-height:1;padding:0;transition:color .3s ease}.modal-close:hover{color:#ea8f95}.large-modal{max-width:700px;width:95%}.holiday-list{max-height:300px;overflow-y:auto}.holiday-card{align-items:center;background:#fff;border:1px solid #ebe8ff;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:10px;padding:16px}.holiday-date{background:#5041bc;border-radius:8px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px}.holiday-info h4{color:#303972;font-size:15px;margin:0 0 4px}.holiday-type{background:#f5f3ff;border-radius:12px;color:#5041bc;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.weekly-summary-preview{background:#fafafa;border-radius:12px;margin-top:20px;padding:20px}.summary-section{margin-bottom:20px}.summary-section h4{color:#5041bc;font-size:14px;margin:0 0 10px}.summary-section ul{color:#303972;font-size:14px;margin:0;padding-left:20px}.summary-section li{margin-bottom:6px}.timetable-management-fullpage{background:#f5f3ff;bottom:0;left:300px;overflow-y:auto;position:fixed;right:0;top:0;z-index:900}@media (max-width:1024px){.timetable-management-fullpage{left:0}}.site-theme .cfg{margin:0 auto;max-width:1180px;padding:0 28px}.site-theme .cfg-head{margin:0 auto 30px;max-width:680px;text-align:center}.site-theme .cfg-head h2{font-size:42px;font-weight:800;letter-spacing:-.03em;margin:14px 0 12px}.site-theme .cfg-head p{color:var(--ink-2);font-size:18px}.site-theme .cfg-bar{grid-gap:26px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow);display:grid;gap:26px;grid-template-columns:1.1fr 1fr;margin-bottom:30px;padding:22px 26px}.site-theme .cfg-field .cfl{color:var(--ink-3);font-size:12.5px;font-weight:700;letter-spacing:.04em;margin-bottom:10px;text-transform:uppercase}.site-theme .cfg-segrow{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.site-theme .seg{background:var(--cream-2);border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:3px;padding:5px}.site-theme .seg button{background:#0000;border:none;border-radius:999px;color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;padding:9px 18px;transition:.15s}.site-theme .seg button.on{background:#fff;box-shadow:var(--shadow-sm);color:var(--ink)}.site-theme .seg.seg-period button.on{background:var(--grad);color:#fff}.site-theme .cfg-save{background:var(--leaf-wash);border-radius:999px;color:var(--leaf-deep);font-size:12.5px;font-weight:700;padding:5px 11px}.site-theme .sizebox{align-items:center;display:flex;gap:16px}.site-theme .sizebox .stp{background:var(--card);border:1.5px solid var(--line-2);border-radius:14px;color:var(--ink);cursor:pointer;display:grid;font-size:24px;font-weight:600;height:46px;line-height:1;place-items:center;transition:.15s;width:46px}.site-theme .sizebox .stp:hover{border-color:var(--brand);color:var(--brand)}.site-theme .sizebox .sizeval{flex:1 1;text-align:center}.site-theme .sizebox .sizeval input{background:#0000;border:none;color:var(--ink);font-family:Bricolage Grotesque;font-size:42px;font-weight:800;letter-spacing:-.02em;outline:none;text-align:center;width:100%}.site-theme .sizebox .sizeval .su{color:var(--ink-3);font-size:13px;font-weight:600;margin-top:-4px}.site-theme .cfg-slider{appearance:none;background:linear-gradient(90deg,var(--brand),var(--cyan));border-radius:99px;height:6px;margin-top:16px;outline:none;width:100%}.site-theme .cfg-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:3px solid var(--brand);border-radius:50%;box-shadow:var(--shadow);cursor:pointer;height:26px;width:26px}.site-theme .cfg-slider::-moz-range-thumb{background:#fff;border:3px solid var(--brand);border-radius:50%;cursor:pointer;height:22px;width:22px}.site-theme .cfg-grid{grid-gap:18px;align-items:stretch;display:grid;gap:18px;grid-template-columns:repeat(4,1fr)}.site-theme .pcard{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-xl);cursor:pointer;display:flex;flex-direction:column;padding:26px 24px;position:relative;text-align:left;transition:transform .16s,box-shadow .2s,border-color .15s}.site-theme .pcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.site-theme .pcard.sel{border-color:var(--brand);box-shadow:var(--shadow-lg)}.site-theme .pcard.sel:after{border:2px solid var(--brand);border-radius:var(--r-xl);content:"";inset:-1.5px;pointer-events:none;position:absolute}.site-theme .pcard.rec{border-color:var(--brand)}.site-theme .pcard .ptop{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.site-theme .pcard .pn{color:var(--ink-2);font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.site-theme .pcard.rec .pn,.site-theme .pcard.sel .pn{color:var(--brand)}.site-theme .pcard .recpill{background:var(--grad);border-radius:999px;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:4px 10px}.site-theme .pcard .pd{color:var(--ink-3);font-size:13px;line-height:1.4;margin:4px 0 16px;min-height:34px}.site-theme .pcard .punit{align-items:baseline;display:flex;gap:4px}.site-theme .pcard .punit .c{color:var(--ink-2);font-size:15px;font-weight:700}.site-theme .pcard .punit .n{font-family:Bricolage Grotesque;font-size:34px;font-weight:800;letter-spacing:-.02em}.site-theme .pcard .punit .p{color:var(--ink-3);font-size:12.5px;font-weight:600}.site-theme .pcard .pfree{color:var(--leaf-deep);font-family:Bricolage Grotesque;font-size:30px;font-weight:800}.site-theme .pcard .ptotal{background:var(--cream-2);border-radius:14px;margin:14px 0;padding:13px 14px}.site-theme .pcard.rec .ptotal,.site-theme .pcard.sel .ptotal{background:var(--brand-wash)}.site-theme .pcard .ptotal .tk{color:var(--ink-3);font-size:11.5px;font-weight:600}.site-theme .pcard .ptotal .tv{font-family:Bricolage Grotesque;font-size:21px;font-weight:800;letter-spacing:-.01em;margin-top:2px}.site-theme .pcard .ptotal .ty{color:var(--ink-3);font-size:12px;font-weight:600;margin-top:3px}.site-theme .pcard ul{display:flex;flex-direction:column;gap:9px;list-style:none;margin:0 0 20px;padding:0}.site-theme .pcard li{align-items:flex-start;color:var(--ink);display:flex;font-size:13.5px;font-weight:500;gap:9px}.site-theme .pcard li svg{fill:var(--leaf);flex-shrink:0;height:16px;margin-top:2px;width:16px}.site-theme .pcard .pbtn{margin-top:auto;width:100%}.site-theme .cfg-foot{color:var(--ink-3);font-size:14.5px;margin-top:26px;text-align:center}.site-theme .cfg-foot a{color:var(--brand);cursor:pointer;font-weight:700}.site-theme .flow{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:300px 1fr;min-height:calc(100vh - 74px)}.site-theme .flow-rail{background:var(--cream-2);border-right:1px solid var(--line);padding:38px 30px}.site-theme .flow-rail .fr-eyebrow{color:var(--brand);font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.site-theme .flow-rail h2{font-size:25px;font-weight:800;letter-spacing:-.02em;margin:10px 0 6px}.site-theme .flow-rail .fr-sub{color:var(--ink-2);font-size:14.5px;line-height:1.5;margin-bottom:30px}.site-theme .steps{display:flex;flex-direction:column;gap:2px}.site-theme .step{align-items:center;background:#0000;border:none;border-radius:12px;color:var(--ink-2);cursor:pointer;display:flex;font-family:inherit;font-size:14.5px;font-weight:700;gap:13px;padding:11px 12px;text-align:left;transition:.15s;width:100%}.site-theme .step:hover{background:#fff}.site-theme .step .sn{background:#fff;border:2px solid var(--line-2);border-radius:50%;color:var(--ink-3);display:grid;flex-shrink:0;font-size:13.5px;font-weight:800;height:30px;place-items:center;width:30px}.site-theme .step.on{background:#fff;box-shadow:var(--shadow-sm);color:var(--ink)}.site-theme .step.on .sn{border-color:var(--brand);color:var(--brand)}.site-theme .step.done .sn{background:var(--grad);border-color:#0000;color:#fff}.site-theme .step.done svg{fill:#fff;height:15px;width:15px}.site-theme .fr-card{background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:30px;padding:18px}.site-theme .fr-card .frk{color:var(--ink-3);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.site-theme .fr-card .frrow{align-items:baseline;border-bottom:1px solid var(--line);display:flex;font-size:14px;justify-content:space-between;padding:9px 0}.site-theme .fr-card .frrow:last-child{border:none}.site-theme .fr-card .frrow b,.site-theme .fr-card .frtotal{font-family:Bricolage Grotesque;font-weight:800}.site-theme .fr-card .frtotal{color:var(--brand);font-size:24px}.site-theme .flow-main{max-width:840px;padding:46px 56px}.site-theme .flow-main .fm-head h1{font-size:32px;font-weight:800;letter-spacing:-.025em;margin-bottom:8px}.site-theme .flow-main .fm-head p{color:var(--ink-2);font-size:16px;line-height:1.5;margin:0 0 28px}.site-theme .choice-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.site-theme .choice{align-items:flex-start;background:var(--card);border:1.5px solid var(--line);border-radius:18px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:6px;padding:22px;position:relative;text-align:left;transition:.15s}.site-theme .choice:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-2px)}.site-theme .choice.on{background:var(--brand-wash);border-color:var(--brand)}.site-theme .choice.on:after{background:var(--grad);border-radius:50%;color:#fff;content:"✓";display:grid;font-size:14px;font-weight:800;height:24px;place-items:center;position:absolute;right:18px;top:16px;width:24px}.site-theme .choice .ch-ic{border-radius:15px;box-shadow:var(--shadow);display:grid;height:50px;margin-bottom:6px;place-items:center;width:50px}.site-theme .choice .ch-ic svg{fill:#fff;height:26px;width:26px}.site-theme .choice strong{font-size:17px}.site-theme .choice small{color:var(--ink-2);font-size:13.5px;line-height:1.45}.site-theme .subchoice{background:var(--cream-2);border:1px solid var(--line);border-radius:16px;margin-top:18px;padding:18px}.site-theme .subchoice .scl{color:var(--ink);font-size:13px;font-weight:800;margin-bottom:12px}.site-theme .subrow{display:flex;flex-wrap:wrap;gap:12px}.site-theme .subbtn{background:#fff;border:1.5px solid var(--line-2);border-radius:12px;color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;padding:12px 18px;transition:.15s}.site-theme .subbtn.on{background:var(--brand-wash);border-color:var(--brand);color:var(--brand-ink)}.site-theme .subnote{color:var(--ink-3);font-size:12.5px;margin-top:11px}.site-theme .subnote code{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--brand-ink);font-family:Geist Mono,Hanken Grotesk,monospace;font-weight:700;padding:1px 7px}.site-theme .fld-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr}.site-theme .fld{display:flex;flex-direction:column;gap:7px}.site-theme .fld.full{grid-column:1/-1}.site-theme .fld label{color:var(--ink);font-size:13.5px;font-weight:700}.site-theme .fld input,.site-theme .fld select{background:#fff;border:1.5px solid var(--line-2);border-radius:12px;color:var(--ink);font-family:inherit;font-size:15px;outline:none;padding:13px 15px;transition:.15s}.site-theme .fld input:focus,.site-theme .fld select:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-wash)}.site-theme .fld .hint{color:var(--ink-3);font-size:12px}.site-theme .setup-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.site-theme .setup-opt{align-items:flex-start;background:#fff;border:1.5px solid var(--line);border-radius:16px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:6px;padding:20px;position:relative;text-align:left;transition:.15s}.site-theme .setup-opt:hover{border-color:var(--brand)}.site-theme .setup-opt.on{background:var(--brand-wash);border-color:var(--brand)}.site-theme .setup-opt .so-ic{background:var(--cream-2);border-radius:12px;display:grid;height:42px;place-items:center;width:42px}.site-theme .setup-opt.on .so-ic{background:#fff}.site-theme .setup-opt .so-ic svg{fill:var(--brand);height:21px;width:21px}.site-theme .setup-opt strong{font-size:15.5px}.site-theme .setup-opt small{color:var(--ink-2);font-size:13px;line-height:1.4}.site-theme .setup-opt .sw{background:var(--line-2);border-radius:999px;height:24px;position:absolute;right:18px;top:18px;transition:.2s;width:42px}.site-theme .setup-opt .sw:after{background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);content:"";height:20px;left:2px;position:absolute;top:2px;transition:.2s;width:20px}.site-theme .setup-opt.on .sw{background:var(--brand)}.site-theme .setup-opt.on .sw:after{transform:translateX(18px)}.site-theme .est{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr}.site-theme .est-banner{align-items:center;background:var(--grad);border-radius:20px;box-shadow:var(--shadow-brand);color:#fff;display:flex;gap:20px;justify-content:space-between;padding:26px 28px}.site-theme .est-banner h3{color:#fff;font-size:22px;margin-bottom:5px}.site-theme .est-banner p{font-size:14.5px;line-height:1.45;margin:0;max-width:440px;opacity:.92}.site-theme .est-banner .eb-tag{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border:1px solid #ffffff4d;border-radius:999px;flex-shrink:0;font-size:13.5px;font-weight:800;padding:8px 16px}.site-theme .est-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px}.site-theme .est-row{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.site-theme .est-row h3{font-size:18px}.site-theme .est-summary{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.site-theme .est-tile{background:var(--cream-2);border-radius:14px;padding:15px 16px}.site-theme .est-tile .etk{color:var(--ink-3);font-size:12px;font-weight:700}.site-theme .est-tile .etv{font-family:Bricolage Grotesque;font-size:19px;font-weight:800;margin-top:5px}.site-theme .est-big{align-items:flex-end;background:var(--brand-wash);border-radius:16px;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;padding:20px}.site-theme .est-big .ebk{color:var(--brand-ink);font-size:13px;font-weight:700}.site-theme .est-big .ebv{color:var(--ink);font-family:Bricolage Grotesque;font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1}.site-theme .est-big .ebv small{color:var(--ink-2);font-size:16px}.site-theme .est-big .ebnote{color:var(--ink-2);font-size:13px}.site-theme .est-upsell{align-items:center;background:var(--leaf-wash);border-radius:12px;color:var(--ink-2);display:flex;font-size:13.5px;gap:12px;margin-top:16px;padding:12px 15px}.site-theme .est-upsell svg{fill:var(--leaf-deep);flex-shrink:0;height:18px;width:18px}.site-theme .pay{grid-gap:26px;display:grid;gap:26px;grid-template-columns:1.25fr .85fr}.site-theme .pay-methods{display:flex;gap:10px;margin-bottom:22px}.site-theme .pmtab{align-items:center;background:#fff;border:1.5px solid var(--line-2);border-radius:14px;color:var(--ink-2);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:inherit;font-size:13.5px;font-weight:700;gap:7px;padding:15px 10px;transition:.15s}.site-theme .pmtab.on,.site-theme .pmtab:hover{border-color:var(--brand)}.site-theme .pmtab.on{background:var(--brand-wash);color:var(--brand-ink)}.site-theme .pmtab svg{height:24px;width:24px}.site-theme .cardvis{background:linear-gradient(135deg,#1b2430,#2f3b4d);border-radius:20px;box-shadow:var(--shadow-lg);color:#fff;display:flex;flex-direction:column;gap:18px;justify-content:space-between;margin-bottom:22px;min-height:196px;overflow:hidden;padding:22px;position:relative}.site-theme .cardvis:before{background:var(--grad);border-radius:50%;content:"";filter:blur(6px);height:220px;opacity:.4;position:absolute;right:-70px;top:-90px;width:220px}.site-theme .cardvis .cv-top{align-items:flex-start;display:flex;justify-content:space-between;position:relative;z-index:1}.site-theme .cardvis .cv-chip{background:linear-gradient(135deg,#f4d58d,#caa24a);border-radius:7px;height:30px;width:42px}.site-theme .cardvis .cv-net{font-family:Bricolage Grotesque;font-size:18px;font-weight:800;letter-spacing:.02em}.site-theme .cardvis .cv-num{font-family:Geist Mono,monospace;font-size:20px;letter-spacing:.1em;position:relative;white-space:nowrap;z-index:1}.site-theme .cardvis .cv-bot{align-items:flex-end;display:flex;gap:14px;justify-content:space-between;position:relative;z-index:1}.site-theme .cardvis .cv-bot .cvk{font-size:9.5px;letter-spacing:.06em;opacity:.6;text-transform:uppercase;white-space:nowrap}.site-theme .cardvis .cv-bot .cvv{font-family:Geist Mono,monospace;font-size:13.5px;margin-top:4px;white-space:nowrap}.site-theme .mpesa-box{background:var(--cream-2);border:1px dashed var(--line-2);border-radius:18px;padding:30px 24px;text-align:center}.site-theme .mpesa-box .mp-logo{color:#1c8a3c;font-family:Bricolage Grotesque;font-size:22px;font-weight:800;margin-bottom:6px}.site-theme .bank-box{padding:8px 0}.site-theme .bank-row{border-bottom:1px solid var(--line);display:flex;font-size:14.5px;justify-content:space-between;padding:12px 0}.site-theme .bank-row:last-child{border:none}.site-theme .bank-row b{font-family:Geist Mono,monospace}.site-theme .pay-receipt{align-self:start;background:var(--ink);border-radius:20px;color:#dfe5ee;padding:26px;position:sticky;top:90px}.site-theme .pay-receipt h3{color:#fff;font-size:17px;margin-bottom:18px}.site-theme .pr-row{border-bottom:1px solid #ffffff1a;color:#aeb7c7;display:flex;font-size:14px;justify-content:space-between;padding:10px 0}.site-theme .pr-row span:last-child{color:#fff;font-weight:600}.site-theme .pr-total{align-items:baseline;display:flex;justify-content:space-between;margin-top:18px}.site-theme .pr-total .prk{color:#aeb7c7;font-size:14px}.site-theme .pr-total .prv{color:#fff;font-family:Bricolage Grotesque;font-size:30px;font-weight:800}.site-theme .pr-note{align-items:flex-start;background:#22cdee1a;border-radius:12px;color:#9fb4cd;display:flex;font-size:12.5px;gap:9px;margin-top:16px;padding:12px}.site-theme .pr-note svg{fill:var(--cyan);flex-shrink:0;height:16px;margin-top:1px;width:16px}.site-theme .done{margin:40px auto;max-width:620px;text-align:center}.site-theme .done-mark{background:var(--grad);border-radius:50%;box-shadow:var(--shadow-brand);display:grid;height:88px;margin:0 auto 24px;place-items:center;width:88px}.site-theme .done-mark svg{fill:#fff;height:42px;width:42px}.site-theme .done h1{font-size:34px;font-weight:800;letter-spacing:-.025em;margin-bottom:12px}.site-theme .done>p{color:var(--ink-2);font-size:16.5px;line-height:1.55;margin:0 auto 26px;max-width:500px}.site-theme .done-badge{align-items:center;background:var(--sun);border-radius:999px;color:#5c4708;display:inline-flex;font-size:13px;font-weight:800;gap:8px;margin-bottom:24px;padding:7px 15px}.site-theme .done-badge svg{fill:#5c4708;height:14px;width:14px}.site-theme .done-summary{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);margin-bottom:24px;padding:24px;text-align:left}.site-theme .done-summary .dsrow{border-bottom:1px solid var(--line);color:var(--ink-2);display:flex;font-size:14.5px;justify-content:space-between;padding:11px 0}.site-theme .done-summary .dsrow:last-child{border:none}.site-theme .done-summary .dsrow b{color:var(--ink);font-weight:700}.site-theme .done-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.site-theme .flow-actions{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:34px;padding-top:24px}.site-theme .months{background:var(--cream-2);border:1px solid var(--line);border-radius:16px;margin-top:6px;padding:18px}.site-theme .months-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.site-theme .months-head .mh-title{color:var(--ink);font-size:13.5px;font-weight:800}.site-theme .months-head .mh-sub{color:var(--ink-3);font-size:12.5px;font-weight:600}.site-theme .term-pick{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.site-theme .term-pick .tp-label{color:var(--ink-3);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.site-theme .term-pick .tp{align-items:center;background:#fff;border:1.5px solid var(--line-2);border-radius:999px;color:var(--ink-2);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:800;gap:8px;padding:8px 14px;transition:.15s}.site-theme .term-pick .tp i{border-radius:50%;flex-shrink:0;height:12px;width:12px}.site-theme .term-pick .tp.t1 i{background:#eab308}.site-theme .term-pick .tp.t2 i{background:#ef4444}.site-theme .term-pick .tp.t3 i{background:#2f7cf0}.site-theme .term-pick .tp.t1.on{background:#fef9c3;border-color:#eab308;color:#854d0e}.site-theme .term-pick .tp.t2.on{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.site-theme .term-pick .tp.t3.on{background:var(--brand-wash);border-color:#2f7cf0;color:var(--brand-ink)}.site-theme .months-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(6,1fr)}.site-theme .month-chip{align-items:center;background:#fff;border:1.5px solid var(--line-2);border-radius:12px;color:var(--ink-2);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:13.5px;font-weight:700;gap:3px;padding:12px 6px;transition:.15s}.site-theme .month-chip small{color:var(--ink-3);font-size:10.5px;font-weight:700}.site-theme .month-chip:hover{border-color:var(--brand)}.site-theme .month-chip.t1{background:#fef9c3;border-color:#eab308;color:#854d0e}.site-theme .month-chip.t1 small{color:#a16207}.site-theme .month-chip.t2{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.site-theme .month-chip.t2 small{color:#dc2626}.site-theme .month-chip.t3{background:var(--brand-wash);border-color:#2f7cf0;color:var(--brand-ink)}.site-theme .month-chip.t3 small{color:var(--brand-ink)}.site-theme .months-foot{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}.site-theme .months-foot .mf-pill{background:var(--leaf-wash);border-radius:999px;color:var(--leaf-deep);font-size:12.5px;font-weight:800;padding:6px 12px}.site-theme .months-foot button{background:#0000;border:none;color:var(--brand);cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:0}@media(max-width:1080px){.site-theme .cfg-grid{grid-template-columns:1fr 1fr}}@media(max-width:860px){.site-theme .cfg-bar,.site-theme .flow{grid-template-columns:1fr}.site-theme .flow-rail{display:none}.site-theme .flow-main{padding:30px 22px}.site-theme .pay{grid-template-columns:1fr}.site-theme .months-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:560px){.site-theme .cfg-grid,.site-theme .choice-grid,.site-theme .est-summary,.site-theme .fld-grid,.site-theme .setup-grid{grid-template-columns:1fr}.site-theme .months-grid{grid-template-columns:repeat(3,1fr)}}@keyframes pear-spin{to{transform:rotate(1turn)}}.site-theme .spin{animation:pear-spin .9s linear infinite}.actual-demo-badge{align-items:center;background:#eaf2ff;border-radius:999px;color:#2563eb;display:inline-flex;font-size:11px;font-weight:800;padding:7px 10px;white-space:nowrap}.actual-demo-notice,.actual-floating-notice{background:#111827;border-radius:12px;color:#fff;font-size:13px;font-weight:800;padding:12px 14px}.actual-floating-notice{align-items:center;box-shadow:0 18px 44px #0f172a2e;display:flex;gap:10px;max-width:360px;position:fixed;right:24px;top:82px;z-index:50}.actual-floating-notice.premium{background:linear-gradient(135deg,#1e1b4b,#4338ca)}.actual-floating-notice svg{flex:0 0 auto}.actual-upgrade{background:#fbbf24;border-radius:8px;color:#422006;flex:0 0 auto;font-size:12px;font-weight:900;padding:7px 11px}.actual-home-btn,.actual-upgrade{text-decoration:none;white-space:nowrap}.actual-home-btn{align-items:center;background:#111827;border-radius:10px;color:#fff;display:inline-flex;font-size:13px;font-weight:800;gap:7px;padding:9px 14px}.actual-home-btn:hover{background:#1f2937}.actual-bus-tabs button.locked-tab{align-items:center;color:#9ca3af;display:inline-flex;gap:6px}.actual-bus-tabs button.locked-tab svg{height:12px;width:12px}.actual-lorry-side nav button.locked-nav{color:#6f7d92}.actual-lorry-side nav button .nav-lock{height:11px;margin-left:auto;opacity:.7;width:11px}.actual-bus-demo{background:#f8fafc;color:#111827;font-family:Geist,system-ui,sans-serif;min-height:100vh}.actual-bus-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:20px 28px;min-height:74px;padding:14px 30px}.actual-bus-brand{align-items:center;display:flex;flex:0 0 auto;gap:12px}.actual-bus-logo{background:linear-gradient(135deg,#4f46e5,#2563eb);border-radius:11px;box-shadow:0 8px 20px #2563eb40;color:#fff;display:grid;height:42px;place-items:center;width:42px}.actual-bus-brand h1{color:#111827;font-size:20px;line-height:1.1;margin:0}.actual-bus-brand p,.actual-lorry-top p{color:#6b7280;font-size:12px;margin:3px 0 0}.actual-bus-tabs{align-items:center;display:flex;flex:1 1;gap:22px;min-width:max-content}.actual-bus-tabs button{background:#0000;border:0;border-bottom:2px solid #0000;color:#6b7280;font:inherit;font-size:14px;font-weight:700;padding:10px 0;white-space:nowrap}.actual-bus-tabs button.active{border-bottom-color:#2563eb;color:#2563eb}.actual-bus-tabs .live-tab{align-items:center;display:inline-flex;gap:7px}.actual-bus-tabs .live-tab span{background:#16a34a;border-radius:999px;height:7px;width:7px}.actual-bus-actions{align-items:center;display:flex;gap:12px;margin-left:auto}.actual-bus-actions button{align-items:center;background:#0000;border:0;color:#4b5563;display:inline-flex;font:inherit;font-size:13px;font-weight:700;gap:8px}.actual-search{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#9ca3af;display:flex;font-size:13px;gap:10px;padding:10px 13px;width:250px}.actual-bus-main{padding:26px 30px 70px}.actual-bus-stat-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.actual-bus-stat{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:14px;cursor:pointer;display:flex;font:inherit;justify-content:space-between;min-height:98px;padding:16px;text-align:left}.actual-bus-stat p{font-size:14px;font-weight:800;margin:0}.actual-bus-stat strong{display:block;font-size:25px;margin-top:4px}.actual-bus-stat span{display:block;font-size:12px;font-weight:700;margin-top:6px}.actual-bus-stat svg{height:30px;width:30px}.actual-bus-stat.risk{background:#fff7f7;border-color:#fecaca;color:#dc2626}.actual-bus-stat.amber,.actual-bus-stat.fuel{background:#fff7ed;border-color:#fed7aa;color:#c66a2b}.actual-bus-stat.cost{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.actual-fleet-status,.actual-school-trip{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-top:22px}.actual-school-trip{align-items:center;border-color:#ddd6fe;display:flex;gap:18px;justify-content:space-between;padding:18px}.actual-fleet-status h2,.actual-school-trip h2{color:#111827;font-size:20px;margin:0}.actual-school-trip p{color:#6b7280;font-size:13px;margin:6px 0 0}.actual-lorry-table-head a,.actual-lorry-table-head button,.actual-school-trip button,.actual-section-head a,.actual-section-head button{background:#7c3aed;border:0;border-radius:10px;color:#fff;font:inherit;font-weight:800;padding:11px 16px;text-decoration:none;white-space:nowrap}.actual-lorry-table-head button,.actual-section-head button{background:#2563eb}.actual-fleet-status{padding:26px}.actual-lorry-table-head,.actual-section-head{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:22px}.actual-bus-card-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(180px,1fr))}.actual-bus-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;cursor:pointer;display:grid;font:inherit;min-height:170px;padding:18px;place-items:center;text-align:center}.bus-icon-wrap{background:#f3f4f6;border-radius:11px;color:#ef4444;display:grid;height:46px;margin-bottom:8px;place-items:center;width:46px}.actual-bus-card strong{font-size:14px}.actual-bus-card .plate,.actual-bus-card small{color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.bus-badges{display:flex;gap:6px;margin:10px 0 6px}.bus-badges span{border-radius:7px;font-size:11px;font-weight:800;padding:4px 8px}.bus-badges .active{background:#dcfce7;color:#166534}.bus-badges .alert{background:#fee2e2;color:#dc2626}.actual-lorry-demo{background:#f3f8ff;color:#0f1b2d;display:flex;font-family:Geist,system-ui,sans-serif;min-height:100vh}.actual-lorry-side{background:#0d1728;color:#9aa8bd;display:flex;flex:0 0 250px;flex-direction:column;min-height:100vh;padding:20px 12px;width:250px}.actual-lorry-logo{align-items:center;display:flex;gap:12px;padding:6px 10px 28px}.actual-lorry-logo>div{background:#4fb4d1;border-radius:10px;display:grid;height:38px;place-items:center;width:38px}.actual-lorry-logo strong{color:#fff;display:block;font-size:17px;letter-spacing:.04em}.actual-lorry-logo span{color:#9aa8bd;font-size:12px}.actual-lorry-side nav{grid-gap:8px;display:grid;gap:8px}.actual-lorry-side nav button{align-items:center;background:#0000;border:0;border-radius:11px;color:#9aa8bd;display:flex;font:inherit;font-size:14px;font-weight:800;gap:12px;padding:12px 14px;text-align:left}.actual-lorry-side nav button.active{background:#203b54;color:#74d8f2}.actual-lorry-side-card{background:#1b2a42;border-radius:14px;margin-top:auto;padding:14px}.actual-lorry-side-card span{color:#9aa8bd;font-size:11px}.actual-lorry-side-card strong{color:#fff;display:block;font-size:13px;margin-top:6px}.actual-lorry-side-card div{background:#40536f;border-radius:999px;height:4px;margin-top:11px}.actual-lorry-main{flex:1 1;min-width:0}.actual-lorry-top{align-items:center;background:#fff;border-bottom:1px solid #e6eef6;display:flex;flex-wrap:wrap;gap:12px 18px;min-height:64px;padding:12px 24px}.actual-lorry-top>div:first-child{flex:0 0 auto;margin-right:auto}.actual-lorry-top h1{font-size:16px;margin:0}.actual-lorry-top-actions{align-items:center;display:flex;gap:10px;margin-left:auto}.actual-lorry-mode{background:#f3f8ff;border:1px solid #e6eef6;border-radius:11px;display:flex;padding:4px}.actual-lorry-mode button{background:#0000;border:0;border-radius:8px;color:#6b7a8f;font:inherit;font-size:12px;font-weight:800;padding:7px 10px}.actual-lorry-mode button.active{background:#009ebe;color:#fff}.actual-lorry-filter,.actual-lorry-search,.actual-lorry-top-actions>button{align-items:center;background:#f3f8ff;border:1px solid #e6eef6;border-radius:11px;color:#9aa8bd;display:flex;font-size:13px;font-weight:700;gap:8px;padding:10px 13px}.actual-lorry-search{width:240px}.actual-lorry-avatar{background:#ffcba4;border-radius:11px;color:#fff;display:grid;font-size:13px;font-weight:900;height:40px;place-items:center;width:40px}.actual-lorry-content{padding:20px 24px 28px}.actual-lorry-kpis{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.actual-cargo-links,.actual-lorry-kpis article,.actual-lorry-kpis button,.actual-lorry-map-card,.actual-lorry-table{background:#fff;border:1px solid #e6eef6;border-radius:18px}.actual-lorry-kpis article,.actual-lorry-kpis button{cursor:pointer;font:inherit;min-height:134px;padding:16px;text-align:left}.kpi-top{align-items:center;display:flex;justify-content:space-between}.kpi-top span{background:#e6f6fa;border-radius:11px;display:grid;height:38px;place-items:center;width:38px}.kpi-top small{background:#6b7a8f14;border-radius:7px;color:#6b7a8f;font-size:11px;font-weight:800;padding:3px 8px}.kpi-value{align-items:baseline;display:flex;gap:6px;margin-top:15px}.kpi-value strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:26px}.kpi-value em{color:#9aa8bd;font-size:12px;font-style:normal}.actual-lorry-kpis p{color:#6b7a8f;font-size:11px;font-weight:800;letter-spacing:.04em;margin:4px 0 0;text-transform:uppercase}.actual-cargo-links,.actual-lorry-map-card,.actual-lorry-table{margin-top:14px}.actual-cargo-links{padding:14px 16px}.actual-cargo-links h2,.actual-lorry-map-card h2,.actual-lorry-table h2{font-size:14px;margin:0}.actual-cargo-links div{align-items:center;background:#f8fbfe;border:1px solid #eef3fa;border-radius:13px;display:flex;font-size:13px;gap:12px;justify-content:space-between;margin-top:10px;padding:10px 12px}.actual-cargo-links button{background:#009ebe;border:0;border-radius:10px;color:#fff;font:inherit;font-size:12px;font-weight:800;padding:8px 12px}.actual-lorry-map-card{padding:14px 16px}.actual-map-warning{background:#fffaf0;border:1px solid #f7df8a;border-radius:12px;color:#a86335;margin-top:14px;padding:14px}.actual-map-warning p{font-size:13px;margin:8px 0 0}.actual-lorry-table{overflow:hidden}.actual-lorry-table-head{margin:0;padding:14px 16px}.actual-lorry-table-head a{background:#4fb4d1;font-size:12px;padding:9px 13px}.actual-lorry-row{align-items:center;background:#0000;border:0;border-top:1px solid #f0f4fa;color:#3d4a5c;display:grid;font-size:12.5px;font:inherit;grid-template-columns:1.4fr 1.2fr .9fr .9fr 1.2fr 1fr 36px;padding:13px 16px;text-align:left;width:100%}.actual-lorry-row.header{color:#9aa8bd;font-size:10.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.vehicle-cell{grid-gap:2px 10px;align-items:center;display:grid;gap:2px 10px;grid-template-columns:34px 1fr}.vehicle-cell i{background:#f3f8ff;border-radius:9px;display:grid;grid-row:span 2;height:34px;place-items:center;width:34px}.vehicle-cell b{color:#3d4a5c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;letter-spacing:.02em}.vehicle-cell small{color:#6b7a8f}.idle-dot{background:#9aa8bd;border-radius:999px;display:inline-block;height:6px;margin-right:5px;width:6px}.actual-page-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px}.lorry-page-card{border-color:#e6eef6;border-radius:18px}.actual-page-table{border:1px solid #eef2f7;border-radius:14px;display:grid;overflow:hidden}.actual-page-row{grid-gap:12px;align-items:center;background:#fff;border:0;border-top:1px solid #eef2f7;color:#374151;display:grid;font:inherit;font-size:13px;gap:12px;grid-template-columns:1.2fr 1fr 1fr 90px 120px;padding:13px 16px;text-align:left;width:100%}.actual-page-row.header,.actual-page-row:first-child{border-top:0}.actual-page-row.header{color:#9ca3af;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.actual-page-row b{color:#111827;display:block}.actual-page-row small{color:#6b7280;display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:3px}.green-dot{background:#16a34a;border-radius:999px;display:inline-block;height:7px;margin-right:6px;width:7px}.actual-mini-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.actual-mini-grid div{background:#f9fafb;border:1px solid #eef2f7;border-radius:12px;color:#374151;font-weight:800;padding:16px}.actual-bars{align-items:end;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #eef2f7;border-radius:14px;display:flex;gap:18px;height:180px;padding:24px}.actual-bars span{background:linear-gradient(180deg,#2563eb,#22cdee);border-radius:10px 10px 0 0;flex:1 1}.actual-map-canvas{background:linear-gradient(120deg,#0000 0 45%,#2563eb1a 45% 48%,#0000 48%),linear-gradient(45deg,#0000 0 35%,#22c55e1a 35% 38%,#0000 38%),#eff6ff;border:1px solid #dbeafe;border-radius:16px;margin-bottom:14px;min-height:360px;overflow:hidden;position:relative}.actual-map-canvas span{background:#fff;border-radius:999px;box-shadow:0 10px 24px #2563eb24;color:#1d4ed8;font-size:12px;font-weight:900;padding:10px 12px;position:absolute}.actual-map-canvas span:first-child{left:12%;top:24%}.actual-map-canvas span:nth-child(2){right:14%;top:46%}.actual-map-canvas span:nth-child(3){bottom:18%;left:38%}@media (max-width:1120px){.actual-bus-header,.actual-lorry-top{align-items:flex-start;flex-direction:column}.actual-bus-actions,.actual-lorry-top-actions{flex-wrap:wrap;margin-left:0}.actual-bus-tabs{flex-wrap:wrap}.actual-bus-card-grid,.actual-bus-stat-grid,.actual-lorry-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:780px){.actual-lorry-demo{display:block}.actual-lorry-side{display:none}.actual-bus-actions,.actual-lorry-table-head,.actual-lorry-top-actions,.actual-school-trip,.actual-section-head{align-items:stretch;flex-direction:column}.actual-lorry-search,.actual-search{width:100%}.actual-bus-card-grid,.actual-bus-stat-grid,.actual-lorry-kpis{grid-template-columns:1fr}.actual-bus-main,.actual-lorry-content{padding:16px}.actual-lorry-table{overflow-x:auto}.actual-lorry-row{min-width:760px}}.actual-an-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:18px}.actual-an-head h2{color:#111827;font-size:22px;margin:0}.actual-an-head p{color:#6b7280;font-size:13px;margin:4px 0 0}.actual-range{background:#fff;border:1px solid #e5e7eb;border-radius:11px;display:flex;gap:3px;padding:3px}.actual-range button{background:#0000;border:0;border-radius:8px;color:#6b7280;cursor:pointer;font:inherit;font-size:13px;font-weight:800;padding:7px 14px}.actual-range button.active{background:#2563eb;color:#fff}.actual-an-sub{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.actual-an-sub button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:11px;color:#6b7280;cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-weight:800;gap:8px;padding:10px 16px}.actual-an-sub button svg{height:14px;width:14px}.actual-an-sub button.active{background:#eff6ff;border-color:#2563eb;color:#2563eb}.actual-kpi-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.actual-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px}.actual-kpi .kpi-ic{border-radius:10px;display:grid;height:34px;margin-bottom:12px;place-items:center;width:34px}.actual-kpi .kpi-ic svg{color:#fff;height:16px;width:16px}.actual-kpi.tone-blue .kpi-ic{background:#2563eb}.actual-kpi.tone-green .kpi-ic{background:#16a34a}.actual-kpi.tone-amber .kpi-ic{background:#d97706}.actual-kpi.tone-violet .kpi-ic{background:#7c3aed}.actual-kpi.tone-red .kpi-ic{background:#dc2626}.actual-kpi p{color:#6b7280;font-size:12px;font-weight:800;margin:0}.actual-kpi .kpi-val{align-items:baseline;display:flex;gap:5px;margin-top:6px}.actual-kpi .kpi-val strong{color:#111827;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:24px}.actual-kpi .kpi-val em{color:#9ca3af;font-size:12px;font-style:normal}.actual-kpi .kpi-note{color:#9ca3af;display:block;font-size:12px;font-weight:700;margin-top:8px}.actual-an-grid2{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}.actual-card2{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:14px;padding:18px}.actual-card2.nopad{overflow:hidden;padding:6px 0 0}.actual-card2 h3{color:#111827;font-size:14px;margin:0 0 16px}.actual-info-box{background:#fffaf0;border:1px solid #f7df8a;border-radius:12px;color:#92600c;font-size:13px;line-height:1.5;margin-bottom:16px;padding:14px 16px}.actual-donut-row{align-items:center;display:flex;flex-wrap:wrap;gap:18px}.actual-donut .dn-v{fill:#111827;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;font-weight:800}.actual-donut .dn-l{fill:#9ca3af;font-size:10px}.actual-legend{grid-gap:9px;display:grid;gap:9px}.actual-legend span{align-items:center;color:#374151;display:flex;font-size:12.5px;font-weight:700;gap:8px}.actual-legend i{border-radius:3px;height:9px;width:9px}.actual-hbars{grid-gap:12px;display:grid;gap:12px}.actual-hbar{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:150px 1fr 64px}.actual-hbar .hb-l{color:#374151;font-size:12.5px;font-weight:700}.actual-hbar .hb-track{background:#f1f5f9;border-radius:99px;height:10px;overflow:hidden}.actual-hbar .hb-track span{border-radius:99px;display:block;height:100%}.actual-hbar .hb-v{color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:800;text-align:right}.actual-vbars{align-items:end;display:flex;gap:18px;height:170px;padding-top:8px}.actual-vbars .vb{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;height:100%;justify-content:end}.actual-vbars .vb-bar{background:linear-gradient(180deg,#2563eb,#22cdee);border-radius:8px 8px 0 0;width:100%}.actual-vbars .vb small{color:#9ca3af;font-size:11px;font-weight:800}.an-route-row{grid-template-columns:1.6fr 1fr .9fr .7fr 1.1fr 1fr}.an-driver-row{grid-template-columns:1.4fr 1.2fr .8fr .8fr .8fr .7fr .8fr}.an-inc-row{grid-template-columns:.8fr 1fr 1.4fr 1fr}.mr-row{grid-template-columns:1.4fr 1fr 1fr 1fr}.trip-row{grid-template-columns:.9fr 1.2fr 1fr .8fr 1fr}.cargo-row{grid-template-columns:.9fr 1.2fr 1.6fr .6fr 1fr 1fr}.actual-page-row.mr-row.total{background:#f9fafb;color:#111827;font-weight:800}.flag-pill,.rate-badge,.sc-badge,.sev-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-style:normal;font-weight:900;gap:5px;padding:3px 9px}.sc-eff{background:#dcfce7;color:#166534}.sc-watch{background:#cffafe;color:#0e7490}.sc-concern{background:#fef3c7;color:#92600c}.sc-bad,.sev-high{background:#fee2e2;color:#b91c1c}.sev-med{background:#fef3c7;color:#92600c}.sev-low{background:#dcfce7;color:#166534}.flag-pill{background:#fff1f2;color:#be123c}.muted{color:#9ca3af}.mini-track{background:#f1f5f9;height:8px;overflow:hidden}.mini-track,.mini-track span{border-radius:99px;display:block}.mini-track span{height:100%}.stars{color:#f59e0b;font-size:13px;letter-spacing:1px}.stars .dim{color:#e5e7eb}.actual-podium{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-bottom:14px}.actual-podium .pod{grid-gap:4px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;display:grid;gap:4px;justify-items:center;padding:18px;text-align:center}.actual-podium .pod-1{background:linear-gradient(180deg,#fffbeb,#fff);border-color:#fcd34d}.actual-podium .medal{font-size:24px}.actual-podium .pod-av{background:#2563eb;border-radius:12px;color:#fff;display:grid;font-size:14px;font-weight:900;height:44px;margin:4px 0;place-items:center;width:44px}.actual-podium .pod strong{color:#111827;font-size:14px}.actual-podium .pod small{color:#6b7280;font-size:12px}.actual-podium .pod-score{color:#374151;font-size:12px;font-weight:800;margin-top:4px}.st-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-style:normal;font-weight:900;gap:6px;padding:3px 9px}.st-badge em{background:currentColor;border-radius:999px;height:6px;width:6px}.st-ontrip{background:#dcfce7;color:#15803d}.st-idle{background:#eef2f7;color:#6b7a8f}.st-maint{background:#fff7ed;color:#c2410c}.st-done{background:#ede9fe;color:#6d28d9}.rate-badge{margin-left:6px}.rate-exc{background:#dcfce7;color:#166534}.rate-good{background:#cffafe;color:#0e7490}.rate-fair{background:#fef3c7;color:#92600c}.rate-poor{background:#fee2e2;color:#b91c1c}.dmg-ok{color:#16a34a}.dmg-bad,.dmg-ok{font-style:normal;font-weight:800}.dmg-bad{color:#dc2626}.driver-list-row{grid-template-columns:1fr}.driver-list-row .vehicle-cell i{color:#009ebe;font-size:12px;font-weight:900}.refuel-row{grid-template-columns:1fr auto}.refuel-row .refuel-x{color:#3d4a5c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;text-align:right}.incident-row{align-items:flex-start;grid-template-columns:1fr auto}.incident-row .inc-main{align-items:center;color:#3d4a5c;display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.incident-row .inc-main b{color:#0f1b2d}.incident-row .inc-main small{color:#6b7a8f;flex-basis:100%;font-size:12px;margin-top:2px}.incident-row .inc-meta{color:#6b7a8f;font-size:12px;font-weight:700;text-align:right}.incident-row .inc-meta small{color:#9aa8bd;display:block;font-weight:600;margin-top:2px}.actual-settings-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.actual-settings-grid h2{font-size:14px;margin:0 0 12px}.set-line{color:#3d4a5c;font-size:13px;margin:0 0 6px}.set-line.mono{color:#009ebe;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media (max-width:1120px){.actual-an-grid2,.actual-kpi-grid,.actual-podium,.actual-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:780px){.actual-an-grid2,.actual-kpi-grid,.actual-podium,.actual-settings-grid{grid-template-columns:1fr}.actual-hbar{grid-template-columns:110px 1fr 48px}}.reports-admin{min-height:100vh}.reports-admin .reports-shell{background:radial-gradient(circle at 8% 0,#22cdee1a,#0000 30%),var(--bg);min-height:100vh;padding:24px 28px 56px}.reports-admin .reports-topbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111726d6;border:1px solid var(--line);border-radius:var(--r-lg);display:flex;gap:16px;height:66px;justify-content:space-between;margin-bottom:28px;padding:0 16px}.reports-admin .back-to-admin{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;color:var(--text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:800;gap:9px;padding:10px 14px}.reports-admin .back-to-admin:hover{border-color:var(--brand);color:#fff}.reports-admin .reports-brand{align-items:center;color:var(--text);display:inline-flex;font-weight:800;gap:10px;margin-left:auto}.reports-admin .reports-brand-mark{background:var(--grad);border-radius:9px;color:#06121f;display:grid;height:32px;place-items:center;width:32px}.reports-admin .reports-brand span:last-child{background:var(--grad-soft);border:1px solid var(--line-2);border-radius:7px;color:var(--cyan);font-size:10px;letter-spacing:.08em;padding:4px 8px}.reports-admin .reports-header{margin:0 0 18px}.reports-admin .reports-header h1{align-items:center;color:var(--text);display:flex;font-size:28px;font-weight:800;gap:12px;margin:0}.reports-admin .reports-header p{color:var(--muted);font-size:14.5px;margin:8px 0 0}.reports-admin .reports-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0}.reports-admin .ban-info,.reports-admin .detail-section,.reports-admin .history-item,.reports-admin .report-card,.reports-admin .report-detail,.reports-admin .reports-list,.reports-admin .stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--text)}.reports-admin .stat-card{padding:20px 22px}.reports-admin .stat-card h3{color:var(--cyan);font-family:Geist Mono,monospace;font-size:30px;margin:0 0 8px}.reports-admin .detail-section p,.reports-admin .history-date,.reports-admin .report-card-body p,.reports-admin .report-date,.reports-admin .report-description,.reports-admin .report-detail-empty p,.reports-admin .reports-empty,.reports-admin .reports-header p,.reports-admin .stat-card p{color:var(--muted)!important}.reports-admin .reports-filters{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}.reports-admin .ban-controls select,.reports-admin .detail-section textarea,.reports-admin .reports-filters select{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;color:var(--text);font-family:inherit}.reports-admin .reports-filters select{min-width:170px;padding:10px 14px}.reports-admin .reports-content{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(320px,410px) minmax(0,1fr)}.reports-admin .report-detail,.reports-admin .reports-list{max-height:calc(100vh - 310px);overflow-y:auto}.reports-admin .reports-list{padding:14px}.reports-admin .report-card{background:var(--surface-2);box-shadow:none;cursor:pointer;margin-bottom:12px;padding:15px}.reports-admin .report-card.selected,.reports-admin .report-card:hover{border-color:var(--brand)}.reports-admin .report-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.reports-admin .detail-section h3,.reports-admin .history-item p,.reports-admin .report-detail h2,.reports-admin .report-type{color:var(--text)}.reports-admin .report-status{border-radius:999px;color:#fff;font-size:11px;font-weight:800;padding:4px 12px;text-transform:uppercase}.reports-admin .report-detail{padding:22px}.reports-admin .report-detail h2{border-bottom:1px solid var(--line);margin-top:0;padding-bottom:12px}.reports-admin .ban-info,.reports-admin .detail-section,.reports-admin .history-item{background:var(--surface-2);border-radius:var(--r);box-shadow:none;margin-bottom:16px;padding:15px}.reports-admin .detail-section textarea{padding:12px;resize:vertical;width:100%}.reports-admin .action-buttons{display:flex;flex-direction:column;gap:12px}.reports-admin .ban-controls{align-items:center;display:flex;gap:10px}.reports-admin .ban-controls select{flex:1 1;padding:12px}.reports-admin .btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:800;padding:12px 20px}.reports-admin .btn-primary,.reports-admin .btn-success{background:var(--grad);color:#06121f}.reports-admin .btn-warning{background:var(--amber);color:#06121f}.reports-admin .btn-danger{background:var(--red);color:#fff}.reports-admin .report-detail-empty,.reports-admin .reports-empty{padding:24px}.reports-admin .reports-loading{grid-gap:14px;color:var(--muted);display:grid;gap:14px;min-height:100vh;place-items:center}.reports-admin .reports-spinner{animation:spin .8s linear infinite;border:3px solid #3b9cff29;border-radius:50%;border-top:3px solid var(--brand);height:34px;width:34px}@media (max-width:900px){.reports-admin .reports-content,.reports-admin .reports-stats{grid-template-columns:1fr}.reports-admin .report-detail,.reports-admin .reports-list{max-height:none}}.activity-admin{min-height:100vh}.activity-admin .activity-shell{background:radial-gradient(circle at 8% 0,#22cdee1a,#0000 30%),var(--bg);min-height:100vh;padding:24px 28px 56px}.activity-admin .activity-topbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111726d6;border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px;min-height:66px;padding:12px 16px}.activity-admin .back-to-admin{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;color:var(--text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:800;gap:9px;padding:10px 14px}.activity-admin .back-to-admin:hover{border-color:var(--brand);color:#fff}.activity-admin .activity-brand{align-items:center;color:var(--text);display:inline-flex;font-weight:800;gap:10px}.activity-admin .activity-brand-mark{background:var(--grad);border-radius:9px;color:#06121f;display:grid;height:32px;place-items:center;width:32px}.activity-admin .activity-brand span:last-child{background:var(--grad-soft);border:1px solid var(--line-2);border-radius:7px;color:var(--cyan);font-size:10px;letter-spacing:.08em;padding:4px 8px}.activity-admin .activity-user{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-left:auto}.activity-admin .user-menu{align-items:center;color:var(--muted);display:inline-flex;font-size:13.5px;font-weight:700;gap:8px}.activity-admin .logout-btn{background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;color:var(--text);cursor:pointer;font-family:inherit;font-weight:800;padding:9px 13px}.activity-admin .logout-btn:hover{border-color:var(--red);color:var(--red)}.activity-admin .activity-header{margin-bottom:22px}.activity-admin .activity-header h1{align-items:center;color:var(--text);display:flex;font-size:28px;font-weight:800;gap:12px;margin:0}.activity-admin .activity-header p{color:var(--muted);font-size:14.5px;margin:8px 0 0}.activity-admin .header-icon,.activity-admin .storage-icon{color:var(--cyan)}.activity-admin .activity-loading,.activity-admin .breakdown-card,.activity-admin .clear-storage-section,.activity-admin .error-message,.activity-admin .org-selector-section,.activity-admin .storage-card,.activity-admin .type-breakdown{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--text)}.activity-admin .org-selector-section{align-items:center;display:flex;gap:16px;margin-bottom:24px;padding:18px}.activity-admin .breakdown-card h3,.activity-admin .breakdown-name,.activity-admin .org-select-label,.activity-admin .progress-label,.activity-admin .stat-value,.activity-admin .storage-card-header h2,.activity-admin .type-breakdown h3{color:var(--text)}.activity-admin .btn-secondary,.activity-admin .modal-content select,.activity-admin .org-select{background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;color:var(--text)}.activity-admin .org-select{flex:1 1;font-family:inherit;font-weight:700;min-width:260px;padding:12px 16px}.activity-admin .btn-secondary{align-items:center;cursor:pointer;display:inline-flex;font-family:inherit;font-weight:800;gap:8px;padding:12px 18px}.activity-admin .btn-secondary:hover:not(:disabled){background:var(--elev);border-color:var(--brand)}.activity-admin .btn-secondary:disabled{cursor:not-allowed;opacity:.6}.activity-admin .spinning{animation:spin 1s linear infinite}.activity-admin .clear-storage-section,.activity-admin .service-breakdown,.activity-admin .storage-overview,.activity-admin .type-breakdown{margin-bottom:24px}.activity-admin .breakdown-card,.activity-admin .clear-storage-section,.activity-admin .storage-card,.activity-admin .type-breakdown{padding:24px}.activity-admin .storage-card-header{align-items:center;display:flex;gap:12px;margin-bottom:24px}.activity-admin .breakdown-card h3,.activity-admin .storage-card-header h2,.activity-admin .type-breakdown h3{margin:0 0 16px}.activity-admin .progress-section{margin-bottom:24px}.activity-admin .breakdown-item,.activity-admin .breakdown-item-header,.activity-admin .breakdown-stats,.activity-admin .progress-header,.activity-admin .progress-stats{align-items:center;display:flex;gap:8px}.activity-admin .breakdown-item,.activity-admin .progress-header{justify-content:space-between}.activity-admin .breakdown-size,.activity-admin .progress-percentage{color:var(--cyan);font-weight:800}.activity-admin .progress-bar,.activity-admin .progress-bar-large{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;margin-bottom:8px;overflow:hidden;width:100%}.activity-admin .progress-bar-large{height:30px}.activity-admin .progress-bar{height:22px}.activity-admin .progress-fill,.activity-admin .progress-fill-large{background:var(--grad);border-radius:999px;height:100%;transition:width .3s ease}.activity-admin .progress-fill.firebase{background:linear-gradient(90deg,var(--amber),#ffd166)}.activity-admin .progress-fill-large.warning,.activity-admin .progress-fill.warning{background:linear-gradient(90deg,var(--red),#ff8d91)}.activity-admin .progress-fill-large.caution{background:linear-gradient(90deg,var(--amber),#ffd166)}.activity-admin .activity-loading span,.activity-admin .breakdown-stats,.activity-admin .clear-warning,.activity-admin .last-updated,.activity-admin .progress-stats,.activity-admin .stat-label{color:var(--muted)}.activity-admin .service-breakdown,.activity-admin .storage-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.activity-admin .breakdown-item,.activity-admin .stat-item{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:14px}.activity-admin .stat-value{display:block;font-size:20px;font-weight:800;margin-top:4px}.activity-admin .stat-value.warning{color:var(--amber)}.activity-admin .breakdown-list{display:flex;flex-direction:column;gap:12px}.activity-admin .breakdown-color{border-radius:4px;height:14px;width:14px}.activity-admin .warning-banner{align-items:center;background:var(--amber-dim);border:1px solid #f5a5244d;border-radius:var(--r);color:var(--amber);display:flex;font-weight:800;gap:12px;margin-bottom:24px;padding:16px 18px}.activity-admin .btn-danger{align-items:center;background:var(--red);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-weight:800;gap:8px;justify-content:center;padding:14px 22px}.activity-admin .btn-large{padding:18px 34px}.activity-admin .activity-loading{align-items:center;display:flex;font-size:14px;gap:16px;justify-content:center;min-height:170px;padding:30px}.activity-admin .activity-loading span,.activity-admin .activity-loading strong{display:block}.activity-admin .activity-spinner{animation:spin .8s linear infinite;border:3px solid #3b9cff29;border-radius:50%;border-top:3px solid var(--brand);height:34px;width:34px}.activity-admin .error-message{color:var(--muted);padding:28px}.activity-admin .last-updated{font-size:14px;text-align:center}.activity-admin .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03060cc2;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10000}.activity-admin .modal-content{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--text);max-width:520px;padding:28px;width:100%}.activity-admin .modal-content h3{color:var(--text);margin-top:0}.activity-admin .modal-content p,.activity-admin .modal-content ul{color:var(--muted)}.activity-admin .modal-warning{color:var(--amber)!important;font-weight:800}.activity-admin .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:840px){.activity-admin .org-selector-section{align-items:stretch;flex-direction:column}.activity-admin .activity-user{margin-left:0}}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:#e2e8f0}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.3}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bus-row:hover{background:#f8fafc!important}.action-link:hover,.tab-btn:hover{color:#111!important}.bus-tracking-content{display:flex;flex-direction:column;gap:32px;padding-top:20px}.school-selector{align-items:center;display:flex;gap:16px}.school-selector label{color:#303972;font-size:16px;font-weight:600}.school-selector select{background:#fff;border:2px solid #e2def9;border-radius:8px;color:#303972;cursor:pointer;font-size:16px;min-width:300px;padding:12px 16px}.school-selector select:focus{border-color:#5041bc;outline:none}.buses-list h2{color:#04103b;font-size:24px;font-weight:700;margin-bottom:16px}.buses-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.bus-card{background:#fff;border:2px solid #e2def9;border-radius:16px;cursor:pointer;padding:24px;transition:all .3s ease}.bus-card:hover{border-color:#5041bc;box-shadow:0 4px 12px #5041bc1a;transform:translateY(-2px)}.bus-card.selected{background:#f5f3ff;border-color:#5041bc}.bus-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.bus-card-header h3{color:#04103b;font-size:20px;font-weight:700;margin:0}.bus-plate{background:#e2def9;border-radius:8px;color:#5041bc;font-size:14px;font-weight:600;letter-spacing:1px;padding:4px 12px}.bus-card-stats{display:flex;flex-direction:column;gap:8px}.stat{display:flex;font-size:14px;justify-content:space-between}.stat-label{color:#797d8c;font-weight:500}.stat-value{color:#303972;font-weight:600}.stat.active-route .stat-value{color:#43be83}.bus-details{background:#fff;border:2px solid #e2def9;border-radius:16px;padding:32px}.bus-details h2{color:#04103b;font-size:24px;font-weight:700;margin-bottom:24px}.details-section{margin-bottom:32px}.details-section h3{color:#303972;font-size:20px;font-weight:700;margin-bottom:16px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{color:#797d8c;font-size:12px;font-weight:600;text-transform:uppercase}.info-value{color:#303972;font-size:16px;font-weight:600}.children-list{display:flex;flex-direction:column;gap:12px}.child-item{align-items:center;background:#f5f3ff;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.child-name{color:#303972;font-size:16px;font-weight:600}.child-status{border-radius:8px;font-size:12px;font-weight:600;padding:4px 12px}.child-status.picked_up{background:#b5ffce;color:#43be83}.child-status.dropped_off{background:#d3cbfb;color:#5041bc}.child-status.not_picked{background:#ffd9d7;color:#ea8f95}.attendance-list{display:flex;flex-direction:column;gap:16px}.attendance-item{background:#f5f3ff;border-left:4px solid #5041bc;border-radius:12px;padding:20px}.attendance-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.attendance-date{color:#04103b;font-size:18px;font-weight:700}.attendance-route{background:#fff;border-radius:8px;color:#5041bc;font-size:14px;font-weight:600;padding:4px 12px}.attendance-times{color:#797d8c;display:flex;font-size:14px;gap:16px;margin-bottom:12px}.attendance-summary{color:#303972;font-size:14px;font-weight:600}.empty-state,.loading{color:#797d8c;font-size:16px;padding:40px;text-align:center}.empty-state{font-style:italic}.bus-search{margin-bottom:24px}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#797d8c;font-size:16px;left:16px;position:absolute}.bus-search-input{background:#fff;border:2px solid #e2def9;border-radius:8px;color:#303972;font-size:16px;padding:12px 16px 12px 48px;transition:border-color .3s ease;width:100%}.bus-search-input:focus{border-color:#5041bc;outline:none}.section-header-with-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.attendance-actions{display:flex;gap:12px}.action-btn{align-items:center;background:#5041bc;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;transition:all .3s ease}.action-btn:hover{background:#3d2f9a;transform:translateY(-1px)}.share-btn{background:#43be83}.share-btn:hover{background:#35a06d}.attendance-item-actions{display:flex;gap:8px}.action-btn-icon{align-items:center;background:#f5f3ff;border:2px solid #e2def9;border-radius:8px;color:#5041bc;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .3s ease;width:36px}.action-btn-icon:hover{background:#5041bc;border-color:#5041bc;color:#fff}.attendance-summary{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:16px}.summary-item{border-radius:6px;font-size:14px;font-weight:600;padding:6px 12px}.summary-item.picked{background:#b5ffce;color:#43be83}.summary-item.dropped{background:#d3cbfb;color:#5041bc}.summary-item.not-picked{background:#ffd9d7;color:#ea8f95}.attendance-children-detail{border-top:1px solid #e2def9;margin-top:16px;padding-top:16px}.attendance-children-detail h4{color:#303972;font-size:16px;font-weight:600;margin-bottom:12px}.children-detail-list{display:flex;flex-direction:column;gap:8px}.child-detail-item{align-items:center;background:#fff;border:1px solid #e2def9;border-radius:8px;display:flex;gap:16px;padding:10px 12px}.child-detail-name{color:#303972;flex:1 1;font-size:14px;font-weight:600}.child-detail-status{border-radius:6px;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.child-detail-status.picked_up{background:#b5ffce;color:#43be83}.child-detail-status.dropped_off{background:#d3cbfb;color:#5041bc}.child-detail-status.not_picked{background:#ffd9d7;color:#ea8f95}.child-detail-time{color:#797d8c;font-size:12px;white-space:nowrap}.trip-modal{background:linear-gradient(180deg,#f8f4ff,#f0f0ff)}.trip-modal-header{background:#fff;border-bottom:1px solid #e2dfff;box-shadow:0 2px 12px #5041bc14}.trip-card{background:#fff;border:1px solid #f0ebff;border-radius:24px;box-shadow:0 10px 30px -10px #5041bc1f}.form-label{color:#5041bc;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.student-list-item{transition:all .2s cubic-bezier(.4,0,.2,1)}.student-list-item:hover{background:#f8f4ff;box-shadow:0 4px 12px #5041bc1a;transform:translateY(-1px)}.primary-cta{background:#ff6b00!important;border-color:#ff6b00!important;box-shadow:0 4px 15px #ff6b004d}.primary-cta:hover{background:#e55f00!important;border-color:#e55f00!important;transform:translateY(-2px)}.pear-analytics{--surface:#fff;--surface-2:#f8f9fb;--border:#e9ebef;--ink:#101729;--ink-2:#59616f;--ink-3:#99a1ae;--blue:#2563eb;--blue-ink:#1d4ed8;--blue-bg:#eef3ff;--blue-bg-2:#e0eaff;--green:#16a34a;--green-ink:#15803d;--green-bg:#e8f6ee;--amber:#d97706;--amber-bg:#fdf2e3;--red:#dc2626;--red-bg:#fdecec;--r-lg:16px;--r:12px;--shadow-sm:0 1px 2px #1018280d;-webkit-font-smoothing:antialiased;color:var(--ink);font-family:Geist,system-ui,-apple-system,sans-serif}.pear-analytics .mono{font-family:Geist Mono,ui-monospace,monospace}.pear-analytics .an-head{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:18px;padding:20px 32px}.pear-analytics .an-title{font-size:21px;font-weight:800;letter-spacing:-.02em}.pear-analytics .an-sub{color:var(--ink-3);font-size:12.5px;margin-top:2px}.pear-analytics .an-range{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;display:flex;gap:3px;margin-left:auto;padding:3px}.pear-analytics .an-range button{background:#0000;border:none;border-radius:7px;color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 14px}.pear-analytics .an-range button.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink)}.pear-analytics .subtabs{background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:4px;padding:0 32px}.pear-analytics .subtabs button{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:var(--ink-2);cursor:pointer;display:flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:8px;padding:14px 16px}.pear-analytics .subtabs button svg{fill:currentColor;height:14px;width:14px}.pear-analytics .subtabs button:hover{color:var(--ink)}.pear-analytics .subtabs button.active{border-bottom-color:var(--blue);color:var(--blue)}.pear-analytics .an-body{margin:0 auto;max-width:1240px;padding:26px 32px 56px;width:100%}.pear-analytics .kpi-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:22px}.pear-analytics .kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;padding:18px 20px;position:relative}.pear-analytics .kpi-k{align-items:center;color:var(--ink-3);display:flex;font-size:11.5px;font-weight:600;gap:7px;letter-spacing:.04em;text-transform:uppercase}.pear-analytics .kpi-k .gi{border-radius:7px;display:grid;height:22px;place-items:center;width:22px}.pear-analytics .kpi-k .gi svg{height:12px;width:12px}.pear-analytics .kpi-v{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1;margin-top:12px}.pear-analytics .kpi-v small{color:var(--ink-3);font-size:14px;font-weight:600}.pear-analytics .kpi-d{align-items:center;display:flex;font-size:12px;font-weight:600;gap:5px;margin-top:9px}.pear-analytics .kpi-d.up{color:var(--green)}.pear-analytics .kpi-d.down{color:var(--red)}.pear-analytics .kpi-d.flat{color:var(--ink-3)}.pear-analytics .kpi-d svg{fill:currentColor;height:12px;width:12px}.pear-analytics .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.pear-analytics .card-pad{padding:20px 22px}.pear-analytics .card-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.pear-analytics .card-title{font-size:15px;font-weight:700;letter-spacing:-.01em}.pear-analytics .card-note{color:var(--ink-3);font-size:12px}.pear-analytics .grid-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.5fr 1fr}.pear-analytics .grid-2b{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.pear-analytics .legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}.pear-analytics .legend span{align-items:center;color:var(--ink-2);display:flex;font-size:12px;font-weight:500;gap:6px}.pear-analytics .legend i{border-radius:3px;height:9px;width:9px}.pear-analytics .tbl{border-collapse:collapse;font-size:13px;width:100%}.pear-analytics .tbl thead th{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--ink-3);font-size:11px;font-weight:700;letter-spacing:.04em;padding:12px 16px;text-align:left;text-transform:uppercase}.pear-analytics .tbl tbody td{border-bottom:1px solid var(--border);color:var(--ink-2);padding:13px 16px}.pear-analytics .tbl tbody tr:last-child td{border-bottom:none}.pear-analytics .tbl tbody tr:hover{background:var(--surface-2)}.pear-analytics .tbl .name{color:var(--ink);font-weight:600}.pear-analytics .dotcell{border-radius:50%;display:inline-block;height:8px;width:8px}.pear-analytics .score-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:3px 11px 3px 9px}.pear-analytics .score-badge b{font-size:13px}.pear-analytics .sb-good{background:var(--green-bg);color:var(--green-ink)}.pear-analytics .sb-watch{background:#fefce8;color:#a16207}.pear-analytics .sb-concern{background:var(--amber-bg);color:var(--amber)}.pear-analytics .sb-bad{background:var(--red-bg);color:var(--red)}.pear-analytics .flagpill{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;color:var(--ink-2);display:inline-block;font-size:11px;font-weight:600;margin-right:4px;padding:2px 9px}.pear-analytics .flagpill.warn{background:var(--amber-bg);border-color:#0000;color:var(--amber)}.pear-analytics .flagpill.bad{background:var(--red-bg);border-color:#0000;color:var(--red)}.pear-analytics .minibar{background:var(--surface-2);border-radius:99px;display:inline-block;height:6px;overflow:hidden;vertical-align:middle;width:84px}.pear-analytics .minibar>div{border-radius:99px;height:100%}.pear-analytics .minibar-wrap{align-items:center;display:flex;gap:8px}.pear-analytics .minibar-wrap b{font-size:12px;width:22px}.pear-analytics .severity{border-radius:999px;display:inline-block;font-size:12px;font-weight:600;padding:3px 11px}.pear-analytics .sev-critical,.pear-analytics .sev-high{background:var(--red-bg);color:var(--red)}.pear-analytics .sev-medium{background:var(--amber-bg);color:var(--amber)}.pear-analytics .sev-low{background:var(--green-bg);color:var(--green-ink)}.pear-analytics .stars{color:#f59e0b;font-size:14px;letter-spacing:1px}.pear-analytics .podium{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:18px}.pear-analytics .pod{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:20px;position:relative;text-align:center}.pear-analytics .pod.first{border-color:#f5d77f;box-shadow:0 0 0 1px #f5d77f,var(--shadow-sm)}.pear-analytics .pod-rank{color:var(--ink-3);font-size:13px;font-weight:800;left:16px;position:absolute;top:14px}.pear-analytics .pod-medal{font-size:20px;position:absolute;right:14px;top:12px}.pear-analytics .pod-av{border-radius:16px;color:#fff;display:grid;font-size:20px;font-weight:700;height:56px;margin-bottom:12px;place-items:center;width:56px}.pear-analytics .pod-name{font-size:15px;font-weight:700}.pear-analytics .pod-role{color:var(--ink-3);font-size:12px;margin-top:1px}.pear-analytics .pod-stars{margin-top:10px}.pear-analytics .pod-score{color:var(--ink-2);font-size:12px;margin-top:8px}.pear-analytics .pod-score b{color:var(--ink)}.pear-analytics .scrolltbl{overflow-x:auto}.pear-analytics .filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.pear-analytics .select{background:var(--surface);border:1px solid var(--border);border-radius:9px;color:var(--ink);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 13px}.pear-analytics .filters .count{color:var(--ink-3);font-size:12px;font-weight:500;margin-left:auto}.pear-analytics .checkbox{align-items:center;color:var(--ink-2);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px}.pear-analytics .infobox{background:var(--blue-bg);border:1px solid var(--blue-bg-2);border-radius:var(--r);color:#1e40af;font-size:12.5px;line-height:1.6;margin-bottom:16px;padding:13px 16px}.pear-analytics .infobox b{color:var(--blue-ink)}.pear-analytics .hbar-row{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:160px 1fr 80px;padding:9px 0}.pear-analytics .hbar-lbl{color:var(--ink);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pear-analytics .hbar-track{background:var(--surface-2);border-radius:99px;height:12px;overflow:hidden}.pear-analytics .hbar-fill{border-radius:99px;height:100%;transition:width .6s ease}.pear-analytics .hbar-val{color:var(--ink-2);font-size:13px;font-weight:700;text-align:right}.pear-analytics .an-empty{color:var(--ink-3);padding:44px 24px;text-align:center}.pear-analytics .an-empty .t{color:var(--ink-2);font-size:15px;font-weight:700;margin-bottom:6px}.pear-analytics .an-loading{color:var(--ink-3);padding:40px;text-align:center}@media (max-width:900px){.pear-analytics .kpi-row{grid-template-columns:repeat(2,1fr)}.pear-analytics .grid-2,.pear-analytics .grid-2b,.pear-analytics .podium{grid-template-columns:1fr}}.pear-livemap{--bg:#f3f4f7;--surface:#fff;--surface-2:#f8f9fb;--border:#e9ebef;--border-strong:#dde0e6;--ink:#101729;--ink-2:#59616f;--ink-3:#99a1ae;--blue:#2563eb;--blue-ink:#1d4ed8;--blue-bg:#eef3ff;--green:#16a34a;--green-ink:#15803d;--green-bg:#e8f6ee;--amber:#d97706;--amber-bg:#fdf2e3;--red:#dc2626;--red-bg:#fdecec;--r-lg:16px;--r:12px;--r-sm:9px;--shadow-sm:0 1px 2px #1018280d;--shadow:0 1px 3px #1018280f,0 8px 24px -10px #1018281f;-webkit-font-smoothing:antialiased;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);color:var(--ink);display:flex;flex-direction:row;font-family:Geist,system-ui,-apple-system,sans-serif;height:calc(100vh - 150px);min-height:560px;overflow:hidden}.pear-livemap .mono{font-family:Geist Mono,ui-monospace,monospace}.pear-livemap .fleet-rail{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;min-height:0;width:312px}.pear-livemap .rail-head{border-bottom:1px solid var(--border);padding:18px 18px 14px}.pear-livemap .rail-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.pear-livemap .rail-title{font-size:16px;font-weight:700;letter-spacing:-.01em}.pear-livemap .rail-count{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;color:var(--ink-2);font-size:12px;font-weight:600;padding:3px 9px}.pear-livemap .rail-search{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;color:var(--ink);display:flex;font-size:13px;gap:9px;padding:8px 11px}.pear-livemap .rail-search svg{fill:var(--ink-3);flex-shrink:0;height:14px;width:14px}.pear-livemap .rail-search input{background:#0000;border:none;color:var(--ink);font-family:inherit;font-size:13px;outline:none;width:100%}.pear-livemap .rail-search input::placeholder{color:var(--ink-3)}.pear-livemap .seg{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;display:flex;gap:3px;margin-top:12px;padding:3px}.pear-livemap .seg button{background:#0000;border:none;border-radius:6px;color:var(--ink-2);cursor:pointer;flex:1 1;font-family:inherit;font-size:12px;font-weight:600;padding:6px 4px}.pear-livemap .seg button.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink)}.pear-livemap .rail-list{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:10px}.pear-livemap .bus-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;overflow:hidden;padding:13px 14px 13px 16px;position:relative;transition:border-color .15s,box-shadow .15s}.pear-livemap .bus-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.pear-livemap .bus-card.selected{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue),var(--shadow)}.pear-livemap .bus-card:before{background:var(--ink-3);background:var(--clr,var(--ink-3));bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.pear-livemap .bc-top{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.pear-livemap .bc-name{font-size:14px;font-weight:700;letter-spacing:-.01em}.pear-livemap .bc-plate{color:var(--ink-3);font-size:11.5px;margin-top:1px}.pear-livemap .bc-status{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:5px;padding:3px 8px;white-space:nowrap}.pear-livemap .bc-status .dot{border-radius:50%;height:6px;width:6px}.pear-livemap .st-live{background:var(--green-bg);color:var(--green-ink)}.pear-livemap .st-live .dot{background:var(--green);box-shadow:0 0 0 3px #16a34a2e}.pear-livemap .st-stale{background:var(--amber-bg);color:var(--amber)}.pear-livemap .st-stale .dot{background:var(--amber)}.pear-livemap .st-lost{background:var(--red-bg);color:var(--red)}.pear-livemap .st-lost .dot{background:var(--red)}.pear-livemap .st-idle{background:var(--surface-2);border:1px solid var(--border);color:var(--ink-2)}.pear-livemap .st-idle .dot{background:var(--ink-3)}.pear-livemap .bc-meta{align-items:center;display:flex;gap:8px;margin-top:11px}.pear-livemap .chip{border-radius:6px;font-size:11px;font-weight:600;padding:3px 8px}.pear-livemap .chip-morning{background:#fdf2e3;color:#b45309}.pear-livemap .chip-evening{background:#efe9ff;color:#6d28d9}.pear-livemap .bc-board{color:var(--ink-2);font-size:11.5px;font-weight:600;margin-left:auto}.pear-livemap .bc-prog{background:var(--surface-2);border-radius:99px;height:5px;margin-top:11px;overflow:hidden}.pear-livemap .bc-prog>div{background:var(--blue);background:var(--clr,var(--blue));border-radius:99px;height:100%}.pear-livemap .bc-progmeta{color:var(--ink-3);display:flex;font-size:10.5px;font-weight:500;justify-content:space-between;margin-top:6px}.pear-livemap .rail-empty{color:var(--ink-3);font-size:13px;padding:30px 18px;text-align:center}.pear-livemap .map-wrap{background:#e9eef3;flex:1 1;min-width:0;position:relative}.pear-livemap .map-canvas{inset:0;position:absolute}.pear-livemap .map-topbar{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;left:16px;pointer-events:none;position:absolute;right:16px;top:16px;z-index:5}.pear-livemap .glass{backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);background:#ffffffd1;border:1px solid #fff9;box-shadow:var(--shadow)}.pear-livemap .map-crumb{align-items:center;border-radius:12px;display:flex;gap:12px;padding:10px 14px;pointer-events:auto}.pear-livemap .crumb-icon{background:linear-gradient(140deg,#3b82f6,#1d4ed8);border-radius:9px;display:grid;height:34px;place-items:center;width:34px}.pear-livemap .crumb-icon svg{fill:#fff;height:17px;width:17px}.pear-livemap .crumb-name{font-size:14px;font-weight:700;line-height:1.15}.pear-livemap .crumb-sub{color:var(--ink-2);font-size:11.5px}.pear-livemap .crumb-div{background:var(--border);height:30px;width:1px}.pear-livemap .crumb-stat{display:flex;flex-direction:column}.pear-livemap .crumb-stat b{font-size:14px;font-weight:700}.pear-livemap .crumb-stat b small{color:var(--ink-3);font-size:11px;font-weight:600}.pear-livemap .crumb-stat span{color:var(--ink-3);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pear-livemap .map-tools{align-items:flex-end;display:flex;flex-direction:column;gap:8px;pointer-events:auto}.pear-livemap .tool-group{border-radius:11px;display:flex;flex-direction:column;overflow:hidden}.pear-livemap .tool-group button{background:#0000;border:none;border-bottom:1px solid var(--border);color:var(--ink-2);cursor:pointer;display:grid;height:40px;place-items:center;width:40px}.pear-livemap .tool-group button:last-child{border-bottom:none}.pear-livemap .tool-group button:hover{background:#0000000a;color:var(--ink)}.pear-livemap .tool-group button svg{fill:currentColor;height:17px;width:17px}.pear-livemap .status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12.5px;font-weight:600;gap:8px;padding:8px 15px 8px 12px;pointer-events:auto}.pear-livemap .status-pill .dot{border-radius:50%;height:8px;width:8px}.pear-livemap .status-pill.live .dot{animation:pear-pulse 2s infinite;background:var(--green);box-shadow:0 0 0 4px #16a34a2e}.pear-livemap .status-pill.live{color:var(--green-ink)}.pear-livemap .status-pill.stale .dot{background:var(--amber)}.pear-livemap .status-pill.stale{color:var(--amber)}.pear-livemap .status-pill.lost .dot{background:var(--red)}.pear-livemap .status-pill.lost{color:var(--red)}.pear-livemap .status-pill .age{color:var(--ink-3);font-weight:500}@keyframes pear-pulse{0%,to{box-shadow:0 0 0 0 #16a34a4d}50%{box-shadow:0 0 0 6px #16a34a00}}.pear-livemap .trip-card{border-radius:var(--r-lg);bottom:16px;left:16px;max-width:calc(100% - 32px);padding:16px 18px;pointer-events:auto;position:absolute;width:360px;z-index:5}.pear-livemap .tc-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.pear-livemap .tc-head h4{color:var(--ink-3);font-size:11px;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.pear-livemap .tc-route{align-items:center;display:flex;gap:10px;margin-bottom:16px}.pear-livemap .tc-stop{align-items:center;display:flex;gap:9px;min-width:0}.pear-livemap .tc-stop .pin{border-radius:50%;flex-shrink:0;height:9px;width:9px}.pear-livemap .tc-stop .pin.start{background:var(--green)}.pear-livemap .tc-stop .pin.end{background:var(--blue);box-shadow:0 0 0 3px var(--blue-bg)}.pear-livemap .tc-stop .lbl{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pear-livemap .tc-line{background:repeating-linear-gradient(90deg,var(--border-strong) 0 5px,#0000 5px 10px);flex:1 1;height:2px}.pear-livemap .tc-grid{grid-gap:2px;border-top:1px solid var(--border);display:grid;gap:2px;grid-template-columns:1fr 1fr 1fr;padding-top:14px}.pear-livemap .tc-cell .k{color:var(--ink-3);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pear-livemap .tc-cell .v{font-size:16px;font-weight:700;letter-spacing:-.01em;margin-top:3px}.pear-livemap .tc-cell .v small{color:var(--ink-3);font-size:11px;font-weight:600}.pear-livemap .detail-panel{background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;min-height:0;width:320px}.pear-livemap .dp-head{border-bottom:1px solid var(--border);padding:18px 20px 16px}.pear-livemap .dp-eyebrow{color:var(--ink-3);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pear-livemap .dp-board{align-items:baseline;display:flex;gap:9px;margin-top:10px}.pear-livemap .dp-board b{font-size:30px;font-weight:800;letter-spacing:-.02em}.pear-livemap .dp-board span{color:var(--ink-2);font-size:14px;font-weight:600}.pear-livemap .dp-board .frac{color:var(--ink-3)}.pear-livemap .dp-bar{background:var(--surface-2);border-radius:99px;display:flex;height:7px;margin-top:13px;overflow:hidden}.pear-livemap .dp-bar>div{height:100%}.pear-livemap .dp-bar .got{background:var(--green)}.pear-livemap .dp-legend{display:flex;gap:16px;margin-top:11px}.pear-livemap .dp-legend span{align-items:center;color:var(--ink-2);display:flex;font-size:11.5px;font-weight:500;gap:6px}.pear-livemap .dp-legend i{border-radius:2px;display:inline-block;height:8px;width:8px}.pear-livemap .kids{flex:1 1;overflow-y:auto;padding:8px}.pear-livemap .kid{align-items:center;border-radius:11px;display:flex;gap:12px;padding:11px 12px}.pear-livemap .kid:hover{background:var(--surface-2)}.pear-livemap .kid-av{border-radius:11px;color:#fff;display:grid;flex-shrink:0;font-size:14px;font-weight:700;height:38px;place-items:center;width:38px}.pear-livemap .kid-info{flex:1 1;min-width:0}.pear-livemap .kid-name{font-size:13.5px;font-weight:600}.pear-livemap .kid-name,.pear-livemap .kid-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pear-livemap .kid-sub{color:var(--ink-3);font-size:11.5px}.pear-livemap .kid-pill{border-radius:999px;font-size:11px;font-weight:600;padding:4px 9px;white-space:nowrap}.pear-livemap .pill-picked{background:var(--green-bg);color:var(--green-ink)}.pear-livemap .pill-pending{background:var(--surface-2);border:1px solid var(--border);color:var(--ink-2)}.pear-livemap .pill-absent{background:var(--red-bg);color:var(--red)}.pear-livemap .pill-dropped{background:var(--blue-bg);color:var(--blue-ink)}.pear-livemap .kids-empty{color:var(--ink-3);font-size:12.5px;padding:24px 12px;text-align:center}.pear-livemap .dp-foot{border-top:1px solid var(--border);display:flex;gap:10px;padding:14px 16px}.pear-livemap .btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:13px;font-weight:600;gap:7px;justify-content:center;padding:11px}.pear-livemap .btn svg{fill:currentColor;height:14px;width:14px}.pear-livemap .btn-primary{background:var(--blue);color:#fff}.pear-livemap .btn-primary:hover{background:var(--blue-ink)}.pear-livemap .btn-ghost{background:var(--surface-2);border:1px solid var(--border);color:var(--ink)}.pear-livemap .btn-ghost:hover{background:#eef0f3}.pear-livemap-marker{height:0;position:relative;width:0}.pear-livemap-marker .ring{animation:pear-marker-pulse 2.2s ease-in-out infinite;background:#2563eb;border-radius:50%;height:52px;left:50%;margin:-26px 0 0 -26px;opacity:.18;position:absolute;top:50%;width:52px}.pear-livemap-marker.stale .ring{background:#d97706}.pear-livemap-marker.lost .ring{background:#dc2626}.pear-livemap-marker .disc{background:#fff;border-radius:50%;box-shadow:0 2px 8px #10182847;display:grid;height:38px;left:50%;margin:-19px 0 0 -19px;place-items:center;position:absolute;top:50%;width:38px}.pear-livemap-marker .disc .core{background:#2563eb;border-radius:50%;display:grid;height:32px;place-items:center;width:32px}.pear-livemap-marker.stale .disc .core{background:#d97706}.pear-livemap-marker.lost .disc .core{background:#dc2626}.pear-livemap-marker .disc svg{fill:#fff;height:17px;width:17px}@keyframes pear-marker-pulse{0%{opacity:.28;transform:scale(.7)}70%{opacity:0;transform:scale(1.25)}to{opacity:0;transform:scale(1.25)}}.pear-livemap .map-state{align-items:center;color:var(--ink-2);display:flex;flex-direction:column;gap:12px;inset:0;justify-content:center;padding:24px;position:absolute;text-align:center}.pear-livemap .map-state .ms-title{color:var(--ink);font-size:15px;font-weight:700}.pear-livemap .map-state .ms-sub{color:var(--ink-3);font-size:13px;max-width:340px}.pear-livemap .map-state code{background:var(--surface-2);border-radius:4px;font-size:12px;padding:1px 6px}.pear-livemap .map-banner{align-items:center;border-radius:10px;display:flex;font-size:12.5px;font-weight:600;gap:8px;left:16px;padding:8px 13px;pointer-events:none;position:absolute;right:16px;top:74px;z-index:6}.pear-livemap .map-banner.traffic{background:#fff7ed;border:1px solid var(--amber);color:#7c2d12}.pear-livemap .map-banner.lost{background:#fef2f2;border:1px solid var(--red);color:#7f1d1d}.pear-livemap .map-banner svg{fill:currentColor;height:14px;width:14px}@media (max-width:1100px){.pear-livemap .detail-panel{display:none}}@media (max-width:820px){.pear-livemap .fleet-rail{width:240px}}*{box-sizing:border-box;margin:0;padding:0}body{color:#1f192f;font-family:Nunito,sans-serif;line-height:1.6}.App,body{background:#f5f5f5}.App{min-height:100vh}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.p-4{padding:16px}.p-6{padding:24px}.m-4{margin:16px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.rounded{border-radius:8px}.rounded-lg{border-radius:12px}.rounded-xl{border-radius:16px}.shadow{box-shadow:0 4px 6px -1px #0000001a}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#5041bc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3d2f9a}button:focus,input:focus,textarea:focus{outline:2px solid #5041bc;outline-offset:2px}button{border:none;cursor:pointer;font-family:inherit;transition:all .3s ease}button:disabled{cursor:not-allowed;opacity:.6}input,textarea{border:1px solid #e2def9;border-radius:8px;font-family:inherit;font-size:14px;padding:12px 16px;transition:border-color .3s ease}input:focus,textarea:focus{border-color:#5041bc}a{color:#5041bc;text-decoration:none;transition:color .3s ease}a:hover{color:#3d2f9a}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.error-message,.success-message{font-size:14px;margin-bottom:16px;padding:12px 16px}.success-message{background:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;color:#059669}@media (max-width:768px){.hidden-mobile{display:none}.block-mobile{display:block}}@media (min-width:769px){.hidden-desktop{display:none}.block-desktop{display:block}}
/*# sourceMappingURL=main.41e30b07.css.map*/