*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.static{position:static}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.z-10{z-index:10}.z-\[9999\]{z-index:9999}.\!m-0{margin:0!important}.m-0{margin:0}.\!my-0{margin-top:0!important;margin-bottom:0!important}.mx-auto{margin-left:auto;margin-right:auto}.\!mb-0{margin-bottom:0!important}.\!mb-1{margin-bottom:.25rem!important}.\!mb-2{margin-bottom:.5rem!important}.\!mt-1{margin-top:.25rem!important}.\!mt-2{margin-top:.5rem!important}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-3{margin-left:.75rem}.mr-0{margin-right:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-20{height:5rem}.h-36{height:9rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-40{max-height:10rem}.max-h-\[280px\]{max-height:280px}.max-h-\[340px\]{max-height:340px}.max-h-\[420px\]{max-height:420px}.max-h-\[520px\]{max-height:520px}.max-h-\[620px\]{max-height:620px}.min-h-0{min-height:0}.min-h-16{min-height:4rem}.min-h-8{min-height:2rem}.min-h-\[42px\]{min-height:42px}.min-h-\[520px\]{min-height:520px}.min-h-\[82px\]{min-height:82px}.min-h-\[calc\(100vh-56px\)\]{min-height:calc(100vh - 56px)}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-20{width:5rem}.w-36{width:9rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[180px\]{min-width:180px}.min-w-\[300px\]{min-width:300px}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[220px\]{max-width:220px}.max-w-\[280px\]{max-width:280px}.max-w-\[320px\]{max-width:320px}.max-w-\[340px\]{max-width:340px}.max-w-\[480px\]{max-width:480px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-lime-500{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/60{background-color:rgb(248 250 252/.6)}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pr-1{padding-right:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.\!text-\[18px\]{font-size:18px!important}.\!text-\[20px\]{font-size:20px!important}.\!text-\[22px\]{font-size:22px!important}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.\!text-xs{font-size:.75rem!important;line-height:1rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.\!font-medium{font-weight:500!important}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.\!leading-tight{line-height:1.25!important}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.\!text-slate-100{--tw-text-opacity:1!important;color:rgb(241 245 249/var(--tw-text-opacity,1))!important}.\!text-slate-400{--tw-text-opacity:1!important;color:rgb(148 163 184/var(--tw-text-opacity,1))!important}.\!text-slate-500{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity,1))!important}.\!text-slate-600{--tw-text-opacity:1!important;color:rgb(71 85 105/var(--tw-text-opacity,1))!important}.\!text-slate-900{--tw-text-opacity:1!important;color:rgb(15 23 42/var(--tw-text-opacity,1))!important}.\!text-slate-950{--tw-text-opacity:1!important;color:rgb(2 6 23/var(--tw-text-opacity,1))!important}.\!text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}:root{--demeter-font-sans:"Be Vietnam Pro",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#242635;background:#f6f6f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;margin:0;color:#1f2937;font-family:var(--demeter-font-sans);font-size:13px;font-weight:400;line-height:1.55;letter-spacing:0}#root,body{overflow-x:hidden}#root{width:100%;max-width:100%;min-height:100vh}.ant-app,.ant-btn,.ant-card,.ant-dropdown,.ant-form,.ant-input,.ant-input-number,.ant-input-number-input,.ant-menu,.ant-modal,.ant-popover,.ant-segmented,.ant-select,.ant-select-item,.ant-table,.ant-typography,button,input,select,textarea{font-family:var(--demeter-font-sans);letter-spacing:0}.ant-card,.ant-dropdown-menu,.ant-form-item,.ant-input,.ant-input-number-input,.ant-modal,.ant-select-dropdown,.ant-select-selection-item,.ant-table,.ant-typography{font-size:13px;line-height:1.55}.ant-card-head-title,.ant-drawer-title,.ant-form-item-label>label,.ant-modal-title,.ant-statistic-title,.ant-table-thead>tr>th,.ant-table-title{letter-spacing:0}.ant-card-head-title,.ant-drawer-title,.ant-modal-title{color:#111827;font-size:15px;font-weight:600;line-height:1.35}.ant-form-item-label>label{color:#344054;font-size:13px;font-weight:500}.ant-btn{font-size:13px;font-weight:600;line-height:1.35}.ant-table-thead>tr>th{color:#344054;font-size:12.5px;font-weight:600}.ant-table-tbody>tr>td{color:#1f2937;font-size:13px;font-weight:400}.ant-tag{font-size:12px;font-weight:500}.ant-pro-page-container-children-container{padding-block-start:12px}.viis-dashboard-layout{min-height:100vh;background:#f6f7f9;color:#1f2937}.viis-lucide-icon{display:inline-block;flex:0 0 auto;color:currentColor;stroke:currentColor;vertical-align:-.16em}.viis-spin-icon{animation:viis-spin .9s linear infinite}@keyframes viis-spin{to{transform:rotate(1turn)}}.viis-dashboard-layout .ant-layout{background:transparent}.viis-dashboard-layout .ant-pro-layout-bg-list{display:none}.viis-dashboard-layout .ant-pro-global-header,.viis-dashboard-layout .ant-pro-top-nav-header{height:58px;border-block-start:3px solid #149045;border-block-end:1px solid #e5e7eb;background:#ffffff!important;box-shadow:none}.viis-dashboard-layout .ant-pro-global-header{padding-inline:0 12px}.viis-header-brand{height:55px;min-width:0;gap:9px;border:0;border-inline-end:1px solid #eef0f3;background:transparent;cursor:pointer;margin-inline-end:6px;padding:0 13px 0 12px;text-align:left}.viis-header-brand,.viis-header-logo{display:inline-flex;align-items:center}.viis-header-logo{width:34px;height:34px;flex:0 0 auto;justify-content:center;border:1px solid #eef0f3;border-radius:6px;background:#ffffff;padding:4px}.viis-header-logo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.viis-header-copy{display:flex;min-width:0;flex-direction:column;line-height:1.1}.viis-header-copy strong{color:#111827;font-size:13px;font-weight:700;letter-spacing:0}.viis-header-copy span{margin-top:3px;color:#8a93a3;font-size:10px;font-weight:600;letter-spacing:0;text-transform:none}.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal{flex:1;min-width:0;border-block-end:0;background:transparent}.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item,.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu{height:52px;color:#4b5563;font-size:13px;font-weight:500;line-height:52px;margin-inline:2px;padding-inline:10px}.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item .anticon,.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item .viis-lucide-icon,.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu .anticon,.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu .viis-lucide-icon{color:#535c68;font-size:15px}.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item:after,.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu:after{inset-inline:10px;border-block-end-width:2px;border-block-end-color:transparent}.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item-selected,.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item:hover,.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu-selected,.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu:hover{color:#111827}.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item-selected:after,.viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu-selected:after{border-block-end-color:#149045!important}.viis-dashboard-layout .ant-pro-global-header-collapsed-button{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;margin-inline-end:8px;border:1px solid #e5e7eb;border-radius:8px;background:#ffffff;color:#4b5563;cursor:pointer;line-height:1}.viis-dashboard-layout .ant-pro-global-header-collapsed-button:hover{border-color:#cfd6dd;background:#f8fafc;color:#111827}.viis-dashboard-layout .ant-pro-global-header-collapsed-button .anticon-menu{display:inline-flex;position:relative;width:18px;height:18px;align-items:center;justify-content:center}.viis-dashboard-layout .ant-pro-global-header-collapsed-button .anticon-menu svg{display:none}.viis-dashboard-layout .ant-pro-global-header-collapsed-button .anticon-menu:before{position:absolute;inset:1px;border:2px solid;border-radius:4px;content:""}.viis-dashboard-layout .ant-pro-global-header-collapsed-button .anticon-menu:after{position:absolute;inset:1px;width:18px;height:18px;background:linear-gradient(currentColor,currentColor) 0 6px /16px 2px no-repeat,linear-gradient(currentColor,currentColor) 6px 6px /2px 10px no-repeat;content:""}.viis-dashboard-tabs{display:inline-flex;max-width:100%;min-width:0;align-items:center;gap:4px;overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;padding:3px;scrollbar-width:none}.viis-dashboard-tabs::-webkit-scrollbar{display:none}.viis-dashboard-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;height:32px;min-width:-moz-max-content;min-width:max-content;align-items:center;gap:7px;border:0;border-radius:6px;background:transparent;color:#667085;cursor:pointer;font:inherit;font-size:12px;font-weight:600;line-height:1;padding:0 11px;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.viis-dashboard-tab:hover{background:#eef2f5;color:#111827}.viis-dashboard-tab.is-active{background:#ffffff;box-shadow:0 1px 2px rgba(15,23,42,.08);color:#149045}.viis-dashboard-layout .ant-pro-sider{overflow:visible;border-inline-end:1px solid #e5e7eb;background:#ffffff!important;box-shadow:none}.viis-dashboard-layout .ant-pro-sider .ant-layout-sider-children{display:flex;flex-direction:column;background:#ffffff}.viis-dashboard-layout .ant-pro-sider .ant-menu{border-inline-end:0;background:transparent;padding:8px 10px 16px}.viis-dashboard-layout .ant-pro-sider .ant-menu-light,.viis-dashboard-layout .ant-pro-sider .ant-menu-light .ant-menu-sub{background:transparent!important}.viis-dashboard-layout .ant-pro-sider .ant-menu-item,.viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title{width:calc(100% - 8px);height:40px;align-items:center;color:#667085;font-size:13px;font-weight:500;line-height:40px;margin:4px;padding-inline:14px!important;border-radius:8px;transition:background .16s ease,color .16s ease,transform .16s ease}.viis-dashboard-layout .ant-pro-sider .ant-menu-item .anticon,.viis-dashboard-layout .ant-pro-sider .ant-menu-item .viis-lucide-icon,.viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title .anticon,.viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title .viis-lucide-icon{min-width:18px;color:#98a2b3;font-size:15px}.viis-dashboard-layout .ant-pro-sider .ant-menu-item:hover,.viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title:hover{background:#f5f7f8;color:#111827}.viis-dashboard-layout .ant-pro-sider .ant-menu-item:hover .anticon,.viis-dashboard-layout .ant-pro-sider .ant-menu-item:hover .viis-lucide-icon,.viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title:hover .anticon,.viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title:hover .viis-lucide-icon{color:#475467}.viis-dashboard-layout .ant-pro-sider .ant-menu-item-selected,.viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-selected>.ant-menu-submenu-title{background:#f0f2f4!important;color:#111827;font-weight:600}.viis-dashboard-layout .ant-pro-sider .ant-menu-item-selected .anticon,.viis-dashboard-layout .ant-pro-sider .ant-menu-item-selected .viis-lucide-icon,.viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-selected>.ant-menu-submenu-title .anticon,.viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-selected>.ant-menu-submenu-title .viis-lucide-icon{color:#111827}.viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-arrow{color:#98a2b3!important}.viis-dashboard-layout .ant-pro-sider .ant-menu-sub{position:relative;margin:0 0 4px 12px;padding:1px 0 2px}.viis-dashboard-layout .ant-pro-sider .ant-menu-sub:before{display:none;content:none}.viis-dashboard-layout .ant-pro-sider .ant-menu-sub .ant-menu-item{width:calc(100% - 6px);height:38px;color:#8a93a3;line-height:38px;margin:3px;padding-inline-start:18px!important}.viis-dashboard-layout .ant-pro-sider .ant-menu-sub .ant-menu-item:before{display:none;content:none}.viis-sidebar-menu-link{display:inline-flex;min-width:0;align-items:center;gap:8px}.viis-sidebar-menu-icon{display:inline-flex;width:18px;min-width:18px;align-items:center;justify-content:center;color:#98a2b3}.viis-sidebar-menu-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viis-dashboard-layout .ant-pro-sider .ant-menu-item:hover .viis-sidebar-menu-icon{color:#475467}.viis-dashboard-layout .ant-pro-sider .ant-menu-item-selected .viis-sidebar-menu-icon{color:#111827}.viis-dashboard-layout .ant-pro-sider-collapsed-button{position:absolute;inset-block-start:50px;inset-inline-end:-18px;z-index:20;display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:999px;background:#ffffff;box-shadow:0 8px 22px rgba(15,23,42,.12);color:#667085;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.viis-dashboard-layout .ant-pro-sider-collapsed-button:hover{border-color:#cfd6dd;background:#ffffff;box-shadow:0 10px 26px rgba(15,23,42,.16);color:#111827}.viis-dashboard-layout .ant-pro-sider-collapsed-button .viis-lucide-icon{stroke-width:2.4}.viis-dashboard-layout .ant-pro-sider-collapsed .ant-menu{padding-inline:7px}.viis-dashboard-layout .ant-pro-sider-collapsed .ant-menu-item,.viis-dashboard-layout .ant-pro-sider-collapsed .ant-menu-submenu-title{width:42px;justify-content:center;margin-inline:auto;padding-inline:0!important}.viis-dashboard-layout .ant-pro-sider-collapsed .viis-sidebar-menu-label{display:none}.viis-dashboard-layout .ant-pro-sider-collapsed .viis-sidebar-menu-link{justify-content:center}.viis-sidebar-version{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:auto 12px 14px;padding:10px 11px;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa;color:#667085;font-size:11px;line-height:1}.viis-sidebar-version-label{color:#98a2b3;font-weight:600;text-transform:uppercase}.viis-sidebar-version strong{color:#344054;font-size:11px;font-weight:700}.viis-sidebar-version.is-collapsed{justify-content:center;margin-inline:8px;padding:9px 0}.viis-sidebar-version.is-collapsed .viis-sidebar-version-label{display:none}.viis-header-icon-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid #e5e7eb!important;border-radius:8px;background:#ffffff!important;color:#4b5563!important;cursor:pointer;font:inherit;padding:0}.viis-header-icon-button:hover{border-color:#cfd6dd!important;background:#f8fafc!important;color:#111827!important}.viis-ai-button{position:relative;overflow:visible;border-color:rgba(20,144,69,.24)!important;background:linear-gradient(#ffffff,#ffffff) padding-box,linear-gradient(135deg,rgba(20,144,69,.68),rgba(14,165,233,.52)) border-box!important;color:#137a40!important;box-shadow:0 7px 18px rgba(20,144,69,.11),inset 0 0 0 1px rgba(255,255,255,.7)}.viis-ai-button:hover{border-color:rgba(20,144,69,.36)!important;background:linear-gradient(180deg,#f8fffb,#ffffff) padding-box,linear-gradient(135deg,rgba(20,144,69,.78),rgba(14,165,233,.62)) border-box!important;color:#0f6f3a!important;box-shadow:0 10px 24px rgba(20,144,69,.16),inset 0 0 0 1px rgba(255,255,255,.8)}.viis-ai-button.is-active{border-color:#149045!important;background:linear-gradient(135deg,#149045,#19a974 58%,#0ea5e9) padding-box,linear-gradient(135deg,#149045,#0ea5e9) border-box!important;color:#149045!important;box-shadow:0 10px 26px rgba(20,144,69,.22),inset 0 0 0 1px rgba(255,255,255,.18)}.viis-ai-icon-shell{position:relative;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center}.viis-ai-icon-shell:before{position:absolute;inset:1px;z-index:0;content:"";border-radius:7px;background:linear-gradient(135deg,rgba(20,144,69,.12),rgba(14,165,233,.1))}.viis-ai-icon-main{position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(15,23,42,.08))}.viis-ai-icon-spark{position:absolute;right:-2px;bottom:-1px;z-index:2;display:inline-flex;width:13px;height:13px;align-items:center;justify-content:center;border:1px solid #ffffff;border-radius:999px;background:#eafff2;color:#149045;box-shadow:0 2px 5px rgba(15,23,42,.14)}.viis-ai-button.is-active .viis-ai-icon-shell:before{background:rgba(255,255,255,.16)}.viis-ai-button.is-active .viis-ai-icon-main{color:#ffffff;filter:drop-shadow(0 1px 2px rgba(8,47,32,.32))}.viis-ai-button.is-active .viis-ai-icon-spark{background:#ffffff;color:#149045}.viis-language-button{width:auto;min-width:58px;gap:6px;padding-inline:9px!important}.viis-language-flag{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;overflow:hidden;border-radius:999px;font-size:16px;line-height:1;box-shadow:0 0 0 1px rgba(15,23,42,.1)}.viis-language-current{color:#344054;font-size:11px;font-weight:700;letter-spacing:0;line-height:1}.viis-user-trigger{display:inline-flex;height:34px;align-items:center;gap:8px;border:1px solid #e5e7eb;border-radius:8px;background:#ffffff;cursor:pointer;padding:3px 8px 3px 3px;color:#1f2937}.viis-user-trigger:hover{border-color:#cfd6dd;background:#f8fafc}.viis-user-avatar{flex:0 0 auto;background:linear-gradient(135deg,#149045,#55ad57);color:#fff;font-weight:700}.viis-user-chevron{flex:0 0 auto;color:#64748b;font-size:11px}.viis-user-menu-identity{display:flex;min-width:210px;flex-direction:column;gap:2px;padding:4px 0}.viis-notification-panel{width:min(372px,calc(100vw - 32px));overflow:hidden;border:1px solid #e5e7eb;border-radius:8px;background:rgba(255,255,255,.97);box-shadow:0 22px 56px rgba(15,23,42,.18);padding:10px}.viis-notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-block-end:1px solid #eef0f3;padding:8px 8px 10px}.viis-notification-header>div{display:flex;min-width:0;flex-direction:column;gap:2px}.viis-notification-item{align-items:flex-start!important;gap:10px;border-block-end:1px solid #eef0f3!important;padding:12px 8px!important}.viis-notification-item:last-child{border-block-end:0!important}.viis-notification-dot{width:9px;height:9px;flex:0 0 auto;border-radius:999px;background:#149045;box-shadow:0 0 0 5px rgba(20,144,69,.12);margin-top:8px}.viis-notification-empty{padding:26px 0 18px}.viis-page-splitter{min-height:calc(100vh - 58px);background:#f8fafc}.viis-page-splitter .ant-splitter-panel{min-width:0}.viis-page-splitter .ant-splitter-bar{background:#eef2f6}.viis-page-splitter .ant-splitter-bar-dragger:before{background:#cbd5e1}.viis-ai-panel{display:flex;height:calc(100vh - 58px);min-height:560px;flex-direction:column;border-inline-start:1px solid #e5e7eb;background:#ffffff}.viis-ai-panel-header{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:12px;border-block-end:1px solid #eef0f3;padding:12px 14px}.viis-ai-panel-title{display:inline-flex;min-width:0;align-items:center;gap:10px}.viis-ai-panel-title>div{display:flex;min-width:0;flex-direction:column;gap:2px}.viis-ai-panel-logo{display:inline-flex;width:34px;height:34px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(135deg,#149045,#19a974);color:#ffffff;box-shadow:0 10px 24px rgba(20,144,69,.2)}.viis-ai-panel-close{flex:0 0 auto;color:#667085!important}.viis-ai-status-row{display:flex;align-items:center;gap:8px;border-block-end:1px solid #f1f5f9;padding:10px 14px;color:#667085;font-size:12px;font-weight:600}.viis-ai-panel-body{flex:1;min-height:0;overflow:auto;padding:14px}.viis-ai-welcome-card{border:1px solid #dbe7ef;border-radius:8px;background:linear-gradient(180deg,#f8fbff,#ffffff);box-shadow:0 10px 24px rgba(15,23,42,.04);padding:14px}.viis-ai-welcome-card .ant-typography{color:#475467;font-size:13px;line-height:1.55}.viis-ai-context-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.viis-ai-context-tag{margin-inline-end:0;border-color:#dbe7ef;border-radius:999px;background:#f8fafc;color:#475467;font-weight:600}.viis-ai-examples{display:grid;gap:8px;margin-top:16px}.viis-ai-examples button{min-width:0;border:1px solid #e5e7eb;border-radius:8px;background:#ffffff;color:#344054;cursor:pointer;font:inherit;font-size:13px;line-height:1.4;padding:10px 11px;text-align:left;transition:border-color .16s ease,background .16s ease,color .16s ease}.viis-ai-examples button:hover{border-color:#b7d9c3;background:#f3fbf6;color:#146c38}.viis-ai-composer{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:end;gap:8px;border-block-start:1px solid #eef0f3;background:#ffffff;padding:12px}.viis-ai-composer textarea.ant-input{resize:none;border-radius:8px;font-size:13px;line-height:1.45}.viis-page-container .ant-pro-page-container-children-container{padding-inline:clamp(12px,1.4vw,20px);padding-block-start:12px;padding-block-end:20px}.viis-page-hero{display:flex;gap:18px;border:1px solid #e5e7eb;background:#ffffff;box-shadow:0 10px 28px rgba(15,23,42,.035);padding:clamp(18px,2vw,26px)}.viis-page-hero,.viis-page-icon{align-items:center;border-radius:8px}.viis-page-icon{display:inline-flex;width:54px;height:54px;flex:0 0 auto;justify-content:center;background:#149045;box-shadow:0 14px 26px rgba(20,144,69,.16);color:#fff;font-size:24px}.viis-dashboard-hero,.viis-table-card{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px rgba(15,23,42,.035)}.viis-dashboard-hero{overflow:hidden;background:#ffffff;padding:clamp(20px,2.4vw,30px)}.viis-dashboard-hero-text{display:block;max-width:720px;color:#4a5750;font-size:15px;line-height:1.7}.maps-config-page{min-width:0}.maps-config-heading{display:flex;align-items:center;gap:12px;border:1px solid #e5e7eb;border-radius:8px;background:#ffffff;padding:14px 16px}.maps-config-heading .ant-typography{margin:0}.maps-config-heading-icon{display:inline-flex;width:44px;height:44px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:8px;background:#eaf8ef;color:#149045}.maps-config-card,.maps-preview-card{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px rgba(15,23,42,.035)}.maps-config-card+.maps-config-card{margin-top:14px}.maps-config-status-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;color:#667085;font-size:12px}.maps-config-status-row strong{min-width:0;overflow:hidden;color:#111827;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.maps-leaflet-preview,.maps-preview-empty{height:min(620px,calc(100vh - 230px));min-height:430px;border:1px solid #eef0f3;border-radius:8px;overflow:hidden;background:#eef2f5}.maps-preview-empty{display:flex;align-items:center;justify-content:center;gap:8px;color:#667085;font-weight:600}.maps-leaflet-preview .leaflet-control-attribution{font-size:10px}.viis-dashboard-metric-card .ant-card-body{display:flex;min-height:112px;align-items:center;gap:16px}.viis-dashboard-metric-icon{display:inline-grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border:1px solid rgba(20,144,69,.18);border-radius:8px;background:#ecfdf3;color:#149045}.viis-dashboard-metric-icon.is-blue{border-color:rgba(37,99,235,.16);background:#eff6ff;color:#2563eb}.viis-dashboard-metric-icon.is-lime{border-color:rgba(101,163,13,.18);background:#f7fee7;color:#65a30d}.viis-dashboard-metric-icon.is-red{border-color:rgba(220,38,38,.16);background:#fef2f2;color:#dc2626}.viis-dashboard-metric-icon.is-amber{border-color:rgba(217,119,6,.16);background:#fffbeb;color:#d97706}.viis-dashboard-metric-copy{min-width:0}.viis-dashboard-metric-copy span{display:block;color:#667085;font-size:13px;font-weight:500}.viis-dashboard-metric-copy strong{display:block;overflow:hidden;margin-top:5px;color:#111827;font-size:24px;font-weight:700;letter-spacing:0;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.viis-quick-card,.viis-stat-card{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px rgba(15,23,42,.035)}.viis-stat-card .ant-statistic-title{color:#5b665f;font-weight:500}.viis-stat-card .ant-statistic-content{color:#242635}.viis-stat-card .ant-statistic-content-prefix{color:#149045}.viis-quick-card .ant-card-head{border-block-end-color:#eef0f3}.viis-quick-card .ant-card-head-title{color:#242635;font-weight:600}.viis-dashboard-chart-card .ant-card-body{padding:12px 14px 14px}.viis-dashboard-quota-card .ant-card-body{padding:14px}.viis-dashboard-quota-list{display:grid;gap:12px}.viis-dashboard-quota-row{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(320px,1.28fr);gap:18px;align-items:start;padding:14px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.viis-dashboard-quota-service{display:flex;min-width:0;flex-direction:column;gap:10px}.viis-dashboard-quota-progress-stack{display:grid;gap:10px;min-width:0}.viis-dashboard-quota-progress-item{min-width:0}.viis-dashboard-quota-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:3px;font-size:12px}.viis-dashboard-quota-progress-copy span{min-width:0;overflow:hidden;color:#475569;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.viis-dashboard-quota-progress-copy strong{flex:0 0 auto;color:#1f2937;font-weight:600}.viis-dashboard-bar-chart{width:100%;height:260px}@media (max-width:991px){.viis-dashboard-quota-row{grid-template-columns:1fr}}.viis-super-dashboard-tabs .ant-tabs-nav{margin-bottom:16px}.viis-super-dashboard-tabs .ant-tabs-tab{font-weight:650}.viis-dashboard-scope-card .ant-card-body{padding:14px 16px}.viis-dashboard-scope-select{min-width:min(420px,100%)}.viis-tenant-dashboard-tabs .ant-tabs-nav{margin-bottom:16px}.viis-tenant-dashboard-customer-select{min-width:min(360px,48vw)}.viis-tenant-customer-dashboard-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:16px;align-items:start}.viis-dashboard-node-preview .ant-card-body,.viis-dashboard-site-tree-card .ant-card-body{min-height:520px}.viis-dashboard-site-tree-card .ant-tree-node-content-wrapper{min-width:0}.viis-dashboard-tree-title{max-width:100%;min-width:0}.viis-dashboard-tree-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viis-dashboard-tree-title.is-muted{color:#94a3b8}.viis-dashboard-node-list{display:grid;gap:10px}.viis-dashboard-node-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.viis-dashboard-device-snapshot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.viis-dashboard-device-snapshot>div{min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.viis-dashboard-device-snapshot span{display:block;color:#64748b;font-size:12px;font-weight:600}.viis-dashboard-device-snapshot strong{display:block;overflow:hidden;margin-top:4px;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}.viis-dashboard-map-card .ant-card-body{padding:14px}.viis-dashboard-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px}.viis-dashboard-map-canvas{width:100%;min-height:520px;overflow:hidden;border:1px solid #e5e7eb;border-radius:8px;background:#eef2f5}.viis-dashboard-map-list{display:grid;align-content:start;gap:8px;max-height:520px;overflow:auto}.viis-dashboard-map-list>div{padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}@media (max-width:991px){.viis-dashboard-map-layout,.viis-tenant-customer-dashboard-grid{grid-template-columns:1fr}.viis-tenant-dashboard-tabs .ant-tabs-extra-content{width:100%;margin-top:8px}.viis-tenant-dashboard-customer-select{width:100%}.viis-dashboard-device-snapshot{grid-template-columns:1fr}}.viis-monitoring-toolbar{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.viis-monitoring-tabs{display:flex;flex:1;min-width:0;align-items:center;gap:6px;overflow-x:auto;padding:2px;scrollbar-width:thin}.viis-monitoring-tabs::-webkit-scrollbar{height:4px}.viis-monitoring-tab-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;min-height:40px;align-items:center;justify-content:center;border:1px solid #dbe3ec;border-radius:8px;background:#ffffff;box-shadow:0 1px 2px rgba(15,23,42,.04);color:#334155;cursor:pointer;font:inherit;padding:0 12px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.viis-monitoring-tab-button:hover{border-color:#b7d9c3;background:#f7fbf9;color:#116a36}.viis-monitoring-tab-button:focus-visible{outline:2px solid rgba(20,144,69,.35);outline-offset:2px}.viis-monitoring-tab-button.is-active{border-color:#149045;background:#149045;box-shadow:0 8px 18px rgba(20,144,69,.18);color:#ffffff}.viis-monitoring-tab-button.is-active:hover{border-color:#0f7d3e;background:#0f7d3e;color:#ffffff}.viis-monitoring-tab-label{display:inline-flex;min-width:0;align-items:center;gap:7px;font-size:13px;font-weight:650;line-height:1;white-space:nowrap}.viis-monitoring-tab-label .viis-lucide-icon{color:#149045;stroke-width:2.3}.viis-monitoring-tab-button:hover .viis-lucide-icon{color:#116a36}.viis-monitoring-tab-button.is-active .viis-lucide-icon,.viis-monitoring-tab-button.is-active:hover .viis-lucide-icon{color:#ffffff}.viis-monitoring-refresh{flex:0 0 auto}.viis-monitoring-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.viis-monitoring-time-select{width:112px}.viis-monitoring-refresh-select{width:82px}.viis-monitoring-kiosk-frame{display:block;overflow:hidden;pointer-events:none}html[data-theme=dark]{background:#020617;color:#e5e7eb;color-scheme:dark}html[data-theme=dark] #root,html[data-theme=dark] .ant-app,html[data-theme=dark] .ant-pro-page-container-children-container,html[data-theme=dark] .viis-dashboard-layout,html[data-theme=dark] .viis-dashboard-layout .ant-layout,html[data-theme=dark] .viis-page-container .ant-pro-page-container-children-container,html[data-theme=dark] body{background:#020617;color:#e5e7eb}html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header,html[data-theme=dark] .viis-dashboard-layout .ant-pro-top-nav-header{border-block-end-color:#1f2937;background:#0f172a!important}html[data-theme=dark] .viis-header-brand{border-inline-end-color:#1f2937}html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header-collapsed-button,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider-collapsed-button,html[data-theme=dark] .viis-header-icon-button,html[data-theme=dark] .viis-header-logo,html[data-theme=dark] .viis-user-trigger{border-color:#263244!important;background:#111827!important;color:#cbd5e1!important}html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header-collapsed-button:hover,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider-collapsed-button:hover,html[data-theme=dark] .viis-header-icon-button:hover,html[data-theme=dark] .viis-user-trigger:hover{border-color:#334155!important;background:#1e293b!important;color:#f8fafc!important}html[data-theme=dark] .ant-card-head-title,html[data-theme=dark] .ant-drawer-title,html[data-theme=dark] .ant-modal-title,html[data-theme=dark] .ant-table-title,html[data-theme=dark] .viis-header-copy strong,html[data-theme=dark] .viis-language-current,html[data-theme=dark] .viis-quick-card .ant-card-head-title{color:#f8fafc}html[data-theme=dark] .ant-form-item-label>label,html[data-theme=dark] .ant-statistic-title,html[data-theme=dark] .ant-table-thead>tr>th,html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item,html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu,html[data-theme=dark] .viis-header-copy span{color:#cbd5e1}html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item .anticon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item .viis-lucide-icon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu .anticon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu .viis-lucide-icon{color:#94a3b8}html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item-selected,html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-item:hover,html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu-selected,html[data-theme=dark] .viis-dashboard-layout .ant-pro-global-header .ant-menu-horizontal>.ant-menu-submenu:hover{color:#f8fafc}html[data-theme=dark] .viis-dashboard-tabs{border-color:#263244;background:#111827}html[data-theme=dark] .viis-dashboard-tab{color:#cbd5e1}html[data-theme=dark] .viis-dashboard-tab:hover{background:#1e293b;color:#f8fafc}html[data-theme=dark] .viis-dashboard-tab.is-active{background:#053f31;box-shadow:none;color:#86efac}html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-layout-sider-children,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-dark,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-dark .ant-menu-sub,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-light,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-light .ant-menu-sub{border-inline-end-color:#1f2937;background:#0f172a!important}html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title{color:#cbd5e1}html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item .anticon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item .viis-lucide-icon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-arrow,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title .anticon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title .viis-lucide-icon,html[data-theme=dark] .viis-sidebar-menu-icon{color:#94a3b8!important}html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item-selected,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item:hover,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-selected>.ant-menu-submenu-title,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title:hover{background:#1e293b!important;color:#f8fafc}html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item-selected .anticon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item-selected .viis-lucide-icon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item-selected .viis-sidebar-menu-icon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item:hover .anticon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item:hover .viis-lucide-icon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-item:hover .viis-sidebar-menu-icon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-selected>.ant-menu-submenu-title .anticon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-selected>.ant-menu-submenu-title .viis-lucide-icon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title:hover .anticon,html[data-theme=dark] .viis-dashboard-layout .ant-pro-sider .ant-menu-submenu-title:hover .viis-lucide-icon{color:#f8fafc!important}html[data-theme=dark] .viis-dashboard-hero,html[data-theme=dark] .viis-dashboard-scope-card,html[data-theme=dark] .viis-page-hero,html[data-theme=dark] .viis-quick-card,html[data-theme=dark] .viis-sidebar-version,html[data-theme=dark] .viis-stat-card,html[data-theme=dark] .viis-table-card{border-color:#1f2937;background:#0f172a;box-shadow:none;color:#e5e7eb}html[data-theme=dark] .viis-dashboard-hero-text,html[data-theme=dark] .viis-dashboard-metric-copy span,html[data-theme=dark] .viis-sidebar-version,html[data-theme=dark] .viis-sidebar-version-label,html[data-theme=dark] .viis-stat-card .ant-statistic-title{color:#94a3b8}html[data-theme=dark] .ant-table-tbody>tr>td,html[data-theme=dark] .viis-dashboard-metric-copy strong,html[data-theme=dark] .viis-sidebar-version strong,html[data-theme=dark] .viis-stat-card .ant-statistic-content{color:#f8fafc}html[data-theme=dark] .viis-ai-composer,html[data-theme=dark] .viis-ai-panel-header,html[data-theme=dark] .viis-ai-status-row,html[data-theme=dark] .viis-notification-header,html[data-theme=dark] .viis-notification-item,html[data-theme=dark] .viis-quick-card .ant-card-head{border-color:#1f2937!important}html[data-theme=dark] .viis-dashboard-metric-icon{border-color:rgba(52,211,153,.24);background:#052e2b;color:#5eead4}html[data-theme=dark] .viis-dashboard-metric-icon.is-blue{border-color:rgba(96,165,250,.24);background:#0c2d57;color:#93c5fd}html[data-theme=dark] .viis-dashboard-metric-icon.is-lime{border-color:rgba(163,230,53,.24);background:#1a2e05;color:#bef264}html[data-theme=dark] .viis-dashboard-metric-icon.is-red{border-color:rgba(248,113,113,.24);background:#450a0a;color:#fca5a5}html[data-theme=dark] .viis-dashboard-metric-icon.is-amber{border-color:rgba(251,191,36,.24);background:#451a03;color:#fcd34d}html[data-theme=dark] .viis-dashboard-quota-row{border-color:#1f2937;background:#111827}html[data-theme=dark] .viis-dashboard-quota-progress-copy span{color:#cbd5e1}html[data-theme=dark] .viis-dashboard-quota-progress-copy strong{color:#f8fafc}html[data-theme=dark] .viis-dashboard-device-snapshot>div,html[data-theme=dark] .viis-dashboard-map-list>div,html[data-theme=dark] .viis-dashboard-node-item{border-color:#1f2937;background:#111827}html[data-theme=dark] .viis-dashboard-device-snapshot span{color:#94a3b8}html[data-theme=dark] .viis-dashboard-device-snapshot strong{color:#f8fafc}html[data-theme=dark] .viis-dashboard-map-canvas{border-color:#1f2937;background:#111827}html[data-theme=dark] .viis-ai-composer,html[data-theme=dark] .viis-ai-examples button,html[data-theme=dark] .viis-ai-panel,html[data-theme=dark] .viis-notification-panel{border-color:#1f2937;background:#0f172a;color:#e5e7eb}html[data-theme=dark] .viis-ai-context-tag,html[data-theme=dark] .viis-ai-welcome-card{border-color:#263244;background:#111827;color:#cbd5e1;box-shadow:none}html[data-theme=dark] .viis-ai-status-row,html[data-theme=dark] .viis-ai-welcome-card .ant-typography,html[data-theme=dark] .viis-user-chevron{color:#94a3b8}html[data-theme=dark] .viis-ai-examples button:hover{border-color:#256d45;background:#052e2b;color:#86efac}html[data-theme=dark] .viis-monitoring-tab-button{border-color:#263244;background:#111827;color:#cbd5e1;box-shadow:none}html[data-theme=dark] .viis-monitoring-tab-button:hover{border-color:#315c45;background:#172033;color:#86efac}html[data-theme=dark] .viis-monitoring-tab-label .viis-lucide-icon{color:#86efac}html[data-theme=dark] .viis-monitoring-tab-button.is-active{border-color:#149045;background:#0f7d3e;box-shadow:0 8px 18px rgba(20,144,69,.22);color:#ffffff}html[data-theme=dark] .viis-monitoring-tab-button.is-active .viis-lucide-icon,html[data-theme=dark] .viis-monitoring-tab-button.is-active:hover .viis-lucide-icon{color:#ffffff}html[data-theme=dark] .viis-page-splitter,html[data-theme=dark] .viis-page-splitter .ant-splitter-bar{background:#020617}html[data-theme=dark] .bg-white{background-color:#0f172a!important}html[data-theme=dark] .bg-slate-100,html[data-theme=dark] .bg-slate-50{background-color:#111827!important}html[data-theme=dark] .border-slate-200{border-color:#263244!important}html[data-theme=dark] .border-slate-300,html[data-theme=dark] .border-slate-400{border-color:#334155!important}html[data-theme=dark] .text-slate-400,html[data-theme=dark] .text-slate-500,html[data-theme=dark] .text-slate-600{color:#94a3b8!important}html[data-theme=dark] .text-slate-700,html[data-theme=dark] .text-slate-800,html[data-theme=dark] .text-slate-900,html[data-theme=dark] .text-slate-950{color:#e5e7eb!important}html[data-theme=dark] .hover\:bg-slate-100:hover,html[data-theme=dark] .hover\:bg-slate-50:hover{background-color:#1e293b!important}html[data-theme=dark] .hover\:border-slate-300:hover,html[data-theme=dark] .hover\:border-slate-400:hover{border-color:#475569!important}@media (max-width:768px){.viis-dashboard-layout .ant-pro-global-header{padding-inline-end:8px}.viis-header-brand{padding-inline:9px}.viis-header-copy{display:none}.viis-dashboard-tabs{max-width:calc(100vw - 190px)}.viis-dashboard-tab{gap:0;padding-inline:9px}.viis-dashboard-tab span{display:none}.viis-language-button{min-width:34px;padding-inline:0!important}.viis-language-current,.viis-user-chevron{display:none}.viis-user-trigger{width:34px;justify-content:center;padding:3px}.viis-page-hero{align-items:flex-start;flex-direction:column}.viis-table-card .ant-card-extra{width:100%;margin-inline-start:0;padding-top:12px}.viis-monitoring-toolbar{align-items:stretch;flex-direction:column;gap:10px}.viis-monitoring-refresh{align-self:flex-end}.viis-monitoring-actions{align-self:stretch;justify-content:flex-end;flex-wrap:wrap}}.agri-login-shell{position:relative;width:100%;max-width:100%;min-height:100vh;overflow:hidden;isolation:isolate}.agri-login-shell,.garden-login-shell{background:#1e5634}.garden-login-shell:before{position:absolute;inset:-2%;z-index:-6;content:"";background:linear-gradient(180deg,rgba(35,168,86,.12),rgba(12,78,48,.18) 36%,rgba(4,38,26,.3)),url(/login-dew-leaf.jpg) 50% /cover no-repeat;filter:saturate(1.12) contrast(1.02) brightness(.96);transform:scale(1.02)}.garden-scene-canvas{z-index:5;height:100%;width:100%;opacity:.68}.garden-scene-canvas,.login-firefly-field{pointer-events:none;position:absolute;inset:0;mix-blend-mode:screen}.login-firefly-field{z-index:6;overflow:hidden}.login-firefly-field span{position:absolute;top:var(--firefly-top);left:var(--firefly-left);width:var(--firefly-size);height:var(--firefly-size);border-radius:999px;background:radial-gradient(circle,rgba(255,255,236,.98) 0,rgba(220,252,231,.86) 34%,rgba(134,239,172,.16) 72%,rgba(134,239,172,0) 100%);box-shadow:0 0 12px rgba(236,253,245,.78),0 0 28px rgba(134,239,172,.52);opacity:var(--firefly-opacity);animation:login-firefly-drift var(--firefly-duration) ease-in-out infinite;animation-delay:var(--firefly-delay);will-change:transform,opacity}.login-firefly-field span:after{position:absolute;inset:-9px;content:"";border-radius:inherit;background:radial-gradient(circle,rgba(254,240,138,.28),rgba(134,239,172,.12) 46%,rgba(134,239,172,0) 72%);animation:login-firefly-glow 3.8s ease-in-out infinite;animation-delay:inherit}.garden-login-overlay{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle at 18% 18%,rgba(106,193,105,.2),transparent 28%),radial-gradient(circle at 54% 42%,rgba(253,187,62,.12),transparent 31%),linear-gradient(90deg,rgba(8,69,40,.56),rgba(8,72,48,.36) 45%,rgba(3,31,22,.58)),linear-gradient(180deg,rgba(2,8,7,.08),rgba(2,18,14,.34))}.login-language-switch{position:absolute;top:24px;right:28px;z-index:30;display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(187,247,208,.2);border-radius:999px;background:rgba(2,30,22,.58);box-shadow:0 18px 56px rgba(2,18,14,.34);padding:5px;color:rgba(220,252,231,.78);backdrop-filter:blur(18px)}.login-language-switch .anticon{margin-inline:7px 4px;color:rgba(187,247,208,.86)}.login-language-switch button{min-width:34px;height:30px;border:0;border-radius:999px;background:transparent;color:rgba(220,252,231,.68);cursor:pointer;font-size:12px;font-weight:800;letter-spacing:0}.login-language-switch button.is-active{background:rgba(52,211,153,.2);color:#f0fdf4;box-shadow:inset 0 0 0 1px rgba(187,247,208,.2)}.login-hero-copy{position:relative;z-index:2;display:flex;max-width:clamp(560px,46vw,720px);min-height:clamp(360px,48vh,460px);min-width:0;flex-direction:column;align-items:flex-start;-moz-user-select:none;user-select:none;-webkit-user-select:none}.login-hero-brand{display:inline-flex;align-items:flex-start;gap:16px;margin-bottom:clamp(32px,5vh,54px)}.login-hero-logo-frame{display:flex;width:clamp(68px,5.3vw,88px);height:clamp(68px,5.3vw,88px);flex:0 0 auto;align-items:center;justify-content:center;border:1px solid rgba(236,253,245,.22);border-radius:8px;background:rgba(255,255,255,.97);box-shadow:0 24px 68px rgba(6,78,59,.32),0 8px 22px rgba(1,18,13,.34);padding:10px}.login-hero-logo-frame img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.login-hero-brand span,.login-hero-brand strong{display:block}.login-hero-brand strong{color:#f7fee7;font-size:clamp(30px,2.7vw,42px);font-weight:800;line-height:1.06;text-shadow:0 16px 50px rgba(1,18,13,.46)}.login-hero-brand span{max-width:min(520px,38vw);margin-top:9px;color:rgba(236,253,245,.76);font-size:clamp(14px,.92vw,16px);font-weight:500;letter-spacing:0;line-height:1.58}.login-feature-list{max-width:clamp(560px,43vw,680px);margin-top:clamp(28px,4.2vh,48px)}.login-right-column{position:relative;z-index:12;display:flex;min-width:0;flex-direction:column;gap:18px}.agri-grid,.agri-vine{pointer-events:none;position:absolute;inset:0}.agri-grid{z-index:2;background-image:linear-gradient(rgba(209,250,229,.055) 1px,transparent 0),linear-gradient(90deg,rgba(209,250,229,.055) 1px,transparent 0);background-size:72px 72px;-webkit-mask-image:radial-gradient(circle at 52% 45%,black 0,transparent 78%);mask-image:radial-gradient(circle at 52% 45%,black 0,transparent 78%)}.agri-vine{z-index:3;height:58vh;border:1px solid rgba(187,247,208,.2);border-left:0;border-right:0;border-radius:50%;opacity:.7}.agri-vine-one{top:15%;left:-16%;width:135%;transform:rotate(-4deg)}.agri-vine-two{top:46%;left:-10%;width:128%;transform:rotate(5deg)}.agri-login-card{position:relative;z-index:20;overflow:hidden;border:1px solid rgba(187,247,208,.18);border-radius:8px;background:linear-gradient(180deg,rgba(4,32,22,.78),rgba(2,18,14,.92)),rgba(2,44,34,.72);box-shadow:0 32px 110px rgba(2,25,17,.58);padding:30px 34px 32px;backdrop-filter:blur(22px)}.supply-chain-panel{position:relative;max-width:720px;margin-top:28px;overflow:hidden;border:1px solid rgba(187,247,208,.16);border-radius:22px;background:linear-gradient(150deg,rgba(1,31,22,.78),rgba(3,58,42,.42)),rgba(2,23,17,.46);box-shadow:0 24px 78px rgba(1,24,16,.36);padding:18px;backdrop-filter:blur(18px)}.supply-constellation{position:relative;width:min(900px,100%);height:min(68vh,710px);min-height:610px;margin-top:20px;overflow:hidden;border:1px solid rgba(220,252,231,.12);border-radius:30px;background:radial-gradient(circle at 18% 18%,rgba(254,240,138,.18),transparent 26%),radial-gradient(ellipse at 32% 82%,rgba(120,53,15,.22),transparent 42%),linear-gradient(135deg,rgba(236,253,245,.08),rgba(2,18,14,.3));box-shadow:0 28px 88px rgba(1,22,15,.18);backdrop-filter:blur(3px)}.leaf-dew-photo{position:absolute;inset:-5%;z-index:1;background:linear-gradient(90deg,rgba(236,253,245,.08),rgba(2,18,14,.12) 64%,rgba(2,18,14,.28)),url(/login-dew-leaf.jpg) 44% 50% /cover no-repeat;filter:saturate(1.18) contrast(1.03) brightness(1.05);transform:scale(1.02)}.leaf-dew-photo:after{position:absolute;inset:0;content:"";background:radial-gradient(circle at 26% 32%,rgba(254,240,138,.18),transparent 28%),linear-gradient(180deg,rgba(236,253,245,0),rgba(2,18,14,.28))}.leaf-dew-showcase .dew-particle-field{z-index:3}.leaf-iot-map{position:absolute;inset:0;z-index:4;width:100%;height:100%;overflow:visible}.leaf-iot-line{fill:none;stroke:rgba(187,247,208,.28);stroke-dasharray:7 16;stroke-linecap:round;stroke-width:1.35;filter:drop-shadow(0 0 9px rgba(74,222,128,.16));animation:constellation-dash 16s linear infinite}.leaf-iot-packet{fill:rgba(236,253,245,.9);filter:drop-shadow(0 0 13px rgba(74,222,128,.86))}.leaf-sensor-dot{position:absolute;z-index:5;width:18px;height:18px;border:1px solid rgba(220,252,231,.48);border-radius:999px;background:rgba(236,253,245,.18);box-shadow:0 0 0 12px rgba(74,222,128,.055),0 0 32px rgba(187,247,208,.34)}.leaf-sensor-dot-one{top:35%;left:34%}.leaf-sensor-dot-two{top:53%;left:58%}.leaf-sensor-dot-three{top:69%;left:42%}.leaf-dew-focus{position:absolute;right:13%;bottom:16%;z-index:5;width:78px;height:78px;border:1px solid rgba(220,252,231,.18);border-radius:999px;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.32),rgba(187,247,208,.13) 38%,rgba(187,247,208,0) 66%);filter:blur(.2px)}.leaf-dew-focus:after,.leaf-dew-focus:before{position:absolute;content:"";border:1px solid rgba(220,252,231,.13);border-radius:inherit}.leaf-dew-focus:before{inset:-20px}.leaf-dew-focus:after{inset:-38px;border-color:rgba(74,222,128,.09)}.supply-constellation-bg{position:absolute;inset:-2%;z-index:1;background:radial-gradient(circle at 19% 19%,rgba(254,240,138,.18),transparent 28%),linear-gradient(90deg,rgba(236,253,245,.04),rgba(2,18,14,.1) 54%,rgba(2,18,14,.5)),url(/login-soil-sprouts.jpg) center 62% /cover no-repeat;filter:saturate(1.07) contrast(1.03) brightness(.96);opacity:.94;transform:scale(1.015)}.seedling-data-scene:before{position:absolute;inset:0 4% 3% -4%;z-index:1;content:"";border-radius:0;background:radial-gradient(circle at 18% 16%,rgba(254,240,138,.22),transparent 25%),radial-gradient(ellipse at 42% 52%,rgba(236,253,245,.12),transparent 42%),linear-gradient(120deg,rgba(236,253,245,.08),rgba(2,18,14,.02) 58%,rgba(2,18,14,.1));pointer-events:none}.seedling-data-scene:after{position:absolute;right:0;bottom:0;left:-8%;z-index:4;height:42%;content:"";background:radial-gradient(ellipse at 40% 74%,rgba(180,83,9,.26),transparent 40%),linear-gradient(180deg,transparent,rgba(92,57,24,.18) 36%,rgba(20,12,6,.44));pointer-events:none}.soil-data-bed{position:absolute;right:-6%;bottom:-4%;left:-6%;z-index:3;height:40%;background:radial-gradient(ellipse at 25% 42%,rgba(180,83,9,.22),transparent 36%),radial-gradient(ellipse at 56% 70%,rgba(67,42,20,.38),transparent 42%),linear-gradient(180deg,rgba(120,53,15,0),rgba(78,49,23,.3) 42%,rgba(24,15,8,.56));opacity:.82;pointer-events:none}.seedling-foreground{display:none}.seedling-data-map{position:absolute;inset:0;z-index:6;width:100%;height:100%;overflow:visible}.leaf-sensor-map{z-index:6}.leaf-scan-ring,.leaf-sensor-ray{fill:none;stroke-linecap:round}.leaf-scan-ring{stroke:rgba(132,204,22,.46);stroke-width:1.4}.leaf-scan-ring-dashed{stroke-dasharray:12 18;animation:seedling-ring-dash 14s linear infinite}.leaf-sensor-ray{stroke:rgba(74,222,128,.44);stroke-dasharray:5 14;stroke-width:1.35;filter:drop-shadow(0 0 10px rgba(74,222,128,.18))}.seedling-ray,.seedling-scan-ring{fill:none;stroke-linecap:round}.seedling-scan-ring{stroke:rgba(190,242,100,.42);stroke-width:1.6}.seedling-scan-ring-soft{opacity:.5;stroke-width:1.4}.seedling-scan-ring-dashed{opacity:.64;stroke-dasharray:18 18;stroke-width:2;animation:seedling-ring-dash 13s linear infinite}.seedling-ray{stroke:rgba(132,204,22,.58);stroke-width:1.45;filter:drop-shadow(0 0 10px rgba(132,204,22,.18))}.soil-flow-ray{stroke:rgba(190,242,100,.66)}.sensor-flow-ray{stroke:rgba(94,234,212,.46);stroke-dasharray:7 13}.platform-flow-ray{stroke:rgba(125,211,252,.42);stroke-dasharray:5 15}.seedling-data-map .data-packet{fill:rgba(236,253,245,.92);filter:drop-shadow(0 0 12px rgba(163,230,53,.95))}.seedling-data-map .platform-flow-ray-packet,.seedling-data-map .sensor-flow-ray-packet{fill:rgba(224,242,254,.94);filter:drop-shadow(0 0 12px rgba(34,211,238,.76))}.plant-growth-focus{position:absolute;top:48%;left:33%;z-index:7;width:92px;height:92px;border:1px solid rgba(190,242,100,.18);border-radius:999px;box-shadow:0 0 0 20px rgba(132,204,22,.035),0 0 54px rgba(132,204,22,.16);transform:translate(-50%,-50%);pointer-events:none}.leaf-scan-hub{position:absolute;top:66%;left:34%;z-index:7;display:grid;width:64px;height:64px;place-items:center;border:1px solid rgba(187,247,208,.42);border-radius:999px;color:#ecfdf5;background:rgba(2,44,34,.34);box-shadow:0 0 0 13px rgba(74,222,128,.04),0 0 36px rgba(74,222,128,.18);font-size:15px;font-weight:900;transform:translate(-50%,-50%);backdrop-filter:blur(10px)}.leaf-scan-hub:after,.leaf-scan-hub:before{position:absolute;content:"";border:1px solid rgba(187,247,208,.16);border-radius:inherit}.leaf-scan-hub:before{inset:-16px}.leaf-scan-hub:after{inset:-29px;border-color:rgba(132,204,22,.14)}.sensor-bubble{position:absolute;z-index:7;display:grid;min-width:62px;height:34px;place-items:center;border:1px solid rgba(187,247,208,.28);border-radius:999px;color:rgba(236,253,245,.82);background:rgba(2,44,34,.24);box-shadow:0 0 28px rgba(74,222,128,.1);font-size:11px;font-weight:800;transform:translate(-50%,-50%);backdrop-filter:blur(10px)}.nutrient-node,.seedling-root-hub,.soil-sensor-node{position:absolute;z-index:7}.nutrient-node{width:46px;height:46px;place-items:center;border:1.5px solid rgba(132,204,22,.74);border-radius:999px;color:rgba(190,242,100,.92);background:rgba(56,35,18,.52);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 28px rgba(132,204,22,.12);font-size:16px;transform:translate(-50%,-50%)}.nutrient-node,.soil-sensor-node{display:grid;font-weight:900;backdrop-filter:blur(10px)}.soil-sensor-node{width:38px;height:38px;place-items:center;border:1px solid rgba(187,247,208,.38);border-radius:999px;color:rgba(220,252,231,.88);background:rgba(2,44,34,.45);box-shadow:0 0 24px rgba(45,212,191,.16);font-size:12px;transform:translate(-50%,-50%)}.platform-node{position:absolute;z-index:8;display:inline-flex;min-width:94px;height:40px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(186,230,253,.24);border-radius:999px;color:rgba(236,253,245,.88);background:rgba(2,32,44,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 16px 48px rgba(1,18,13,.24);transform:translate(-50%,-50%);backdrop-filter:blur(12px)}.platform-node-icon{display:grid;width:20px;height:20px;place-items:center;color:rgba(165,243,252,.92);font-size:16px}.platform-node-label{font-size:10px;font-weight:850;letter-spacing:0;line-height:1;white-space:nowrap}.platform-node-primary{flex-direction:column;width:88px;min-width:88px;height:88px;gap:3px;border-color:rgba(190,242,100,.4);background:radial-gradient(circle at 35% 25%,rgba(217,249,157,.18),transparent 32%),rgba(2,44,34,.54);box-shadow:0 0 0 16px rgba(132,204,22,.045),0 0 0 30px rgba(45,212,191,.025),0 22px 72px rgba(1,18,13,.34)}.platform-node-primary .platform-node-icon{width:28px;height:28px;color:rgba(220,252,231,.94);font-size:25px}.platform-node-primary .platform-node-label{color:rgba(220,252,231,.74);font-size:9px;font-weight:900;letter-spacing:0;text-transform:uppercase}.soil-sensor-node:after{position:absolute;inset:-7px;content:"";border:1px solid rgba(187,247,208,.18);border-radius:inherit}.seedling-root-hub{top:62%;left:46%;display:grid;width:78px;height:78px;place-items:center;border:1px solid rgba(190,242,100,.36);border-radius:999px;color:#ecfdf5;background:radial-gradient(circle at 35% 25%,rgba(217,249,157,.18),transparent 32%),rgba(2,44,34,.46);box-shadow:0 0 0 16px rgba(132,204,22,.055),0 0 0 31px rgba(45,212,191,.034),0 22px 72px rgba(1,18,13,.34);transform:translate(-50%,-50%);backdrop-filter:blur(10px)}.seedling-root-hub:after,.seedling-root-hub:before{position:absolute;inset:-14px;content:"";border:1px solid rgba(190,242,100,.18);border-radius:inherit;animation:supply-orbit-spin 14s linear infinite}.seedling-root-hub:after{inset:-27px;border-color:rgba(34,211,238,.1);animation-duration:22s;animation-direction:reverse}.seedling-root-hub span{margin-top:12px;font-size:26px;font-weight:900;letter-spacing:0}.seedling-root-hub small{margin-top:-27px;color:rgba(220,252,231,.62);font-size:8px;font-weight:900;letter-spacing:0}.dew-particle-field{pointer-events:none;position:absolute;inset:0;z-index:2;overflow:hidden}.dew-particle-field span{position:absolute;top:-24px;left:var(--dew-left);width:var(--dew-size);height:calc(var(--dew-size) * 1.35);border-radius:999px;background:radial-gradient(circle at 35% 24%,rgba(255,255,255,.96),rgba(220,252,231,.45) 38%,rgba(74,222,128,0) 72%);filter:drop-shadow(0 0 10px rgba(187,247,208,.38));opacity:var(--dew-opacity);animation:dew-fall var(--dew-duration) linear infinite;animation-delay:var(--dew-delay)}.constellation-links{position:absolute;inset:0;z-index:3;width:100%;height:100%;overflow:visible}.constellation-links use{fill:none;stroke:rgba(187,247,208,.34);stroke-dasharray:8 18;stroke-linecap:round;stroke-width:1.5;animation:constellation-dash 12s linear infinite}.constellation-links .data-packet{fill:rgba(236,253,245,.88);filter:drop-shadow(0 0 12px rgba(74,222,128,.95))}.ai-cluster-node,.cluster-node{position:absolute;z-index:4}.cluster-node{overflow:hidden;margin:0;border:1px solid rgba(220,252,231,.28);border-radius:24px;background:rgba(2,44,34,.62);box-shadow:0 24px 64px rgba(1,18,13,.38),inset 0 1px 0 rgba(255,255,255,.1);transform:translateZ(0)}.cluster-node:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,transparent 38%,rgba(1,18,13,.74)),radial-gradient(circle at 26% 18%,rgba(255,255,255,.24),transparent 32%)}.cluster-node img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}.cluster-node figcaption{position:absolute;right:14px;bottom:12px;left:14px;z-index:2;color:#f0fdf4;font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,0,0,.72)}.cluster-node-lab{top:8%;left:5%;width:230px;height:160px}.cluster-node-greenhouse{bottom:14%;left:7%;width:284px;height:196px}.cluster-node-iot{right:13%;bottom:13%;width:186px;height:162px}.cluster-node-market{right:5%;top:34%;width:232px;height:166px}.cluster-node:hover img{transform:scale(1.05)}.ai-cluster-node{top:31%;left:50%;display:grid;width:116px;height:116px;place-items:center;border:1px solid rgba(187,247,208,.26);border-radius:999px;color:#ecfdf5;background:radial-gradient(circle at 35% 25%,rgba(187,247,208,.22),transparent 32%),rgba(2,44,34,.7);box-shadow:0 0 0 18px rgba(74,222,128,.055),0 0 0 36px rgba(45,212,191,.035),0 28px 82px rgba(1,18,13,.42);transform:translate(-50%,-50%)}.ai-cluster-node:after,.ai-cluster-node:before{position:absolute;inset:-16px;content:"";border:1px solid rgba(187,247,208,.16);border-radius:inherit;animation:supply-orbit-spin 14s linear infinite}.ai-cluster-node:after{inset:-30px;border-color:rgba(34,211,238,.12);animation-duration:22s;animation-direction:reverse}.ai-cluster-node span{margin-top:18px;font-size:34px;font-weight:900;letter-spacing:0}.ai-cluster-node small{margin-top:-38px;color:rgba(220,252,231,.64);font-size:10px;font-weight:800;letter-spacing:0}.constellation-caption{position:absolute;bottom:22px;left:22px;z-index:5;display:inline-flex;align-items:center;border:1px solid rgba(187,247,208,.18);border-radius:999px;background:rgba(2,30,22,.46);padding:8px 13px;color:rgba(220,252,231,.72);backdrop-filter:blur(10px)}.constellation-caption span{color:#f0fdf4;font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.supply-chain-panel:before{position:absolute;inset:-35% -10% auto auto;width:320px;height:320px;content:"";border-radius:999px;background:radial-gradient(circle,rgba(134,239,172,.2),transparent 68%)}.supply-chain-orbit{position:absolute;top:16px;right:18px;z-index:2;display:grid;width:64px;height:64px;place-items:center;border:1px solid rgba(187,247,208,.22);border-radius:999px;color:#dcfce7;font-size:18px;font-weight:800;letter-spacing:0;background:rgba(2,44,34,.44);box-shadow:0 0 46px rgba(52,211,153,.22)}.supply-chain-orbit:after,.supply-chain-orbit:before{position:absolute;inset:-10px;content:"";border:1px solid rgba(187,247,208,.18);border-radius:999px;animation:supply-orbit-spin 12s linear infinite}.supply-chain-orbit:after{inset:-18px;border-color:rgba(34,211,238,.14);animation-duration:18s;animation-direction:reverse}.supply-chain-orbit small{display:block;margin-top:-18px;color:rgba(220,252,231,.62);font-size:9px;font-weight:700;letter-spacing:0}.supply-chain-pyramid{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:8px}.supply-chain-pyramid:before{position:absolute;top:22px;bottom:30px;left:50%;z-index:-1;width:1px;content:"";background:linear-gradient(180deg,rgba(187,247,208,0),rgba(187,247,208,.4),rgba(187,247,208,0))}.supply-chain-tier{position:relative;display:grid;min-height:66px;grid-template-columns:28px 64px 1fr;gap:10px;align-items:center;overflow:hidden;border:1px solid rgba(187,247,208,.17);border-radius:16px;background:radial-gradient(circle at 10% 20%,rgba(187,247,208,.14),transparent 42%),linear-gradient(135deg,rgba(6,78,59,.76),rgba(2,44,34,.42));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 34px rgba(1,22,15,.2);padding:8px 14px 8px 10px}.supply-chain-tier:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-120%);animation:supply-tier-scan 5.8s ease-in-out infinite}.supply-chain-tier:nth-child(2):after{animation-delay:.8s}.supply-chain-tier:nth-child(3):after{animation-delay:1.4s}.supply-chain-tier:nth-child(4):after{animation-delay:2.2s}.supply-chain-tier-index{color:rgba(187,247,208,.76);font-size:12px;font-weight:800;letter-spacing:0;writing-mode:vertical-rl}.supply-chain-tier-image{overflow:hidden;width:64px;height:50px;border:1px solid rgba(220,252,231,.2);border-radius:12px;background:rgba(255,255,255,.06)}.supply-chain-tier-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.supply-chain-tier-label{color:rgba(167,243,208,.8);font-size:10px;font-weight:800;letter-spacing:0;text-transform:uppercase}.supply-chain-tier-title{margin-top:2px;color:#f0fdf4;font-size:13px;font-weight:800;line-height:1.25}.supply-chain-tier-copy p{margin-top:3px;color:rgba(220,252,231,.68);font-size:10px;line-height:1.45}.supply-chain-photo-rail{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.supply-chain-photo-rail figure{position:relative;overflow:hidden;height:128px;min-height:0;border:1px solid rgba(187,247,208,.14);border-radius:14px;background:rgba(2,44,34,.4)}.supply-chain-photo-rail img{width:100%;height:100%;min-height:0;-o-object-fit:cover;object-fit:cover;opacity:.88}.supply-chain-photo-rail figcaption{position:absolute;right:8px;bottom:8px;left:8px;overflow:hidden;color:#f0fdf4;font-size:10px;font-weight:800;letter-spacing:0;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.75)}.chain-highlight-item{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.agri-login-card:before{position:absolute;inset:0;content:"";background:radial-gradient(circle at 18% 0,rgba(187,247,208,.16),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.12),transparent 28%);pointer-events:none}.agri-login-card>*{position:relative;z-index:1}.agri-login-card .ant-pro-form-login-container{width:100%;background:transparent!important;padding:0}.agri-login-card .ant-form,.agri-login-card .ant-pro-form-login-content,.agri-login-card .ant-pro-form-login-page{background:transparent!important}.agri-login-card .ant-pro-form-login-main{width:100%;max-width:none;min-width:0;background:transparent!important}.agri-login-card .ant-pro-form-login-main form{width:100%}.agri-login-card .ant-pro-form-login-header{margin-block-end:18px;background:transparent!important}.agri-login-card .ant-pro-form-login-title{color:#f0fdf4;font-size:26px;font-weight:700}.agri-login-card .ant-pro-form-login-desc{color:rgba(220,252,231,.68)}.agri-login-card .ant-form-item{margin-block-end:16px}.login-card-brand{display:grid;justify-items:center;margin-bottom:20px;color:#f0fdf4;text-align:center}.login-card-logo-frame{display:flex;align-items:center;justify-content:center;width:78px;height:78px;margin-inline:auto;border:1px solid rgba(236,253,245,.2);border-radius:8px;background:rgba(255,255,255,.98);padding:9px;box-shadow:0 18px 48px rgba(20,144,69,.22),0 6px 18px rgba(2,18,14,.34)}.login-card-logo-frame img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.agri-login-input{box-sizing:border-box;width:100%;height:48px;border-color:rgba(85,173,87,.28)!important;border-radius:8px!important;background:rgba(3,26,19,.62)!important;color:#f0fdf4!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.agri-login-mode{width:100%;margin-bottom:16px;border:1px solid rgba(85,173,87,.22);border-radius:8px;background:rgba(3,26,19,.56);padding:4px}.agri-login-mode .ant-segmented-item{border-radius:6px;color:rgba(220,252,231,.68);font-size:13px;font-weight:700}.agri-login-mode .ant-segmented-item-selected{background:rgba(85,173,87,.22);color:#f0fdf4;box-shadow:inset 0 0 0 1px rgba(187,247,208,.16)}.agri-login-mode .ant-segmented-thumb{border-radius:6px;background:rgba(85,173,87,.22)!important;box-shadow:inset 0 0 0 1px rgba(187,247,208,.16)}.agri-login-input input{color:#f0fdf4!important}.agri-login-input input::-moz-placeholder{color:rgba(220,252,231,.48)!important}.agri-login-input input::placeholder{color:rgba(220,252,231,.48)!important}.agri-login-input .ant-input-prefix,.agri-login-input .ant-input-suffix{color:rgba(187,247,208,.72)}.agri-login-phone-field{position:relative}.agri-login-phone-field:after{position:absolute;z-index:3;top:9px;bottom:9px;left:114px;width:1px;background:rgba(187,247,208,.14);content:""}.agri-login-phone-number-input{padding-left:126px!important}.agri-login-phone-code{position:absolute;z-index:4;top:0;left:0;width:114px;height:48px}.agri-login-phone-code .ant-select-selector{height:48px!important;padding-inline:12px 24px!important;border:0!important;background:transparent!important;color:#f0fdf4!important;box-shadow:none!important}.agri-login-phone-code .ant-select-selection-search{inset-inline-start:0!important;inset-inline-end:0!important}.agri-login-phone-code .ant-select-selection-search-input{height:48px!important}.agri-login-phone-code .ant-select-arrow,.agri-login-phone-code .ant-select-selection-item{color:#f0fdf4!important}.agri-login-phone-code .ant-select-selection-item{display:flex;align-items:center}.agri-login-phone-code-label{display:inline-flex;align-items:center;gap:6px;min-width:0;font-weight:800}.agri-login-phone-code-flag{font-size:17px;line-height:1}.agri-login-phone-code-country{display:none}.agri-login-phone-code-dropdown .ant-select-item-option-content{font-weight:700}.agri-login-phone-code-dropdown .agri-login-phone-code-label{gap:8px}.agri-login-phone-code-dropdown .agri-login-phone-code-country{display:inline;color:rgba(12,26,18,.72);font-weight:600}.agri-login-submit{width:100%;height:50px!important;border:0!important;border-radius:8px!important;background:linear-gradient(135deg,#55ad57,#149045 58%,#0d6f36)!important;box-shadow:0 18px 42px rgba(20,144,69,.36)!important;font-weight:700!important}.agri-login-submit:hover{filter:brightness(1.05)}.agri-login-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:16px;margin:-3px 0 14px}.agri-login-inline-link,.agri-login-quick-links button{border:0;background:transparent;color:rgba(134,239,172,.92);cursor:pointer;font:inherit;font-size:13px;font-weight:700;min-width:0;padding:0}.agri-login-quick-links button:last-child{text-align:right}.agri-login-inline-link:hover,.agri-login-quick-links button:hover{color:#f0fdf4;text-decoration:underline;text-underline-offset:3px}.agri-login-terms{margin:0 0 17px}.agri-login-terms .ant-checkbox-wrapper{align-items:flex-start;color:rgba(220,252,231,.72);font-size:13px;line-height:1.45}.agri-login-terms .ant-checkbox{margin-top:2px}.agri-login-terms .ant-checkbox-inner{border-color:rgba(134,239,172,.42);background:rgba(3,26,19,.7)}.agri-login-terms .ant-checkbox-checked .ant-checkbox-inner{border-color:#34d399;background:#149045}.agri-login-social{margin-top:18px}.agri-login-social-divider{display:flex;align-items:center;gap:12px;color:rgba(220,252,231,.58);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.agri-login-social-divider:after,.agri-login-social-divider:before{flex:1;height:1px;background:rgba(187,247,208,.18);content:""}.agri-login-social-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.agri-login-social-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;height:42px;border:1px solid rgba(187,247,208,.18);border-radius:12px;background:rgba(3,26,19,.54);color:rgba(240,253,244,.88);cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap;transition:border-color .2s ease,background .2s ease,transform .2s ease}.agri-login-social-button:hover{border-color:rgba(134,239,172,.48);background:rgba(4,120,87,.28);transform:translateY(-1px)}.agri-login-social-button .anticon{font-size:15px}@media (min-width:1024px){.agri-login-content{align-items:start;grid-template-columns:minmax(0,1fr) minmax(420px,480px);gap:clamp(48px,6vw,108px);padding-inline:clamp(72px,8vw,150px);padding-block:clamp(112px,13.5vh,140px) clamp(48px,7vh,82px)}}@media (min-width:1024px) and (max-width:1499px){.agri-login-content{grid-template-columns:minmax(0,1fr) minmax(410px,460px);gap:clamp(36px,4.8vw,70px);padding-inline:clamp(60px,7vw,112px)}.login-hero-copy{max-width:650px}}@media (min-width:1024px) and (max-height:820px){.agri-login-content{align-items:start;padding-block:clamp(88px,12vh,104px) 36px}.login-hero-brand{margin-bottom:28px}.login-hero-brand>div:first-child{width:64px;height:64px;padding:10px}.agri-login-card{padding:22px 28px 26px}.login-card-logo-frame{width:66px;height:66px;padding:8px}.agri-login-card .ant-pro-form-login-header{margin-block-end:14px}.agri-login-card .ant-pro-form-login-title{font-size:24px}.agri-login-input{height:46px}.agri-login-card .ant-form-item{margin-block-end:13px}.agri-login-quick-links{margin-bottom:11px}.agri-login-terms{margin-bottom:13px}.agri-login-submit{height:48px!important}.agri-login-social{margin-top:14px}.agri-login-social-buttons{margin-top:10px}.agri-login-social-button{height:40px}}@media (min-width:1800px) and (min-height:1000px){.agri-login-content{grid-template-columns:minmax(0,1fr) minmax(480px,520px);gap:clamp(72px,7vw,132px)}.login-hero-brand span{max-width:620px;font-size:17px}}@keyframes garden-photo-drift{0%{transform:scale(1.02) translate3d(-.35%,-.25%,0)}to{transform:scale(1.055) translate3d(.45%,.35%,0)}}@keyframes dew-fall{0%{opacity:0;transform:translate3d(-10px,-52px,0) scale(.76)}16%{opacity:var(--dew-opacity)}82%{opacity:var(--dew-opacity)}to{opacity:0;transform:translate3d(18px,calc(100vh + 80px),0) scale(1)}}@keyframes constellation-dash{to{stroke-dashoffset:-260}}@keyframes login-firefly-drift{0%,to{opacity:var(--firefly-dim-opacity);transform:translateZ(0) scale(.74)}28%{opacity:var(--firefly-opacity);transform:translate3d(var(--firefly-mid-x),var(--firefly-mid-y),0) scale(1.12)}58%{opacity:var(--firefly-soft-opacity);transform:translate3d(var(--firefly-x),var(--firefly-y),0) scale(.9)}79%{opacity:var(--firefly-opacity);transform:translate3d(var(--firefly-return-x),var(--firefly-return-y),0) scale(1.04)}}@keyframes login-firefly-glow{0%,to{opacity:.32;transform:scale(.8)}50%{opacity:.72;transform:scale(1.35)}}@keyframes seedling-ring-dash{to{stroke-dashoffset:-360}}@keyframes supply-orbit-spin{0%{transform:rotate(0deg) scaleX(1.18)}to{transform:rotate(1turn) scaleX(1.18)}}@keyframes supply-tier-scan{0%,42%{transform:translateX(-120%)}62%,to{transform:translateX(120%)}}@media (max-width:1023px){.agri-login-content{align-items:start;justify-items:center;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;padding-inline:14px!important;padding-top:70px;padding-bottom:28px}.agri-login-content>*{min-width:0}.login-language-switch{position:fixed;top:14px;right:14px}.garden-login-overlay{background:radial-gradient(circle at 50% 10%,rgba(250,204,21,.14),transparent 30%),linear-gradient(180deg,rgba(8,60,34,.24),rgba(2,24,16,.62))}.garden-login-shell:before{background-position:50%}.garden-scene-canvas{z-index:5;opacity:.28}.login-firefly-field{opacity:.62}.login-hero-copy{display:none}.login-right-column{max-width:100%!important;gap:12px}.agri-login-card,.login-right-column{box-sizing:border-box;width:100%!important}.agri-login-card{max-width:360px!important;margin-inline:auto;padding:24px 16px 26px}.agri-login-card .ant-form,.agri-login-card .ant-pro-form-login-container,.agri-login-card .ant-pro-form-login-content,.agri-login-card .ant-pro-form-login-main,.agri-login-card .ant-pro-form-login-page{width:100%!important;max-width:100%!important;min-width:0!important}.agri-login-input{width:100%!important}.agri-login-card .ant-pro-form-login-title{font-size:24px}.login-card-logo-frame{width:72px;height:72px;padding:8px}.agri-login-social-button{gap:5px;font-size:11px}.agri-login-quick-links{grid-template-columns:1fr;gap:10px}.agri-login-quick-links button,.agri-login-quick-links button:last-child{text-align:center}.agri-login-inline-link,.agri-login-quick-links button{font-size:12px}}@media (prefers-reduced-motion:reduce){.ai-cluster-node:after,.ai-cluster-node:before,.constellation-links use,.dew-particle-field span,.garden-login-shell:before,.login-firefly-field span,.login-firefly-field span:after,.seedling-root-hub:after,.seedling-root-hub:before,.seedling-scan-ring-dashed,.supply-chain-orbit:after,.supply-chain-orbit:before,.supply-chain-tier:after{animation:none}}.dashboard-builder-page{display:flex;flex-direction:column;gap:16px;color:#0f172a}.dashboard-builder-heading,.dashboard-builder-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-builder-heading .ant-typography,.dashboard-builder-section-header .ant-typography{margin:0}.dashboard-detail-tabs .ant-tabs-nav{margin-bottom:16px}.dashboard-information-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;align-items:start}.dashboard-builder-model-pill{display:inline-flex;align-items:center;gap:8px;color:#0f172a;font-size:13px;font-weight:700}.dashboard-builder-model-pill .viis-lucide-icon{width:17px;height:17px;color:#16a34a}.dashboard-builder-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}.dashboard-builder-section{min-width:0;padding:18px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.04)}.dashboard-builder-canvas-panel{overflow:hidden}.dashboard-builder-segment-label,.dashboard-builder-theme-toggle{display:inline-flex;align-items:center;gap:6px}.dashboard-builder-segment-label .viis-lucide-icon,.dashboard-builder-theme-toggle .viis-lucide-icon{width:15px;height:15px}.dashboard-builder-theme-toggle{min-height:32px;padding:0 10px;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;background:#fff}.dashboard-builder-canvas-shell{margin-top:16px;min-height:620px;overflow:auto;padding:14px;border:1px solid #e2e8f0;border-radius:8px;background:linear-gradient(90deg,rgba(148,163,184,.12) 1px,transparent 0),linear-gradient(rgba(148,163,184,.12) 1px,transparent 0),#f8fafc;background-size:24px 24px}.dashboard-builder-canvas-shell.is-mobile-preview{display:flex;min-height:760px;align-items:flex-start;justify-content:center;padding:18px;background:radial-gradient(circle at 18% 16%,rgba(22,163,74,.13),transparent 28%),radial-gradient(circle at 82% 10%,rgba(37,99,235,.1),transparent 24%),linear-gradient(135deg,#f8fafc,#eef2f7);background-size:auto}.dashboard-builder-canvas{position:relative;overflow:hidden;border:1px solid #dbeafe;border-radius:8px;background:radial-gradient(circle at 18% 8%,rgba(34,197,94,.1),transparent 28%),linear-gradient(180deg,#ffffff,#f8fafc);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}.dashboard-builder-canvas.is-dark{border-color:#1e293b;background:radial-gradient(circle at 18% 8%,rgba(34,197,94,.12),transparent 30%),linear-gradient(180deg,#0f172a,#111827)}.dashboard-builder-canvas.is-mobile{border:0;border-radius:20px;box-shadow:none}.dashboard-builder-phone-frame{width:360px;min-width:360px;color:#0f172a}.dashboard-builder-phone-bezel{position:relative;padding:10px;border:1px solid rgba(15,23,42,.7);border-radius:38px;background:linear-gradient(145deg,#1f2937,#030712 44%,#334155);box-shadow:0 30px 64px rgba(15,23,42,.28),inset 0 0 0 2px rgba(255,255,255,.06),inset 0 0 0 6px rgba(15,23,42,.5)}.dashboard-builder-phone-bezel:after,.dashboard-builder-phone-bezel:before{position:absolute;content:"";background:#1f2937}.dashboard-builder-phone-bezel:before{top:112px;left:-4px;width:3px;height:72px;border-radius:999px 0 0 999px}.dashboard-builder-phone-bezel:after{top:174px;right:-4px;width:3px;height:84px;border-radius:0 999px 999px 0}.dashboard-builder-phone-notch{position:absolute;top:18px;left:50%;z-index:4;width:92px;height:24px;border-radius:999px;background:#020617;box-shadow:inset 0 -1px 0 rgba(255,255,255,.08);transform:translateX(-50%)}.dashboard-builder-phone-screen{position:relative;overflow:hidden;height:744px;border-radius:30px;background:#f8fafc;box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),inset 0 0 0 2px rgba(15,23,42,.08)}.dashboard-builder-phone-status{display:flex;height:32px;align-items:center;justify-content:space-between;padding:0 22px;color:#0f172a;font-size:12px;font-weight:800}.dashboard-builder-phone-status-icons{display:inline-flex;align-items:center;gap:7px}.dashboard-builder-phone-signal{display:inline-block;width:15px;height:11px;background:linear-gradient(0deg,currentColor 0 42%,transparent 42%) 0 100% /3px 100% no-repeat,linear-gradient(0deg,currentColor 0 60%,transparent 60%) 6px 100% /3px 100% no-repeat,linear-gradient(0deg,currentColor 0 82%,transparent 82%) 12px 100% /3px 100% no-repeat}.dashboard-builder-phone-wifi{display:inline-block;width:15px;height:11px;border-top:2px solid;border-radius:999px 999px 0 0;transform:translateY(3px)}.dashboard-builder-phone-wifi:after{display:block;width:5px;height:5px;margin:3px auto 0;border-radius:999px;background:currentColor;content:""}.dashboard-builder-phone-battery{position:relative;display:inline-block;width:20px;height:10px;border:1.5px solid;border-radius:3px}.dashboard-builder-phone-battery:before{position:absolute;top:2px;right:-4px;width:2px;height:4px;border-radius:0 2px 2px 0;background:currentColor;content:""}.dashboard-builder-phone-battery:after{position:absolute;inset:2px 4px 2px 2px;border-radius:1px;background:currentColor;content:""}.dashboard-builder-phone-appbar{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;height:48px;align-items:center;padding:0 14px;border-bottom:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.82);backdrop-filter:blur(14px)}.dashboard-builder-phone-appbar strong{overflow:hidden;color:#0f172a;font-size:14px;font-weight:800;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.dashboard-builder-phone-back{justify-self:start;width:12px;height:12px;border-bottom:2px solid;border-left:2px solid;color:#334155;transform:rotate(45deg)}.dashboard-builder-phone-more{justify-self:end;width:18px;height:4px;color:#334155;background:radial-gradient(circle,currentColor 0 2px,transparent 2.5px) 0 /6px 4px no-repeat,radial-gradient(circle,currentColor 0 2px,transparent 2.5px) 50% /6px 4px no-repeat,radial-gradient(circle,currentColor 0 2px,transparent 2.5px) 100% /6px 4px no-repeat}.dashboard-builder-phone-viewport{height:calc(100% - 104px);overflow:auto;padding:0 6px 12px;background:#f8fafc;scrollbar-width:thin}.dashboard-builder-phone-home-indicator{position:absolute;bottom:10px;left:50%;width:122px;height:4px;border-radius:999px;background:rgba(15,23,42,.78);transform:translateX(-50%)}.dashboard-builder-phone-frame.is-dark .dashboard-builder-phone-bezel{border-color:rgba(148,163,184,.26);background:linear-gradient(145deg,#0f172a,#020617 46%,#1e293b)}.dashboard-builder-phone-frame.is-dark .dashboard-builder-phone-screen,.dashboard-builder-phone-frame.is-dark .dashboard-builder-phone-viewport{background:#0f172a}.dashboard-builder-phone-frame.is-dark .dashboard-builder-phone-appbar strong,.dashboard-builder-phone-frame.is-dark .dashboard-builder-phone-back,.dashboard-builder-phone-frame.is-dark .dashboard-builder-phone-more,.dashboard-builder-phone-frame.is-dark .dashboard-builder-phone-status{color:#e2e8f0}.dashboard-builder-phone-frame.is-dark .dashboard-builder-phone-appbar{border-bottom-color:rgba(51,65,85,.86);background:rgba(15,23,42,.82)}.dashboard-builder-phone-frame.is-dark .dashboard-builder-phone-home-indicator{background:rgba(226,232,240,.82)}.dashboard-builder-widget{position:absolute;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgba(148,163,184,.32);border-radius:8px;background:rgba(255,255,255,.94);box-shadow:0 18px 36px rgba(15,23,42,.1);cursor:grab;overflow:hidden;transition:width .18s ease,height .18s ease,box-shadow .18s ease,transform .18s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dashboard-builder-widget:active{cursor:grabbing}.dashboard-builder-widget.is-locked,.dashboard-builder-widget.is-locked:active{cursor:default}.dashboard-builder-widget.is-expanded{z-index:20;box-shadow:0 24px 64px rgba(15,23,42,.18)}.dashboard-builder-widget.is-collapsed{gap:0}.dashboard-builder-canvas.is-dark .dashboard-builder-widget{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.94);color:#e2e8f0;box-shadow:0 18px 36px rgba(0,0,0,.24)}.dashboard-builder-canvas.is-dark .dashboard-builder-widget.is-expanded{box-shadow:0 24px 64px rgba(0,0,0,.36)}.dashboard-builder-widget-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:24px;font-size:12px;font-weight:700}.dashboard-builder-widget-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-builder-widget-actions{display:inline-flex;flex-shrink:0;align-items:center;gap:6px;margin-left:auto}.dashboard-builder-widget-action{display:grid;width:24px;height:24px;place-items:center;border:1px solid #e2e8f0;border-radius:6px;color:#475569;background:#fff;cursor:pointer}.dashboard-builder-widget-action:hover{border-color:#86efac;color:#15803d;background:#f0fdf4}.dashboard-builder-widget-action .viis-lucide-icon{width:14px;height:14px}.dashboard-builder-canvas.is-dark .dashboard-builder-widget-action{border-color:#334155;color:#cbd5e1;background:#0f172a}.dashboard-builder-canvas.is-dark .dashboard-builder-widget-action:hover{border-color:#22c55e;color:#bbf7d0;background:#14532d}.dashboard-builder-stat{display:flex;align-items:center;justify-content:space-between;min-height:68px}.dashboard-builder-stat strong{display:block;color:#0f172a;font-size:34px;line-height:1}.dashboard-builder-canvas.is-dark .dashboard-builder-stat strong{color:#f8fafc}.dashboard-builder-stat span{display:inline-flex;margin-top:8px;color:#16a34a;font-size:12px;font-weight:700}.dashboard-builder-stat-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;color:#15803d;background:#dcfce7}.dashboard-builder-chart{flex:1;min-height:0}.dashboard-builder-mini-table{display:flex;flex-direction:column;gap:8px}.dashboard-builder-mini-table div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #e2e8f0;font-size:12px}.dashboard-builder-canvas.is-dark .dashboard-builder-mini-table div{border-color:#1f2937}.dashboard-builder-mini-table b{font-weight:700}.dashboard-builder-mini-table em{color:#16a34a;font-style:normal;font-weight:700}.dashboard-builder-filter-card{display:grid;gap:8px;align-content:start;color:#475569;font-size:12px}.dashboard-builder-filter-card .viis-lucide-icon{width:28px;height:28px;color:#16a34a}.dashboard-builder-filter-card strong{color:#0f172a;font-size:16px}.dashboard-builder-canvas.is-dark .dashboard-builder-filter-card,.dashboard-builder-canvas.is-dark .dashboard-builder-filter-card strong{color:#e2e8f0}.dashboard-builder-filter-card code{display:block;overflow:hidden;padding:8px;border-radius:6px;color:#166534;text-overflow:ellipsis;background:#dcfce7;white-space:nowrap}.dashboard-runtime-panel .dashboard-builder-canvas-shell{margin-top:0}.dashboard-builder-toolbox{min-width:0}.dashboard-builder-side-card.ant-card,.dashboard-builder-toolbox-card.ant-card{border-color:#e2e8f0;border-radius:8px}.dashboard-builder-toolbox-card.ant-card{position:sticky;top:76px}.dashboard-builder-toolbox-item{display:grid;grid-template-columns:36px minmax(0,1fr);width:100%;gap:10px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:8px;color:#0f172a;text-align:left;background:#fff;cursor:grab}.dashboard-builder-toolbox-item:active{cursor:grabbing}.dashboard-builder-toolbox-item>span{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;color:#15803d;background:#dcfce7}.dashboard-builder-toolbox-item .viis-lucide-icon{width:18px;height:18px}.dashboard-builder-toolbox-item small,.dashboard-builder-toolbox-item strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-builder-toolbox-item strong{font-size:13px;line-height:1.2}.dashboard-builder-toolbox-item small{margin-top:3px;color:#64748b;font-size:11px;font-weight:700}.dashboard-builder-toolbox-item:hover{border-color:#86efac;background:#f8fffb}.dashboard-builder-template{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;width:100%;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;color:#0f172a;text-align:left;background:#fff;cursor:pointer}.dashboard-builder-template strong{display:block;font-size:13px;line-height:1.25}.dashboard-builder-template p{display:-webkit-box;overflow:hidden;margin:5px 0 0;color:#64748b;font-size:11px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dashboard-builder-template span{max-width:96px;padding:3px 7px;border-radius:999px;color:#64748b;font-size:12px;font-weight:700;text-align:right;background:#f1f5f9}.dashboard-builder-template.is-active{border-color:#86efac;background:#f0fdf4}.dashboard-builder-template.is-active span{color:#166534;background:#dcfce7}.dashboard-builder-template-detail{display:grid;gap:10px}.dashboard-builder-template-detail>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-builder-attach-form label>span,.dashboard-builder-template-detail>div:first-child>span{color:#64748b;font-size:12px;font-weight:700}.dashboard-builder-template-detail p{margin:0;color:#475569;font-size:12px;line-height:1.5}.dashboard-builder-attach-form{display:grid;gap:11px}.dashboard-builder-attach-form label{display:grid;gap:6px}.dashboard-builder-attach-form .ant-input,.dashboard-builder-attach-form .ant-input-affix-wrapper,.dashboard-builder-attach-form .ant-select{width:100%}.dashboard-builder-attach-form .ant-switch{justify-self:start}.dashboard-builder-template-modal{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px}.dashboard-builder-template-config,.dashboard-builder-template-picker{min-width:0}.dashboard-builder-template-picker{display:grid;max-height:min(68vh,620px);gap:10px;align-content:start;overflow:auto;padding-right:4px}.dashboard-builder-template-config{display:grid;gap:14px;align-content:start}.dashboard-builder-map-preview{position:relative;flex:1;min-height:0;overflow:hidden;border:1px solid #dbeafe;border-radius:8px;background:linear-gradient(30deg,rgba(34,197,94,.18) 12%,transparent 12% 42%,rgba(59,130,246,.14) 42% 48%,transparent 48%),linear-gradient(120deg,rgba(148,163,184,.16) 10%,transparent 10% 36%,rgba(148,163,184,.12) 36% 42%,transparent 42%),#f8fafc}.dashboard-builder-map-preview strong{position:absolute;right:12px;bottom:10px;color:#166534;font-size:12px}.dashboard-builder-map-route{position:absolute;inset:26% 18% 30% 16%;border-top:3px dashed #16a34a;border-right:3px dashed #16a34a;border-radius:50%;transform:rotate(-10deg)}.dashboard-builder-map-pin{position:absolute;width:12px;height:12px;border:3px solid #fff;border-radius:999px;background:#16a34a;box-shadow:0 8px 18px rgba(22,163,74,.24)}.dashboard-builder-map-pin.is-start{top:62%;left:22%}.dashboard-builder-map-pin.is-end{top:24%;right:20%;background:#2563eb}.dashboard-builder-control-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-builder-control-preview button{min-height:36px;border:1px solid #bbf7d0;border-radius:7px;color:#166534;font-size:12px;font-weight:700;background:#f0fdf4}.dashboard-builder-alarm-preview{display:grid;gap:8px}.dashboard-builder-alarm-preview div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid #e2e8f0;border-radius:7px;font-size:12px}.dashboard-builder-alarm-preview span{width:8px;height:8px;border-radius:999px;background:#f59e0b}.dashboard-builder-alarm-preview span.is-critical{background:#ef4444}.dashboard-builder-alarm-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-builder-alarm-preview em{color:#64748b;font-size:11px;font-style:normal}.dashboard-builder-canvas.is-dark .dashboard-builder-alarm-preview div,.dashboard-builder-canvas.is-dark .dashboard-builder-control-preview button,.dashboard-builder-canvas.is-dark .dashboard-builder-map-preview{border-color:#334155;background-color:rgba(15,23,42,.78)}.dashboard-builder-canvas.is-dark .dashboard-builder-control-preview button,.dashboard-builder-canvas.is-dark .dashboard-builder-map-preview strong{color:#bbf7d0}@media (max-width:1180px){.dashboard-builder-grid{grid-template-columns:1fr}.dashboard-builder-toolbox-card.ant-card{position:static}.dashboard-builder-toolbox .ant-space{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:840px){.dashboard-builder-heading,.dashboard-builder-section-header{flex-direction:column;align-items:stretch}.dashboard-builder-template-modal,.dashboard-builder-toolbox .ant-space,.dashboard-information-grid{grid-template-columns:1fr}}.dashboard-builder-v2-page{display:grid;gap:14px}.dashboard-builder-v2-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.dashboard-builder-v2-heading h2.ant-typography{margin:0 0 4px}.dashboard-builder-api-gap{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;display:flex;gap:8px;padding:10px 12px}.dashboard-builder-toolbar.ant-card .ant-card-body{padding:12px}.dashboard-builder-toolbar-main{align-items:center;display:flex;gap:12px;justify-content:space-between}.dashboard-selector{min-width:250px}.dashboard-name-input{width:260px}.dashboard-refresh-select,.dashboard-time-select{width:132px}.dashboard-custom-range{min-width:330px}.dashboard-builder-workspace{display:block;gap:14px}.dashboard-builder-workspace.is-editing{min-height:620px}.dashboard-builder-splitter{background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;min-height:640px;overflow:hidden}.dashboard-builder-palette{align-content:start;background:#ffffff;border:0;border-radius:0;display:grid;gap:8px;height:100%;padding:10px}.dashboard-builder-palette-header{align-items:center;color:#0f172a;display:flex;gap:8px;justify-content:space-between}.dashboard-builder-palette-header>span{align-items:center;display:inline-flex;gap:8px;min-width:0}.dashboard-palette-collapse-button{align-items:center;background:#ffffff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;height:28px;justify-content:center;width:28px}.dashboard-builder-palette.is-collapsed{align-content:start;justify-items:center;padding:8px 6px}.dashboard-palette-rail{display:grid;gap:8px;justify-items:center}.dashboard-palette-rail button{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:12px;font-weight:700;height:32px;width:32px}.dashboard-palette-rail button.is-active{background:#ecfdf5;border-color:#10b981;color:#047857}.dashboard-palette-search .ant-input-prefix{color:#64748b}.dashboard-palette-tabs .ant-tabs-nav{margin:0 0 4px}.dashboard-palette-tabs .ant-tabs-tab{padding:6px 0}.dashboard-builder-palette-list{display:grid;gap:7px;max-height:460px;overflow:auto;padding-right:2px}.dashboard-builder-palette-list button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;cursor:pointer;display:grid;gap:8px;grid-template-columns:30px minmax(0,1fr);min-height:58px;padding:8px;text-align:left;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.dashboard-builder-palette-list button:hover{background:#ecfdf5;border-color:#34d399;transform:translateY(-1px)}.dashboard-builder-palette-list button strong{color:#0f172a;display:block;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-builder-palette-list button small{color:#64748b;display:-webkit-box;font-size:12px;line-height:1.35;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-palette-item-icon{align-items:center;background:#ffffff;border:1px solid #e2e8f0;border-radius:7px;color:#0f766e;display:inline-flex;height:30px;justify-content:center;width:30px}.dashboard-builder-canvas-zone{display:grid;gap:10px;min-width:0;padding:12px}.dashboard-canvas-header{align-items:center;background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:8px 10px}.dashboard-canvas-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.dashboard-canvas-meta strong{color:#0f172a;font-size:13px}.dashboard-preview-option{align-items:center;display:inline-flex;gap:5px}.dashboard-open-palette-button{display:none}.dashboard-tabs-shell{min-width:0}.dashboard-tabs-shell .ant-tabs-nav{background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;margin:0;padding:0 8px}.dashboard-grid-card.ant-card .ant-card-body{background:#f8fafc;min-height:520px;padding:0}.dashboard-grid-measure{min-height:520px;min-width:0}.dashboard-preview-stage{align-items:flex-start;display:flex;justify-content:center;min-height:560px;overflow:auto;padding:14px}.dashboard-preview-stage.is-desktop{justify-content:stretch}.dashboard-preview-surface{min-width:0;width:100%}.dashboard-preview-frame{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-height:560px;overflow:hidden;width:100%}.dashboard-preview-frame-header{align-items:center;background:#ffffff;border-bottom:1px solid #e2e8f0;color:#334155;display:flex;font-size:12px;justify-content:space-between;min-height:34px;padding:7px 10px}.dashboard-preview-frame-header span{font-weight:700}.dashboard-preview-frame-header small{color:#64748b;font-size:11px}.dashboard-responsive-grid{min-height:520px;padding:12px 0}.dashboard-grid-item{min-width:0}.dashboard-widget-frame{background:#ffffff;border:1px solid #dbe4ef;border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.06);display:flex;flex-direction:column;height:100%;overflow:hidden}.dashboard-widget-frame.is-editing{border-color:#93c5fd}.dashboard-widget-frame-header{align-items:center;border-bottom:1px solid #eef2f7;display:flex;gap:8px;min-height:44px;padding:7px 8px 7px 10px}.dashboard-widget-drag-handle{align-items:center;color:#64748b;cursor:grab;display:inline-flex;height:28px;justify-content:center;width:24px}.dashboard-widget-title{display:grid;flex:1;gap:1px;min-width:0}.dashboard-widget-title strong{color:#0f172a;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-widget-title span{color:#64748b;font-size:11px;line-height:1.2;text-transform:uppercase}.dashboard-widget-toolbar{align-items:center;display:flex;gap:2px}.dashboard-widget-frame-body{flex:1;min-height:0;overflow:auto;padding:12px}.dashboard-widget-stack{display:grid;gap:10px;min-height:100%}.dashboard-widget-kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-qa-chart{height:100%;min-height:180px;width:100%}.dashboard-sensor-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(138px,1fr))}.dashboard-sensor-tile{background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #10b981;border-radius:8px;display:grid;gap:6px;min-height:82px;padding:8px}.dashboard-sensor-tile.is-warning{border-left-color:#f59e0b}.dashboard-sensor-tile.is-critical{border-left-color:#dc2626}.dashboard-rpc-row span,.dashboard-sensor-tile strong{color:#0f172a;font-size:12px}.dashboard-qa-only,.dashboard-sensor-tile span{color:#64748b;font-size:11px}.dashboard-sensor-values{display:grid;gap:2px}.dashboard-rpc-control{display:grid;gap:12px}.dashboard-rpc-row,.dashboard-widget-meta{align-items:center;display:flex;justify-content:space-between}.dashboard-widget-meta{border-top:1px solid #eef2f7;color:#64748b;flex-wrap:wrap;font-size:11px;gap:8px;padding-top:8px}.dashboard-widget-meta button{background:#ffffff;border:1px solid #dbe4ef;border-radius:6px;color:#0f766e;cursor:pointer;font:inherit;min-height:24px;padding:0 8px}.dashboard-widget-meta button:hover{background:#ecfdf5;border-color:#99f6e4}.dashboard-device-cell{display:grid;gap:2px;min-width:0}.dashboard-device-cell strong{color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-device-cell span{color:#64748b;font-size:12px}.dashboard-mqtt-status{align-items:center;display:grid;gap:12px;grid-template-columns:auto 1fr auto;min-height:96px}.dashboard-mqtt-light{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;color:#64748b;display:inline-flex;height:48px;justify-content:center;width:48px}.dashboard-mqtt-light.is-online{background:#dcfce7;border-color:#86efac;color:#047857}.dashboard-mqtt-status>div:nth-child(2){display:grid;gap:2px;min-width:0}.dashboard-mqtt-events{border-left:1px solid #e2e8f0;display:grid;min-width:72px;padding-left:12px;text-align:right}.dashboard-mqtt-events span{color:#0f172a;font-size:20px;font-weight:700}.dashboard-mqtt-events small{color:#64748b;font-size:11px}.dashboard-realtime-note{color:#0f766e;font-size:11px;grid-column:1/-1}.dashboard-link-button,.dashboard-primary-button{border-radius:6px;cursor:pointer;font:inherit;min-height:32px;padding:0 12px}.dashboard-primary-button{background:#047857;border:1px solid #047857;color:#ffffff}.dashboard-link-button{background:transparent;border:1px solid transparent;color:#475569}.dashboard-variables-form{display:block}.dashboard-variable-list{display:grid;gap:12px}.dashboard-variable-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:10px;padding:12px}.dashboard-variable-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.dashboard-variable-card-header strong{color:#0f172a;font-size:13px}.dashboard-variable-grid{display:grid;gap:10px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-variable-card>.ant-form-item,.dashboard-variable-grid .ant-form-item{margin-bottom:0}.dashboard-group-widget-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));min-height:100%}.dashboard-group-child{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;min-height:176px;min-width:0;overflow:hidden}.dashboard-group-child-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:8px;justify-content:space-between;min-height:34px;padding:7px 9px}.dashboard-group-child-header strong{color:#0f172a;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-group-child-header span{color:#64748b;flex:0 0 auto;font-size:10.5px;text-transform:uppercase}.dashboard-group-child-body{flex:1;min-height:0;overflow:auto;padding:9px}.react-grid-item.react-grid-placeholder{background:#10b981;border-radius:8px;opacity:.14}.react-resizable-handle{opacity:0;transition:opacity .16s ease}.dashboard-builder-workspace.is-editing .react-resizable-handle{opacity:1}html[data-theme=dark] .dashboard-builder-v2-page{color:#e5e7eb}html[data-theme=dark] .dashboard-builder-api-gap{background:#431407;border-color:#9a3412;color:#fed7aa}html[data-theme=dark] .dashboard-builder-palette,html[data-theme=dark] .dashboard-builder-splitter,html[data-theme=dark] .dashboard-canvas-header,html[data-theme=dark] .dashboard-group-child,html[data-theme=dark] .dashboard-palette-collapse-button,html[data-theme=dark] .dashboard-palette-item-icon,html[data-theme=dark] .dashboard-preview-frame,html[data-theme=dark] .dashboard-preview-frame-header,html[data-theme=dark] .dashboard-sensor-tile,html[data-theme=dark] .dashboard-tabs-shell .ant-tabs-nav,html[data-theme=dark] .dashboard-variable-card,html[data-theme=dark] .dashboard-widget-frame,html[data-theme=dark] .dashboard-widget-meta button{background:#0f172a;border-color:#263244}html[data-theme=dark] .dashboard-builder-palette-list button,html[data-theme=dark] .dashboard-grid-card.ant-card .ant-card-body,html[data-theme=dark] .dashboard-preview-frame,html[data-theme=dark] .dashboard-preview-stage{background:#111827;border-color:#263244}html[data-theme=dark] .dashboard-builder-palette-list button:hover,html[data-theme=dark] .dashboard-palette-rail button.is-active,html[data-theme=dark] .dashboard-widget-meta button:hover{background:#064e3b;border-color:#0f766e}html[data-theme=dark] .dashboard-builder-palette-header,html[data-theme=dark] .dashboard-builder-palette-list button strong,html[data-theme=dark] .dashboard-canvas-meta strong,html[data-theme=dark] .dashboard-device-cell strong,html[data-theme=dark] .dashboard-group-child-header strong,html[data-theme=dark] .dashboard-mqtt-events span,html[data-theme=dark] .dashboard-preview-frame-header span,html[data-theme=dark] .dashboard-rpc-row span,html[data-theme=dark] .dashboard-sensor-tile strong,html[data-theme=dark] .dashboard-variable-card-header strong,html[data-theme=dark] .dashboard-widget-title strong{color:#f8fafc}html[data-theme=dark] .dashboard-builder-palette-list button small,html[data-theme=dark] .dashboard-builder-palette-list button span,html[data-theme=dark] .dashboard-device-cell span,html[data-theme=dark] .dashboard-group-child-header span,html[data-theme=dark] .dashboard-mqtt-events small,html[data-theme=dark] .dashboard-palette-collapse-button,html[data-theme=dark] .dashboard-preview-frame-header,html[data-theme=dark] .dashboard-preview-frame-header small,html[data-theme=dark] .dashboard-qa-only,html[data-theme=dark] .dashboard-sensor-tile span,html[data-theme=dark] .dashboard-widget-drag-handle,html[data-theme=dark] .dashboard-widget-meta,html[data-theme=dark] .dashboard-widget-title span{color:#94a3b8}html[data-theme=dark] .dashboard-group-child-header,html[data-theme=dark] .dashboard-mqtt-events,html[data-theme=dark] .dashboard-preview-frame-header,html[data-theme=dark] .dashboard-widget-frame-header,html[data-theme=dark] .dashboard-widget-meta{border-color:#263244}html[data-theme=dark] .dashboard-widget-frame.is-editing{border-color:#2563eb}html[data-theme=dark] .dashboard-mqtt-light{background:#111827;border-color:#263244;color:#94a3b8}html[data-theme=dark] .dashboard-mqtt-light.is-online{background:#064e3b;border-color:#0f766e;color:#86efac}html[data-theme=dark] .dashboard-realtime-note,html[data-theme=dark] .dashboard-widget-meta button{color:#5eead4}@media (max-width:1180px){.dashboard-builder-toolbar-main,.dashboard-builder-v2-heading{align-items:stretch;flex-direction:column}.dashboard-builder-workspace.is-editing{min-height:0}.dashboard-open-palette-button{display:inline-flex}.dashboard-builder-canvas-zone{padding:0}.dashboard-builder-palette-list{max-height:none}.dashboard-palette-drawer .dashboard-builder-palette{padding:0}}@media (max-width:720px){.dashboard-builder-palette-list,.dashboard-widget-kpi-grid{grid-template-columns:1fr}.dashboard-custom-range,.dashboard-name-input,.dashboard-refresh-select,.dashboard-selector,.dashboard-time-select{min-width:0;width:100%}.dashboard-grid-card.ant-card .ant-card-body{padding:0}.dashboard-canvas-header{align-items:stretch;flex-direction:column}.dashboard-tabs-shell .ant-tabs-nav{padding:0 4px}.dashboard-preview-stage{padding:8px}.dashboard-preview-frame-header{align-items:flex-start;flex-direction:column;gap:2px}.dashboard-variable-grid{grid-template-columns:1fr}}.workforce-page{display:grid;gap:12px}.workforce-actionbar,.workforce-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between}.workforce-scope-input{width:180px}.workforce-form-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}@media (max-width:760px){.workforce-actionbar,.workforce-toolbar{align-items:stretch;flex-direction:column}.workforce-scope-input,.workforce-toolbar .ant-picker{width:100%}.workforce-form-row{grid-template-columns:1fr}}.last\:border-r-0:last-child{border-right-width:0}.hover\:border-emerald-300:hover{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[150px_1fr\]{grid-template-columns:150px 1fr}.sm\:grid-cols-\[minmax\(0\2c 1fr\)_120px\]{grid-template-columns:minmax(0,1fr) 120px}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:block{display:block}.md\:w-80{width:20rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(390px\2c 470px\)\]{grid-template-columns:minmax(0,1fr) minmax(390px,470px)}.lg\:grid-cols-\[minmax\(170px\2c 0\.9fr\)_minmax\(180px\2c 1\.2fr\)_130px_minmax\(150px\2c 1fr\)_110px_36px\]{grid-template-columns:minmax(170px,.9fr) minmax(180px,1.2fr) 130px minmax(150px,1fr) 110px 36px}.lg\:grid-cols-\[minmax\(180px\2c 1\.4fr\)_130px_minmax\(150px\2c 1fr\)_110px_36px\]{grid-template-columns:minmax(180px,1.4fr) 130px minmax(150px,1fr) 110px 36px}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:px-\[8vw\]{padding-left:8vw;padding-right:8vw}}@media (min-width:1280px){.xl\:max-w-\[360px\]{max-width:360px}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[360px_minmax\(0\2c 1fr\)\]{grid-template-columns:360px minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_220px\]{grid-template-columns:minmax(0,1fr) 220px}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(360px\2c 460px\)\]{grid-template-columns:minmax(0,1fr) minmax(360px,460px)}.xl\:grid-cols-\[minmax\(0\2c 420px\)_minmax\(0\2c 1fr\)\]{grid-template-columns:minmax(0,420px) minmax(0,1fr)}.xl\:flex-row{flex-direction:row}.xl\:items-center{align-items:center}.xl\:justify-between{justify-content:space-between}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\32xl\:grid-cols-\[310px_minmax\(0\2c 1fr\)\]{grid-template-columns:310px minmax(0,1fr)}.\32xl\:border-b-0{border-bottom-width:0}}