@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-amber-600:oklch(66.6% .179 58.318);--color-green-100:oklch(96.2% .044 156.743);--color-green-700:oklch(52.7% .154 150.069);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-600:oklch(55.8% .288 302.321);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.-top-3{top:calc(var(--spacing) * -3)}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-8{margin-inline:calc(var(--spacing) * -8)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-px{height:1px}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-40{max-height:calc(var(--spacing) * 40)}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-\[32px\]{min-width:32px}.flex-1{flex:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-t-red-500{border-top-color:var(--color-red-500)}.bg-black{background-color:var(--color-black)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-10{padding-inline:calc(var(--spacing) * 10)}.px-12{padding-inline:calc(var(--spacing) * 12)}.px-16{padding-inline:calc(var(--spacing) * 16)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.text-\[\#6B778C\]{color:#6b778c}.text-\[\#334155\]{color:#334155}.text-\[\#CFD3D8\]{color:#cfd3d8}.text-amber-600{color:var(--color-amber-600)}.text-blue-700{color:var(--color-blue-700)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-700{color:var(--color-green-700)}.text-purple-600{color:var(--color-purple-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-50{opacity:.5}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.peer-placeholder-shown\:top-4:is(:where(.peer):-moz-placeholder~*){top:calc(var(--spacing) * 4)}.peer-placeholder-shown\:top-4:is(:where(.peer):placeholder-shown~*){top:calc(var(--spacing) * 4)}.peer-placeholder-shown\:left-4:is(:where(.peer):-moz-placeholder~*){left:calc(var(--spacing) * 4)}.peer-placeholder-shown\:left-4:is(:where(.peer):placeholder-shown~*){left:calc(var(--spacing) * 4)}.peer-placeholder-shown\:px-0:is(:where(.peer):-moz-placeholder~*){padding-inline:0}.peer-placeholder-shown\:px-0:is(:where(.peer):placeholder-shown~*){padding-inline:0}.peer-placeholder-shown\:text-base:is(:where(.peer):-moz-placeholder~*){font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.peer-placeholder-shown\:text-base:is(:where(.peer):placeholder-shown~*){font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.peer-placeholder-shown\:text-\[\#6B778C\]:is(:where(.peer):-moz-placeholder~*){color:#6b778c}.peer-placeholder-shown\:text-\[\#6B778C\]:is(:where(.peer):placeholder-shown~*){color:#6b778c}.peer-focus\:-top-3:is(:where(.peer):focus~*){top:calc(var(--spacing) * -3)}.peer-focus\:left-4:is(:where(.peer):focus~*){left:calc(var(--spacing) * 4)}.peer-focus\:px-1:is(:where(.peer):focus~*){padding-inline:var(--spacing)}.peer-focus\:text-sm:is(:where(.peer):focus~*){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.peer-focus\:text-\[\#334155\]:is(:where(.peer):focus~*){color:#334155}@media(hover:hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:text-\[\#6366F1\]:hover{color:#6366f1}.hover\:text-\[\#EF4444\]:hover{color:#ef4444}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-indigo-600:hover{color:var(--color-indigo-600)}.hover\:opacity-70:hover{opacity:.7}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}.app-container{display:flex;flex-direction:column;width:100%;min-height:100vh;height:100vh;height:100dvh}.main-content{flex:1;padding:24px}.main-content-full{flex:1;padding:0;width:100%;height:100%;min-height:100%;overflow:visible;position:relative;display:flex}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.snackbar{position:fixed;top:24px;right:24px;z-index:9999;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.snackbar-content{background-color:#f7444e;color:#fff;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:300px;max-width:500px}.snackbar-content.snackbar-success{background-color:#09b86a}.snackbar-message{font-family:Inter,sans-serif;font-size:14px;font-weight:400;flex:1}.snackbar-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;line-height:1;transition:opacity .2s}.snackbar-close:hover{opacity:.7}.add-route-name-overlay{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background-color:#00000080;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000;animation:fadeIn .2s ease-out;padding:20px;box-sizing:border-box;margin:0}.add-route-name-container{position:relative;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;width:719px;min-height:262px;padding:32px;animation:slideUp .3s ease-out;margin:auto;box-sizing:border-box;display:flex;flex-direction:column}.add-route-name-close{position:absolute;top:32px;right:32px;background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s;color:#191919}.add-route-name-close:hover{background-color:#f3f4f6}.add-route-name-close:active{background-color:#e5e7eb}.add-route-name-close:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.add-route-name-title{font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:#191919;margin:0 0 24px;padding-right:40px}.add-route-name-content{display:flex;flex-direction:column;gap:20px}.add-route-name-field{position:relative;display:flex;flex-direction:column;width:100%}.add-route-name-input{width:100%;padding:16px;border:1px solid #E5EBF3;border-radius:10px;font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#191919;background-color:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.add-route-name-input:focus{outline:none;border-color:#d9dde3;box-shadow:0 0 0 1px #d9dde3}.add-route-name-input-error{border-color:#dc2626}.add-route-name-input-error:focus{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.add-route-name-error{margin:6px 0 0;font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:#dc2626}.add-route-name-input::-moz-placeholder{color:transparent;font-family:Inter,sans-serif}.add-route-name-input::placeholder{color:transparent;font-family:Inter,sans-serif}.add-route-name-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#999;pointer-events:none;transition:all .2s ease;background-color:#fff;padding:0 4px}.add-route-name-input:focus+.add-route-name-label,.add-route-name-label-floating{top:0;transform:translateY(-50%);font-size:12px;color:#525d6f}.add-route-name-footer{display:flex;gap:12px;margin-top:auto;justify-content:flex-end}.add-route-name-button{width:166px;height:48px;padding:0;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent;display:flex;align-items:center;justify-content:center}.add-route-name-button:disabled{opacity:.5;cursor:not-allowed}.add-route-name-button-cancel{background-color:#fff;color:#191919;border:1px solid #E5EBF3}.add-route-name-button-cancel:hover:not(:disabled){background-color:#f9fafb;border-color:#e5ebf3}.add-route-name-button-cancel:active:not(:disabled){transform:scale(.98)}.add-route-name-button-save{background-color:#0e0e0e;color:#fff;border:1px solid #0E0E0E}.add-route-name-button-save:hover:not(:disabled){background-color:#1a1a1a}.add-route-name-button-save:active:not(:disabled){transform:scale(.98)}.add-route-name-button:focus{outline:none;box-shadow:0 0 0 3px #0000001a}@media(max-width:768px){.add-route-name-container{width:calc(100% - 64px);max-width:719px;height:auto;min-height:262px;padding:32px}.add-route-name-title{font-size:16px}.add-route-name-footer{flex-direction:column;gap:12px}.add-route-name-button{width:100%}}.route-container{width:100%;display:flex;flex-direction:column;gap:24px;background-color:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 4px #00000014;box-sizing:border-box;border:1px solid #E2E8F0}.route-header{margin-bottom:0}.route-title{font-family:Inter,sans-serif;font-size:28px;font-weight:700;color:#191919;margin:0 0 24px;letter-spacing:-.02em}.route-actions{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.route-search-wrapper{flex:1;min-width:280px;position:relative;display:flex;align-items:center;background-color:#fff;border-radius:8px;padding:12px 16px;border:1px solid #E5EBF3;transition:border-color .2s,box-shadow .2s}.route-search-wrapper:focus-within{border-color:#6f51e9;box-shadow:0 0 0 3px #6f51e91a}.route-search-input{flex:1;border:none;outline:none;background:transparent;font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#191919;width:100%}.route-search-input::-moz-placeholder{color:#999;font-family:Inter,sans-serif}.route-search-input::placeholder{color:#999;font-family:Inter,sans-serif}.route-add-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#fbfcff;border:1px solid #6F51E9;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#6f51e9;cursor:pointer;transition:all .2s;white-space:nowrap}.route-add-button:hover{background-color:#6f51e9;border-color:#6f51e9;color:#fff}.route-add-button:active{transform:scale(.98)}.route-add-button:focus-visible{outline:none;box-shadow:0 0 0 3px #6f51e940}.route-add-button svg{flex-shrink:0}.route-table-container{background:transparent;border-radius:0;overflow:hidden;overflow-x:auto}.route-table{width:100%;border-collapse:collapse;min-width:800px}.route-table-header th{padding:16px 0;text-align:left;font-family:Inter,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;border-bottom:1.5px solid #E2E8F0}.route-table-header-center{text-align:center!important}.route-table-header-actions{text-align:left!important;width:200px}.route-table-row{transition:background-color .2s;border-bottom:1px solid #E2E8F0}.route-table-row:hover{background-color:#f9fafb}.route-table-row td{padding:16px 24px 16px 0;font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#191919}.route-table-cell-name{font-weight:600}.route-table-cell-center{text-align:center!important;vertical-align:middle;padding:16px 0!important}.route-table-cell-center .route-stops-badge{display:inline-block;margin:0}.route-table-cell-actions{text-align:left;white-space:nowrap;padding:16px 0!important}.route-stops-badge{display:inline-flex;align-items:center;justify-content:center;width:60px;height:26px;padding:0;background-color:#f6f7f9;border:1px solid #E2E8F0;border-radius:6px;box-sizing:border-box;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#191919}.route-table-cell-actions .route-action-buttons{display:flex!important;align-items:center;gap:8px;justify-content:flex-start;position:static!important}.route-table-cell-actions .route-action-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:none;border:none;cursor:pointer;border-radius:6px;transition:all .2s;color:#666;position:relative;flex-shrink:0}.route-table-cell-actions .route-action-btn:hover{background-color:#f3f4f6}.route-table-cell-actions .route-action-btn:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.route-table-cell-actions .route-action-view{padding:6px 12px;background-color:#f3f4f6;color:#191919;font-family:Inter,sans-serif;font-size:13px;font-weight:500;border-radius:6px}.route-table-cell-actions .route-action-view:hover{background-color:#e5e7eb}.route-table-cell-actions .route-action-edit:hover{color:#6f51e9}.route-table-cell-actions .route-action-delete:hover{color:#dc2626}.route-table-cell-actions .route-action-btn svg{width:16px;height:16px}.route-empty-state{text-align:center;padding:60px 20px}.route-empty-state p{font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#666;margin:0;line-height:1.6}.route-link{color:#6f51e9;text-decoration:underline;cursor:pointer;transition:color .2s}.route-link:hover{color:#5940c9}.route-action-btn:disabled{opacity:.5;cursor:not-allowed}.route-action-btn .spinning{animation:spin 1s linear infinite}@media(max-width:968px){.route-title{font-size:28px}.route-actions{flex-direction:column;align-items:stretch}.route-search-wrapper{min-width:100%}.route-add-button{width:100%;justify-content:center}}@media(max-width:640px){.route-title{font-size:24px}.route-table-container{border-radius:12px}.route-table-header th,.route-table-row td{padding:12px 16px;font-size:13px}.route-empty-state{padding:40px 16px}.route-empty-state p{font-size:13px}}.add-new-vehicle-overlay{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background-color:#00000080;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000;animation:fadeIn .2s ease-out;padding:20px;box-sizing:border-box;margin:0}.add-new-vehicle-container{position:relative;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;width:719px;min-height:262px;max-height:90vh;padding:24px;animation:slideUp .3s ease-out;opacity:1;box-sizing:border-box;margin:auto;overflow-y:auto;display:flex;flex-direction:column}.add-new-vehicle-container-direct{position:relative;margin:0;width:100%;max-width:600px;box-shadow:0 2px 8px #0000001a}.add-new-vehicle-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s;color:#191919}.add-new-vehicle-close:hover{background-color:#f3f4f6}.add-new-vehicle-close:active{background-color:#e5e7eb}.add-new-vehicle-close:disabled{opacity:.5;cursor:not-allowed}.add-new-vehicle-close:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.add-new-vehicle-title{font-family:Inter,sans-serif;font-size:20px;font-weight:600;color:#191919;margin:0 0 24px;padding-right:40px}.add-new-vehicle-container-direct .add-new-vehicle-title{padding-right:0}.add-new-vehicle-content{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.add-new-vehicle-content>div:first-child{display:flex;flex-direction:row;gap:16px;width:100%}.add-new-vehicle-field{display:flex;flex-direction:column;gap:8px;flex:1}.add-new-vehicle-label{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#191919}.add-new-vehicle-input{width:100%;padding:12px 16px;border:1px solid #e5e7eb;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#191919;background-color:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.add-new-vehicle-input:focus{outline:none;border-color:#d1d5db;box-shadow:0 0 0 3px #0000000d}.add-new-vehicle-input:disabled{background-color:#f9fafb;cursor:not-allowed}.add-new-vehicle-input::-moz-placeholder{color:#999;font-family:Inter,sans-serif}.add-new-vehicle-input::placeholder{color:#999;font-family:Inter,sans-serif}.add-new-vehicle-input-uppercase{text-transform:uppercase}.add-new-vehicle-footer{display:flex;gap:12px;margin-top:24px;justify-content:flex-end;flex-shrink:0}.add-new-vehicle-container-direct .add-new-vehicle-footer{justify-content:flex-end}.add-new-vehicle-button{padding:12px 24px;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent;min-width:100px}.add-new-vehicle-button:disabled{opacity:.5;cursor:not-allowed}.add-new-vehicle-button-cancel{background-color:#fff;color:#191919;border:1px solid #e5e7eb}.add-new-vehicle-button-cancel:hover:not(:disabled){background-color:#f9fafb;border-color:#d1d5db}.add-new-vehicle-button-cancel:active:not(:disabled){transform:scale(.98)}.add-new-vehicle-button-save{background-color:#0e0e0e;color:#fff;border:1px solid #0E0E0E}.add-new-vehicle-button-save:hover:not(:disabled){background-color:#1a1a1a}.add-new-vehicle-button-save:active:not(:disabled){transform:scale(.98)}.add-new-vehicle-button:focus{outline:none;box-shadow:0 0 0 3px #0000001a}@media(max-width:640px){.add-new-vehicle-container{width:calc(100% - 32px);height:auto;top:50%;left:50%;transform:translate(-50%,-50%);padding:20px;max-width:none}.add-new-vehicle-container-direct{width:100%;padding:20px}.add-new-vehicle-title{font-size:18px;margin-bottom:20px}.add-new-vehicle-content{flex-direction:column;gap:16px}.add-new-vehicle-footer{flex-direction:column;gap:8px}.add-new-vehicle-button{width:100%}}.vehicles-page,.vehicles-page *{max-width:100%;box-sizing:border-box}.vehicles-page{display:flex;flex-direction:column;gap:24px;width:100%;max-width:100vw;min-height:calc(100vh - 80px);padding:0 8px 12px;box-sizing:border-box;overflow-x:hidden!important;overflow-y:auto}.vehicles-search-section{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-shrink:0;margin-bottom:24px;margin-top:0;margin-left:0;width:100%;max-width:100%;box-sizing:border-box}.search-container{position:relative;width:100%;height:48px;min-height:48px;max-height:48px;background-color:#fff;border:none!important;border-radius:12px;display:flex;align-items:center;padding:0 16px;flex:1;min-width:0;max-width:calc(100% - 180px);box-sizing:border-box;outline:none!important;box-shadow:none!important}.search-container:focus-within{background-color:#fff;border:none!important;box-shadow:none!important;outline:none!important}.search-icon{flex-shrink:0;margin-right:12px;font-size:16px}.search-input{border:none!important;outline:none!important;height:100%;font-size:14px;flex:1;font-family:Inter;color:#1a1a1a;background:transparent;box-shadow:none!important}.search-input:focus{outline:none!important;border:none!important;box-shadow:none!important}.add-bus-btn{background-color:#191919;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-family:Inter;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.add-bus-btn:hover{background-color:#333}.vehicles-main-content{flex:1;display:flex;flex-direction:row;gap:16px;min-height:0;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden!important;overflow-y:hidden;align-items:stretch;min-width:0}.buses-list{flex:1;display:flex;flex-direction:column;gap:24px;overflow-y:auto;overflow-x:hidden!important;padding-right:4px;margin-left:0;min-width:0;max-width:100%;box-sizing:border-box;width:0}.buses-list::-webkit-scrollbar{width:8px}.buses-list::-webkit-scrollbar-track{background:transparent}.buses-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.buses-list::-webkit-scrollbar-thumb:hover{background:#aaa}.bus-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 0 4.02px #0000001f;border:1px solid rgba(147,51,234,.25);transition:border-color .2s,box-shadow .2s;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden!important;overflow-y:visible;min-width:0;position:relative;z-index:1;pointer-events:auto!important}.bus-card.selected-route{border-color:#5475fa;box-shadow:0 0 8px #5475fa33}.bus-card-top-section{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.bus-title-and-performance{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;min-width:0}.route-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:0}.add-trip-btn{width:162px;height:40px;background-color:#fff;border:1px solid #5475FA;border-radius:6px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#5475fa;cursor:pointer;display:flex;align-items:center;justify-content:center;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s;box-sizing:border-box}.add-trip-btn:hover{background-color:#f5f5f5;border-color:#3d5fd9;color:#3d5fd9}.add-trip-btn:active{opacity:.8}.bus-title-section{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;overflow:hidden}.bus-route-title{font-family:Inter;font-size:18px;font-weight:700;color:#1a1a1a;margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%}.bus-registration{font-family:Inter;font-size:14px;font-weight:400;color:#666;margin:0}.personnel-boxes{display:flex;gap:10.05px;justify-content:flex-start;align-items:flex-start;flex-wrap:nowrap;width:100%;margin-bottom:16px;padding:0}.personnel-box{width:170.9148712158203px;height:55.295989990234375px;background-color:#f4f7fa;border-radius:6.03px;border:1.01px solid rgba(229,235,243,.6);padding:1.01px 12.06px;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;justify-content:center}.personnel-label-name{font-family:Inter;font-size:12px;font-weight:600;color:#1a1a1a;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.personnel-phone{display:flex;align-items:center;gap:6px;font-family:Inter;font-size:12px;color:#666}.personnel-phone svg{width:12px;height:12px;color:#666;flex-shrink:0}.personnel-phone span{font-family:Inter;font-size:12px;color:#666}.performance-badge{background-color:#d4edda;color:#0e7b5b;padding:8px 16px;border-radius:6px;font-family:Inter;font-size:12px;font-weight:500;width:162px;height:40px;white-space:nowrap;flex-shrink:0;align-self:flex-start;display:flex;align-items:center;gap:4px;border:none;cursor:pointer;transition:background-color .2s,opacity .2s;opacity:1}.performance-badge:hover{background-color:#c3e6cb;opacity:.9}.performance-badge:active{opacity:.8}.trip-section{margin-top:16px;padding:16px;background-color:#fff;border:1px solid rgba(229,229,229,.5);border-radius:8px;box-sizing:border-box;width:100%}.trip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.trip-label{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#1a1a1a}.stops-container{display:flex;align-items:center;gap:8px;margin-bottom:0;background-color:transparent;border-radius:8px;padding:0;width:100%;max-width:100%;overflow-x:visible;overflow-y:visible;box-sizing:border-box;min-width:0}.scroll-btn{background-color:#f5f5f5;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.scroll-btn:hover{background-color:#e5e5e5}.scroll-icon{width:6.88px;height:11.71px;-o-object-fit:contain;object-fit:contain}.stops-list{display:flex;gap:12px;overflow-x:auto;overflow-y:visible;flex:1;scrollbar-width:none;padding:0 0 0 15px;align-items:stretch;min-width:0;max-width:100%;box-sizing:border-box;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.stops-list::-webkit-scrollbar{display:none}.stop-card{background-color:#f5f8ff;border-radius:8px;padding:8px 12px 8px 20px;width:163px;min-width:163px;max-width:163px;height:62px;display:flex;flex-direction:column;gap:4px;position:relative;flex-shrink:0;border:none;box-sizing:border-box;align-items:center;justify-content:center;text-align:center;overflow:visible;opacity:1}.stop-card.active-stop{background-color:#f5f8ff;border:none}.stop-number-circle{position:absolute;top:50%;transform:translateY(-50%);left:-10px;width:20px;height:20px;border-radius:50%;background-color:#fff;border:1px solid #E5EBF3;display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-size:11px;font-weight:600;color:#191919;z-index:2;flex-shrink:0}.stop-card.active-stop .stop-number-circle{background-color:#fff;border:1px solid #E5EBF3;color:#191919}.stop-card .stop-name{font-family:Inter;font-size:12px;font-weight:600;font-style:normal;color:#191919;line-height:1.2;letter-spacing:0px;width:100%;min-width:0;white-space:normal;text-overflow:ellipsis;text-align:center;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;padding:0;opacity:1;word-wrap:break-word;overflow-wrap:break-word}.stop-info{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2px;font-family:Inter;font-size:12px;color:#666;margin:0;padding:0;width:100%;flex-wrap:nowrap;line-height:1;min-width:0}.stop-price{font-family:Inter;font-size:12px;font-weight:500;color:#8b9bb2;font-style:normal;line-height:1;letter-spacing:0%;display:inline-flex;align-items:center;margin-left:50px;padding:0;white-space:nowrap;flex-shrink:0;vertical-align:baseline;gap:2px}.stop-price-icon{display:inline-block;vertical-align:baseline;line-height:1;font-size:12px;font-weight:500;color:#8b9bb2;margin-right:2px}.stop-price-value{display:inline-block;vertical-align:baseline;line-height:1;font-size:12px;font-weight:500;color:#8b9bb2}.stop-time{display:inline-flex;align-items:center;gap:4px;font-family:Inter;font-style:normal;font-size:12px;font-weight:500;color:#8b9bb2!important;line-height:1;padding:0;margin:0;white-space:nowrap;flex-shrink:0;vertical-align:baseline}.stop-time span,.stop-time{color:#8b9bb2!important}.stop-time svg{width:12px;height:12px;color:#8b9bb2;font-weight:400;flex-shrink:0;display:inline-block;vertical-align:middle;margin:0 4px 0 0;padding:0}.edit-btn{background-color:#f4f7fa;border:none;border-radius:20px;font-family:Inter;font-size:14px;font-weight:500;color:#1a1a1a;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;transition:background-color .2s}.edit-btn:hover{background-color:#f5f5f5}.edit-btn svg{color:#1a1a1a;flex-shrink:0}.edit-icon{width:14px;height:14px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.student-list-section{width:350px;min-width:280px;max-width:350px;flex-shrink:1;display:flex;flex-direction:column;opacity:1;height:100%;align-self:stretch;margin-bottom:-12px;overflow-x:hidden!important;overflow-y:hidden;box-sizing:border-box}.student-list-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 0 4.02px #0000001f;flex:1;height:calc(100% + 12px);display:flex;flex-direction:column;overflow-x:visible;overflow-y:hidden;position:relative}.student-list-title{font-family:Inter,sans-serif;font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.student-list-subtitle{font-family:Inter,sans-serif;font-size:14px;color:#666;margin:0 0 24px}.empty-students-state{flex:1;display:flex;align-items:center;justify-content:center;min-height:400px}.empty-students-box{width:100%;height:100%;border:2px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;background-color:#f9fafb}.empty-students-box:after{content:"";position:absolute;bottom:778px;left:0;right:0;height:4px;background-color:#fff;border-radius:0 0 8px 8px}.empty-students-button{background:transparent;border:none;font-family:Inter;cursor:pointer;padding:0;text-align:center;transition:color .2s;display:flex;flex-direction:column;align-items:center;gap:0}.empty-students-line1{display:block;font-family:Inter,sans-serif;font-weight:500;font-style:normal;font-size:20px;line-height:30px;letter-spacing:0%;text-align:center;color:#6f51e9;text-decoration:underline;text-decoration-style:solid;text-decoration-thickness:auto}.empty-students-line2{display:block;font-family:Inter,sans-serif;font-weight:400;font-style:normal;font-size:20px;line-height:30px;letter-spacing:0%;text-align:center;color:#6f51e9}.empty-students-button:hover{opacity:.8}.empty-students-button:hover .empty-students-line1,.empty-students-button:hover .empty-students-line2{color:#6f51e9}.empty-students-button:active{opacity:.7}.student-summary{display:flex;align-items:center;gap:16px;margin-bottom:24px}.donut-chart{width:160px;height:160px;position:relative;display:flex;align-items:center;justify-content:center}.donut-chart-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#1a1a1a;z-index:10;pointer-events:none}.student-count-cards{display:flex;flex-direction:column;gap:12px;flex:1}.count-card{background-color:#f9fafb;border-radius:8px;padding:12px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 2px #0000000d;border:none}.count-card.boys,.count-card.girls{background-color:#f9fafb}.count-icon-container{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.count-icon-container.boys-icon{background-color:#e9d5ff}.count-icon-container.girls-icon{background-color:#fce7f3}.count-icon-img{width:14px;height:14px;-o-object-fit:contain;object-fit:contain}.count-text-container{display:flex;flex-direction:column;gap:4px}.count-label{font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:#1a1a1a}.count-number{font-family:Inter,sans-serif;font-size:18px;font-weight:700;color:#1a1a1a}.student-search-section{display:flex;gap:8px;margin-bottom:16px;position:relative;z-index:1;overflow:visible}.student-search-container{display:flex;align-items:center;background-color:#f6f7f9;border:1px solid #e5e5e5;border-radius:8px;padding:8px 12px;flex:1}.student-search-input{border:none;outline:none;background:transparent;flex:1;font-family:Inter;font-size:14px;color:#000}.filter-container{position:relative;z-index:10000}.filter-btn{background-color:#f5f5f5;border:1px solid #e5e5e5;border-radius:8px;padding:8px 12px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.filter-btn:hover{background-color:#e8e8e8}.filter-icon{width:16px;height:16px;-o-object-fit:contain;object-fit:contain}.vehicles-student-filter-dropdown{position:absolute;top:calc(100% + 4px);right:0;background-color:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 8px #0000001a;min-width:120px;width:auto;z-index:10001;display:flex;flex-direction:column;padding:4px 0;overflow:visible;pointer-events:auto;white-space:nowrap}.filter-option{padding:12px 16px;border:none;background:transparent;text-align:left;font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#1a1a1a;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;width:100%;min-width:120px;box-sizing:border-box;gap:8px;white-space:nowrap}.filter-option:hover{background-color:#f5f5f5}.filter-option.active{background-color:transparent;color:#1a1a1a}.students-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1;padding-right:4px;min-height:0}.students-list::-webkit-scrollbar{width:8px}.students-list::-webkit-scrollbar-track{background:transparent}.students-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.students-list::-webkit-scrollbar-thumb:hover{background:#aaa}.pagination-container{display:flex;flex-direction:column;gap:12px;padding:16px 0;margin-top:16px;border-top:1px solid #e5e5e5}.pagination-info{font-family:Inter,sans-serif;font-size:14px;color:#666;text-align:center}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:8px}.pagination-btn{padding:8px 16px;background-color:#fff;border:1px solid #e5e5e5;border-radius:6px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#191919;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background-color:#f5f5f5;border-color:#d5d5d5}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-numbers{display:flex;gap:4px;align-items:center}.pagination-number{min-width:36px;height:36px;padding:0 8px;background-color:#fff;border:1px solid #e5e5e5;border-radius:6px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#191919;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.pagination-number:hover{background-color:#f5f5f5;border-color:#d5d5d5}.pagination-number.active{background-color:#7856ff;border-color:#7856ff;color:#fff}.pagination-number.active:hover{background-color:#6a4ae8;border-color:#6a4ae8}.student-item{display:flex;align-items:flex-start;gap:12px;padding:8px;border-radius:8px;transition:background-color .2s}.student-item:hover{background-color:#f5f5f5}.student-dot{width:12px;height:12px;margin-top:6px;flex-shrink:0;-o-object-fit:contain;object-fit:contain}.student-info{flex:1;display:flex;flex-direction:column;gap:4px}.student-name{font-family:Inter,sans-serif;font-size:14px;font-weight:700;color:#1a1a1a;margin-bottom:4px}.student-details{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:Inter,sans-serif;font-size:12px;color:#666}.student-left-info{display:flex;align-items:center;gap:12px}.student-class{display:inline-block;color:#666}.student-phone{display:flex;align-items:center;gap:4px;color:#666}.student-phone svg{width:12px;height:12px;color:#666;flex-shrink:0}.student-stop{background-color:#f5f5f5;padding:4px 8px;border-radius:4px;color:#191919;font-size:12px;white-space:nowrap}.vehicle-container{width:100%;display:flex;flex-direction:column;gap:24px}.vehicle-header{margin-bottom:8px}.vehicle-title{font-family:Inter,sans-serif;font-size:32px;font-weight:700;color:#191919;margin:0}.vehicle-actions{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.vehicle-search-wrapper{flex:1;min-width:280px;position:relative;display:flex;align-items:center;background-color:#f3f4f6;border-radius:12px;padding:12px 16px;border:1px solid #e5e7eb}.vehicle-search-wrapper:focus-within{border-color:#d1d5db;box-shadow:0 0 0 3px #0000000d}.vehicle-search-wrapper .search-icon{margin-right:12px;flex-shrink:0;color:#666}.vehicle-search-input{flex:1;border:none;outline:none;background:transparent;font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#191919;width:100%}.vehicle-search-input::-moz-placeholder{color:#999;font-family:Inter,sans-serif}.vehicle-search-input::placeholder{color:#999;font-family:Inter,sans-serif}.vehicle-add-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#191919;border:none;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;white-space:nowrap}.vehicle-add-button:hover{background-color:#333}.vehicle-add-button:active{transform:scale(.98)}.vehicle-add-button:focus{outline:none;box-shadow:0 0 0 3px #0003}.vehicle-add-button svg{flex-shrink:0}.vehicle-table-container{background:#fff;border-radius:16px;border:1px solid #e5e7eb;overflow:hidden;overflow-x:auto}.vehicle-table{width:100%;border-collapse:collapse;min-width:800px}.vehicle-table-header{background-color:#f9fafb}.vehicle-table-header th{padding:16px 20px;text-align:left;font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.vehicle-table-header-center{text-align:center!important}.vehicle-table-header-actions{text-align:left!important;width:200px}.vehicle-table-row{border-bottom:1px solid #f3f4f6;transition:background-color .2s}.vehicle-table-row:hover{background-color:#f9fafb}.vehicle-table-row:last-child{border-bottom:none}.vehicle-table-row td{padding:16px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#191919}.vehicle-table-cell-center{text-align:center!important;vertical-align:middle;padding:16px 20px!important}.vehicle-table-cell-center .vehicle-capacity-badge{display:inline-block;margin:0}.vehicle-table-cell-actions{text-align:left;white-space:nowrap;padding:16px 20px!important}.vehicle-capacity-badge{display:inline-block;padding:4px 12px;background-color:#f3f4f6;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#191919}.vehicle-table-cell-actions .vehicle-action-buttons{display:flex!important;align-items:center;gap:8px;justify-content:flex-start;position:static!important}.vehicle-table-cell-actions .vehicle-action-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:none;border:none;cursor:pointer;border-radius:6px;transition:all .2s;color:#666;position:relative;flex-shrink:0}.vehicle-table-cell-actions .vehicle-action-btn:hover{background-color:#f3f4f6}.vehicle-table-cell-actions .vehicle-action-btn:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.vehicle-table-cell-actions .vehicle-action-edit:hover{color:#924cff}.vehicle-table-cell-actions .vehicle-action-delete:hover{color:#dc2626}.vehicle-table-cell-actions .vehicle-action-btn svg{width:16px;height:16px}.vehicle-empty-state{text-align:center;padding:80px 20px;min-height:400px;display:flex;align-items:center;justify-content:center}.vehicle-empty-state p{font-family:Inter,sans-serif;font-size:16px;font-weight:400;color:#666;margin:0;line-height:1.6}.vehicle-link{color:#2563eb;text-decoration:underline;cursor:pointer;transition:color .2s}.vehicle-link:hover{color:#1d4ed8}.vehicle-action-btn:disabled{opacity:.5;cursor:not-allowed}.vehicle-action-btn .spinning{animation:spin 1s linear infinite}@media(max-width:968px){.vehicle-title{font-size:28px}.vehicle-actions{flex-direction:column;align-items:stretch}.vehicle-search-wrapper{min-width:100%}.vehicle-add-button{width:100%;justify-content:center}}@media(max-width:640px){.vehicle-title{font-size:24px}.vehicle-table-container{border-radius:12px}.vehicle-table-header th,.vehicle-table-row td{padding:12px 16px;font-size:13px}.vehicle-empty-state{padding:40px 16px}.vehicle-empty-state p{font-size:13px}}.bus-management-container{width:100%;height:100%;display:flex;flex-direction:column;background-color:transparent}.tabs-container{display:flex;gap:20px;position:relative;margin-top:23px;margin-bottom:24px;align-items:center}.tab-btn{background:transparent;border:none;outline:none;box-shadow:none;font-family:Inter,sans-serif;font-size:16px;font-weight:500;color:#191919;cursor:pointer;padding:8px 0;position:relative;transition:color .2s;text-decoration:none;display:inline-block;margin-left:10px}.tab-btn:hover{color:#7856ff}.tab-btn.active{color:#7856ff;font-weight:600;border:none;outline:none;box-shadow:none}.tab-btn:focus{border:none;outline:none;box-shadow:none}.tab-btn:focus-visible{border:none;outline:none;box-shadow:none}.tab-btn.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:#7856ff}.bus-management-content{flex:1;padding:0;overflow-y:auto;background-color:transparent}.empty-tab-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#666;font-family:Inter,sans-serif}.empty-tab-content h2{font-size:24px;font-weight:600;color:#191919;margin-bottom:12px}.empty-tab-content p{font-size:14px;color:#666}@media(max-width:968px){.tabs-container{gap:24px}.tab-btn{font-size:14px}.bus-management-content{padding:16px}}@media(max-width:640px){.tabs-container{gap:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{font-size:14px;white-space:nowrap;flex-shrink:0}.bus-management-content{padding:12px}}.live-bus-details-card{display:flex;align-items:center;gap:8px;padding:16px;border-radius:12px;background:#f9fafb;color:#191919;box-sizing:border-box;min-height:10vh;min-width:15vw}.live-bus-icon{-o-object-fit:contain;object-fit:contain}.live-bus-texts{display:flex;flex-direction:column;gap:6px}.live-bus-text{font-size:14px;font-weight:500;line-height:1}.live-bus-subtext{font-size:30px;font-weight:600;color:#191919}.live-stop-details-container{background-color:#f6f7f9;border-radius:12px;padding:16px 12px;margin-top:8px}.live-stops-timeline{display:flex;flex-direction:column}.live-stop-item{display:flex;align-items:flex-start;position:relative;min-height:40px}.live-timeline-marker{display:flex;flex-direction:column;align-items:center;margin-right:16px;position:relative;margin-top:8px}.live-timeline-dot{width:8px;height:8px;border-radius:50%;background-color:#d1d5db;flex-shrink:0;position:relative;z-index:2}.live-timeline-dot.passed{background-color:#d1d5db}.live-timeline-dot.upcoming{background-color:#000}.live-timeline-dot.live-current-icon{width:12px;height:12px;border-radius:0;background-color:transparent}.live-timeline-line{width:2px;flex:1;min-height:28px;background-image:linear-gradient(to bottom,#D1D5DB 50%,transparent 50%);background-size:2px 8px;background-repeat:repeat-y;position:absolute;top:12px;left:3.5px}.live-stop-content{display:flex;justify-content:space-between;align-items:center;flex:1;padding-top:0}.live-stop-name{font-size:14px;font-weight:400;color:#000;flex:1}.live-stop-item.passed .live-stop-name{color:#d1d5db}.live-stop-item.current .live-stop-name{font-weight:600;color:#000}.live-stop-item.upcoming .live-stop-name{color:#000;font-weight:600}.live-stop-time{font-size:14px;font-weight:400;color:#000;margin-left:12px}.live-stop-item.passed .live-stop-time{color:#d1d5db}.live-stop-item.current .live-stop-time{font-weight:600;color:#000}.live-stop-item.upcoming .live-stop-time{color:#000}.live-route-wrapper{display:flex;flex-direction:column}.live-route-container{background-color:#f5f5f5;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px}.live-route-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.live-route-info{display:flex;flex-direction:column;gap:8px}.live-route-number{font-size:15px;font-weight:700;margin:0;color:#000;line-height:1.1}.live-vehicle-number{font-size:14px;font-weight:400;margin:0;color:#000}.live-status-badge{padding:4px 14px;border-radius:100px;font-size:14px;font-weight:500;white-space:nowrap}.live-status-badge.on-time{background-color:#c4f4e0;color:#059669}.live-status-badge.delayed{background-color:#fed7d7;color:#dc2626}.live-status-badge.early{background-color:#dbeafe;color:#2563eb}.live-stop-details{background-color:#fff;border-radius:12px;padding:5px;display:flex;align-items:center;gap:9px}.live-stop-info{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.live-stop-label{font-size:13px;font-weight:400;color:#6b7280;margin:0}.live-stop-name-container{display:flex;align-items:center;gap:12px}.live-location-icon{width:12px;height:12px;flex-shrink:0}.live-stop-name{font-size:16px;font-weight:600;color:#000;margin:0}.live-eta-info{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex-shrink:0}.live-eta-label{font-size:16px;font-weight:400;color:#6b7280;margin:0}.live-eta-time{font-size:14px;font-weight:600;color:#000;margin:0}.live-arrow-button{background-color:#f6f7f9;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:#000;transition:transform .2s ease;flex-shrink:0;border-radius:50%;width:32px;height:32px;transform:rotate(90deg)}.live-arrow-button:hover{opacity:.8}.live-arrow-button.expanded{transform:rotate(-90deg)}.live-arrow-button:focus{outline:none}.live-arrow-button svg{width:12px;height:12px}.live-sidebar-details-container{display:flex;flex-direction:row;gap:8px;margin-top:20px}.live-sidebar-first-container{display:flex;flex-direction:column;gap:6px;background-color:#fff;border-radius:12px;padding:12px;justify-content:space-between;flex:1}.live-sidebar-second-container{display:flex;flex-direction:column;gap:12px;background-color:#fff;border-radius:12px;padding:12px;flex:3;overflow:hidden}.live-search-container{display:flex;align-items:center;background-color:#f6f7f9;border-radius:12px;padding:8px 12px;gap:8px;flex-shrink:0}.live-search-icon{width:20px;height:20px;color:#111827;flex-shrink:0}.live-search-input{flex:1;border:none;background:transparent;outline:none;font-size:14px;color:#111827}.live-search-input::-moz-placeholder{color:#9ca3af}.live-search-input::placeholder{color:#9ca3af}.live-status-buttons-container{display:flex;gap:8px;flex-shrink:0}.live-status-button{flex:1;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:12px;gap:4px;background-color:#f9fafb;transition:all .2s ease;border:1px solid transparent}.live-status-button:hover{background-color:#f3f4f6}.live-status-button.live-on-time.active{background-color:#dafbf1;border-color:#13a579}.live-status-button.live-delayed.active{background-color:#ffd3d6;border-color:#e7164c}.live-status-label{font-size:14px;font-weight:400}.live-status-button.live-on-time .live-status-label{color:#13a579}.live-status-button.live-delayed .live-status-label{color:#e7164c}.live-status-value{font-size:14px;font-weight:600}.live-status-button.live-on-time .live-status-value{color:#13a579}.live-status-button.live-delayed .live-status-value{color:#e7164c}.live-routes-scroll-container{display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;padding-right:6px}.live-routes-scroll-container::-webkit-scrollbar{width:0px;background:transparent}.live-routes-scroll-container{-ms-overflow-style:none;scrollbar-width:none}.live-no-buses-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:9px;margin-top:20px}.live-no-buses-text{font-size:16px;color:#d5d5d5;text-align:center;font-weight:400}.live-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.live-loading-spinner{width:40px;height:40px;border:4px solid #F3F4F6;border-top:4px solid #6759FF;border-radius:50%;animation:spin 1s linear infinite}.live-loading-text{font-size:16px;color:#6b7280;text-align:center;font-weight:400}.live-monitor-page{display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;flex-wrap:nowrap;gap:2vw;height:100dvh}.sidebar-container{display:flex;flex-direction:column;padding:10px;flex:1;gap:12px}.main-container{display:flex;flex:3;padding:10px;align-items:stretch;justify-content:center}.login-container{display:flex;width:100%;height:100%;min-height:100vh;min-height:100dvh;margin:0;padding:0;overflow:hidden;position:relative;flex:1;background-color:#fff}.login-left{flex:1;background-color:#fff;background-size:85% 97%;background-position:left center;background-repeat:no-repeat;display:flex;flex-direction:column;justify-content:space-between;padding:16px;margin-left:15px;position:relative;min-height:100%;box-sizing:border-box}.login-brand{margin-top:40px}.login-right{flex:1;background:#fff;display:flex;justify-content:center;align-items:center;padding:40px;min-height:100%}.login-form-container{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center}.login-logo{margin-bottom:40px;display:flex;justify-content:center}.login-form-title{font-size:40px;font-family:Inter,sans-serif;font-weight:500;color:#191919;margin:0 0 40px;text-align:center}.login-form{width:100%;display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:16px;font-family:Inter,sans-serif;font-weight:400;color:#191919}.form-input{width:100%;padding:14px 16px;border:1px solid #E5EBF3;border-radius:16px;font-size:16px;font-family:Inter,sans-serif;font-weight:400;color:#191919;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;background-color:transparent}.form-input:focus{outline:none;border-color:#e5ebf3;box-shadow:none}.form-input::-moz-placeholder{font-family:Inter,sans-serif;font-weight:400;font-size:16px;color:#999}.form-input::placeholder{font-family:Inter,sans-serif;font-weight:400;font-size:16px;color:#999}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:50px}.password-toggle{position:absolute;right:16px;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;transition:color .2s}.password-toggle:hover{color:#333}.password-toggle:focus{outline:none;color:#4b2c5e}.login-button{width:100%;padding:16px;background-color:#0e0e0e;color:#fff;border:none;border-radius:40px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s;margin-top:8px;font-family:inherit}.login-button:hover{background-color:#1a1a1a}.login-button:active{transform:scale(.98)}.login-button:focus{outline:none;box-shadow:0 0 0 3px #0e0e0e4d}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-button:disabled:hover{background-color:#0e0e0e}.login-disclaimer{font-size:13px;color:#666;text-align:center;margin:0;line-height:1.6}.login-link{color:#2563eb;text-decoration:underline;transition:color .2s}.login-link:hover{color:#1d4ed8}@media(max-width:968px){.login-container{flex-direction:column}.login-left{min-height:40vh;padding:40px}.login-title{font-size:48px}.login-subtitle{font-size:20px}.login-tagline p{font-size:36px}.login-right{min-height:60vh}}@media(max-width:640px){.login-left{padding:30px}.login-title{font-size:40px}.login-subtitle{font-size:18px}.login-tagline p{font-size:28px}.login-right{padding:20px}.login-form-title{font-size:28px}}.performance-section{width:100%;max-width:1285.88px;min-height:603.23px;background-color:#fff;border-radius:12.06px;padding:24px 24px 24px 32px;margin:73.52px 17.76px 24px;box-sizing:border-box;position:relative;overflow:visible}@media(max-width:1400px){.performance-section{margin-left:10px;margin-right:10px;padding:20px}}@media(max-width:768px){.performance-section{margin-left:5px;margin-right:5px;padding:16px}.performance-header{flex-direction:column;align-items:flex-start;gap:16px}.controls{flex-direction:column;width:100%;gap:12px}.select-wrapper,.today-select-wrapper,.select-control,.today-select{width:100%}}.performance-section.with-banner{margin-top:24px}.performance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.section-title{font-size:20.01px;font-weight:600;color:#1a1a1a;margin:0}.controls{display:flex;gap:32.17px;align-items:center}.select-wrapper{position:relative}.select-control{width:200px;height:40px;border-radius:12.06px;padding:8.04px 8.04px 8.04px 12.06px;background-color:#f5f5f5;border:1px solid #e5e5e5;font-family:Inter;font-weight:500;font-style:normal;font-size:14.08px;line-height:24.13px;letter-spacing:0;text-align:center;color:#191919;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;pointer-events:auto}.select-control:focus{outline:none;border-color:#d5d5d5;background-color:#fff}.today-select-wrapper{position:relative;cursor:pointer}.today-select{width:361.9373779296875px;height:40.21526336669922px;border-radius:12.06px;padding:8.04px 8.04px 8.04px 38px;background-color:#f6f7f9;border:1px solid #e5e5e5;font-family:Inter,sans-serif;font-weight:500;font-style:normal;font-size:14.08px;line-height:24.13px;letter-spacing:0;text-align:center;color:#191919;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;pointer-events:auto;position:relative;z-index:1}.today-select:focus{outline:none;border-color:#d5d5d5;background-color:#fff}.select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:#666}.calendar-icon-btn{position:absolute;left:12.06px;top:50%;transform:translateY(-50%);width:18px;height:18px;background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}.calendar-select-icon{width:18px;height:18px;-o-object-fit:contain;object-fit:contain;pointer-events:none}.hidden-date-input{position:absolute;opacity:0;width:1px;height:1px;border:none;z-index:1;top:0;left:0}.calendar-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 4px 12px #00000026;padding:16px;min-width:320px;z-index:1000}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-nav-btn{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:background-color .2s}.calendar-nav-btn:hover{background-color:#f5f5f5}.calendar-month-year{font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:#1a1a1a}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar-weekday{text-align:center;font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:#666;padding:8px 4px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-size:14px;color:#1a1a1a;cursor:pointer;border-radius:4px;transition:background-color .2s}.calendar-day:hover{background-color:#f5f5f5}.calendar-day.other-month{color:#999}.calendar-search-btn{width:100%;padding:12px;background-color:#191919;color:#fff;border:none;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:16px;transition:background-color .2s}.calendar-search-btn:hover{background-color:#333}.calendar-quick-selection{border-top:1px solid #e5e5e5;padding-top:16px}.quick-selection-header{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:12px}.quick-selection-label{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#1a1a1a}.quick-selection-highlight{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background-color:#ffeb3b;color:#1a1a1a;border-radius:4px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.quick-selection-options{display:flex;flex-direction:column;gap:8px;align-items:center}.quick-option{width:100%;max-width:280px;padding:10px 12px;background-color:transparent;border:1px solid #e5e5e5;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;color:#1a1a1a;text-align:center;cursor:pointer;transition:all .2s}.quick-option:hover{background-color:#f5f5f5;border-color:#d5d5d5}.quick-option:active{background-color:#e8e8e8}.calendar-btn{width:40px;height:40px;background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.calendar-btn:hover{background-color:#f5f5f5}.graph-container{display:flex;gap:0;overflow:hidden;width:100%}.recharts-wrapper{width:100%;padding:20px;background-color:#fff}.y-axis{display:flex;flex-direction:column;justify-content:space-between;padding:0 8px 0 0;min-width:70px;border-right:1px solid #e5e5e5;height:300px;align-items:flex-end;box-sizing:border-box}.y-label{font-size:12.06px;color:#e7164c;font-weight:600;font-style:semi bold;text-align:right;line-height:1;padding:0;margin:0;display:block}.y-label.on-time-label{color:#191919;font-size:12.06px}.graph-content{flex:1;overflow-x:auto;overflow-y:visible;min-width:0;display:flex;flex-direction:column;padding-left:8px}.graph-area{height:300px;min-width:1200px;position:relative;margin-bottom:0;padding:0;background-color:#fff;overflow:visible;border-bottom:none;width:100%}@media(max-width:768px){.graph-container{flex-direction:column}.y-axis{flex-direction:row;border-right:none;border-bottom:1px solid #e5e5e5;padding:8px 0;min-width:auto;justify-content:space-around}.graph-area{min-width:900px}}.x-axis-circle{position:absolute;bottom:-4px;width:8px;height:8px;background-color:#e2e8f0;border:1.01px solid #6B778C;border-radius:50%;transform:translate(-50%);z-index:10}.graph-svg{width:100%;height:100%;display:block;position:absolute;top:0;left:0;pointer-events:none}.graph-svg circle,.graph-svg path{pointer-events:visible}.avg-delay-label{position:absolute;font-size:13px;background-color:#fff;color:#1a1a1a;padding:8px 12px;border-radius:6px;font-weight:500;box-shadow:0 2px 8px #00000026;z-index:10;display:flex;flex-direction:column;gap:4px;white-space:nowrap;pointer-events:none}.avg-delay-label:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #FFFFFF}.delay-value{color:#e7164c;font-weight:600}.delay-days-info{font-size:12px;color:#666}.x-axis{position:relative;margin-top:0;padding:8px 0 0;border-top:1px solid #e5e5e5;min-width:1200px;width:100%;height:80px;overflow:visible}.stop-label{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;transform:translate(-50%);top:12px;font-family:Inter;color:#6b778c;white-space:nowrap;width:auto;min-width:60px;max-width:90px;padding:0 4px;box-sizing:border-box;pointer-events:none}.stop-label.first-label{transform:translate(-50%);left:0!important;align-items:center;text-align:center}.stop-label.last-label{transform:translate(-50%);left:100%!important;align-items:center;text-align:center}@media(max-width:768px){.x-axis{min-width:900px}.stop-label{min-width:50px;font-size:10px;color:#6b778c}}.stop-time{font-weight:600;color:#6b778c;font-style:normal;font-size:11px;line-height:1.3;white-space:nowrap;display:block;text-align:center;width:100%;padding:0 3px}.stop-name{color:#6b778c;text-align:center;max-width:85px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;line-height:1.3;display:block;width:100%;padding:0 50px}.stop-label.first-label .stop-time,.stop-label.first-label .stop-name{text-align:center;padding:0 50px}.stop-label.last-label .stop-time,.stop-label.last-label .stop-name{text-align:center}.chart-tooltip{background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:12px;box-shadow:0 2px 8px #0000001a;font-family:Inter,sans-serif}.tooltip-time{font-size:14px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.tooltip-stop{font-size:12px;color:#666;margin:0 0 8px}.tooltip-delay{font-size:14px;color:#1a1a1a;margin:0 0 8px}.tooltip-delay .delay-value{font-weight:600;color:#e7164c}.tooltip-days{font-size:14px;color:#1a1a1a;margin:0}.chart-footer{margin-top:24px;padding-top:16px}.chart-footer-content{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.chart-footer-text{font-family:Inter,sans-serif;font-size:14px;color:#666}.chart-footer-text .delay-value{font-weight:600;color:#e7164c}.chart-footer-content .flex{display:flex;align-items:center;gap:8px}.metrics-container{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:100%;margin-top:24px;margin-bottom:0;box-sizing:border-box}.metric-card{background-color:#f9fafb;border-radius:16px;padding:32px;box-shadow:0 1px 3px #0000000d}.metric-header{display:flex;align-items:flex-start;gap:16px}.metric-icon{width:56px;height:56px;flex-shrink:0;-o-object-fit:contain;object-fit:contain}.metric-icon.pink{width:72px;height:72px}.metric-content{flex:1;display:flex;flex-direction:column;position:relative}.delay-rate-content{display:flex;flex-direction:column}.delay-rate-content .metric-value{margin-bottom:0}.metric-label{font-family:Inter;font-size:12.06px;color:#191919;font-weight:500;line-height:1.5;margin-bottom:8px}.metric-value{font-family:Inter;font-size:36.19px;font-weight:700;color:#1a1a1a;line-height:1;font-style:semibold}.metric-value-group{display:flex;align-items:center;justify-content:space-between;width:100%}.delay-info-boxes{position:absolute;top:0;right:0;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.on-time-badge{background-color:#cdf9ec;color:#0e7b5b;padding:8px 16px;border-radius:8.04px;font-size:13px;font-weight:500;white-space:nowrap;width:217px;height:40px;display:flex;align-items:center;justify-content:flex-start;font-family:Inter,sans-serif}.on-time-days{color:#0e7b5b;font-weight:600;font-size:20.11px}.avg-delay-badge{background-color:#ffe4e6;color:#666;padding:8px 16px;border-radius:8.04px;font-size:12.06px;font-weight:500;white-space:nowrap;width:186px;height:32px;display:flex;align-items:center;justify-content:flex-start}.delay-time{color:#e63946;font-weight:600;font-size:20.11px}.delay-days-badge{background-color:#e5ebf3;color:#666;padding:8px 16px;border-radius:8.04px;font-size:13px;font-weight:500;white-space:nowrap;width:186px;height:32px;display:flex;align-items:center;justify-content:flex-start}.delay-days{color:#1a1a1a;font-weight:600}.performance-page-container{width:100%;min-height:100vh;background-color:transparent;padding:0}.performance-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;width:100%}.performance-page-back-button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:4px;border-radius:8px;transition:background-color .2s}.performance-page-back-button:hover{background-color:#0000000d}.performance-page-route-title{font-family:Inter,sans-serif;font-size:20.11px;font-weight:600;font-style:normal;line-height:28.15px;letter-spacing:.1px;color:#191919;margin:0}.performance-page-title{font-size:28px;font-weight:700;color:#333;margin:0}.performance-page-header-buttons{display:flex;align-items:center;gap:12px;flex-shrink:0}.performance-optimize-btn{width:234.25392150878906px;height:56.301368713378906px;background-color:#fff;border:1.01px solid #e5e5e5;border-radius:12.06px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#000;cursor:pointer;padding:0;box-sizing:border-box;transition:all .2s;display:flex;align-items:center;justify-content:center}.performance-optimize-btn:hover:not(:disabled){background-color:#f5f5f5;border-color:#d5d5d5}.performance-optimize-btn:disabled,.performance-optimize-btn.optimized{background-color:#f5f5f5;border-color:#e5e5e5;cursor:not-allowed;opacity:.6}.performance-download-report-btn{width:234.25392150878906px;height:56.301368713378906px;background-color:#191919;border:none;border-radius:12.06px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#fff;cursor:pointer;padding:0;box-sizing:border-box;transition:all .2s;display:flex;align-items:center;justify-content:center}.performance-download-report-btn:hover{background-color:#333}.optimize-banner{width:1285.883056640625px;height:170.9148712158203px;background-color:#f7f5ff;border-radius:12.06px;border:6.03px solid #FFFFFF;box-shadow:0 2.01px 4.02px #00000014;padding:24px;margin-bottom:24px;box-sizing:border-box;opacity:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.optimize-banner-title{font-family:Inter;font-size:16.09px;font-weight:600;color:#4f0cbc;margin:0 0 12px;padding:0;line-height:1.4;text-align:left;width:100%}.optimize-banner-text{font-family:Inter;font-size:16.09px;font-weight:500;font-style:normal;color:#191919;margin:0;padding:0;line-height:1.6;text-align:left;width:100%}.optimize-banner-text strong{font-weight:700;color:#191919}.performance-page-content{width:100%}.map-container{width:100%;height:100%;position:relative}.map-style-toggle{position:absolute;top:16px;right:16px;z-index:1000;display:inline-flex;align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:4px;box-shadow:0 2px 8px #00000026;gap:2px}.map-style-toggle-option{border:none;background:transparent;cursor:pointer;padding:8px 16px;border-radius:999px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;transition:background-color .2s,color .2s}.map-style-toggle-option:hover{color:#191919}.map-style-toggle-option-active{background-color:#6f51e9;color:#fff}.map-style-toggle-option-active:hover{color:#fff}.map-style-toggle-option:focus-visible{outline:none;box-shadow:0 0 0 3px #6f51e940}@media(max-width:640px){.map-style-toggle{top:12px;right:12px}.map-style-toggle-option{padding:7px 12px;font-size:12px}}.map-loading{width:100%;height:100%;min-height:400px;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;color:#666;font-family:Inter,sans-serif;font-size:16px}.map-loading p{margin:0;padding:20px}.map-error-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#fef2f2;padding:20px}.map-error-message{background-color:#fff;border:1px solid #fecaca;border-radius:12px;padding:24px;max-width:500px;text-align:center;font-family:Inter,sans-serif}.map-error-message p{margin:0;color:#991b1b;font-size:14px;line-height:1.5}.saved-location-marker{display:flex;flex-direction:column;align-items:center;cursor:pointer;transform:translate(-50%,-100%);pointer-events:auto}.saved-location-marker.start-marker .saved-location-icon-wrapper{filter:drop-shadow(0 2px 4px rgba(34,197,94,.3))}.saved-location-marker.end-marker .saved-location-icon-wrapper{filter:drop-shadow(0 2px 4px rgba(239,68,68,.3))}.saved-location-marker.intermediate-marker .saved-location-icon-wrapper{filter:drop-shadow(0 2px 4px rgba(99,102,241,.3))}.saved-location-icon-wrapper{width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.saved-location-icon{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.saved-location-label{background-color:#fffffff2;padding:4px 8px;border-radius:6px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:#191919;white-space:nowrap;box-shadow:0 2px 4px #00000026;border:1px solid rgba(0,0,0,.1);text-align:center;max-width:150px;overflow:hidden;text-overflow:ellipsis}.map-search-bar-container{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:1000;width:calc(100% - 64px);max-width:500px}.map-search-hint{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);background-color:#111827;color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;font-family:Inter,sans-serif;font-weight:500;white-space:nowrap;box-shadow:0 4px 12px #0003;z-index:1001;animation:bounceIn .5s cubic-bezier(.68,-.55,.265,1.55)}.hint-arrow{position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #111827}@keyframes bounceIn{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.map-search-input-wrapper{position:relative;display:flex;align-items:center;background-color:#f3f4f6;border-radius:12px;padding:12px 16px;box-shadow:0 2px 8px #00000026;border:1px solid #e5e7eb}.map-search-input-wrapper:focus-within{box-shadow:0 2px 12px #0003;border-color:#d1d5db}.search-icon{margin-right:12px;flex-shrink:0;color:#666}.map-search-input{flex:1;border:none;outline:none;background:transparent;font-size:16px;font-family:Inter,sans-serif;color:#191919;width:100%}.map-search-input::-moz-placeholder{color:#999;font-family:Inter,sans-serif}.map-search-input::placeholder{color:#999;font-family:Inter,sans-serif}.location-info-card{position:absolute;bottom:24px;right:24px;width:280px;max-width:calc(100vw - 48px);background:#fff;border-radius:12px;box-shadow:0 4px 16px #0003;z-index:0;animation:slideUp .3s ease-out}.location-info-card:after{content:"";position:absolute;top:40px;right:-12px;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:12px solid #ffffff;z-index:10;border-radius:12px}.location-card-close{position:absolute;top:12px;right:12px;background:#ffffffe6;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background-color .2s;color:#666}.location-card-close:hover{background:#fff}.location-card-image{width:100%;height:130px;overflow:hidden;background:#f3f4f6;border-radius:12px;padding:12px}.location-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.location-card-content{padding:16px}.location-card-address{margin-bottom:8px}.address-text{font-family:Inter,sans-serif;font-size:13px;font-weight:400;color:#191919;margin:0 0 4px;line-height:1.4;word-wrap:break-word}.address-name{font-family:Inter,sans-serif;font-size:15px;font-weight:500;color:#191919;margin:0;line-height:1.3;word-wrap:break-word}.location-card-coords{margin-bottom:12px;padding-top:8px;border-top:1px solid #e5e7eb}.coord-text{font-family:Inter,sans-serif;font-size:12px;color:#666;font-weight:400}.location-card-save-button{width:100%;padding:12px 16px;background-color:#0e0e0e;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:background-color .2s,transform .1s;margin-top:4px}.location-card-save-button:hover{background-color:#1a1a1a}.location-card-save-button:active{transform:scale(.98)}.location-card-save-button:focus{outline:none;box-shadow:0 0 0 3px #0e0e0e4d}@media(max-width:640px){.map-search-bar-container{width:calc(100% - 32px);top:12px}.map-search-input-wrapper{padding:10px 14px}.map-search-input{font-size:14px}.location-info-card{bottom:16px;right:16px;width:calc(100% - 32px);max-width:none}.location-card-image{height:30px}.location-card-content{padding:12px}.address-text{font-size:13px}.address-name{font-size:15px}.location-card-save-button{padding:12px 16px;font-size:14px}.saved-location-icon-wrapper{width:32px;height:32px}.saved-location-label{font-size:11px;padding:3px 6px;max-width:120px}}.location-popup-overlay{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background-color:#00000080;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000;animation:fadeIn .2s ease-out;padding:20px;box-sizing:border-box;margin:0}.location-popup-container{position:relative;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;width:90%;max-width:480px;padding:24px;animation:slideUp .3s ease-out;margin:auto}.location-popup-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s;color:#191919}.location-popup-close:hover{background-color:#f3f4f6}.location-popup-close:active{background-color:#e5e7eb}.location-popup-close:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.location-popup-title{font-family:Inter,sans-serif;font-size:20px;font-weight:600;color:#191919;margin:0 0 24px;padding-right:40px}.location-popup-content{display:flex;flex-direction:column;gap:20px}.location-popup-field{display:flex;flex-direction:column;gap:8px}.location-popup-label{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#191919}.location-popup-input{width:100%;padding:12px 16px;border:1px solid #e5e7eb;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#191919;background-color:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.location-popup-input:focus{outline:none;border-color:#d1d5db;box-shadow:0 0 0 3px #0000000d}.location-popup-input::-moz-placeholder{color:#999;font-family:Inter,sans-serif}.location-popup-input::placeholder{color:#999;font-family:Inter,sans-serif}.location-popup-checkbox-wrapper{margin-top:4px}.location-popup-checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.location-popup-checkbox{width:18px;height:18px;margin:0;cursor:pointer;accent-color:#191919;border:2px solid #191919;border-radius:4px;flex-shrink:0}.location-popup-checkbox:checked{background-color:#191919;border-color:#191919}.location-popup-checkbox-text{font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#191919}.location-popup-footer{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.location-popup-button{padding:12px 24px;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent;min-width:100px}.location-popup-button-cancel{background-color:#fff;color:#191919;border:1px solid #e5e7eb}.location-popup-button-cancel:hover{background-color:#f9fafb;border-color:#d1d5db}.location-popup-button-cancel:active{transform:scale(.98)}.location-popup-button-save{background-color:#0e0e0e;color:#fff;border:1px solid #0E0E0E}.location-popup-button-save:hover{background-color:#1a1a1a}.location-popup-button-save:active{transform:scale(.98)}.location-popup-button:focus{outline:none;box-shadow:0 0 0 3px #0000001a}@media(max-width:640px){.location-popup-container{width:calc(100% - 32px);padding:20px;max-width:none}.location-popup-title{font-size:18px;margin-bottom:20px}.location-popup-content{gap:16px}.location-popup-footer{flex-direction:column;gap:8px}.location-popup-button{width:100%}}.match-location-popup-overlay{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex!important;align-items:center!important;justify-content:center!important;z-index:10001;animation:fadeIn .2s ease-out;padding:20px;box-sizing:border-box;margin:0}.match-location-popup-container{background-color:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;width:454px;height:381px;max-width:90vw;max-height:90vh;overflow:hidden;animation:slideUp .3s ease-out;margin:auto;display:flex;flex-direction:column}.match-location-popup-header{background-color:#cfc4fa;padding:32px 24px 58px;display:flex;align-items:center;justify-content:center;position:relative}.match-location-popup-icon{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));position:absolute;bottom:-58px;left:50%;transform:translate(-50%);width:116px;height:116px}.match-location-popup-icon img{width:116px;height:116px}.match-location-popup-content{padding:74px 24px 32px;text-align:center;background-color:#fff;flex:1;display:flex;flex-direction:column;justify-content:center;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.match-location-popup-content::-webkit-scrollbar{display:none}.match-location-popup-title{font-family:Inter,sans-serif;font-size:24px;font-weight:700;color:#191919;margin:0 0 16px;line-height:1.3}.match-location-popup-description{font-family:Inter,sans-serif;font-size:16px;font-weight:400;color:#191919;margin:0;line-height:1.5}.match-location-popup-footer{display:flex;gap:12px;padding:24px;border-top:1px solid #e5e7eb;background-color:#fff}.match-location-popup-button{flex:1;padding:12px 24px;border-radius:8px;font-family:Inter,sans-serif;font-size:16px;font-weight:500;cursor:pointer;border:none;transition:all .2s;text-align:center}.match-location-popup-button-cancel{background-color:#fff;color:#191919;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}.match-location-popup-button-cancel:hover{background-color:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px #0000001a}.match-location-popup-button-cancel:active{background-color:#f3f4f6}.match-location-popup-button-yes{background-color:#191919;color:#fff;box-shadow:0 2px 4px #0000001a}.match-location-popup-button-yes:hover{background-color:#374151;box-shadow:0 4px 8px #00000026}.match-location-popup-button-yes:active{background-color:#1f2937}.match-location-popup-button:focus{outline:none;box-shadow:0 0 0 3px #8b5cf633}@media(max-width:480px){.match-location-popup-container{width:95vw;height:auto;max-width:none}.match-location-popup-header{padding:24px 20px 58px}.match-location-popup-content{padding:74px 20px 24px}.match-location-popup-title{font-size:20px}.match-location-popup-description{font-size:14px}.match-location-popup-footer{padding:20px;flex-direction:column}.match-location-popup-button{width:100%}}.confirm-route-popup-overlay{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000;animation:fadeIn .2s ease-out;padding:20px;box-sizing:border-box;margin:0}.confirm-route-popup-container{background-color:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;width:454px;height:381px;max-width:90vw;max-height:90vh;overflow:hidden;animation:slideUp .3s ease-out;margin:auto;display:flex;flex-direction:column}.confirm-route-popup-header{background-color:#cfc4fa;padding:32px 24px 58px;display:flex;align-items:center;justify-content:center;position:relative}.confirm-route-popup-icon{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));position:absolute;bottom:-58px;left:50%;transform:translate(-50%);width:116px;height:116px}.confirm-route-popup-icon img{width:116px;height:116px}.confirm-route-popup-content{padding:74px 24px 32px;text-align:center;background-color:#fff;flex:1;display:flex;flex-direction:column;justify-content:center;overflow:auto}.confirm-route-popup-title{font-family:Inter,sans-serif;font-size:24px;font-weight:700;color:#191919;margin:0 0 16px;line-height:1.3}.confirm-route-popup-description{font-family:Inter,sans-serif;font-size:16px;font-weight:400;color:#191919;margin:0;line-height:1.5}.confirm-route-popup-bold{font-weight:700}.confirm-route-popup-footer{display:flex;gap:12px;padding:24px;border-top:1px solid #e5e7eb;background-color:#fff}.confirm-route-popup-button{flex:1;padding:12px 24px;border-radius:8px;font-family:Inter,sans-serif;font-size:16px;font-weight:500;cursor:pointer;border:none;transition:all .2s;text-align:center}.confirm-route-popup-button-cancel{background-color:#fff;color:#191919;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}.confirm-route-popup-button-cancel:hover{background-color:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px #0000001a}.confirm-route-popup-button-cancel:active{background-color:#f3f4f6}.confirm-route-popup-button-yes{background-color:#191919;color:#fff;box-shadow:0 2px 4px #0000001a}.confirm-route-popup-button-yes:hover{background-color:#374151;box-shadow:0 4px 8px #00000026}.confirm-route-popup-button-yes:active{background-color:#1f2937}.confirm-route-popup-button:focus{outline:none;box-shadow:0 0 0 3px #8b5cf633}@media(max-width:480px){.confirm-route-popup-container{width:95vw;height:auto;max-width:none}.confirm-route-popup-header{padding:24px 20px 58px}.confirm-route-popup-content{padding:74px 20px 24px}.confirm-route-popup-title{font-size:20px}.confirm-route-popup-description{font-size:14px}.confirm-route-popup-footer{padding:20px;flex-direction:column}.confirm-route-popup-button{width:100%}}.route-list-panel{position:fixed;top:16px;right:36px;bottom:16px;width:400px!important;background-color:#fff;border-radius:12px;box-shadow:0 4px 16px #00000026;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;z-index:10001!important;animation:slideInRight .3s ease-out;visibility:visible!important;opacity:1!important;pointer-events:auto!important;max-width:400px!important}.route-list-header{display:flex;align-items:center;gap:12px;padding:20px 24px;position:sticky;top:0;background-color:#fff;z-index:1;flex-shrink:0}.route-list-close{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s;color:#191919;flex-shrink:0}.route-list-close:hover{background-color:#f3f4f6}.route-list-close:active{background-color:#e5e7eb}.route-list-close:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.route-list-title{font-family:Inter,sans-serif;font-size:18px;font-weight:600;color:#191919;margin:0;flex:1}.route-list-stops{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding:16px 12px 16px 8px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.route-list-stops::-webkit-scrollbar{width:6px}.route-list-stops::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:3px}.route-list-stops::-webkit-scrollbar-track{background-color:transparent}.route-list-stop-wrapper{display:flex;align-items:stretch;gap:0;margin-bottom:2px;position:relative;min-height:80px}.route-list-stop-wrapper-drag-over{background-color:#9333ea0d;border-radius:12px}.route-list-drag-handle{width:24px;display:flex;align-items:center;justify-content:center;cursor:grab;flex-shrink:0;transition:opacity .2s}.route-list-drag-handle.hidden{visibility:hidden;pointer-events:none}.route-list-drag-handle:active{cursor:grabbing}.route-list-stop-timeline{width:44px;display:flex;flex-direction:column;align-items:center;position:relative;z-index:10;flex-shrink:0}.route-list-stop-icon-container{width:36px;height:36px;border-radius:50%;background-color:#fff;border:1.5px solid #F1F5F9;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000000a;flex-shrink:0;margin-top:18px}.route-list-stop-icon-school{color:#6366f1}.route-list-stop-icon-number{color:#1e293b;font-weight:600;font-size:14px}.route-list-timeline-line{width:0;border-left:2px dashed #E2E8F0;flex:1;margin:4px 0 -18px}.route-list-stop-item{flex:1;display:flex;align-items:center;gap:12px;padding:16px 16px 16px 24px;margin-bottom:12px;margin-left:-18px;background-color:#f8faff;border-radius:12px;box-shadow:0 1px 2px #00000008;transition:all .2s;cursor:default;z-index:5}.route-list-stop-wrapper:hover .route-list-stop-item{background-color:#f1f5ff;box-shadow:0 4px 6px -1px #0000000d}.route-list-stop-info{flex:1;min-width:0}.route-list-stop-name{font-family:Inter,sans-serif;font-size:15px;font-weight:600;color:#1e293b;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-list-stop-type{font-family:Inter,sans-serif;font-size:13px;font-weight:400;color:#64748b}.route-list-stop-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.route-list-action-btn{background:none;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;color:#94a3b8}.route-list-action-btn:hover{background-color:#eef2ff;color:#6366f1}@media(max-width:768px){.route-list-panel{width:350px!important;max-width:calc(100vw - 72px)!important;right:36px!important}}.delete-stop-popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.delete-stop-popup-container{background-color:#fff;border-radius:16px;padding:32px;width:90%;max-width:400px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:popup-fade-in .2s ease-out}@keyframes popup-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.delete-stop-popup-icon{margin-bottom:20px}.delete-stop-popup-title{font-family:Inter,sans-serif;font-weight:700;font-size:20px;color:#111827;margin-bottom:12px}.delete-stop-popup-description{font-family:Inter,sans-serif;font-weight:400;font-size:15px;color:#4b5563;line-height:1.5;margin-bottom:32px}.stop-name-bold{font-weight:600;color:#111827}.delete-stop-popup-footer{display:flex;gap:12px;width:100%}.delete-stop-popup-button{flex:1;padding:12px;border-radius:8px;font-family:Inter,sans-serif;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s;border:none}.delete-stop-popup-button-cancel{background-color:#f3f4f6;color:#374151}.delete-stop-popup-button-cancel:hover{background-color:#e5e7eb}.delete-stop-popup-button-confirm{background-color:#dc2626;color:#fff}.delete-stop-popup-button-confirm:hover{background-color:#b91c1c}.route-creation-container{width:100%;height:100%;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.route-creation-header{display:flex;justify-content:space-between;align-items:center;padding:10px 24px;z-index:100;position:relative}.header-left{display:flex;align-items:center;gap:12px}.back-button{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s}.back-button:hover{background-color:#f3f4f6}.back-button:active{background-color:#e5e7eb}.back-button:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.header-title{font-family:Inter,sans-serif;font-size:20px;font-weight:600;color:#191919;margin:0}.route-list-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:transparent;border:1px solid #e5e7eb;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#191919;cursor:pointer;transition:all .2s}.route-list-button:hover{background-color:#f9fafb;border-color:#d1d5db}.route-list-button:active{transform:scale(.98)}.route-list-button:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.route-list-button svg{flex-shrink:0}.route-creation-map-wrapper{flex:1;min-height:0;position:relative;overflow:hidden;width:100%;background-color:#f3f4f6}.route-creation-map{width:100%!important;height:100%!important;min-height:400px;position:relative;display:block;overflow:hidden}.route-creation-map>div{width:100%!important;height:100%!important;min-height:400px!important;position:relative!important;display:block!important}.route-creation-map-controls{position:absolute;top:16px;left:16px;right:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;z-index:1000}.route-creation-map-controls .map-search-bar-container{position:relative!important;width:914px!important;height:48px!important;transform:none!important;left:auto!important;top:auto!important;margin:0!important}.route-creation-map-controls .map-search-input-wrapper{width:914px!important;height:48px!important;min-height:48px!important;max-height:48px!important;background-color:#fff!important;border:1px solid #D9D9D9!important;border-radius:12px!important;box-shadow:0 2px 8px #0000001a!important;display:flex!important;align-items:center!important;padding:0 16px!important;box-sizing:border-box!important}.route-creation-map-controls .map-search-input{height:100%!important;font-size:16px!important;flex:1!important;color:#000}.route-creation-map-controls .search-icon{flex-shrink:0!important;margin-right:12px!important}.route-list-button-map{display:flex;align-items:center;gap:8px;width:312px;height:48px;padding:0 16px;background-color:#fff;border:1px solid #E5EBF3;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#191919;cursor:pointer;transition:all .2s;box-sizing:border-box;justify-content:flex-start;flex-shrink:0;position:absolute;top:0;right:36px;z-index:1000;margin:0}.route-list-button-map:hover{background-color:#f9fafb;border-color:#d1d5db}.route-list-button-map:active{transform:scale(.98)}.route-list-button-map:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.route-list-button-map svg{flex-shrink:0}.route-list-button-map span{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-creation-map>.map-style-toggle{position:absolute!important;width:auto!important;height:auto!important;min-height:0!important;display:inline-flex!important;top:84px!important;right:16px!important;left:auto!important;z-index:1000!important}.route-creation-map-wrapper .map-search-bar-container{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:1000;width:calc(100% - 64px);max-width:500px}.route-creation-map-wrapper .location-info-card{position:absolute!important;bottom:24px!important;right:24px!important;width:280px!important;max-width:calc(100vw - 48px)!important;z-index:1000}@media(max-width:968px){.route-creation-header{padding:12px 16px}.header-title{font-size:18px}.route-list-button{padding:8px 12px;font-size:13px}.route-creation-map-wrapper .map-search-bar-container{width:calc(100% - 32px);top:12px}}@media(max-width:640px){.route-creation-header{padding:10px 12px}.header-title{font-size:16px}.back-button{padding:6px}.back-button svg{width:20px;height:20px}.route-list-button{padding:6px 10px;font-size:12px;gap:6px}.route-list-button svg{width:16px;height:16px}.route-creation-map-wrapper .map-search-bar-container{width:calc(100% - 24px);top:8px}.route-creation-map-wrapper .location-info-card{bottom:16px;right:16px;width:calc(100% - 32px);max-width:none}.route-creation-map>.map-style-toggle{top:76px!important;right:12px!important}}.route-creation-map-wrapper>div{width:100%!important;display:block}.route-creation-map-wrapper .route-creation-map>div>div{width:100%!important}.route-creation-container:has(.route-action-buttons) .route-list-panel{bottom:88px}@media(max-width:768px){.route-creation-container:has(.route-action-buttons) .route-list-panel{bottom:80px}}.route-action-buttons{position:fixed;bottom:24px;right:24px;display:flex;gap:12px;z-index:10001;animation:slideUp .3s ease-out;flex-direction:row;align-items:center}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.route-action-button{padding:12px 24px;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s;text-align:center;min-width:120px}.route-action-button-cancel{background-color:#fff;color:#191919;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000001a}.route-action-button-cancel:hover{background-color:#f9fafb;border-color:#d1d5db;box-shadow:0 4px 12px #00000026}.route-action-button-cancel:active{background-color:#f3f4f6}.route-action-button-confirm{background-color:#191919;color:#fff;box-shadow:0 2px 8px #0003}.route-action-button-confirm:hover{background-color:#374151;box-shadow:0 4px 12px #00000040}.route-action-button-confirm:active{background-color:#1f2937}.route-action-button:focus{outline:none;box-shadow:0 0 0 3px #0000001a}@media(max-width:768px){.route-action-buttons{bottom:16px;right:16px;left:16px;justify-content:space-between}.route-action-button{flex:1;min-width:0}}.route-details-overlay{position:fixed;inset:0;background-color:#0000004d;display:flex;align-items:center;justify-content:flex-end;z-index:10002;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.route-details-panel{width:400px;max-width:90vw;height:100vh;background-color:#fff;box-shadow:-4px 0 16px #00000026;display:flex;flex-direction:column;animation:slideInRight .3s ease-out;overflow:hidden}.route-details-panel-sidebar{width:100%;max-width:none;height:100%;box-shadow:none;animation:none;border-radius:0;display:flex;flex-direction:column;max-height:calc(100vh - 32px);overflow:hidden}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.route-details-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background-color:#fff;z-index:1}.route-details-title{font-family:Inter,sans-serif;font-size:18px;font-weight:600;color:#191919;margin:0}.route-details-close{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s;color:#191919}.route-details-close:hover{background-color:#f3f4f6}.route-details-close:active{background-color:#e5e7eb}.route-details-close:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.route-details-stops{flex:1;padding:16px 12px 16px 8px;overflow-y:auto;min-height:0}.route-details-stop-wrapper{display:flex;align-items:stretch;gap:0;margin-bottom:2px;position:relative;min-height:80px}.route-details-stop-timeline{width:44px;display:flex;flex-direction:column;align-items:center;position:relative;z-index:10;flex-shrink:0}.route-details-stop-icon-container{width:36px;height:36px;border-radius:50%;background-color:#fff;border:1.5px solid #F1F5F9;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000000a;flex-shrink:0;margin-top:18px}.route-details-stop-icon-school{color:#6366f1}.route-details-stop-icon-number{color:#1e293b;font-weight:600;font-size:14px}.route-details-timeline-line{width:0;border-left:2px dashed #E2E8F0;flex:1;margin:4px 0 -18px}.route-details-stop-item{flex:1;display:flex;align-items:center;gap:12px;padding:16px 16px 16px 24px;margin-bottom:12px;margin-left:-18px;background-color:#f8faff;border-radius:12px;box-shadow:0 1px 2px #00000008;transition:all .2s;cursor:default;z-index:5}.route-details-stop-wrapper:hover .route-details-stop-item{background-color:#f1f5ff;box-shadow:0 4px 6px -1px #0000000d}.route-details-stop-info{flex:1;min-width:0}.route-details-stop-name{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#191919;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-details-stop-type{font-family:Inter,sans-serif;font-size:13px;font-weight:400;color:#64748b}.route-details-stop-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.route-details-action-btn{background:none;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;color:#94a3b8}.route-details-action-btn:hover{background-color:#eef2ff;color:#6366f1}.route-details-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;position:sticky;bottom:0;background-color:#fff}.route-details-button{flex:1;padding:12px 24px;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s;text-align:center}.route-details-button-cancel{background-color:#fff;color:#191919;border:1px solid #e5e7eb}.route-details-button-cancel:hover{background-color:#f9fafb;border-color:#d1d5db}.route-details-button-cancel:active{background-color:#f3f4f6}.route-details-button-confirm{background-color:#191919;color:#fff}.route-details-button-confirm:hover{background-color:#374151}.route-details-button-confirm:active{background-color:#1f2937}.route-details-button:focus{outline:none;box-shadow:0 0 0 3px #0000001a}@media(max-width:768px){.route-details-panel{width:100%;max-width:100vw}}.route-details-page-container{display:flex;width:100%;height:100vh;overflow:hidden;position:relative;background-color:#fff;border-radius:16px;box-shadow:0 2px 4px #00000014}.route-details-map-section{flex:1;position:relative;width:70%;height:100vh}.route-details-map-style-pill{position:absolute;top:16px;right:16px;z-index:1000;width:40px;height:40px;border-radius:999px;border:1px solid #e5e7eb;background-color:#fff;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:background-color .2s,color .2s,border-color .2s;padding:0}.route-details-map-style-pill:hover{color:#191919;border-color:#d1d5db}.route-details-map-style-pill-active{background-color:#6f51e9;border-color:#6f51e9;color:#fff}.route-details-map-style-pill-active:hover{background-color:#5940c9;border-color:#5940c9;color:#fff}.route-details-map-style-pill:focus-visible{outline:none;box-shadow:0 0 0 3px #6f51e940}.route-details-sidebar-section{width:30%;min-width:400px;height:100vh;background:#fff;overflow-y:auto;box-shadow:-2px 0 8px #0000001a}.route-details-map-wrapper{width:100%;height:100%}.map-error-container,.map-loading-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f3f4f6;text-align:center;padding:24px}.route-details-loading,.route-details-error{padding:24px;text-align:center}.route-details-error button{margin-top:16px;padding:8px 16px;background-color:#6366f1;color:#fff;border:none;border-radius:4px;cursor:pointer}.route-details-sidebar-section .route-details-panel-sidebar{position:static;width:100%;height:100%;max-width:none;box-shadow:none;border-radius:0;display:flex;flex-direction:column;background:#fff}.route-details-sidebar-section .route-details-header{border-bottom:1px solid #e5e7eb;padding:20px 24px;flex-shrink:0}.route-details-sidebar-section .route-details-stops{padding:16px 24px;flex:1;overflow-y:auto}.route-details-sidebar-section .route-details-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;padding:16px 24px;flex-shrink:0}.student-form-header{display:flex;align-items:center;justify-content:flex-start;margin-bottom:24px}.back-button{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0;transition:opacity .2s}.back-button:hover{opacity:.7}.form-title{font-size:20px;font-family:Inter,sans-serif;font-weight:600;color:#334155}.form-footer{display:flex;justify-content:flex-end;margin-top:24px;margin-bottom:24px}.save-button-bottom{height:48px;padding:0 64px;background-color:#0b0b0b;color:#fff;border:none;border-radius:12px;cursor:pointer;font-family:Inter,sans-serif;font-size:16px;font-weight:600;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.save-button-bottom:hover:not(:disabled){background-color:#2d2d2d}.save-button-bottom:disabled{opacity:.7;cursor:not-allowed}.save-button-bottom .button-content{display:flex;align-items:center;gap:12px}.save-button-bottom .loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.student-form-container{background-color:#fff;border-radius:16px!important;border:1px solid #E2E8F0;padding:32px}.form-margin{margin-top:24px}.upload-section{margin-bottom:48px}.upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-title{font-size:20px;font-family:Inter,sans-serif;font-weight:600;color:#334155;margin:0}.download-template-button{padding:10px 20px;background-color:#fff;color:#0b0b0b;border:1px solid #E2E8F0;border-radius:8px;font-size:16px;font-family:Inter,sans-serif;font-weight:600;cursor:pointer;transition:all .2s}.download-template-button:hover{background-color:#f9fafb;border-color:#cbd5e1}.upload-area{border:2px dashed #6F51E9;border-radius:12px;text-align:center;max-width:576px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;height:280px;transition:all .2s}.upload-area.dragging{background-color:#f5f3ff;border-color:#4a3aff}.upload-icon-wrapper{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.upload-icon{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.upload-text{font-family:Inter,sans-serif;margin-bottom:8px;color:#0b0b0b;font-weight:400;font-size:18px}.upload-divider{display:flex;align-items:center;justify-content:center;margin:12px 0}.divider-line{width:64px;height:1px;background-color:#e7e7e7}.divider-text{font-family:Inter,sans-serif;margin:0 16px;color:#6d6d6d;font-weight:400;font-size:16px}.browse-button{padding:8px;border:2px solid #6F51E9;border-radius:8px;font-family:Inter,sans-serif;cursor:pointer;background:#fff;color:#6f51e9;font-weight:600;transition:all .2s}.browse-button:hover:not(:disabled){background-color:#f5f3ff}.browse-button:disabled{opacity:.6;cursor:not-allowed;background-color:#f5f5f5;border-color:#ccc}.form-subtitle{font-size:18px;font-family:Inter,sans-serif;font-weight:600;color:#191919;margin-bottom:24px}.student-data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:100%}.form-field-group{display:flex;flex-direction:column;position:relative;margin-top:8px}.form-label{position:absolute;top:-8px;left:12px;background-color:#fff;padding:0 4px;font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:#64748b;z-index:1}.form-input{width:100%;padding:12px 16px;border:1px solid #E2E8F0;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;color:#0b0b0b;background-color:#fff;transition:all .2s}.disabled-field-wrapper{cursor:pointer}.form-input-readonly{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23A0AEC0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:8px 8px!important;padding-right:36px;border-radius:12px}.form-input:focus{outline:none;border-color:#e2e8f0;background-color:#fff}.form-input:disabled{background-color:#fff;cursor:not-allowed;opacity:.6}.form-input-error{border-color:#be123c!important}.form-error{color:#be123c;font-family:Inter,sans-serif;font-size:12px;margin-top:4px;display:block}.pincode-status{font-family:Inter,sans-serif;font-size:12px;margin-top:4px;display:block}.pincode-status-loading{color:#6f51e9}.pincode-status-error{color:#b45309}.drop-off-checkbox-group{margin-top:8px}.drop-off-checkbox-label{display:flex;align-items:center;gap:10px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#334155;cursor:pointer;width:-moz-fit-content;width:fit-content}.drop-off-checkbox{width:18px;height:18px;accent-color:#0B0B0B;cursor:pointer}.address-section{margin-top:48px;margin-left:-32px;margin-right:-32px;padding-top:32px;padding-left:32px;padding-right:32px;border-top:1px solid #E2E8F0}.address-title{margin-bottom:24px}.address-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.address-field-large{grid-column:span 1}.address-field-full{grid-column:1}@media(max-width:1024px){.address-field-full{grid-column:span 2}}@media(max-width:1024px){.student-data-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.student-form-header{flex-direction:column;align-items:flex-start;gap:16px}.save-button{width:100%}}.students-container{min-height:100vh;background-color:transparent;width:100%}.skeleton-loader{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:8px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-chart-container{display:flex;gap:24px;margin-bottom:24px}.skeleton-chart-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #E2E8F0}.skeleton-chart-card.left,.skeleton-chart-card.right{flex:1}.skeleton-title{height:24px;width:200px;margin-bottom:24px}.skeleton-donut{width:200px;height:200px;border-radius:50%;margin:0 auto 24px}.skeleton-legend{display:flex;flex-direction:column;gap:12px}.skeleton-legend-item{height:20px;width:100%}.skeleton-circles-container{display:flex;justify-content:center;align-items:center;margin-bottom:24px;height:150px}.skeleton-circle{width:120px;height:120px;border-radius:50%}.skeleton-ratio-legend{display:flex;gap:16px;justify-content:center}.skeleton-ratio-card{height:60px;width:150px;border-radius:16px}.student-form-wrapper{margin-bottom:0}.students-title-container{background-color:#fff;border-radius:16px!important;box-shadow:0 2px 4px #00000014;padding:24px 32px;margin-bottom:24px;width:100%;overflow:hidden}.students-title{font-size:30px;font-weight:700;color:#191919;margin:0;text-align:left;letter-spacing:-.02em}.charts-main-container{background-color:#fff;border-radius:16px!important;border:1px solid #E2E8F0;padding:32px;overflow:visible;margin-bottom:24px;margin-top:10px;min-width:0}.students-details-container{background-color:#fff;border-radius:16px!important;border:1px solid #E2E8F0;padding:20px 32px 32px;overflow:visible}.charts-section{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:32px;min-width:0;overflow:visible}.chart-card{background-color:#fff;border:1px solid #E2E8F0;border-radius:16px!important;padding:28px;overflow:visible;min-width:0}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.chart-title{font-size:19px;color:#191919;font-weight:700;font-family:Inter,sans-serif;min-width:120px;margin-right:auto;padding-left:0;letter-spacing:-.01em;line-height:18px}.chart-icons{display:flex;gap:8px;align-items:center}.icon-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;color:#666}.icon-button:hover{background-color:#f0f0f0}.chart-content{display:flex;align-items:center;gap:24px;min-width:0;overflow:visible}.donut-chart-container{position:relative;flex:1;min-height:310px;display:flex;align-items:center;justify-content:center;border-radius:8px;overflow:visible;min-width:0;width:100%}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:0}.center-placeholder{font-size:32px;font-weight:800;color:#000;font-family:Inter,sans-serif;letter-spacing:-.01em}.center-label{font-size:12px;color:#9291a5;font-weight:400;font-family:Inter,sans-serif;letter-spacing:0}.chart-legend{display:flex;flex-direction:column;gap:12px;min-width:180px}.legend-item{display:flex;align-items:center;gap:10px}.legend-color{width:16px;height:16px;border-radius:50%;flex-shrink:0}.legend-text{font-size:18px;color:#615383;font-weight:600;font-family:Inter,sans-serif;min-width:120px;margin-right:auto;padding-left:0}.legend-value{color:#191919;font-family:Inter,sans-serif;font-weight:700;font-size:24px;margin-left:32px}.custom-tooltip{background-color:#dcdeea;border:none;border-radius:12px;padding:8px 12px;box-shadow:0 2px 8px #00000026;pointer-events:none;position:relative;z-index:1000}.custom-tooltip:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #DCDEEA}.tooltip-content{display:flex;flex-direction:row;align-items:center;gap:12px}.tooltip-item{display:flex;align-items:center;gap:8px}.tooltip-icon{width:20px;height:20px;display:block}.tooltip-placeholder{color:#333;font-family:monospace;letter-spacing:1px;font-size:14px;font-weight:500}.floating-tooltip{position:absolute;z-index:1000;pointer-events:none;animation:tooltip-fade-in .12s ease-out}.floating-tooltip-inner{display:flex;align-items:center;gap:5px;background:#dcdeea;border-radius:12.05px;padding:10px;white-space:nowrap}.ft-stat{display:flex;align-items:center;gap:6px}.ft-icon{width:20px;height:20px;display:block}.ft-count{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#1e293b}.ft-divider{width:1px;height:18px;background-color:#b8bbcc}.floating-tooltip.arrow-left-bottom:after{content:"";position:absolute;bottom:-7px;left:14px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #DCDEEA}.floating-tooltip.arrow-right-bottom:after{content:"";position:absolute;bottom:-7px;right:14px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #DCDEEA}.floating-tooltip.arrow-left-top:after{content:"";position:absolute;top:-7px;left:14px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #DCDEEA}.floating-tooltip.arrow-right-top:after{content:"";position:absolute;top:-7px;right:14px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #DCDEEA}@keyframes tooltip-fade-in{0%{opacity:0;transform:scale(.9) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.tooltip-class-name{font-family:Inter,sans-serif;font-size:11px;font-weight:700;letter-spacing:.01em;margin-bottom:4px;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}@keyframes tooltip-fade-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.pie-segment{transition:transform .3s ease,filter .3s ease;outline:none!important;border:none!important}.pie-segment:hover{filter:brightness(1.1)}.pie-segment:focus{outline:none!important;border:none!important}.pie-segment:active{outline:none!important;border:none!important}.rounded-sector{filter:url(#rounded-corner)}.donut-chart-container svg g{transition:transform .3s cubic-bezier(.4,0,.2,1)}.donut-chart-container svg *{outline:none!important}.donut-chart-container svg path{outline:none!important;-webkit-tap-highlight-color:transparent}.donut-chart-container svg path:focus{outline:none!important;border:none!important;box-shadow:none!important}.donut-chart-container svg path:active{outline:none!important;border:none!important;box-shadow:none!important}.donut-chart-container svg path:focus-visible{outline:none!important;border:none!important;box-shadow:none!important}.donut-chart-container{-webkit-tap-highlight-color:transparent}.donut-chart-container .recharts-wrapper,.donut-chart-container svg{overflow:visible!important;max-width:none!important}.donut-chart-container .recharts-surface{overflow:visible!important}.ratio-chart-container{display:flex;flex-direction:column;align-items:center;gap:24px;overflow:visible;min-width:0;width:100%}.ratio-circles{position:relative;min-height:200px;width:100%;display:flex;align-items:center;justify-content:center;overflow:visible;min-width:0}.ratio-circle{border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;position:absolute;box-shadow:none;transition:none;outline:none}.ratio-circle.boys{left:calc(50% - 70px);top:calc(50% - 65px);z-index:1}.ratio-circle.girls{left:calc(50% + 10px);top:calc(50% - 85px);z-index:2;cursor:pointer;transition:none}.ratio-circles{padding:20px;box-sizing:border-box}.ratio-percentage{font-size:20px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:1px}.ratio-legend{display:flex;flex-direction:row;justify-content:center;gap:16px;width:100%;margin-top:24px}.ratio-legend .legend-card{background-color:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:12px 16px;display:flex;flex-direction:row;align-items:center;gap:12px;min-width:140px;justify-content:center}.ratio-legend .legend-color{width:16px;height:16px;border-radius:50%;flex-shrink:0}.ratio-legend .legend-text-group{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.ratio-legend .legend-text{font-size:12px;color:#333;font-weight:500;font-family:Inter,sans-serif;line-height:1.2}.ratio-legend .legend-dash{color:#0b0b0b;font-family:Inter,sans-serif;font-weight:600;font-size:20px;line-height:1.2;letter-spacing:0}.ratio-legend .legend-value{display:none}.tabs-section{display:flex;gap:32px;margin-bottom:20px;padding:0;background:transparent}.tab-button{padding:8px 0;border:none;background:none;font-size:16px;font-weight:500;font-family:Inter,sans-serif;color:#94a3b8;cursor:pointer;border-bottom:2px solid transparent;border-radius:0;transition:all .2s;position:relative}.tab-button:hover{color:#64748b}.tab-button.active{color:#000;font-weight:700;font-size:16px;font-family:Inter,sans-serif;border-bottom:3px solid #000000;border-radius:0;margin-left:5px}.students-listing{display:flex;flex-direction:column}.listing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-top:0}.listing-title{font-size:24px;font-weight:700;color:#191919;margin:0;letter-spacing:-.01em}.action-bar{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.loading-status-message{display:flex;align-items:center;margin-bottom:20px}.loading-status-message{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px;background-color:#f0f6ff;border:1px solid #6F51E9;border-radius:8px;font-family:Inter,sans-serif;animation:fadeIn .3s ease-in}.loading-status-spinner{width:18px;height:18px;border:2px solid rgba(111,81,233,.2);border-top-color:#6f51e9;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.loading-status-text{font-size:14px;font-weight:500;color:#6f51e9}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.students-search-wrapper{flex:0 1 300px;max-width:300px;position:relative;display:flex;align-items:center}.students-search-input{flex:1;width:100%;padding:10px 40px 10px 16px;border:1px solid #94A3B8!important;border-radius:6px;font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#000;background-color:#fff!important;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:all .2s}.students-search-input::-moz-placeholder{color:#94a3b8}.students-search-input::placeholder{color:#94a3b8}.students-search-input:focus{outline:none;border-color:#94a3b8!important}.search-loading-indicator{position:absolute;right:12px;display:flex;align-items:center;justify-content:center;pointer-events:none}.search-loading-spinner{width:16px;height:16px;border:2px solid rgba(111,81,233,.2);border-top-color:#6f51e9;border-radius:50%;animation:spin .8s linear infinite}.payment-status-container{position:relative}.dropdown-button{padding:10px 16px;border:1px solid #94A3B8!important;border-radius:6px;background-color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;color:#191919;transition:all .2s;letter-spacing:0%;font-weight:500}.dropdown-button:hover:not(:disabled){background-color:#f5f5f5}.dropdown-button:disabled{opacity:.7;cursor:not-allowed}.dropdown-button.loading{opacity:.8}.dropdown-loading-spinner{width:14px;height:14px;border:2px solid rgba(51,65,85,.2);border-top-color:#334155;border-radius:50%;animation:spin .8s linear infinite}.dropdown-arrow-icon{width:12px;height:12px;color:#64748b}.filter-button{padding:10px 16px;border:1px solid #E2E8F0!important;border-radius:8px;background-color:#fff;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#334155;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.filter-button:hover{background-color:#f8fafc;border-color:#cbd5e1!important}.filter-button.active{border-color:#0b0b0b!important;color:#0b0b0b;font-weight:600}.filter-icon{width:16px;height:16px;display:flex;align-items:center}.payment-status-dropdown{position:absolute;top:calc(100% + 8px);left:0;background-color:#fff;border:1px solid #E2E8F0;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:150px;z-index:100;overflow:hidden}.payment-status-option{width:100%;padding:10px 16px;border:none;background-color:#fff;text-align:left;font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:#334155;cursor:pointer;transition:background-color .2s}.payment-status-option:hover{background-color:#f8fafc}.payment-status-option.active{background-color:#f8fafc;font-weight:500}.filter-container{position:relative}.filter-dropdown{position:absolute;top:calc(100% + 8px);left:0;background-color:#fff;border:1px solid #E2E8F0;border-radius:12px;box-shadow:0 8px 24px -4px #0f172a1f,0 2px 6px -2px #0f172a0f;min-width:240px;z-index:100;overflow:hidden}.filter-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #F1F5F9}.select-all-toggle{background:none;border:none;color:#4a3aff;font-size:13px;font-weight:600;cursor:pointer;padding:0;font-family:Inter,sans-serif;transition:opacity .2s}.select-all-toggle:hover{opacity:.7}.filter-count{font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:#94a3b8}.filter-options{max-height:250px;overflow-y:auto;padding:6px 0}.filter-options::-webkit-scrollbar{width:6px}.filter-options::-webkit-scrollbar-track{background:transparent}.filter-options::-webkit-scrollbar-thumb{background-color:#dfdfdf;border-radius:3px}.filter-options::-webkit-scrollbar-thumb:hover{background-color:#c4c4c4}.filter-option{display:flex;align-items:center;gap:10px;padding:9px 16px;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;color:#334155;transition:background-color .2s}.filter-option:hover{background-color:#f8fafc}.filter-option input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#0B0B0B;border-radius:4px;border:1px solid #A1A1AA}.filter-empty{padding:20px 16px;text-align:center;color:#94a3b8;font-family:Inter,sans-serif;font-size:14px}.filter-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #F1F5F9}.filter-apply-button{flex:1;padding:9px 16px;background-color:#0b0b0b;color:#fff;border:none;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.filter-apply-button:hover{background-color:#2d2d2d}.filter-reset-button{flex:1;padding:9px 16px;background-color:#fff;color:#0b0b0b;border:1.5px solid #0B0B0B;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.filter-reset-button:hover{background-color:#f8fafc}.add-student-button{height:48px;padding:0 24px;border:none;border-radius:8px;background-color:#0b0b0b;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin-left:auto;display:flex;align-items:center;justify-content:center}.add-student-button:hover{background-color:#2d2d2d;transform:translateY(-1px);box-shadow:0 4px 10px -2px #00000040}.pagination-container{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding:16px 0}.pagination-button{padding:8px 16px;background-color:#000;color:#fff;border:none;border-radius:8px;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:background-color .2s}.pagination-button:hover:not(:disabled){background-color:#0f0f0f}.pagination-button:disabled{background-color:#e2e8f0;color:#94a3b8;cursor:not-allowed}.pagination-button-content{display:flex;align-items:center;gap:8px;justify-content:center}.loading-spinner-pagination{width:16px;height:16px;border:2px solid rgba(51,65,85,.3);border-top-color:#334155;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pagination-info{font-family:Inter,sans-serif;font-size:14px;color:#334155;font-weight:500}.table-container{position:relative;border:none;border-radius:8px;overflow:visible}.table-loading-overlay{position:absolute;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.table-loading-spinner{width:24px;height:24px;border:3px solid rgba(51,65,85,.3);border-top-color:#334155;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:8px}.table-loading-text{font-family:Inter,sans-serif;font-size:14px;color:#334155;font-weight:500}.students-table{width:100%;border-collapse:collapse;background-color:transparent;border:none}.students-table thead{background-color:transparent;position:relative}.students-table thead:after{content:"";position:absolute;bottom:0;left:-32px;right:-32px;height:1px;background-color:#e2e8f0}.students-table th{padding:14px 8px;text-align:left;font-size:11.5px;font-weight:600;font-family:Inter,sans-serif;color:#94a3b8;border:none;text-transform:uppercase;letter-spacing:.04em}.students-table thead tr{position:relative}.students-table tbody td{padding:16px 8px;font-size:14px;color:#1e293b;border:none}.empty-state{text-align:center;padding:60px 20px}.empty-state-text{color:#6f51e9;font-size:20px;font-family:Inter,sans-serif;font-weight:400;cursor:pointer}.empty-state-bold{font-weight:600;font-family:Inter,sans-serif;text-decoration:underline;text-underline-offset:4px}.action-buttons{display:flex;gap:8px;align-items:center;justify-content:flex-end}.action-button{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#cfd3d8;border-radius:8px}.edit-button:hover{color:#6366f1;background-color:#eef2ff}.delete-button:hover{color:#ef4444;background-color:#fef2f2}.action-icon{width:20px;height:20px;-o-object-fit:contain;object-fit:contain}.edit-button .action-icon{width:20px;height:20px}.expand-button{background:none;border:none;cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border-radius:4px;transition:background-color .2s}.expand-button:hover{background-color:#f8fafc}.payment-status-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;font-family:Inter,sans-serif}.payment-status-badge.payment-paid{background-color:#d1fae5;color:#065f46}.payment-status-badge.payment-pending{background-color:#ffe4e6;color:#be123c}.payment-status-badge.payment-overdue{background-color:#fef3c7;color:#92400e}.address-row{background-color:transparent}.address-cell{padding:0 16px 16px!important;border:none!important}.address-container{display:flex;flex-direction:column;gap:4px;font-family:Inter,sans-serif;background-color:#fff;border:1px solid #E2E8F0;border-radius:8px;padding:12px 16px;margin-top:5px}.address-label{font-weight:400;color:#728492;font-size:14px;font-family:Inter,sans-serif;margin-bottom:4px}.address-text{color:#334155;font-weight:500;font-size:14px;font-family:Inter,sans-serif;line-height:1.5}.student-row{border-bottom:1px solid #E2E8F0}.student-row.no-border{border-bottom:none}.student-row:hover{background-color:#f8fafc}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:99999}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:700px;width:90%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-title{font-size:16px;font-weight:600;font-family:Inter,sans-serif;color:#334155;margin:0}.modal-close-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#64748b;transition:color .2s}.modal-close-button:hover{color:#334155}.modal-body{margin-bottom:24px}.student-data-display{background-color:#f5f8ff;border:1px solid #E5EBF3;border-radius:12px;padding:16px;margin-bottom:0}.data-table{width:100%}.data-header{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr 1fr;gap:16px;margin-bottom:12px}.data-header-cell{font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:#000;text-align:left}.data-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr 1fr;gap:16px}.data-cell{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#1e293b;text-align:left}.modal-footer{display:flex;gap:12px;justify-content:flex-end}.modal-button{padding:12px 32px;border-radius:12px;font-family:Inter,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;min-width:140px}.cancel-button{background-color:#fff;color:#334155;border:1px solid #E2E8F0}.cancel-button:hover{background-color:#f8fafc;border-color:#cbd5e1}.delete-confirm-button{background-color:#fff;color:#ef4444;border:1px solid #E2E8F0}.delete-confirm-button:hover:not(:disabled){background-color:#fef2f2;border-color:#ef4444}.delete-confirm-button:disabled,.cancel-button:disabled{opacity:.7;cursor:not-allowed}.delete-confirm-button .button-content{display:flex;align-items:center;gap:8px;justify-content:center}.loading-spinner-delete{width:16px;height:16px;border:2px solid rgba(239,68,68,.3);border-top-color:#ef4444;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:1024px){.charts-section{grid-template-columns:1fr;overflow:visible}.chart-content{flex-direction:column;overflow:visible}.chart-legend{flex-direction:row;flex-wrap:wrap;width:100%}}@media(max-width:768px){.students-container{padding:16px}.students-title-container{padding:16px 20px;width:100%}.students-title{font-size:24px}.students-card{padding:20px}.chart-header{flex-wrap:wrap;gap:12px}.chart-icons{gap:6px}.action-bar{flex-direction:column}.students-search-input,.dropdown-button,.filter-button,.add-student-button{width:100%}.tabs-section{overflow-x:auto}.students-table{font-size:12px}.students-table th,.students-table td{padding:8px}}.upload-results-modal{max-width:600px;max-height:80vh;overflow-y:auto}.upload-modal-title{font-size:20px;font-family:Inter,sans-serif;font-weight:600;color:#334155;margin:0}.upload-modal-body{padding:24px}.upload-summary{display:flex;gap:16px;margin-bottom:24px;padding:20px;background-color:#f9fafb;border-radius:12px}.summary-item{flex:1;display:flex;flex-direction:column;gap:8px;align-items:center;padding:12px;border-radius:8px;background-color:#fff}.summary-label{font-size:12px;font-family:Inter,sans-serif;color:#6b7280;font-weight:500;text-align:center}.summary-value{font-size:24px;font-family:Inter,sans-serif;font-weight:700;color:#334155}.success-value{color:#09b86a}.failed-value{color:#f7444e}.upload-errors-section{margin-top:24px}.errors-title{font-size:16px;font-family:Inter,sans-serif;font-weight:600;color:#334155;margin-bottom:12px}.errors-list{max-height:300px;overflow-y:auto;border:1px solid #E2E8F0;border-radius:8px;background-color:#fff}.error-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid #E2E8F0}.error-item:last-child{border-bottom:none}.error-row{font-size:14px;font-family:Inter,sans-serif;font-weight:600;color:#f7444e;min-width:70px}.error-message{font-size:14px;font-family:Inter,sans-serif;color:#64748b;flex:1}.upload-modal-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid #E2E8F0}.upload-close-button{padding:10px 24px;background-color:#334155;color:#fff;border:none;border-radius:8px;font-size:14px;font-family:Inter,sans-serif;font-weight:600;cursor:pointer;transition:all .2s}.upload-close-button:hover{background-color:#1e293b}.add-trip-page-container{display:flex;flex-direction:column;min-height:100vh;width:100%;padding:0 0 40px;overflow-y:auto;box-sizing:border-box}.add-trip-header{display:flex;align-items:center;gap:16px;padding:10px 12px;margin-top:10px}.add-trip-back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;cursor:pointer;border-radius:8px;transition:background-color .2s}.add-trip-back-button:hover{background-color:#f3f4f6}.add-trip-title{font-size:20px;font-weight:600;color:#191919;margin:0}.add-trip-content{flex:1;padding:0 4px;max-width:100%;margin:0;width:100%;box-sizing:border-box}.add-trip-main-card{background-color:#fff;border-radius:20px;padding:40px;margin-bottom:24px;border:1px solid #E2E8F0;box-shadow:0 4px 6px -1px #0000000d}.add-trip-section{margin-bottom:40px}.add-trip-section:last-child{margin-bottom:0}.add-trip-section-title{font-size:16px;font-weight:600;color:#191919;margin:0 0 24px}.add-trip-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.add-trip-form-grid{display:grid;grid-template-columns:minmax(0,477px) minmax(0,477px);gap:24px 40px;justify-content:start}.add-trip-form-column{display:flex;flex-direction:column;gap:20px}.add-trip-field{display:flex;flex-direction:column;gap:8px}.add-trip-label{font-size:13px;font-weight:500;color:#64748b}.add-trip-input,.add-trip-select{padding:12px 16px;border:1px solid #E2E8F0;border-radius:12px;font-size:15px;color:#191919;background-color:#fff;transition:all .2s ease}.add-trip-input:focus,.add-trip-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.add-trip-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23666666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.add-trip-select:disabled{background-color:#f8fafc;cursor:not-allowed;color:#94a3b8}.add-trip-stops-container{display:flex;flex-direction:column;gap:16px}.add-trip-stops-labels{display:grid;grid-template-columns:256px 180px 150px;gap:16px;padding:0 0 8px;align-items:center;justify-content:flex-start}.add-trip-stop-label{font-size:13px;font-weight:500;color:#64748b}.add-trip-stop-row{display:grid;grid-template-columns:256px 180px 150px;gap:16px;align-items:center;margin-bottom:16px;justify-content:flex-start}.add-trip-stop-field-relative{position:relative;display:flex;flex-direction:column}.add-trip-stop-number{position:absolute;top:-8px;left:12px;font-size:11px;font-weight:600;color:#94a3b8;background-color:#fff;padding:0 6px;z-index:10;line-height:16px}.add-trip-detail-field-relative{position:relative;display:flex;flex-direction:column}.add-trip-detail-label-float{position:absolute;top:-8px;left:12px;font-size:11px;font-weight:600;color:#94a3b8;background-color:#fff;padding:0 6px;z-index:10;line-height:16px}.add-trip-input-lg,.add-trip-select-lg,.time-picker-container-lg{width:100%;max-width:477px;height:56px;box-sizing:border-box}.add-trip-stop-spacer{display:none}.add-trip-stop-input-compact{padding:12px 16px!important;font-size:15px!important;height:56px!important;width:256px!important;box-sizing:border-box}.add-trip-fare-input-compact{padding:12px 16px!important;font-size:15px!important;height:56px!important;width:140px!important;box-sizing:border-box}.time-picker-container-compact{padding:12px 16px!important;height:56px!important;box-sizing:border-box;gap:4px!important}.time-picker-container-compact .time-picker-input{font-size:15px!important;width:36px!important}.time-picker-container-compact .time-picker-period{font-size:14px!important;min-width:44px!important;padding-right:16px!important;background-position:right 0 center!important}.add-trip-error{padding:12px 16px;background-color:#fee2e2;color:#dc2626;border-radius:12px;font-size:14px;margin-top:24px}.add-trip-footer{display:flex;justify-content:flex-end;padding:40px 0 0}.add-trip-save-button{padding:14px 40px;background-color:#191919;color:#fff;border:none;border-radius:14px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-trip-save-button:hover:not(:disabled){background-color:#000;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.add-trip-save-button:disabled{background-color:#9ca3af;cursor:not-allowed}.time-picker-container{display:flex;align-items:center;gap:4px;width:100%;padding:10px 12px;border:1px solid #E2E8F0;border-radius:12px;background-color:#fff;transition:all .2s ease;box-sizing:border-box;overflow:hidden;min-width:0}.time-picker-container:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.time-picker-input{width:36px;min-width:0;flex-shrink:0;padding:0;border:none;border-radius:0;font-size:15px;font-family:Inter,sans-serif;color:#191919;background-color:transparent;text-align:center;outline:none;-moz-appearance:textfield}.time-picker-input::-webkit-outer-spin-button,.time-picker-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.time-separator{font-size:16px;font-weight:500;color:#64748b;margin:0 2px}.time-picker-period{flex-shrink:0;padding:0 16px 0 0;border:none;border-radius:0;font-size:14px;font-family:Inter,sans-serif;color:#191919;background-color:transparent;cursor:pointer;transition:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23666666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;min-width:44px;outline:none}@media(max-width:1024px){.add-trip-content{padding:20px}.add-trip-main-card{padding:24px}.add-trip-input-lg,.add-trip-select-lg,.time-picker-container-lg{height:52px}}@media(max-width:768px){.add-trip-form-grid{grid-template-columns:1fr;gap:20px}.add-trip-stop-row,.add-trip-stops-labels{grid-template-columns:1fr 150px 130px;gap:12px}.add-trip-input-lg,.add-trip-select-lg,.time-picker-container-lg{height:48px}}@media(max-width:640px){.add-trip-header{padding:16px}.add-trip-title{font-size:20px}.add-trip-content,.add-trip-section{padding:16px}.add-trip-stop-row,.add-trip-stops-labels{grid-template-columns:1fr;gap:12px}.add-trip-stops-labels{display:none}.add-trip-stop-number{display:flex;align-items:center;gap:8px;font-weight:600}.add-trip-stop-spacer{display:none}.add-trip-input-lg,.add-trip-select-lg,.time-picker-container-lg{height:44px}}.vehicle-route-page-container{display:flex;flex-direction:column;height:100vh;width:100%;background-color:#f9fafb;overflow:hidden}.vehicle-route-tabs{display:flex;gap:0;border-bottom:1px solid #e5e7eb;background-color:#fff;padding:0 24px}.vehicle-route-tab-button{padding:16px 24px;background:none;border:none;border-bottom:3px solid transparent;font-family:Inter,sans-serif;font-size:16px;font-weight:500;color:#666;cursor:pointer;transition:all .2s;position:relative;margin-bottom:-1px}.vehicle-route-tab-button:hover{color:#924cff;background-color:#924cff0d}.vehicle-route-tab-button-active{color:#924cff;border-bottom-color:#924cff}.vehicle-route-tab-button:focus{outline:none}.vehicle-route-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background-color:#fff;border-bottom:1px solid #e5e7eb;gap:16px}.vehicle-route-search-wrapper{display:flex;align-items:center;gap:8px;flex:1;max-width:400px;padding:10px 16px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.vehicle-route-search-wrapper .search-icon{flex-shrink:0;color:#666}.vehicle-route-search-input{flex:1;border:none;background:transparent;outline:none;font-size:14px;color:#191919}.vehicle-route-search-input::-moz-placeholder{color:#999}.vehicle-route-search-input::placeholder{color:#999}.vehicle-route-add-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#191919;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.vehicle-route-add-button:hover{background-color:#333}.vehicle-route-content{display:flex;flex:1;gap:24px;padding:24px;overflow:hidden}.vehicle-route-main-panel{flex:1;display:flex;flex-direction:column;background-color:#fff;border-radius:12px;padding:24px;overflow-y:auto}.vehicle-route-header-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.vehicle-route-title-section{flex:1}.vehicle-route-title{font-size:24px;font-weight:600;color:#191919;margin:0 0 8px}.vehicle-route-registration{font-size:16px;color:#666;margin:0}.vehicle-route-performance-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#d1fae5;border-radius:20px;font-size:14px}.performance-label{color:#065f46;font-weight:500}.performance-value{color:#047857;font-weight:600}.vehicle-route-trips-section{flex:1;display:flex;flex-direction:column}.vehicle-route-empty-box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;border:2px dashed #a855f7;border-radius:12px;background-color:#fafafa;padding:40px;gap:24px;position:relative}.vehicle-route-add-staff-button{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.vehicle-route-add-staff-button:hover{background-color:#e5e7eb;border-color:#d1d5db}.vehicle-route-add-trips-link{background:none;border:none;color:#2563eb;font-size:16px;font-weight:500;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .2s;padding:8px}.vehicle-route-add-trips-link:hover{text-decoration-color:#2563eb}.vehicle-route-sidebar-panel{width:400px;display:flex;flex-direction:column;background-color:#fff;border-radius:12px;padding:24px;overflow-y:auto}.vehicle-route-sidebar-header{margin-bottom:24px}.vehicle-route-sidebar-title{font-size:20px;font-weight:600;color:#191919;margin:0 0 8px}.vehicle-route-sidebar-subtitle{font-size:14px;color:#666;margin:0}.vehicle-route-sidebar-panel .vehicle-route-empty-box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;border:2px dashed #d1d5db;border-radius:12px;background-color:#fafafa;padding:40px;gap:24px;position:relative;margin-top:0}.vehicle-route-add-students-link{background:none;border:none;color:#999;font-size:14px;cursor:pointer;padding:8px;text-align:center;width:100%}.vehicle-route-add-students-link:hover{color:#191919}.vehicle-route-loading,.vehicle-route-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px}.vehicle-route-error button{padding:10px 20px;background-color:#6366f1;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.vehicle-route-error button:hover{background-color:#4f46e5}@media(max-width:1024px){.vehicle-route-content{flex-direction:column}.vehicle-route-sidebar-panel{width:100%}}@media(max-width:640px){.vehicle-route-header{flex-direction:column;align-items:stretch}.vehicle-route-search-wrapper{max-width:100%}.vehicle-route-header-section{flex-direction:column;gap:16px}.vehicle-route-performance-badge{align-self:flex-start}}.sidebar{width:108px;background-color:#0e0e0e;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:24px 0;gap:32px;position:fixed;left:8px;top:8px;bottom:8px;height:calc(100vh - 16px)}.sidebar-logo{width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.xplor-logo{width:80px;height:80px;-o-object-fit:contain;object-fit:contain}.logo-placeholder{width:60px;height:60px;background-color:#000;border-radius:12px}.sidebar-nav{display:flex;flex-direction:column;gap:16px;justify-content:flex-start;align-items:center;flex:1;margin-top:24px}.nav-item{width:60px;height:60px;background-color:transparent;border:none;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease;color:#666}.nav-item img{width:30px;height:30px;-o-object-fit:contain;object-fit:contain;display:block}.nav-item:hover{background-color:#1a1a1a;transform:translateY(-1px)}.nav-item:focus-visible{outline:none;box-shadow:0 0 0 2px #0e0e0e,0 0 0 4px #fff9}.nav-item.active{background:linear-gradient(to bottom,#fff,#ffffff63);color:#fff}.nav-item.active:hover{transform:none}.nav-logo-icon{width:30px;height:30px;-o-object-fit:contain;object-fit:contain;background:transparent!important;display:block}.nav-logo-icon-small{width:24px;height:24px;-o-object-fit:contain;object-fit:contain}.logout-button{margin-top:auto;margin-bottom:24px}.logout-button:hover{background-color:#1a1a1a}.top-bar{background-color:#fff;border-radius:16px!important;box-shadow:0 2px 4px #00000014;padding:20px 32px;margin-bottom:20px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:88px}.top-bar-heading{font-size:28px;font-weight:700;color:#333;margin:0;text-align:left}.top-bar-right{display:flex;align-items:center;gap:12px}.bell-icon-container{display:flex;align-items:center;justify-content:center;width:52.28px;height:52.28px;cursor:pointer;border-radius:8px;background-color:#f5f5f5;transition:background-color .2s ease}.bell-icon-container:hover{background-color:#e8e8e8}.bell-icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain}.top-bar-user-profile{display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:8px;background-color:#fff;min-height:56px;box-sizing:border-box}.top-bar-user-avatar{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:8px;background-color:#eff0f5;flex-shrink:0}.top-bar-user-info{display:flex;flex-direction:column;justify-content:center;gap:2px}.top-bar-user-name{font-size:20px;font-weight:600;color:#191919;line-height:1.2;letter-spacing:0px;font-family:Inter}.top-bar-user-role{font-size:16px;font-weight:400;color:#6b778c;line-height:1.2;letter-spacing:0px;font-family:Inter}.welcome-layout-container{display:flex;width:100%;min-height:100vh}.welcome-main-content{flex:1;display:flex;flex-direction:column;background-color:#f5f5f5;margin-left:124px;min-height:100vh;padding:16px 20px;box-sizing:border-box}.welcome-content-wrapper{flex:1;overflow-y:auto;padding:0;width:100%;display:flex;flex-direction:column}.welcome-container{width:100%;height:100%;min-height:calc(100vh - 120px);margin:0;padding:0;overflow:hidden;position:relative}.welcome-bg{width:100%;height:100%;min-height:calc(100vh - 200px);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;display:flex;align-items:center;justify-content:center;border-radius:16px}.welcome-center{width:90%;max-width:900px;aspect-ratio:16/10;background-size:contain;background-position:center;background-repeat:no-repeat;position:relative;padding:60px 80px;display:flex;align-items:center;justify-content:flex-start;min-height:600px}.welcome-content{width:100%;max-width:600px;display:flex;flex-direction:column;gap:24px;z-index:1}.welcome-title{font-family:Inter,sans-serif;font-size:48px;font-weight:700;color:#191919;margin:0;line-height:1.2;text-align:left}.welcome-text{font-family:Inter,sans-serif;font-size:16px;font-weight:400;color:#191919;margin:0;line-height:1.6;text-align:left}.welcome-button{padding:16px 32px;font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:#fff;border:none;border-radius:40px;cursor:pointer;background:linear-gradient(to right,#fe71a9 25%,#924cff);transition:transform .2s,opacity .2s;width:-moz-fit-content;width:fit-content;margin-top:8px}.welcome-button:hover{transform:scale(1.02);opacity:.9}.welcome-button:active{transform:scale(.98)}.welcome-button:focus{outline:none;box-shadow:0 0 0 3px #fe71a94d}@media(max-width:968px){.welcome-center{padding:40px;min-height:500px}.welcome-title{font-size:36px}}@media(max-width:640px){.welcome-center{padding:30px;min-height:400px}.welcome-title{font-size:28px}.welcome-text{font-size:14px}.welcome-button{padding:14px 28px;font-size:14px}}.notification-sidebar-overlay{position:fixed;top:0;right:0;width:100%;height:100%;background-color:#0000001a;display:flex;justify-content:flex-end;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.notification-sidebar{width:350px;height:90%;background:#fff;margin:20px;border-radius:12px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;animation:slideInRight .3s ease-out;overflow:hidden}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-header{padding:20px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.notification-header h2{margin:0;font-size:1.1rem;color:#7a8ba3;font-weight:600}.mark-all-read-btn{background:none;border:none;color:#4a90e2;font-size:.85rem;cursor:pointer;padding:5px 10px;border-radius:4px}.mark-all-read-btn:hover{background-color:#f0f7ff}.notification-list{flex:1;overflow-y:auto;padding:0 10px}.notification-loading,.notification-empty{padding:40px 20px;text-align:center;color:#999}.notification-item{display:flex;align-items:center;padding:15px 10px;border-bottom:1px solid #f5f5f5;transition:background-color .2s}.notification-item:hover{background-color:#f9fafb}.notification-item.unread{background-color:#f0f7ff}.notification-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:15px;flex-shrink:0;font-size:1.2rem}.notification-icon.trip_started{background-color:#f0f2ff}.notification-icon.trip_ended{background-color:#fff4f0}.notification-content{flex:1;display:flex;justify-content:space-between;align-items:flex-start}.notification-title{margin:0;font-size:.9rem;color:#333;font-weight:500;line-height:1.4;padding-right:10px}.notification-time{font-size:.8rem;color:#666;white-space:nowrap}.notification-footer{padding:20px;border-top:1px solid #f0f0f0}.close-sidebar-btn{width:100%;padding:12px;background-color:#fff;border:1px solid #e0e6ed;border-radius:10px;color:#333;font-weight:500;cursor:pointer;transition:all .2s}.close-sidebar-btn:hover{background-color:#f8f9fa;border-color:#d1d9e2}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:transparent}.notification-list::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:10px}.notification-list::-webkit-scrollbar-thumb:hover{background:#d0d0d0}.layout-container{display:flex;width:100%;min-height:100vh}.layout-main-content{flex:1;display:flex;flex-direction:column;background-color:#f5f5f5;margin-left:108px;min-height:100vh;padding:16px 20px;box-sizing:border-box}.layout-outlet-container{flex:1;overflow-y:auto;padding:0;width:100%;display:flex;flex-direction:column;min-height:0}.layout-outlet-container:has(.route-creation-container){overflow:hidden;min-height:0;height:calc(100vh - 124px)}
