:root{--background: 0 0% 100%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--primary: 142 71% 36%;--primary-foreground: 0 0% 100%;--secondary: 210 40% 96%;--secondary-foreground: 222 47% 11%;--muted: 210 40% 96%;--muted-foreground: 215 16% 47%;--accent: 210 40% 96%;--accent-foreground: 222 47% 11%;--border: 214 32% 91%;--input: 214 32% 91%;--ring: 142 71% 36%;--radius: .5rem}*,:before,:after{--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 / .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 / .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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;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,samp,pre{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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{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}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html,body,#root{height:100%}body{margin:0;background:var(--whisper);color:var(--ink);font-family:var(--font-sans);font-feature-settings:"rlig" 1,"calt" 1,"tnum" 1;-webkit-font-smoothing:antialiased}.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}}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-2{height:.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.w-9{width:2.25rem}.w-full{width:100%}.origin-left{transform-origin:left}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-input{border-color:hsl(var(--input))}.bg-\[var\(--gold\)\]{background-color:var(--gold)}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-muted{background-color:hsl(var(--muted))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-secondary{background-color:hsl(var(--secondary))}.p-5{padding:1.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.pb-2{padding-bottom:.5rem}.pt-2{padding-top:.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[var\(--on-gold-strong\)\]{color:var(--on-gold-strong)}.text-card-foreground{color:hsl(var(--card-foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.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-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500{transition-duration:.5s}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:root{--ink: #0e1411;--ink-2: #1a221d;--canvas: #fff;--whisper: #f5f4ef;--taupe: #ecebe5;--ash: #6d6c6b;--ash-2: #8c8b89;--line: rgba(14,20,17,.08);--line-2: rgba(14,20,17,.14);--bs-deep: #1f3d2c;--bs: #2d5a3f;--bs-bright: #3a8254;--bs-leaf: #b7efb2;--bs-deepest: #0f231a;--gold: #fbc768;--warn: #e16540;--bad: #c44a2c;--surface-sidebar: #fafaf7;--ink-black: #000;--legend-prev: #cbb992;--on-gold-strong: #5e4408;--warn-text: #8a6310;--cam-grad-1: #d4cfc1;--cam-grad-2: #b8b09f;--r-card: 14px;--r-btn: 8px;--r-pill: 999px;--shadow-xl: rgba(14,20,17,.1) 0 26px 60px -12px, rgba(14,20,17,.04) 0 8px 16px -8px, rgba(14,20,17,.04) 0 1px 1px;--shadow-sm: rgba(14,20,17,.06) 0 1px 2px, rgba(14,20,17,.04) 0 4px 12px;--shadow-inset: inset 0 0 0 1px var(--line);--font-sans: "Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono: "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}.appShell{display:grid;grid-template-columns:240px 1fr;width:100%;min-height:100vh;height:100vh;position:relative;background:var(--canvas);overflow:hidden;font-family:var(--font-sans);color:var(--ink);font-size:14px}.appSide{background:var(--surface-sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;padding:16px 12px;overflow:hidden}.appBrand{display:flex;align-items:center;gap:10px;padding:4px 6px 12px;font-weight:700;font-size:15px;letter-spacing:-.01em}.appBrand b{color:var(--bs)}.appBrandMark{width:26px;height:26px;border-radius:6px;background:var(--bs-deepest);display:grid;place-items:center;overflow:hidden;flex-shrink:0}.appBrandMark img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.18);filter:contrast(1.15) brightness(.95)}.houseSwitch{background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:14px}.hsLabel{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ash);margin-bottom:2px}.hsRow{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:500}.hsName{color:var(--ink)}.hsRow svg{color:var(--ash)}.appSide .grp{font-size:10px;text-transform:uppercase;color:var(--ash);letter-spacing:.08em;padding:14px 10px 6px;font-family:var(--font-mono);font-weight:500}.nav-i{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:13px;color:var(--ink-2);font-weight:500;cursor:pointer}.nav-i:hover{background:var(--whisper)}.nav-i.active{background:var(--canvas);box-shadow:var(--shadow-inset);color:var(--ink)}.nav-i .ic{display:inline-grid;place-items:center;color:var(--ash);width:16px;height:16px}.nav-i.active .ic{color:var(--bs)}.badge-n{margin-left:auto;background:var(--warn);color:var(--canvas);font-size:10px;padding:1px 6px;border-radius:var(--r-pill);font-weight:600;font-family:var(--font-mono)}.sideFoot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.sfUser{display:flex;align-items:center;gap:10px;padding:6px 8px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--bs-leaf);color:var(--bs-deep);display:grid;place-items:center;font-weight:700;font-size:11px}.sfName{font-size:13px;font-weight:600;color:var(--ink)}.sfRole{font-size:11px;color:var(--ash);font-family:var(--font-mono)}.appMain{display:flex;flex-direction:column;min-width:0;background:var(--canvas)}.appTop{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--whisper)}.appTop .dts{display:flex;gap:6px}.appTop .dts span{width:9px;height:9px;border-radius:50%;background:var(--taupe)}.appTop .url{font-family:var(--font-mono);font-size:12px;color:var(--ash);background:var(--canvas);padding:6px 12px;border-radius:6px;border:1px solid var(--line);display:flex;align-items:center;gap:6px;max-width:380px;flex-shrink:0}.appTop .url:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--bs-bright)}.appTop .updated{font-size:11.5px;color:var(--ash);font-family:var(--font-mono)}.appTop .topActions{margin-left:auto;display:flex;gap:6px}.topBtn{position:relative;width:32px;height:32px;border-radius:8px;background:var(--canvas);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);cursor:pointer}.topBtn:hover{background:var(--whisper)}.dotN{position:absolute;top:-4px;right:-4px;background:var(--warn);color:var(--canvas);font-size:9px;font-family:var(--font-mono);font-weight:700;padding:1px 4px;border-radius:var(--r-pill)}.appBody{flex:1;overflow:hidden;padding:22px 24px;display:flex;flex-direction:column;gap:14px;background:var(--canvas)}.pageHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.pgTitle{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.15}.pgSub{font-size:13px;color:var(--ash);margin-top:4px}.filterGroup{display:flex;gap:8px;align-items:center}.filter{display:flex;gap:4px;background:var(--whisper);padding:3px;border-radius:8px}.filter button{padding:6px 12px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--ash);border:0;background:transparent;cursor:pointer;font-family:inherit}.filter button.on{background:var(--canvas);color:var(--ink);box-shadow:var(--shadow-sm)}.seg{display:inline-flex;background:var(--whisper);border-radius:8px;padding:3px}.seg button{padding:6px 12px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--ash);border:0;background:transparent;cursor:pointer;font-family:inherit}.seg button.on{background:var(--canvas);color:var(--ink);box-shadow:var(--shadow-sm)}.seg-w button{padding:7px 14px}.btnGhost,.btnLight,.btnPrim{font-family:inherit;font-size:12.5px;font-weight:500;padding:7px 12px;border-radius:8px;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1}.btnGhost{background:transparent;color:var(--ash)}.btnGhost:hover{color:var(--ink);background:var(--whisper)}.btnLight{background:var(--canvas);color:var(--ink);box-shadow:var(--shadow-inset)}.btnLight:hover{background:var(--whisper)}.btnPrim{background:var(--ink);color:var(--canvas)}.btnPrim:hover{background:var(--ink-black)}.kpi-row{display:grid;gap:10px}.kpi-row.k4{grid-template-columns:repeat(4,1fr)}.kpi-row.k5{grid-template-columns:repeat(5,1fr)}.kpi{background:var(--whisper);border-radius:10px;padding:12px 14px}.kpi .l{font-size:10.5px;color:var(--ash);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.kpi .v{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-top:6px;color:var(--ink);line-height:1}.kpi .d{font-size:11px;font-family:var(--font-mono);margin-top:4px;color:var(--bs)}.kpi .d.warn{color:var(--warn)}.kpi .d.neg{color:var(--bad)}.card{background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;min-width:0}.cardHead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.cardHead h5{font-size:13px;margin:0;font-weight:600}.cardMeta{font-size:11px;color:var(--ash);font-family:var(--font-mono)}.cardSubHead{font-size:11px;font-family:var(--font-mono);color:var(--ash);text-transform:uppercase;letter-spacing:.06em;margin-top:14px;margin-bottom:6px}.legend{display:flex;gap:12px;font-size:11px;color:var(--ash);font-family:var(--font-mono)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{display:inline-block;width:12px;height:2px;border-radius:1px}.lg-act{background:var(--bs-bright)}.lg-plan{background:var(--ash-2);height:2px;background-image:linear-gradient(to right,var(--ash-2) 50%,transparent 50%);background-size:6px 2px;background-repeat:repeat-x;background-color:transparent!important}.lg-fcst{background-image:linear-gradient(to right,var(--bs-bright) 50%,transparent 50%);background-size:5px 2px;background-repeat:repeat-x}.lg-prev{background:var(--legend-prev)}.grid-2-1{display:grid;grid-template-columns:1.55fr 1fr;gap:10px;min-height:0;flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid-1-1{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;flex:1;min-height:0}.grid-1-1-w{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;flex:1;min-height:0}.card.mini .miniHead{font-size:11.5px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ash);margin-bottom:8px}.miniRow{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px dashed var(--line);font-size:13px}.miniRow:last-child{border-bottom:0}.miniRow span{color:var(--ash)}.miniRow b{font-weight:600;font-variant-numeric:tabular-nums}.miniRow b.ok{color:var(--bs)}.readyVal{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-top:4px}.readyMeta{font-size:11.5px;color:var(--ash);font-family:var(--font-mono);margin-top:2px}.readyBar{margin-top:14px;height:8px;background:var(--whisper);border-radius:99px;overflow:hidden}.readyBar span{display:block;height:100%;background:linear-gradient(90deg,var(--bs-leaf),var(--bs-bright));border-radius:99px}.readyLeg{display:flex;justify-content:space-between;font-size:10.5px;font-family:var(--font-mono);color:var(--ash);margin-top:6px}.alerts{display:flex;flex-direction:column;gap:8px}.alert{display:flex;gap:10px;padding:10px;border-radius:8px;background:var(--whisper);font-size:12px;align-items:flex-start}.alert .ad{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.alert.ok .ad{background:var(--bs-bright)}.alert.warn .ad{background:var(--gold)}.alert.bad .ad{background:var(--warn)}.alert .at{font-weight:600;color:var(--ink);font-size:12.5px}.alert .am{color:var(--ash);margin-top:2px;line-height:1.45}.alert time{margin-left:auto;color:var(--ash);font-family:var(--font-mono);font-size:10.5px;flex-shrink:0}.tbl{width:100%;border-collapse:collapse;font-size:12.5px}.tbl th,.tbl td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line)}.tbl th{font-weight:500;color:var(--ash);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;background:var(--whisper)}.tbl td.ok,.tbl td .ok{color:var(--bs)}.tbl td.warn{color:var(--warn)}.tbl tr:last-child td{border-bottom:none}.tbl-compare tr.hl td{background:#3a82540f;font-weight:600}.distLeg{display:flex;gap:14px;padding:8px 4px 0;font-size:11.5px;color:var(--ash);font-family:var(--font-mono)}.distLeg b{color:var(--ink);font-family:var(--font-sans);font-weight:600;margin-right:4px}.heatWrap{flex:1;display:flex;flex-direction:column}.heatLegend{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:10.5px;color:var(--ash);font-family:var(--font-mono)}.heatBar{flex:1;height:6px;background:linear-gradient(90deg,var(--bs-leaf),var(--gold),var(--warn));border-radius:99px;max-width:160px}.heatVal{margin-left:auto}.behNote{margin-top:10px;padding:10px 12px;background:#3a825412;border-radius:8px;font-size:12px;color:var(--bs-deep);display:flex;align-items:center;gap:8px}.bn-dot{width:8px;height:8px;border-radius:50%;background:var(--bs-bright)}.zoneRow{display:grid;grid-template-columns:120px 1fr 36px;gap:10px;align-items:center;padding:5px 0;font-size:12px}.zoneRow span{color:var(--ash)}.zoneRow b{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.zoneBar{height:6px;background:var(--whisper);border-radius:99px;overflow:hidden}.zoneBar span{display:block;height:100%;background:var(--bs-bright)}.anoRow,.camRow{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:12px}.anoRow:last-child,.camRow:last-child{border-bottom:0}.anoRow time{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--ash)}.anoRow .ad{width:7px;height:7px;border-radius:50%}.anoRow .ad.ok{background:var(--bs-bright)}.anoRow .ad.warn{background:var(--gold)}.camRow b{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--ash);font-weight:500}.camRow .dot{width:7px;height:7px;border-radius:50%}.camRow .dot.ok{background:var(--bs-bright)}.camRow .dot.warn{background:var(--gold)}.healthList{display:flex;flex-direction:column;gap:8px}.healthItem{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;padding:12px;background:var(--whisper);border-radius:10px;border:1px solid transparent;cursor:pointer}.healthItem.selected{background:var(--canvas);border-color:var(--bs-bright);box-shadow:0 0 0 3px #3a82541a}.hi-tag{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:6px;background:var(--warn);color:var(--canvas);font-weight:600;text-align:center}.hi-tag.md{background:var(--gold);color:var(--on-gold-strong)}.hi-title{font-weight:600;font-size:13px;color:var(--ink)}.hi-meta{font-size:11.5px;color:var(--ash);font-family:var(--font-mono);margin-top:2px}.hi-tags{display:flex;gap:4px;margin-top:6px}.tag{font-size:10.5px;padding:2px 7px;background:var(--canvas);border:1px solid var(--line);border-radius:99px;color:var(--ink-2);font-family:var(--font-mono)}.caseTop{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:12px}.caseImg{position:relative;aspect-ratio:16/10;border-radius:10px;background:repeating-linear-gradient(45deg,rgba(14,20,17,.04) 0 8px,transparent 8px 16px),linear-gradient(135deg,var(--cam-grad-1),var(--cam-grad-2));border:1px solid var(--line);overflow:hidden}.caseImg:before{content:"CAM-02 · LIVE";position:absolute;top:8px;left:8px;font-family:var(--font-mono);font-size:9.5px;color:var(--canvas);background:#0f231ab3;padding:3px 8px;border-radius:99px;letter-spacing:.04em}.bbox{position:absolute;width:60px;height:60px;border:2px solid var(--warn);border-radius:4px;font-family:var(--font-mono);font-size:9.5px;color:var(--canvas);padding:2px 5px}.bbox:before{content:"";position:absolute;inset:0;background:#e165402e}.bbox{background:#e1654024}.caseImgLabel{position:absolute;bottom:8px;right:8px;font-family:var(--font-mono);font-size:9.5px;color:var(--canvas);background:#0f231ab3;padding:3px 8px;border-radius:99px}.caseSide{display:flex;flex-direction:column;gap:10px}.caseProb{padding:10px;background:var(--whisper);border-radius:8px}.cpLabel{font-size:10.5px;font-family:var(--font-mono);color:var(--ash);text-transform:uppercase;letter-spacing:.04em}.cpVal{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--bs);line-height:1;margin-top:4px}.cpBar{height:6px;background:var(--canvas);border-radius:99px;overflow:hidden;margin-top:8px}.cpBar span{display:block;height:100%;background:var(--bs-bright)}.caseFacts{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:10px;background:var(--whisper);border-radius:8px}.cf{display:flex;justify-content:space-between;font-size:11.5px}.cf span{color:var(--ash)}.cf b{font-weight:600;font-variant-numeric:tabular-nums}.caseRec .recHead{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ash);margin-bottom:4px}.recList{margin:0;padding-left:18px;font-size:12.5px;line-height:1.55;display:flex;flex-direction:column;gap:4px}.caseActions{display:flex;gap:6px;margin-top:10px}.recBig{background:var(--bs-deepest);color:var(--canvas);border-radius:14px;padding:20px 24px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;position:relative;overflow:hidden}.recBig:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(153,255,249,.12),transparent 70%);top:-160px;right:-60px;pointer-events:none}.rbLbl{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--bs-leaf)}.rbDate{font-size:32px;font-weight:700;letter-spacing:-.025em;line-height:1;margin-top:6px}.rbWindow{font-size:12px;color:#fff9;margin-top:4px;font-family:var(--font-mono)}.rbSubrow{display:flex;gap:24px;margin-top:14px;flex-wrap:wrap}.rbSubrow>div{display:flex;flex-direction:column;gap:2px}.rbSubrow span{font-size:10.5px;color:#fff9;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.rbSubrow b{font-size:16px;font-weight:600}.rbSubrow b.ok{color:var(--bs-leaf)}.confRing{width:120px;height:120px}.logiList{display:flex;flex-direction:column;gap:6px}.logiRow{display:flex;align-items:center;gap:10px;padding:10px;background:var(--whisper);border-radius:8px;border:1px solid transparent}.logiRow.on{border-color:var(--bs-bright);background:#3a82540f}.logiRow .dot{width:8px;height:8px;border-radius:50%}.logiRow .dot.ok{background:var(--bs-bright)}.logiRow .dot.warn{background:var(--gold)}.logiRow b{font-size:12.5px;display:block;color:var(--ink)}.logiRow span:not(.dot){font-size:11.5px;color:var(--ash);font-family:var(--font-mono)}.logiTag{margin-left:auto;padding:3px 8px;background:var(--bs-leaf);color:var(--bs-deep);border-radius:99px;font-size:10.5px;font-family:var(--font-mono);font-weight:600!important}.logiActions{display:flex;gap:6px;margin-top:10px}.ctlGroup{margin-top:12px}.ctlLabel{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.ctlLabel span{font-size:12px;color:var(--ash)}.ctlLabel b{font-size:14px;font-weight:600}.ctlLabel b em{font-style:normal;color:var(--ash);font-weight:400;font-size:11.5px;font-family:var(--font-mono);margin-left:2px}.slider{position:relative;height:24px}.slTrack{position:absolute;top:11px;left:0;right:0;height:3px;background:var(--whisper);border-radius:99px}.slFill{position:absolute;top:11px;left:0;height:3px;background:var(--bs-bright);border-radius:99px}.slBase{position:absolute;top:7px;width:2px;height:11px;background:var(--ash-2);border-radius:1px;transform:translate(-1px)}.slKnob{position:absolute;top:5px;width:14px;height:14px;border-radius:50%;background:var(--canvas);border:2px solid var(--bs-bright);transform:translate(-7px);box-shadow:var(--shadow-sm)}.slMeta{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ash);font-family:var(--font-mono);margin-top:4px}.slBaseLbl{color:var(--ash-2)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:11.5px;padding:5px 10px;border-radius:99px;background:var(--whisper);color:var(--ink-2);font-family:var(--font-mono);cursor:pointer;border:1px solid transparent}.chip.on{background:#3a82541a;color:var(--bs);border-color:#3a825433}.diffGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.diff{padding:10px 12px;background:var(--whisper);border-radius:8px;border-left:3px solid var(--bs-bright)}.diff.dn{border-left-color:var(--gold)}.diff .dl{font-size:10.5px;font-family:var(--font-mono);color:var(--ash);text-transform:uppercase;letter-spacing:.04em}.diff .dv{font-size:18px;font-weight:700;letter-spacing:-.02em;margin-top:4px;line-height:1}.diff.up .dv{color:var(--bs)}.diff.dn .dv{color:var(--warn-text)}.diff .dd{font-size:10.5px;font-family:var(--font-mono);color:var(--ash);margin-top:3px}.aiNote{margin-top:12px;padding:10px 12px;background:#3a82540f;border-radius:8px;font-size:12px;line-height:1.5;color:var(--ink-2)}.aiTag{display:inline-block;font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--bs);background:var(--canvas);padding:2px 6px;border-radius:4px;margin-right:6px;font-weight:600;vertical-align:middle}.houseGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;flex:1;overflow:auto}.houseCard{background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;position:relative}.houseCard.st-warn{border-color:#fbc76880}.houseCard.st-bad{border-color:#e1654080;background:#e1654008}.hcTop{display:flex;justify-content:space-between;align-items:center}.hcN{font-family:var(--font-mono);font-size:11px;color:var(--ash);letter-spacing:.04em}.hcDot{width:9px;height:9px;border-radius:50%}.hcDot.ok{background:var(--bs-bright)}.hcDot.warn{background:var(--gold)}.hcDot.bad{background:var(--warn)}.hcBreed{font-size:11.5px;color:var(--ash);font-family:var(--font-mono)}.hcW{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1}.hcW em{font-style:normal;color:var(--ash);font-size:13px;font-weight:500;margin-left:2px}.hcSpark{height:24px}.hcMeta{display:flex;justify-content:space-between;font-size:11px;color:var(--ash);font-family:var(--font-mono)}.hcMeta b{color:var(--ink);font-family:var(--font-sans);font-weight:600}.hcEvent{font-size:11px;color:var(--ash);padding-top:6px;border-top:1px dashed var(--line);font-family:var(--font-mono)}.hcEvent.warn{color:var(--warn-text)}.hcEvent.bad{color:var(--bad)}.appShell{grid-template-rows:minmax(0,1fr)}.appMain{min-height:0}.appBody{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--taupe) transparent}.appSide{overflow-y:auto;min-height:0}.appBody>*{flex-shrink:0;flex-basis:auto}.appBody::-webkit-scrollbar{width:10px}.appBody::-webkit-scrollbar-track{background:transparent}.appBody::-webkit-scrollbar-thumb{background:var(--taupe);border-radius:var(--r-pill);border:2px solid var(--canvas);background-clip:padding-box}.recList{list-style:decimal}.nav-i{text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dash-chart>svg,.heatWrap>svg{width:100%;height:100%}.heatWrap>svg{flex:1;min-height:0}.grid-2-1.grid-fit{flex:none;align-items:start}.grid-2-1.grid-even{align-items:stretch}.grid-even .chartFrame{flex:1 1 auto;min-height:240px}.alerts--scroll{max-height:490px;overflow-y:auto;padding-right:6px}.healthTestSide{display:flex;flex-direction:column;gap:10px;min-height:0}.recList.healthTestList{list-style:disc}.recHead--gap{margin-top:12px}.heatModuleFoot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:6px 4px 0;font-family:var(--font-mono);font-size:11.5px;color:var(--ash)}.heatModuleFoot b{color:var(--ink);font-family:var(--font-sans);font-weight:600}.heatModuleLegend{margin-left:auto}.histHead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px;margin-bottom:6px}.histHead .cardSubHead{margin:0}.crumbs{display:flex;align-items:center;gap:6px;min-width:0;font-family:var(--font-mono);font-size:12px}.crumbSep{color:var(--ash-2);flex-shrink:0}.crumb{color:var(--ash);text-decoration:none;white-space:nowrap;border-radius:6px;padding:2px 5px}.crumb:hover{color:var(--ink);background:var(--whisper)}.crumbCurrent{color:var(--ink-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.appTop .topActions{align-items:center}.liveStatus{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11.5px;color:var(--bs);white-space:nowrap}.liveDot{width:7px;height:7px;border-radius:50%;background:var(--bs-bright);flex-shrink:0}.zonalCells{display:flex;gap:4px;margin-top:8px}.zonalCell{flex:1 1 0;min-width:0;border-radius:6px;padding:7px 2px;display:flex;flex-direction:column;align-items:center;gap:2px}.zonalCell .zcVal{font-family:var(--font-mono);font-size:13px;font-weight:700;line-height:1}.zonalCell .zcMod{font-family:var(--font-mono);font-size:9px;opacity:.8}.zonalCell.band-ok{background:var(--bs-bright);color:var(--canvas)}.zonalCell.band-warn{background:var(--gold);color:var(--ink)}.zonalCell.band-crit{background:var(--warn);color:var(--canvas)}.healthItem--interactive{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.healthItem--interactive:hover,.healthItem--interactive:focus-visible{background:var(--canvas);border-color:var(--bs-bright);box-shadow:0 0 0 3px color-mix(in srgb,var(--bs-bright) 12%,transparent);outline:none}.taskListCard,.taskDetailCard{min-height:0}.taskList{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.taskItem{text-align:left;font:inherit;background:var(--whisper);border:1px solid transparent;border-radius:10px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:7px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.taskItem:hover{border-color:var(--line-2)}.taskItem.selected{background:var(--canvas);border-color:var(--bs-bright);box-shadow:0 0 0 3px color-mix(in srgb,var(--bs-bright) 12%,transparent)}.taskItemTitle{font-weight:600;font-size:13px;color:var(--ink)}.taskItemMeta{display:flex;align-items:center;gap:8px}.taskItemMeta time{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--ash)}.taskStatus{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding:2px 8px;border-radius:var(--r-pill)}.taskStatus.ts-solved{background:var(--bs-leaf);color:var(--bs-deep)}.taskStatus.ts-prog{background:var(--gold);color:var(--on-gold-strong)}.taskStatus.ts-open{background:var(--taupe);color:var(--ash)}.taskAdd{margin-top:10px;justify-content:center}.taskChips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.taskChip{font:inherit;font-size:11.5px;padding:4px 10px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--whisper);color:var(--ash);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.taskChip:hover{border-color:var(--bs-bright);color:var(--ink)}.taskChip.active{background:color-mix(in srgb,var(--bs-bright) 16%,transparent);border-color:var(--bs-bright);color:var(--bs-deep);font-weight:600}.taskGroup{display:flex;flex-direction:column;gap:8px}.taskGroup+.taskGroup{margin-top:14px}.taskGroupHead{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--ash)}.taskStatusDot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.taskStatusDot.ts-solved{background:var(--bs-bright)}.taskStatusDot.ts-prog{background:var(--gold)}.taskStatusDot.ts-open{background:var(--ash-2)}.taskItemBarn{font-family:var(--font-mono);font-size:10.5px;color:var(--ash)}.taskEmptyFilter{display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--ash);font-size:12.5px;padding:6px 2px}.confRing .crTrack{stroke:color-mix(in srgb,var(--whisper) 16%,transparent)}.confRing .crValue{stroke:var(--bs-leaf)}.confRing .crPct{fill:var(--whisper);font-family:var(--font-sans)}.confRing .crLbl{fill:color-mix(in srgb,var(--whisper) 65%,transparent);font-family:var(--font-mono)}.taskDetailCard{gap:0}.taskDetailHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.taskDetailTitle{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.taskDetailTitle h5{margin:0;font-size:15px}.taskDetailMeta{font-family:var(--font-mono);font-size:11.5px;color:var(--ash);margin-top:6px}.taskSolved{color:var(--bs);font-weight:600;font-size:12.5px;margin-top:4px}.taskThread{display:flex;flex-direction:column;gap:12px;margin-top:14px;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.taskMsg{display:flex;gap:10px}.taskMsgAvatar{flex-shrink:0}.taskMsgBody{min-width:0}.taskMsgHead{display:flex;align-items:baseline;gap:8px}.taskMsgAuthor{font-weight:600;font-size:12.5px;color:var(--ink)}.taskMsgHead time{font-family:var(--font-mono);font-size:10.5px;color:var(--ash)}.taskMsgText{font-size:13px;color:var(--ink-2);line-height:1.45;margin-top:2px}.taskCompose{display:flex;flex-direction:column;gap:8px;margin-top:12px}.taskInput{font-family:inherit;font-size:13px;color:var(--ink);background:var(--canvas);border:1px solid var(--line-2);border-radius:var(--r-btn);padding:9px 11px;outline:none;resize:vertical;min-height:52px;transition:border-color .15s ease,box-shadow .15s ease}.taskInput::-moz-placeholder{color:var(--ash-2)}.taskInput::placeholder{color:var(--ash-2)}.taskInput:focus{border-color:var(--bs);box-shadow:inset 0 0 0 1px var(--bs)}.taskCompose .btnPrim{align-self:flex-end}.taskCompose .btnPrim:disabled{opacity:.5;cursor:default}.taskNote{font-family:var(--font-mono);font-size:11px;color:var(--ash);margin-top:8px}.menuBtn{display:inline-flex;width:32px;height:32px;border-radius:8px;background:var(--canvas);border:1px solid var(--line);cursor:pointer;align-items:center;justify-content:center;color:var(--ink-2);margin-right:4px;flex-shrink:0}.menuBtn:hover{background:var(--whisper)}@media (min-width: 768px){.appShell{grid-template-columns:240px minmax(0,1fr);transition:grid-template-columns .22s ease}.appShell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.appShell.sidebar-collapsed .appSide{padding-left:8px;padding-right:8px;overflow-x:hidden}.appShell.sidebar-collapsed .appBrand{justify-content:center;padding-left:4px;padding-right:4px}.appShell.sidebar-collapsed .brandText{display:none}.appShell.sidebar-collapsed .houseSwitch{padding:8px 4px}.appShell.sidebar-collapsed .houseSwitch .hsLabel,.appShell.sidebar-collapsed .houseSwitch .hsName{display:none}.appShell.sidebar-collapsed .houseSwitch .hsRow{justify-content:center}.appShell.sidebar-collapsed .grp{display:none}.appShell.sidebar-collapsed .navGroup+.navGroup{margin-top:6px}.appShell.sidebar-collapsed .nav-i{position:relative;justify-content:center;padding:10px 6px;gap:0}.appShell.sidebar-collapsed .navLabel{display:none}.appShell.sidebar-collapsed .nav-i .badge-n{position:absolute;top:2px;right:0;margin-left:0;padding:1px 4px;font-size:9px}.appShell.sidebar-collapsed .sfMeta{display:none}.appShell.sidebar-collapsed .sfUser{justify-content:center}.appShell.sidebar-collapsed .sideFoot{padding-left:0;padding-right:0}}.menuBackdrop{position:fixed;inset:0;background:#0e141166;z-index:90;display:none;-webkit-tap-highlight-color:transparent}@media (min-width: 1600px){.houseGrid{grid-template-columns:repeat(6,1fr)}}@media (max-width: 1279px){.kpi-row.k5,.houseGrid{grid-template-columns:repeat(3,1fr)}.appBody{padding:18px 20px}}@media (max-height: 1100px){.appBody{gap:10px;padding-block:14px}.alerts--scroll{max-height:340px}}@media (max-width: 1023px){.grid-2-1,.grid-1-1,.grid-1-1-w{grid-template-columns:1fr}.kpi-row.k4,.kpi-row.k5{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.houseGrid{grid-template-columns:repeat(2,1fr)}.pageHead{flex-direction:column;align-items:stretch;gap:10px}.filterGroup{flex-wrap:wrap}.recBig{grid-template-columns:1fr auto}.caseTop{grid-template-columns:1fr}.diffGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.appShell{grid-template-columns:1fr}.appSide{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:100;transform:translate(-100%);transition:transform .22s ease;box-shadow:#0e14112e 4px 0 32px -8px;border-right:1px solid var(--line)}.appShell.menu-open .appSide{transform:translate(0)}.appShell.menu-open .menuBackdrop{display:block}.appMain{width:100%;min-width:0}.appBody{padding:14px 14px 28px;gap:12px}.appTop{padding:8px 12px;gap:8px;flex-wrap:nowrap}.appTop .dts,.appTop .updated{display:none}.appTop .url{max-width:none;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 10px}.topActions{gap:4px;flex-shrink:0}.kpi-row.k4,.kpi-row.k5{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-2,.houseGrid{grid-template-columns:1fr}.diffGrid{grid-template-columns:1fr 1fr}.pgTitle{font-size:18px}.pgSub{font-size:12px}.recBig{grid-template-columns:1fr;padding:18px 18px 20px}.rbDate{font-size:24px}.recBigRight{display:none}.rbSubrow{gap:14px}}@media (max-width: 399px){.kpi-row.k4,.kpi-row.k5,.diffGrid{grid-template-columns:1fr}}.authWrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--whisper);font-family:var(--font-sans);color:var(--ink)}.authCard{width:100%;max-width:380px;background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-xl);padding:28px 26px;display:flex;flex-direction:column;gap:18px}.authBrand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:-.01em}.authBrand b{color:var(--bs)}.authHead{margin:0;font-size:18px;font-weight:600;letter-spacing:-.02em}.authSub{margin:-8px 0 0;font-size:13px;color:var(--ash)}.authForm{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ash)}.field input{font-family:inherit;font-size:14px;color:var(--ink);background:var(--canvas);border:1px solid var(--line-2);border-radius:var(--r-btn);padding:9px 11px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input::-moz-placeholder{color:var(--ash-2)}.field input::placeholder{color:var(--ash-2)}.field input:focus{border-color:var(--bs);box-shadow:inset 0 0 0 1px var(--bs)}.field input[aria-invalid=true]{border-color:var(--bad)}.fieldErr{font-size:11.5px;color:var(--bad);font-family:var(--font-mono)}.fieldInput{position:relative;display:flex}.fieldInput input{flex:1;min-width:0;padding-right:38px}.pwToggle{position:absolute;top:0;right:0;height:100%;width:36px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0;cursor:pointer;color:var(--ash)}.pwToggle:hover{color:var(--ink)}.authError{font-size:12.5px;color:var(--bad);background:var(--whisper);border:1px solid var(--line-2);border-radius:var(--r-btn);padding:8px 10px}.authForm .btnPrim{justify-content:center;padding:10px 12px;font-size:13px}.authForm .btnPrim:disabled{opacity:.55;cursor:default}.drawerScrim{position:fixed;inset:0;background:#0e141166;z-index:100;display:none;-webkit-tap-highlight-color:transparent}.drawerScrim.is-open{display:block}.drawerScrim--case{z-index:120}.appAlerts{position:fixed;top:0;right:0;bottom:0;width:min(380px,92vw);z-index:110;display:flex;flex-direction:column;background:var(--canvas);border-left:1px solid var(--line);box-shadow:var(--shadow-xl);transform:translate(100%);transition:transform .22s ease}.appAlerts.is-open{transform:translate(0)}.alertsHead{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--whisper);flex-shrink:0}.alertsTitle{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink)}.alertsCount{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--ink-2);background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-pill);padding:1px 7px}.alertsBody{flex:1;min-height:0;overflow-y:auto;padding:10px}.alertsState{padding:28px 16px;text-align:center;font-size:13px;color:var(--ash)}.alertsState--err{color:var(--bad)}.alertList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.hi-action{display:flex;gap:6px;align-items:center}.healthItem.is-resolved{opacity:.6}.alertCard__soon{opacity:.5;cursor:not-allowed}.healthItem--stack{grid-template-columns:1fr;gap:8px;align-items:stretch}.healthItem--stack .hi-tag{justify-self:start}.healthItem--stack .hi-action{flex-wrap:wrap}.healthItem--stack .hi-action>*{flex:1 1 auto;justify-content:center}.healthItem--stack .hi-action>:first-child{flex-basis:100%}.appCase{position:fixed;top:0;right:0;bottom:0;width:clamp(360px,50vw,820px);z-index:130;display:flex;flex-direction:column;background:var(--canvas);border-left:1px solid var(--line);box-shadow:var(--shadow-xl);transform:translate(100%);transition:transform .22s ease}.appCase.is-open{transform:translate(0)}.caseBody{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.caseMetaLine{margin-top:-6px;font-family:var(--font-mono);font-size:11px;color:var(--ash)}.caseDecide{display:flex;flex-direction:column;gap:8px}.caseDecideNote{font-family:var(--font-mono);font-size:11px;color:var(--ash)}.caseConfirm{display:flex;gap:8px;flex-wrap:wrap}.caseConfirmBtn{flex:1 1 160px;justify-content:center;text-align:center;font-family:inherit;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:13px 14px;border-radius:var(--r-btn);border:1px solid transparent;cursor:pointer;line-height:1.15}.caseConfirmBtn--confirm{background:var(--bs);color:var(--canvas)}.caseConfirmBtn--confirm:hover{background:var(--bs-deep)}.caseConfirmBtn--reject{background:transparent;color:var(--bad);border-color:var(--line-2)}.caseConfirmBtn--reject:hover{background:var(--whisper);border-color:var(--bad)}.caseConfirmBtn--hold{background:var(--whisper);color:var(--ink-2);border-color:var(--line)}.caseConfirmBtn--hold:hover{background:var(--taupe)}.caseResolved{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:var(--r-btn);background:var(--whisper);border:1px solid var(--line);font-size:13px;font-weight:600}.caseResolved--confirmed{color:var(--bs)}.caseResolved--dismissed{color:var(--bad)}.caseResolved--pending{color:var(--ash)}@media (max-width: 767px){.appCase{width:100%}}.zoneMap{display:flex;flex-direction:column;gap:12px}.zoneStrip{display:flex;gap:4px}.zoneCell{position:relative;flex:1 1 0;min-width:0;height:104px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.zoneCellVal{font-family:var(--font-mono);font-size:13px;font-weight:700;line-height:1}.zoneCellLbl{font-family:var(--font-mono);font-size:10px;opacity:.85}.zoneTip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:5;width:-moz-max-content;width:max-content;max-width:220px;text-align:left;color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-xl);padding:8px 10px;pointer-events:none}.zoneTipHead{font-size:12.5px;font-weight:600;margin-bottom:4px}.zoneTipRow{display:flex;justify-content:space-between;gap:18px;font-size:12px;color:var(--ash)}.zoneTipRow b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.zoneLegend{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;color:var(--ash)}.zoneLegendBar{display:flex;height:8px;flex:1;max-width:200px;border-radius:var(--r-pill);overflow:hidden}.zoneLegendBar span{flex:1}.growthChartHead{flex-wrap:wrap;gap:10px;align-items:center}.miniLink{text-decoration:none;color:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.miniLink:hover{border-color:var(--bs-bright);box-shadow:var(--shadow-sm)}.miniLink .miniHead{display:flex;align-items:center;justify-content:space-between}.kpi{position:relative}.kpi-st-ok{box-shadow:inset 0 0 0 1.5px var(--bs-bright)}.kpi-st-low,.kpi-st-high{box-shadow:inset 0 0 0 2px var(--warn)}.kpi-st-crit-low,.kpi-st-crit-high{box-shadow:inset 0 0 0 3px var(--bad)}.kpiState{position:absolute;top:10px;right:12px;font-family:var(--font-mono);font-size:14px;font-weight:700;line-height:1}.kpi-st-low .kpiState,.kpi-st-high .kpiState{color:var(--warn)}.kpi-st-crit-low .kpiState,.kpi-st-crit-high .kpiState{color:var(--bad)}.barnHeat{display:flex;flex-direction:column;gap:12px}.barnHeatRow{display:flex;gap:8px;align-items:flex-start;justify-content:center}.barnHeatModule{position:relative;flex:1 1 0;max-width:220px;min-width:0;display:flex;flex-direction:column;gap:5px}.barnHeatGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;aspect-ratio:1;padding:4px;background:var(--whisper);border-radius:8px}.barnHeatCell{aspect-ratio:1;border-radius:3px}.barnHeatFoot{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:2px}.barnHeatLabel{text-align:center;font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--ink-2)}.barnHeatAvg{text-align:center;font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--ink)}.barnHeatAvg b{font-family:var(--font-mono);font-weight:700}.barnHeatLegend{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;color:var(--ash)}.barnHeatBar{flex:1;max-width:200px;height:8px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--bs-bright),var(--warn))}.barnHeatLegendMeta{margin-left:auto;color:var(--ink-2)}.heatTip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:6;width:-moz-max-content;width:max-content;max-width:220px;text-align:left;color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-xl);padding:8px 10px;pointer-events:none}.heatTipHead{font-size:12.5px;font-weight:600;margin-bottom:4px}.heatTipRow{display:flex;justify-content:space-between;gap:18px;font-size:12px;color:var(--ash)}.heatTipRow b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.chartFrame{position:relative}.chartFrame:fullscreen{width:100vw;height:100vh;background:var(--canvas);padding:20px 28px;box-sizing:border-box;display:flex;flex-direction:column}.chartFrame:fullscreen>.recharts-responsive-container{flex:1;min-height:0}.chartExpandBtn{position:absolute;top:2px;right:4px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--canvas);border:1px solid var(--line);color:var(--ink-2);cursor:pointer}.chartExpandBtn:hover{background:var(--whisper);border-color:var(--bs-bright);color:var(--ink)}.chartFrame:fullscreen .chartExpandBtn{top:16px;right:24px;width:34px;height:34px}.card:fullscreen{width:100vw;height:100vh;padding:20px 28px;background:var(--canvas);box-sizing:border-box}.card:fullscreen>.recharts-responsive-container{flex:1 1 auto;min-height:0}.growthChartTools{display:flex;align-items:center;gap:10px}.chartExpandBtn--inline{position:static;flex:0 0 auto}.kpi--clickable{position:relative;display:block;width:100%;text-align:left;font:inherit;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.kpi--clickable:hover{background:var(--canvas);border-color:var(--line);box-shadow:var(--shadow-sm)}.kpi--clickable:focus-visible{outline:2px solid var(--bs);outline-offset:2px}.kpiHint{position:absolute;top:10px;right:10px;display:inline-flex;color:var(--ash);transition:color .15s ease}.kpi--clickable:hover .kpiHint,.kpi--clickable:focus-visible .kpiHint{color:var(--ink-2)}.kpiAsOf{margin-top:8px;font-size:12px;color:var(--ash)}.sectionSwitch{display:flex;gap:3px;background:var(--whisper);border-radius:9px;padding:3px;margin-bottom:12px}.sectionSwitch button{flex:1;padding:7px 8px;border-radius:6px;font-size:12px;font-weight:500;color:var(--ash);border:0;background:transparent;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:5px}.sectionSwitch button.on{background:var(--canvas);color:var(--ink);box-shadow:var(--shadow-sm)}.sectionSwitch button.on.super{color:var(--bs)}.superTag{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:7px 10px;border-radius:9px;background:var(--bs-deepest);color:var(--canvas);font-size:11.5px;font-weight:600}.superTag .sd{width:7px;height:7px;border-radius:50%;background:var(--bs-leaf)}.superTag em{font-style:normal;color:var(--bs-leaf);font-family:var(--font-mono);font-size:10px;margin-left:auto}.adminToolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.searchBox{display:flex;align-items:center;gap:8px;background:var(--whisper);border-radius:8px;padding:7px 12px;min-width:240px}.searchBox svg{color:var(--ash);flex-shrink:0}.searchBox input{border:0;background:transparent;outline:none;font:inherit;font-size:13px;color:var(--ink);width:100%}.searchBox input::-moz-placeholder{color:var(--ash)}.searchBox input::placeholder{color:var(--ash)}.btnPrimGreen{background:var(--bs-bright);color:var(--canvas);font-family:inherit;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:8px;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:7px;line-height:1}.btnPrimGreen:hover{background:var(--bs)}.btnPrimGreen:disabled{opacity:.5;cursor:default}.btnPrimGreen:disabled:hover{background:var(--bs-bright)}.btnDanger{background:var(--bad);color:var(--canvas);font-family:inherit;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:8px;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:7px;line-height:1}.btnDanger:hover{filter:brightness(.92)}.btnDanger:disabled{opacity:.5;cursor:default}.btnDanger:disabled:hover{filter:none}.fieldWarn{font-size:12.5px;line-height:1.45;color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,transparent);border:1px solid color-mix(in srgb,var(--bad) 22%,transparent);border-radius:8px;padding:10px 12px}.softNote{font-size:12.5px;line-height:1.45;color:var(--ink);background:color-mix(in srgb,var(--gold) 12%,transparent);border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);border-radius:8px;padding:10px 12px}.roleBadge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:99px;font-size:11.5px;font-weight:600;font-family:var(--font-sans);white-space:nowrap}.roleBadge .rd{width:7px;height:7px;border-radius:50%}.role-superadmin{background:var(--bs-deepest);color:var(--canvas)}.role-superadmin .rd{background:var(--bs-leaf)}.role-farm_admin{background:#3a82541f;color:var(--bs)}.role-farm_admin .rd{background:var(--bs-bright)}.role-zootechnician{background:var(--bs-blue-10, rgba(29,109,208,.1));color:#1d6dd0}.role-zootechnician .rd{background:#1d6dd0}.role-barn_operator{background:#fbc76833;color:#8a6310}.role-barn_operator .rd{background:var(--gold)}.role-viewer{background:var(--whisper);color:var(--ash)}.role-viewer .rd{background:var(--ash-2)}.scopeChips{display:flex;gap:4px;flex-wrap:wrap}.scopeChip{font-size:11px;font-family:var(--font-mono);padding:2px 8px;border-radius:6px;background:var(--whisper);color:var(--ink-2)}.scopeChip.all{background:#3a825414;color:var(--bs)}.ownerStar{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-family:var(--font-mono);color:#8a6310;margin-left:6px}.dataTable{width:100%;border-collapse:collapse;font-size:13px}.dataTable th{font-weight:500;color:var(--ash);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--whisper);position:sticky;top:0}.dataTable td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.dataTable tr:last-child td{border-bottom:0}.dataTable tbody tr:hover{background:var(--bs-green-05, rgba(58,130,84,.04))}.dataTable tr.inactive td{opacity:.5}.userCell{display:flex;align-items:center;gap:10px}.userCell .avatar{width:32px;height:32px;font-size:11px}.uc-name{font-weight:600;font-size:13px;color:var(--ink);display:flex;align-items:center}.uc-email{font-size:11.5px;color:var(--ash);font-family:var(--font-mono)}.tCol-status{display:inline-flex;align-items:center;gap:6px;font-size:12px}.tCol-status .sd{width:7px;height:7px;border-radius:50%}.tCol-status.active .sd{background:var(--bs-bright)}.tCol-status.inactive .sd{background:var(--ash-2)}.tCol-status.pending .sd{background:var(--gold)}.tDate{font-family:var(--font-mono);font-size:11.5px;color:var(--ash)}.rowActions{display:flex;gap:4px;justify-content:flex-end}.iconBtn{width:30px;height:30px;border-radius:7px;background:transparent;border:1px solid transparent;display:grid;place-items:center;color:var(--ash);cursor:pointer}.iconBtn:hover{background:var(--whisper);color:var(--ink)}.iconBtn.danger:hover{background:#e165401a;color:var(--warn)}.modalScrim{position:fixed;inset:0;background:#0e141152;backdrop-filter:blur(2px);display:grid;place-items:center;z-index:50}.modal{background:var(--canvas);border-radius:14px;box-shadow:var(--shadow-xl);width:520px;max-width:92%;overflow:hidden;display:flex;flex-direction:column}.modalHead{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 12px}.modalHead h3{font-size:18px;font-weight:600;letter-spacing:-.015em;margin:0}.modalHead p{font-size:12.5px;color:var(--ash);margin:4px 0 0}.modalClose{width:30px;height:30px;border-radius:7px;border:0;background:var(--whisper);color:var(--ash);cursor:pointer;display:grid;place-items:center;flex-shrink:0}.modalBody{padding:6px 20px 18px;display:flex;flex-direction:column;gap:16px}.modalFoot{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line);background:var(--cream-light, #fafaf7)}.modal.wide{width:600px}.modalBody.scroll{max-height:62vh;overflow:auto}.field .req{color:var(--warn)}.fieldHint{font-size:11.5px;color:var(--ash);margin-top:6px;line-height:1.45}.fieldHint.ok{color:var(--bs)}.fieldRow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rolePick{display:flex;flex-direction:column;gap:6px}.roleOpt{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line-2);border-radius:9px;cursor:pointer;background:var(--canvas)}button.roleOpt{font:inherit;text-align:left;width:100%;box-sizing:border-box}.roleOpt:hover{border-color:var(--ash-2)}.roleOpt.sel{border-color:var(--bs-bright);box-shadow:0 0 0 3px #3a82541a;background:var(--bs-green-05, rgba(58,130,84,.04))}.roleOpt .radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-2);flex-shrink:0;display:grid;place-items:center}.roleOpt.sel .radio{border-color:var(--bs-bright)}.roleOpt.sel .radio:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--bs-bright)}.roleOpt .roTitle{font-size:13.5px;font-weight:600}.roleOpt .roDesc{font-size:11.5px;color:var(--ash);margin-top:1px}.roleOpt .roEnd{margin-left:auto}.barnPick{display:flex;flex-wrap:wrap;gap:6px}.barnTog{font-size:12px;padding:7px 12px;border-radius:8px;border:1px solid var(--line-2);background:var(--canvas);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-family:inherit}.barnTog.on{border-color:var(--bs-bright);background:#3a825414;color:var(--bs)}.barnTog .chk{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--line-2);display:grid;place-items:center}.barnTog.on .chk{background:var(--bs-bright);border-color:var(--bs-bright)}.barnTog .chk svg{color:var(--canvas)}.barnTog.allTog{font-weight:600}.segScope{display:inline-flex;background:var(--whisper);border-radius:8px;padding:3px;margin-bottom:10px}.segScope button{padding:6px 14px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--ash);border:0;background:transparent;cursor:pointer;font-family:inherit}.segScope button.on{background:var(--canvas);color:var(--ink);box-shadow:var(--shadow-sm)}.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.setRow{display:grid;grid-template-columns:160px 1fr;gap:14px;align-items:center;padding:11px 0;border-bottom:1px dashed var(--line)}.setRow:last-child{border-bottom:0}.setRow .sl{font-size:12.5px;color:var(--ash)}.setRow .sv{font-size:13.5px;font-weight:500;color:var(--ink)}.setRow .sv.mono{font-family:var(--font-mono);font-size:12.5px}.barnRow{display:grid;grid-template-columns:1fr auto auto auto;gap:14px;align-items:center;padding:12px;background:var(--whisper);border-radius:9px;margin-bottom:6px}.barnRow .bName{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:8px}.barnRow .bMeta{font-size:11.5px;color:var(--ash);font-family:var(--font-mono);margin-top:2px}.capBar{width:120px}.capBar .ct{height:6px;background:var(--canvas);border-radius:99px;overflow:hidden;box-shadow:var(--shadow-inset)}.capBar .ct span{display:block;height:100%;background:var(--bs-bright);border-radius:99px}.capBar .cl{font-size:10.5px;font-family:var(--font-mono);color:var(--ash);margin-top:4px;text-align:right}.barnDevices{font-size:11.5px;font-family:var(--font-mono);color:var(--ink-2);display:flex;align-items:center;gap:6px}.barnDevices .dd{width:7px;height:7px;border-radius:50%;background:var(--bs-bright)}.farmRow{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr auto;gap:14px;align-items:center}.farmName{display:flex;align-items:center;gap:12px}.farmLogo{width:38px;height:38px;border-radius:9px;background:var(--bs-deepest);color:var(--bs-leaf);display:grid;place-items:center;font-weight:700;font-size:14px;flex-shrink:0}.farmAdminCell{display:flex;align-items:center;gap:8px}.miniAvatar{width:24px;height:24px;border-radius:50%;background:var(--bs-leaf);color:var(--bs-deep);display:grid;place-items:center;font-weight:700;font-size:9.5px;flex-shrink:0}.deviceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.deviceCard{background:var(--canvas);border:1px solid var(--line);border-radius:11px;padding:14px;display:flex;flex-direction:column;gap:10px}.deviceCard.offline{background:#e1654008;border-color:#e1654040}.dcTop{display:flex;align-items:flex-start;justify-content:space-between}.dcIcon{width:38px;height:38px;border-radius:9px;background:var(--bs-deepest);color:var(--canvas);display:grid;place-items:center}.dcIcon.off{background:var(--whisper);color:var(--ash)}.dcStatus{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-family:var(--font-mono);font-weight:600;padding:3px 8px;border-radius:99px}.dcStatus.on{background:#3a82541a;color:var(--bs)}.dcStatus.on .dd{width:6px;height:6px;border-radius:50%;background:var(--bs-bright);animation:pulseDot 1.6s infinite}.dcStatus.off{background:#e165401a;color:var(--warn)}.dcStatus.off .dd{width:6px;height:6px;border-radius:50%;background:var(--warn)}@keyframes pulseDot{0%{box-shadow:0 0 #3a825480}70%{box-shadow:0 0 0 5px #3a825400}to{box-shadow:0 0 #3a825400}}.dcName{font-weight:600;font-size:14px}.dcSerial{font-size:11px;font-family:var(--font-mono);color:var(--ash)}.dcMeta{display:flex;flex-direction:column;gap:5px;padding-top:8px;border-top:1px dashed var(--line)}.dcMetaRow{display:flex;justify-content:space-between;font-size:11.5px}.dcMetaRow span{color:var(--ash)}.dcMetaRow b{font-weight:600;font-family:var(--font-mono);font-size:11.5px}.dcBind{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-family:var(--font-mono);color:var(--bs);background:#3a825414;padding:3px 8px;border-radius:6px}.dcUnbound{color:var(--warn);background:#e1654014}button.deviceCard{font:inherit;text-align:left;width:100%;box-sizing:border-box;color:inherit}.deviceCard.clickable{cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s}.deviceCard.clickable:hover{border-color:var(--bs-bright);box-shadow:0 0 0 3px #3a825414}.deviceCard.clickable:active{transform:scale(.99)}.webLink{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--whisper);text-decoration:none;color:var(--ink)}.webLink:hover{border-color:var(--bs-bright);background:#3a82540d}.webLink .wlIc{width:34px;height:34px;border-radius:9px;background:var(--canvas);color:var(--bs);display:grid;place-items:center;flex-shrink:0;box-shadow:var(--shadow-sm)}.webLink .wlTitle{font-size:13px;font-weight:600}.webLink .wlUrl{font-size:11.5px;font-family:var(--font-mono);color:var(--ash);margin-top:1px}.webLink .wlArrow{margin-left:auto;color:var(--ash)}.webLink:hover .wlArrow{color:var(--bs)}.statRail{display:flex;gap:10px}.statPill{flex:1;background:var(--whisper);border-radius:10px;padding:12px 14px}.statPill .sv{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1}.statPill .sl{font-size:11px;color:var(--ash);font-family:var(--font-mono);margin-top:5px;text-transform:uppercase;letter-spacing:.03em}.statPill .sv.warn{color:var(--warn)}.statPill .sv.ok{color:var(--bs)}.barnBoard{margin-top:14px;background:var(--whisper);border-radius:12px;padding:14px 16px}.barnBoardHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.bbTitle{font-size:14px;font-weight:600}.bbSub{color:var(--ash);font-weight:400;font-size:12px}.zoneBoardWrap{overflow-x:auto}.zoneBoard{display:grid;gap:8px}.zbCell{min-height:78px;border-radius:10px;box-sizing:border-box}.zbGap{border:1px dashed var(--line);background:transparent;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;color:var(--ash-2);font-family:var(--font-mono)}button.zbCell{font:inherit;text-align:left;color:inherit;cursor:pointer}.zbOccupied{background:var(--canvas);border:1px solid var(--line);padding:9px 10px;display:flex;flex-direction:column;gap:7px;transition:border-color .12s,box-shadow .12s}.zbOccupied:hover{border-color:var(--bs-bright);box-shadow:0 0 0 3px #3a825414}.zbOccupied.off{background:#e1654008;border-color:#e1654040}.zbCellTop{display:flex;align-items:center;justify-content:space-between;gap:6px}.zbCode{font-family:var(--font-mono);font-size:11px;font-weight:700;background:#3a82541a;color:var(--bs);padding:2px 7px;border-radius:6px}.zbZoneLabel{font-size:11px;color:var(--ash);margin-top:-2px}.zbDevRow{display:flex;align-items:center;gap:8px}.zbIcon{width:30px;height:30px;border-radius:8px;background:var(--bs-deepest);color:var(--canvas);display:grid;place-items:center;flex:none}.zbIcon.off{background:var(--canvas);color:var(--ash);box-shadow:var(--shadow-inset)}.zbDevMeta{min-width:0}.zbSerial{font-family:var(--font-mono);font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zbSub{font-size:10.5px;color:var(--ash);font-family:var(--font-mono)}.zbEmpty{background:#3a82540a;border:1.5px dashed var(--bs-bright);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--bs);padding:9px 10px;transition:background .12s}.zbEmpty:hover{background:#3a82541a}.zbCodeEmpty{font-family:var(--font-mono);font-size:11.5px;font-weight:700}.zbPlace{font-size:11.5px;display:inline-flex;align-items:center;gap:5px}.zbNoZones{font-size:12.5px;color:var(--ash);padding:16px;text-align:center;border:1px dashed var(--line);border-radius:10px;margin-top:14px}.bbBucket{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.bbBucketHead{font-size:11.5px;color:var(--ash);margin-bottom:8px}.devChipRow{display:flex;flex-wrap:wrap;gap:8px}.devChip{display:inline-flex;align-items:center;gap:8px;background:var(--canvas);border:1px solid var(--line);border-radius:9px;padding:7px 10px;cursor:pointer;font:inherit;color:inherit;transition:border-color .12s}.devChip:hover{border-color:var(--bs-bright)}.devChip.muted{opacity:.6}.devChip .mono{font-family:var(--font-mono);font-size:11.5px;font-weight:600}.devChipIcon{width:26px;height:26px;border-radius:7px;background:var(--whisper);color:var(--ash);display:grid;place-items:center;flex:none}.devChipAssign{font-size:11px;color:var(--bs);font-family:var(--font-mono)}.permPreview{display:flex;flex-direction:column;gap:6px;margin-top:4px}.permRow{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2)}.permRow .pi{width:15px;height:15px;flex-shrink:0}.permRow .pi.yes{color:var(--bs)}.permRow .pi.no{color:var(--ash-2)}.permRow.no{color:var(--ash)}.userMenuWrap{position:relative}button.sfUser{width:100%;box-sizing:border-box;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer;font:inherit;text-align:left;transition:background .12s;display:flex;align-items:center;gap:10px;padding:6px 8px}button.sfUser:hover{background:var(--whisper)}button.sfUser.open{background:var(--whisper);border-color:var(--line)}.sfUser .sfMeta{flex:1;min-width:0}.sfCaret{color:var(--ash);display:grid;place-items:center;flex-shrink:0}.userMenu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--canvas);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-xl);padding:6px;z-index:40;animation:umRise .14s ease}@keyframes umRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.umItem{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;width:100%;box-sizing:border-box;border:0;background:transparent;font-family:inherit;text-align:left;text-decoration:none}.umItem:hover{background:var(--whisper)}.umItem.danger{color:var(--warn)}.umItem.danger:hover{background:#e1654014}.umIc{color:var(--ash);display:grid;place-items:center;width:16px}.umItem.danger .umIc{color:var(--warn)}.umDivider{height:1px;background:var(--line);margin:5px 8px}.umToggleRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px}.umToggleLabel{font-size:12.5px;color:var(--ash)}.umSeg{display:inline-flex;background:var(--whisper);border-radius:7px;padding:2px}.umSeg button{padding:4px 9px;border-radius:5px;font-size:11.5px;font-weight:600;color:var(--ash);border:0;background:transparent;cursor:pointer;font-family:inherit}.umSeg button.on{background:var(--canvas);color:var(--ink);box-shadow:var(--shadow-sm)}.umSeg.umIcons button{padding:4px 8px;display:grid;place-items:center}.umSeg.umIcons button svg{display:block}.profileTabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:4px}.profileTabs button{padding:10px 16px;border:0;background:transparent;font:inherit;font-size:13.5px;font-weight:500;color:var(--ash);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:7px}.profileTabs button.on{color:var(--ink);border-bottom-color:var(--bs-bright);font-weight:600}.profileTabs .tabBadge{font-size:10px;font-family:var(--font-mono);font-weight:600;background:#3a82541f;color:var(--bs);padding:1px 6px;border-radius:99px}.profileHeadCard{display:flex;align-items:center;gap:16px;padding:18px}.profileHeadCard .avatar{width:56px;height:56px;font-size:18px}.adminEntry{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:11px;cursor:pointer;background:var(--canvas);text-align:left;font:inherit;width:100%;box-sizing:border-box}.adminEntry:hover{border-color:var(--bs-bright);box-shadow:0 0 0 3px #3a825414}.adminEntry .aeIc{width:40px;height:40px;border-radius:10px;background:var(--bs-deepest);color:var(--bs-leaf);display:grid;place-items:center;flex-shrink:0}.adminEntry .aeTitle{font-size:14px;font-weight:600;color:var(--ink)}.adminEntry .aeDesc{font-size:12px;color:var(--ash);margin-top:2px}.adminEntry .aeArrow{margin-left:auto;color:var(--ash)}.adminEntryGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filterSelect{position:relative;display:inline-flex;align-items:center;gap:8px;background:var(--whisper);border-radius:8px;padding:8px 12px;font-size:12.5px;font-weight:500;color:var(--ink);cursor:pointer;border:1px solid transparent}.filterSelect:hover{border-color:var(--line-2)}.filterSelect .fsLabel{color:var(--ash);font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em}.filterSelect svg{color:var(--ash)}.filterMenu{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;background:var(--canvas);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-xl);padding:5px;z-index:25}.filterMenu button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border:0;background:transparent;font:inherit;font-size:13px;color:var(--ink);border-radius:7px;cursor:pointer;text-align:left}.filterMenu button:hover{background:var(--whisper)}.filterMenu button.on{color:var(--bs);font-weight:600}.filterMenu button .fc{color:var(--bs)}.phoneRow{display:flex;gap:8px;align-items:center}.phoneRow .iconBtn{flex-shrink:0}.addLink{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--bs);background:transparent;border:0;cursor:pointer;padding:6px 0;font-family:inherit}.modalSection{border-top:1px solid var(--line);padding-top:14px}.modalSection .msTitle{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--bs);font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:7px}.settingsTag{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ash);font-weight:600;margin:0 0 14px;padding:0 4px}.nav-i.backNav{color:var(--ash);margin-bottom:10px}.nav-i.backNav:hover{color:var(--bs)}.inp{width:100%;border:1px solid var(--line-2);border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;color:var(--ink);background:var(--canvas);box-sizing:border-box}.inp:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--bs-bright);border-color:transparent}.inp::-moz-placeholder{color:var(--ash)}.inp::placeholder{color:var(--ash)}.permTag{margin-left:8px;font-size:9px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ash-2);border:1px solid var(--line);border-radius:99px;padding:1px 6px;vertical-align:middle}.permCode{font-family:var(--font-mono);font-size:12px;color:var(--ink)}
