/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.-top-1{top:calc(var(--spacing) * -1)}.-right-1{right:calc(var(--spacing) * -1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-9{width:calc(var(--spacing) * 9)}.min-w-\[1\.25rem\]{min-width:1.25rem}.min-w-\[1rem\]{min-width:1rem}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border-color)}.border-transparent{border-color:#0000}.bg-destructive{background-color:var(--destructive)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.paused{animation-play-state:paused}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--muted-bg)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--primary-foreground)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--border-color)}.group-\[\.toaster\]\:bg-card:is(:where(.group).toaster *){background-color:var(--card)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--foreground)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:2px;--background:var(--ph-void,#150b1e);--foreground:var(--ph-bone,#f0e9f4);--card:var(--ph-card,#1b1029);--card-foreground:var(--ph-bone,#f0e9f4);--popover:var(--ph-aubergine,#20132e);--popover-foreground:var(--ph-bone,#f0e9f4);--primary:var(--ph-bone,#f0e9f4);--primary-foreground:var(--ph-void,#150b1e);--secondary:var(--ph-aubergine,#20132e);--secondary-foreground:var(--ph-bone,#f0e9f4);--muted-bg:var(--ph-aubergine,#20132e);--muted-foreground:var(--ph-bone-dim,#f0e9f4b3);--accent:var(--ph-royal,#2e1642);--accent-foreground:var(--ph-heliotrope,#c9a6f2);--destructive:var(--ph-ember,#ff8a73);--destructive-foreground:var(--ph-void,#150b1e);--border-color:var(--ph-line,#f0e9f424);--input:var(--ph-line-strong,#f0e9f447);--ring:var(--ph-heliotrope,#c9a6f2)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@font-face{font-family:Inter Tight;font-weight:700;font-style:normal;font-display:swap;src:url(./inter-tight-700-BZKd_v_8.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:400;font-style:normal;font-display:swap;src:url(./inter-400-C38fXH4l.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:600;font-style:normal;font-display:swap;src:url(./inter-600-LgqL8muc.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-style:normal;font-display:swap;src:url(./ibm-plex-mono-400-DMJ8VG8y.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:600;font-style:normal;font-display:swap;src:url(./ibm-plex-mono-600-BgSNZQsw.woff2)format("woff2")}:root{--ph-void:#150b1e;--ph-aubergine:#20132e;--ph-royal:#2e1642;--ph-tyrian:#58184a;--ph-card:#1b1029;--ph-amethyst:#a96bd8;--ph-heliotrope:#c9a6f2;--ph-bone:#f0e9f4;--ph-bone-dim:#f0e9f4b3;--ph-bone-faint:#f0e9f475;--ph-line:#f0e9f424;--ph-line-strong:#f0e9f447;--ph-ember:#ff8a73;--ph-ice:#7fa8ff;--ph-viridian:#3fd99b;--ph-topaz:#ffc24b;--ph-display:"Inter Tight","Inter",system-ui,sans-serif;--ph-sans:"Inter",system-ui,-apple-system,sans-serif;--ph-mono:"IBM Plex Mono",ui-monospace,"SF Mono",monospace;--ph-radius:2px;--ph-radius-pill:100px;--ph-wrap:1180px;--ph-gutter:clamp(24px,4.5vw,72px);--ph-ease:cubic-bezier(.22,.61,.36,1);--ph-fast:.2s;--ph-base:.4s;--ph-slow:.7s}body{background:var(--ph-void);color:var(--ph-bone);font-family:var(--ph-sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}h1,h2,h3{font-family:var(--ph-display);letter-spacing:-.03em;font-weight:700;line-height:1.05}.ph-mark{font-weight:inherit;font-style:normal}.ph-eyebrow{font-family:var(--ph-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ph-heliotrope);font-size:.72rem}.ph-grain{position:relative}.ph-grain:before{content:"";z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.ph-grain>*{z-index:1;position:relative}.ph-btn{font-family:var(--ph-sans);border-radius:var(--ph-radius);transition:transform var(--ph-fast) var(--ph-ease),opacity var(--ph-fast), border-color var(--ph-fast),background var(--ph-fast);justify-content:center;align-items:center;gap:8px;padding:.86em 1.5em;font-size:.92rem;font-weight:600;display:inline-flex}.ph-btn:hover{transform:translateY(-2px)}.ph-btn:active{transform:translateY(0)}.ph-btn-primary{background:var(--ph-bone);color:var(--ph-void)}.ph-btn-primary:hover{opacity:.92}.ph-btn-ghost{border:1px solid var(--ph-line-strong);color:var(--ph-bone);background:0 0}.ph-btn-ghost:hover{border-color:var(--ph-amethyst);background:color-mix(in srgb, var(--ph-amethyst) 10%, transparent)}.ph-card{background:var(--ph-card);border:1px solid var(--ph-line);border-radius:var(--ph-radius);transition:border-color var(--ph-base),transform var(--ph-base) var(--ph-ease);padding:28px 26px}.ph-card:hover{border-color:var(--ph-line-strong);transform:translateY(-4px)}.ph-pill{font-family:var(--ph-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--ph-radius-pill);border:1px solid color-mix(in srgb, var(--ph-amethyst) 42%, transparent);color:var(--ph-heliotrope);padding:5px 11px;font-size:.68rem}.ph-pill--attack{color:var(--ph-ember);border-color:color-mix(in srgb, var(--ph-ember) 40%, transparent)}.ph-pill--defend{color:var(--ph-ice);border-color:color-mix(in srgb, var(--ph-ice) 40%, transparent)}.ph-pill--confirm{color:var(--ph-viridian);border-color:color-mix(in srgb, var(--ph-viridian) 40%, transparent)}.ph-status-ok{font-family:var(--ph-mono);letter-spacing:.1em;color:var(--ph-viridian);align-items:center;gap:9px;font-size:.72rem;display:inline-flex}.ph-status-ok:before{content:"";background:var(--ph-viridian);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--ph-viridian) 18%, transparent);border-radius:50%}:focus-visible{outline:2px solid var(--ph-heliotrope);outline-offset:3px;border-radius:1px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}:root{--bg:var(--ph-void);--bg-grad:radial-gradient(900px 480px at 88% -12%, color-mix(in srgb, var(--ph-amethyst) 7%, transparent), transparent 62%);--panel:var(--ph-card);--panel-solid:var(--ph-card);--popover:var(--ph-aubergine);--sidebar:var(--ph-aubergine);--border:var(--ph-line);--border-hi:color-mix(in srgb, var(--ph-amethyst) 45%, transparent);--text:var(--ph-bone);--muted:var(--ph-bone-dim);--faint:var(--ph-bone-faint);--purple:var(--ph-amethyst);--purple-bright:var(--ph-heliotrope);--magenta:var(--ph-amethyst);--ok:var(--ph-viridian);--warn:var(--ph-topaz);--crit:var(--ph-ember);--crit-soft:color-mix(in srgb, var(--ph-ember) 60%, var(--ph-bone));--nodata:color-mix(in srgb, var(--ph-bone) 42%, var(--ph-void));--glow:0 0 0 1px color-mix(in srgb, var(--ph-amethyst) 30%, transparent);--radius:var(--ph-radius)}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{height:100%}body{background:var(--bg);background-image:var(--bg-grad);color:var(--text);font:14px/1.5 var(--ph-sans);font-synthesis:none;-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ph-amethyst) 55%, transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ph-amethyst) 45%, transparent);border-radius:var(--ph-radius-pill);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--ph-amethyst) 78%, transparent);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}.modal-title,.lp-head,.lp-bigtitle,.mi-name,.wb-brand,.card-name,.wb-tile-name,.confirm-title,.fd-name{font-family:var(--ph-display);letter-spacing:-.02em}.b-val,.cs-pct,.wb-pct,.wb-stat-val,.wb-tile-lat,.gauge-val,.gauge-stat-val,.dial-center .chip-val,.fr-num,.card-metrics,.chart-cur,.chart-stats,.cl-clock,.wb-clock,.fp-id,.fp-ip,.fs-val,.card-probe,.nav-count,.adm-rec,.bgp-peer,.bgp-up,.mtr-table,.card-dns{font-family:var(--ph-mono)}.layout{grid-template-columns:248px 1fr;min-height:100vh;transition:grid-template-columns .2s;display:grid}.layout.collapsed{grid-template-columns:76px 1fr}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow:hidden}.brand{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;margin-bottom:14px;padding:8px 8px 18px;display:flex}.brand img{flex:none;width:auto;height:26px}.brand-word{font-family:var(--ph-display);letter-spacing:-.02em;color:var(--text);white-space:nowrap;font-size:19px;font-weight:700}.brand-word i{color:var(--purple-bright);letter-spacing:0;margin-left:6px;font-size:13px;font-style:normal;font-weight:600}@media (width>=721px){.layout.collapsed .brand{justify-content:center;gap:0;padding-left:0;padding-right:0}}.nav{flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex;overflow:hidden}.nav-fijo{flex-direction:column;flex:none;gap:4px;display:flex}.nav-resto{scrollbar-width:thin;scrollbar-color:var(--border-hi) transparent;flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex;overflow:hidden auto}.nav-resto::-webkit-scrollbar{width:6px}.nav-resto::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:var(--ph-radius-pill)}.nav-resto::-webkit-scrollbar-track{background:0 0}.nav-label{font-family:var(--ph-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ph-heliotrope);opacity:.85;padding:14px 10px 6px;font-size:10.5px}.nav-item{color:var(--muted);border-radius:var(--ph-radius);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.nav-item .icon{flex:none}.nav-item span{flex:1}.nav-item:hover{background:color-mix(in srgb, var(--ph-amethyst) 8%, transparent);color:var(--text)}.nav-item.active{background:linear-gradient(90deg, color-mix(in srgb, var(--ph-amethyst) 22%, transparent), color-mix(in srgb, var(--ph-amethyst) 12%, transparent));border-color:var(--border-hi);color:var(--ph-bone);box-shadow:var(--glow)}.nav-count{background:color-mix(in srgb, var(--ph-amethyst) 18%, transparent);color:var(--purple-bright);border-radius:var(--ph-radius-pill);padding:1px 8px;font-size:11px;font-style:normal}.nav-label.sub{color:var(--muted);letter-spacing:.14em;justify-content:space-between;align-items:center;gap:8px;padding:12px 10px 4px;display:flex}.nav-label.sub .nav-count{flex:none}.nav-grupo-bloque{flex-direction:column;gap:4px;display:flex}.nav-grupo{z-index:2;background:var(--sidebar);opacity:1;color:color-mix(in srgb, var(--muted) 85%, transparent);cursor:pointer;text-align:left;width:100%;font:inherit;box-shadow:0 4px 6px -4px var(--ph-void);border:none;position:sticky;top:0}.nav-grupo:hover{color:var(--text)}.nav-grupo:focus-visible{outline:2px solid var(--purple-bright);outline-offset:-2px}.nav-chev{opacity:.75;flex:none;width:10px;font-size:9px;line-height:1}.nav-grupo-nom{flex:auto}.nav-grupo.plegado .nav-count{opacity:.75}.pulso{flex-direction:column;flex:auto;min-height:0;padding-top:10px;display:flex}.pulso .nav-label{flex:none;padding:10px 10px 8px}.pulso-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);flex-direction:column;flex:auto;justify-content:space-evenly;min-height:0;padding:12px 12px 14px;display:flex}.pulso-hero{flex:none;place-items:center;height:128px;display:grid;position:relative}.pulso-hero .reactor-rings{pointer-events:none;width:auto;height:100%;margin:auto;position:absolute;inset:0}.pulso-hero-txt{z-index:1;text-align:center;line-height:1.05;position:relative}.pulso-hero-txt b{font-family:var(--ph-mono);font-variant-numeric:tabular-nums;color:var(--ok);font-size:30px;font-weight:700;display:block}.pulso-hero-txt b small{opacity:.7;margin-left:1px;font-size:15px}.pulso-hero-txt span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.pulso-hero.warn .pulso-hero-txt b{color:var(--warn)}.pulso-hero.crit .pulso-hero-txt b{color:var(--crit)}.pulso-dots{border-top:1px solid var(--border);flex-wrap:wrap;flex:0 auto;place-content:center;align-items:center;gap:7px;min-height:0;margin-top:2px;padding:14px 2px;display:flex;overflow:hidden}.pulso-dots .const-dot{cursor:default;width:9px;height:9px}.pulso-dots-mas{font-family:var(--ph-mono);color:var(--muted);font-size:10px}.pulso-cifras{border-top:1px solid var(--border);flex:none;grid-template-columns:1fr 1fr;gap:9px 6px;padding-top:12px;display:grid}.pulso-cifra{flex-direction:column;min-width:0;display:flex}.pulso-cifra b{font-family:var(--ph-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;line-height:1.15}.pulso-cifra span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.pulso-cifra.mal b{color:var(--crit)}.pulso-lista{flex-direction:column;flex:none;gap:1px;padding-top:6px;display:flex}.pulso-fila{text-align:left;border-radius:var(--ph-radius);width:100%;color:var(--text);background:0 0;border:0;align-items:center;gap:7px;padding:5px 10px;font-family:inherit;font-size:11.5px;display:flex}.pulso-fila.clickable{cursor:pointer}.pulso-fila.clickable:hover{background:color-mix(in srgb, var(--ph-amethyst) 10%, transparent)}.pulso-dot{border-radius:50%;flex:none;width:7px;height:7px}.pulso-dot.e-crit{background:var(--crit)}.pulso-dot.e-warn{background:var(--warn)}.pulso-nom{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pulso-det{font-family:var(--ph-mono);color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:10px}.pulso-mas{color:var(--muted);padding:4px 10px 0;font-size:10.5px}.pulso-ok{color:var(--ok);text-align:center;padding:8px 10px 0;font-size:11.5px}@media (width>=721px){.layout.collapsed .pulso,.layout.collapsed .brand-word,.layout.collapsed .nav-item span,.layout.collapsed .nav-count,.layout.collapsed .nav-label,.layout.collapsed .help-btn span,.layout.collapsed .sidebar-version{display:none}}.sidebar-foot{border-top:1px solid var(--border);flex:none;padding-top:12px}.sidebar-version{color:var(--muted);text-align:center;letter-spacing:.02em;-webkit-user-select:text;user-select:text;padding-top:2px;font-size:10.5px}.help-btn{background:color-mix(in srgb, var(--ph-amethyst) 8%, transparent);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--ph-radius);cursor:pointer;text-align:left;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.help-btn svg{color:var(--purple-bright);flex:none}.help-btn:hover{border-color:var(--border-hi);background:color-mix(in srgb, var(--ph-amethyst) 16%, transparent)}.region-flag{border-radius:var(--ph-radius);object-fit:cover;width:21px;height:14px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ph-bone) 12%, transparent);vertical-align:middle;flex:none}.region h2 .region-flag{width:22px;height:15px;margin-right:3px}.ok-collapse{background:color-mix(in srgb, var(--ok) 6%, transparent);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--ph-radius);cursor:pointer;align-items:center;gap:10px;margin-bottom:18px;padding:11px 16px;font-size:13px;font-weight:700;display:flex}.ok-collapse:hover{border-color:var(--border-hi);background:color-mix(in srgb, var(--ok) 10%, transparent)}.ok-collapse.all{background:color-mix(in srgb, var(--ok) 9%, transparent)}.ok-check{background:var(--ok);width:20px;height:20px;color:var(--ph-void);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.ok-text{color:var(--text)}.ok-count{background:color-mix(in srgb, var(--ph-bone) 7%, transparent);color:var(--muted);border-radius:var(--ph-radius-pill);padding:1px 9px;font-size:12px;font-weight:700}.ok-caret{color:var(--muted);margin-left:auto;font-size:12px;font-weight:600}.main{min-width:0;padding:22px 28px 40px;position:relative}.topbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:22px;display:flex}.icon-btn{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:var(--ph-radius);cursor:pointer;place-items:center;width:38px;height:38px;display:grid}.icon-btn:hover{color:var(--text);border-color:var(--border-hi)}.topbar-title{flex-wrap:wrap;flex:260px;align-items:center;gap:10px 14px;min-width:0;display:flex}.topbar-title h1{letter-spacing:-.02em;min-width:0;margin:0;font-size:clamp(17px,1.1vw + 12px,22px);font-weight:700}.live{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.live .dot{background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 60%, transparent);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 50%, transparent)}70%{box-shadow:0 0 0 8px color-mix(in srgb, var(--ok) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 0%, transparent)}}.cl-clock{color:var(--muted);background:color-mix(in srgb, var(--ph-amethyst) 8%, transparent);border:1px solid var(--border);border-radius:var(--ph-radius-pill);font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.cl-clock small{color:var(--purple-bright);font-size:10px;font-weight:700}.live.paused{color:var(--warn)}.live.paused .dot{background:var(--warn);box-shadow:0 0 8px color-mix(in srgb, var(--warn) 50%, transparent);animation:none}.ranges{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);flex-wrap:wrap;gap:4px;padding:4px;display:flex}.ranges button{color:var(--muted);border-radius:var(--ph-radius);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-size:13px;font-weight:700}.ranges button:hover:not(:disabled):not(.active){color:var(--text)}.ranges button.active{background:var(--ph-amethyst);color:var(--ph-void)}.range-arrow{color:var(--muted);padding:6px 9px!important;font-size:11px!important}.range-arrow:hover:not(:disabled){color:var(--purple-bright)}.range-arrow:disabled{opacity:.5;cursor:not-allowed}.rangepick{position:relative}.range-custom{align-items:center;gap:6px;margin-left:2px;display:inline-flex;border-left:1px solid var(--border)!important;padding-left:12px!important}.range-custom .icon{opacity:.85}.range-custom.active{color:var(--purple-bright)}.range-pop{z-index:30;background:var(--popover);border:1px solid var(--border-hi);border-radius:var(--ph-radius);width:320px;box-shadow:0 14px 40px color-mix(in srgb, var(--ph-void) 55%, transparent), var(--glow);flex-direction:column;gap:12px;padding:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.rp-quick{flex-wrap:wrap;gap:6px;display:flex}.rp-quick button{background:color-mix(in srgb, var(--ph-amethyst) 10%, transparent);border:1px solid var(--border);color:var(--text);border-radius:var(--ph-radius);cursor:pointer;padding:5px 11px;font-size:12px;font-weight:600}.rp-quick button:hover{border-color:var(--border-hi);background:color-mix(in srgb, var(--ph-amethyst) 20%, transparent)}.rp-field{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.rp-field input{background:var(--ph-void);border:1px solid var(--border);color:var(--text);border-radius:var(--ph-radius);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:8px 10px;font-family:inherit;font-size:13px}.rp-field input:focus{border-color:var(--border-hi)}.rp-err{color:var(--crit-soft);margin:-2px 0 2px;font-size:12px;font-weight:600}.rp-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.rp-tz{color:var(--muted);align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.rp-tz svg{opacity:.8}.rp-apply{background:var(--ph-bone);color:var(--ph-void);border-radius:var(--ph-radius);cursor:pointer;border:none;padding:8px 18px;font-size:13px;font-weight:600}.rp-apply:hover{opacity:.92}.rp-fields{flex-direction:column;gap:9px;display:flex}.rp-field2{flex-direction:column;gap:5px;display:flex}.rp-flabel{color:var(--muted);font-size:12px;font-weight:600}.rp-finputs{gap:6px;display:flex}.rp-datebtn{background:var(--ph-void);border:1px solid var(--border);color:var(--text);border-radius:var(--ph-radius);cursor:pointer;font-variant-numeric:tabular-nums;flex:1;align-items:center;gap:7px;padding:8px 10px;font-size:13px;font-weight:600;display:inline-flex}.rp-datebtn .icon{opacity:.7}.rp-datebtn:hover{border-color:var(--border-hi)}.rp-datebtn.active{border-color:var(--purple);color:var(--purple-bright);box-shadow:var(--glow)}.rp-datebtn.active .icon{opacity:1}.rp-timefield{flex:none;position:relative}.rp-time-btn{background:var(--ph-void);border:1px solid var(--border);width:96px;color:var(--text);border-radius:var(--ph-radius);cursor:pointer;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:7px;padding:8px 10px;font-size:13px;font-weight:600;display:inline-flex}.rp-time-btn svg{opacity:.6;flex:none}.rp-time-btn:hover{border-color:var(--border-hi)}.rp-time-btn.active{border-color:var(--purple);color:var(--purple-bright);box-shadow:var(--glow)}.rp-time-btn.active svg{opacity:1}.rp-time-pop{z-index:40;background:var(--popover);border:1px solid var(--border-hi);border-radius:var(--ph-radius);box-shadow:0 12px 30px color-mix(in srgb, var(--ph-void) 55%, transparent), var(--glow);gap:4px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.rp-time-col{scrollbar-width:thin;scrollbar-color:var(--border-hi) transparent;flex-direction:column;gap:2px;width:52px;height:180px;display:flex;overflow-y:auto}.rp-time-col button{height:28px;color:var(--text);border-radius:var(--ph-radius);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;flex:none;font-size:13px;font-weight:600}.rp-time-col button:hover{background:color-mix(in srgb, var(--ph-amethyst) 16%, transparent)}.rp-time-col button.sel{background:var(--ph-amethyst);color:var(--ph-void)}.cal{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);flex-direction:column;gap:8px;padding:10px;display:flex}.cal-head{align-items:center;gap:6px;display:flex}.cal-title{color:var(--text);cursor:pointer;border-radius:var(--ph-radius);text-transform:capitalize;background:0 0;border:none;align-items:center;gap:5px;padding:4px 6px;font-size:13px;font-weight:700;display:inline-flex}.cal-title:hover{background:color-mix(in srgb, var(--ph-amethyst) 14%, transparent);color:var(--purple-bright)}.cal-caret{opacity:.6;font-size:9px}.cal-nav{gap:3px;margin-left:auto;display:flex}.cal-nav button{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);border-radius:var(--ph-radius);cursor:pointer;background:0 0;place-items:center;font-size:16px;line-height:1;display:grid}.cal-nav button:hover{color:var(--purple-bright);border-color:var(--border-hi)}.cal-week,.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-week span{text-align:center;color:var(--muted);padding:2px 0;font-size:11px;font-weight:600}.cal-day{aspect-ratio:1;color:var(--text);border-radius:var(--ph-radius);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;place-items:center;font-size:12.5px;font-weight:600;transition:background-color .12s;display:grid}.cal-day:hover{background:color-mix(in srgb, var(--ph-amethyst) 16%, transparent)}.cal-day.out{color:var(--muted);opacity:.78}.cal-day.today{box-shadow:inset 0 0 0 1px var(--border-hi)}.cal-day.in-range{background:color-mix(in srgb, var(--ph-amethyst) 18%, transparent)}.cal-day.sel{background:var(--ph-amethyst);color:var(--ph-void)}.cal-day.editing{box-shadow:inset 0 0 0 2px var(--ph-bone), var(--glow)}.cal-years{grid-template-columns:repeat(4,1fr);gap:4px;max-height:168px;display:grid;overflow:auto}.cal-years button{border:1px solid var(--border);color:var(--text);border-radius:var(--ph-radius);cursor:pointer;background:0 0;padding:8px 0;font-size:12.5px;font-weight:600}.cal-years button:hover{border-color:var(--border-hi);color:var(--purple-bright)}.cal-years button.sel{background:var(--ph-amethyst);color:var(--ph-void);border-color:#0000}.error{background:color-mix(in srgb, var(--crit) 10%, transparent);border:1px solid var(--crit);color:var(--crit-soft);border-radius:var(--ph-radius);margin-bottom:18px;padding:10px 14px}.stat-badges{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:14px;margin-bottom:22px;display:grid}.badge{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.badge:before{content:"";background:linear-gradient(var(--purple), var(--magenta));width:3px;position:absolute;inset:0 auto 0 0}.badge.warn:before{background:var(--warn)}.badge.ok:before{background:var(--ok)}.badge.crit:before{background:var(--crit)}.b-label{color:var(--muted);font-size:12px;font-weight:600}.b-val{letter-spacing:-.02em;font-size:26px;font-weight:700}.b-val small{color:var(--muted);margin-left:3px;font-size:14px;font-weight:600}.cards{grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:14px;margin-bottom:30px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:15px 16px;transition:box-shadow .15s,border-color .15s,background-color .2s}@media (hover:hover) and (pointer:fine){.card:hover{border-color:var(--border-hi);box-shadow:var(--glow)}}.card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:auto;font-size:16px;font-weight:700;overflow:hidden}.card-mute{opacity:.85;cursor:help;flex:none;font-size:13px;line-height:1}.card-probe{letter-spacing:.02em;border-radius:var(--ph-radius-pill);cursor:help;color:var(--muted);background:color-mix(in srgb, var(--ph-bone) 14%, transparent);border:1px solid color-mix(in srgb, var(--ph-bone) 22%, transparent);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:96px;padding:2px 6px;font-size:10px;font-weight:700;overflow:hidden}.card-city{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 12px;font-size:12px;overflow:hidden}.card-dns{opacity:.85;font-variant-numeric:tabular-nums}.card-dns.bad{color:var(--warn);opacity:1;cursor:help}.card-metrics{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;display:flex}.card-metrics .lat{font-size:19px;font-weight:700}.card-metrics .lat small{color:var(--muted);margin-left:2px;font-size:12px;font-weight:600}.card-metrics .loss{color:var(--muted);font-size:13px;font-weight:600;transition:color .2s}.card-metrics .sin-datos{font-family:var(--ph-sans)}.pill{border-radius:50%;width:10px;height:10px;transition:background-color .2s,box-shadow .2s}.pill.ok{background:var(--ok);box-shadow:0 0 10px var(--ok)}.pill.warn{background:var(--warn);box-shadow:0 0 10px var(--warn)}.pill.crit{background:var(--crit);box-shadow:0 0 10px var(--crit);outline:2px solid color-mix(in srgb, var(--crit) 45%, transparent);outline-offset:2px}.pill.nodata{background:var(--muted);box-shadow:0 0 8px color-mix(in srgb, var(--ph-bone) 55%, transparent)}.card.warn .loss{color:var(--warn)}.card.crit .loss{color:var(--crit)}.card.nodata .loss{color:var(--muted)}.region{margin-bottom:30px}.region h2{font-family:var(--ph-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--purple-bright);align-items:center;gap:10px;margin:0 0 14px;font-size:12px;font-weight:600;display:flex}.region h2 .icon{color:var(--purple)}.charts{grid-template-columns:repeat(auto-fill,minmax(min(440px,100%),1fr));gap:18px;display:grid}.chart{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 14px 6px;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.chart:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ph-heliotrope) 55%, transparent), transparent);height:1px;position:absolute;top:0;left:0;right:0}@media (hover:hover) and (pointer:fine){.chart:hover{border-color:var(--border-hi);box-shadow:var(--glow)}}.chart-err{color:var(--crit-soft);text-align:center;padding:24px 10px;font-size:12px}.uwrap-wrap{position:relative}.chart-nodata{pointer-events:none;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;inset:0}.chart-loading{pointer-events:none;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(100deg, color-mix(in srgb, var(--ph-heliotrope) 0%, transparent) 20%, color-mix(in srgb, var(--ph-heliotrope) 7%, transparent) 50%, color-mix(in srgb, var(--ph-heliotrope) 0%, transparent) 80%);border-radius:var(--ph-radius);background-size:220% 100%;justify-content:center;align-items:center;font-size:11px;font-weight:700;animation:1.4s ease-in-out infinite chart-shimmer;display:flex;position:absolute;inset:0}@keyframes chart-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.chart-loading{background:0 0;animation:none}}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:2px 4px 10px;display:flex}.chart-title{color:var(--text);font-size:13px;font-weight:700}.chart-host{color:var(--muted);font-size:12px;font-weight:600}.chart-cur{font-variant-numeric:tabular-nums;gap:14px;display:flex}.chart-cur .cur{align-items:center;gap:6px;font-size:15px;font-weight:700;display:inline-flex}.chart-cur .cur i{border-radius:50%;flex:none;width:8px;height:8px}.chart-cur .cur small{color:var(--muted);margin-left:1px;font-size:11px;font-weight:600}.chart-cur .cur-trend{border-radius:var(--ph-radius-pill);align-items:center;gap:2px;padding:1px 7px;font-size:12px;font-weight:700;display:inline-flex}.chart-cur .cur-trend small{opacity:.8;margin-left:1px;font-size:10px;font-weight:600}.chart-cur .cur-trend.up{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent)}.chart-cur .cur-trend.down{color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent)}.chart .uwrap{background-image:radial-gradient(color-mix(in srgb, var(--ph-amethyst) 7%, transparent) 1px, transparent 1px);border-radius:var(--ph-radius);background-size:18px 18px}.chart-stats{border-top:1px solid var(--border);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;margin-top:4px;padding:10px 4px 4px;font-size:12px;display:flex}.chart-stats b{color:var(--text);opacity:.85;margin-right:2px;font-weight:600}.chart-stats .sep{border-left:1px solid var(--border);padding-left:16px}.chart-stats .st-loss.bad{color:var(--crit)}.chart-stats .st-loss.alerta,.chart-stats .st-loss.alerta b{color:var(--warn)}.chart-stats .st-loss.bad b{color:var(--crit)}.u-tt{z-index:20;pointer-events:none;background:color-mix(in srgb, var(--ph-card) 96%, transparent);border:1px solid var(--border-hi);border-radius:var(--ph-radius);min-width:120px;box-shadow:0 8px 24px color-mix(in srgb, var(--ph-void) 50%, transparent);color:var(--text);font-variant-numeric:tabular-nums;padding:7px 10px;font-size:12px;position:absolute}.u-tt .tt-t{color:var(--muted);margin-bottom:4px;font-weight:700}.u-tt .tt-r{align-items:center;gap:6px;display:flex}.u-tt .tt-r i{border-radius:50%;flex:none;width:8px;height:8px}.u-tt .tt-r b{margin-left:auto;font-weight:700}.u-title{color:var(--text);padding-bottom:6px;font-size:13px;font-weight:700}.uwrap .uplot,.uwrap .uplot *,.uwrap .u-wrap{font-family:inherit}.modal-backdrop{z-index:100;background:color-mix(in srgb, var(--ph-void) 72%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:24px;animation:.25s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--panel);border:1px solid var(--border-hi);border-radius:var(--ph-radius);width:min(960px,100%);max-height:92vh;box-shadow:0 24px 70px color-mix(in srgb, var(--ph-void) 60%, transparent), var(--glow);padding:20px 22px;animation:.45s cubic-bezier(.3,1.35,.5,1) modal-in;overflow:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(28px)scale(.88)}}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal-title{letter-spacing:-.02em;font-size:20px;font-weight:700}.modal-sub{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:13px}.modal-close{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:var(--ph-radius);cursor:pointer;flex:none;width:34px;height:34px;font-size:14px}.modal-close:hover{color:var(--text);border-color:var(--border-hi)}.modal-hint{color:var(--muted);margin:12px 0 14px;font-size:12px}.chart-hint{color:var(--muted);margin:6px 2px 0;font-size:11px;line-height:1.35}.chart-hint b,.modal-hint b{color:var(--purple-bright);font-weight:700}.modal-range{flex-wrap:wrap;gap:4px;margin-top:12px;display:flex}.mr-pill{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:var(--ph-radius-pill);cursor:pointer;padding:5px 12px;font-size:12px;font-weight:700;transition:color .15s,background .15s,border-color .15s,transform .14s}.mr-pill:hover{color:var(--text);border-color:var(--border-hi)}.mr-pill.active{background:color-mix(in srgb, var(--ph-amethyst) 18%, transparent);color:var(--purple-bright);border-color:#0000}.modal .chart{background:0 0;border:none;padding:0}.modal .chart:before{display:none}.help-modal{max-width:680px}.help-body{flex-direction:column;gap:16px;margin-top:8px;display:flex}.help-sec h3{color:var(--purple-bright);margin:0 0 6px;font-size:14px;font-weight:700}.help-sec p{color:var(--text);opacity:.92;margin:0;font-size:13px;line-height:1.6}.help-sec b{color:var(--text);font-weight:700}.help-list{margin:8px 0 0;padding-left:22px;list-style:outside}.help-list li{color:var(--text);opacity:.92;margin-bottom:8px;font-size:13px;line-height:1.6}.help-list li:last-child{margin-bottom:0}.help-list li::marker{color:var(--purple-bright)}.help-list b{color:var(--text);font-weight:700}.help-legend{flex-direction:column;gap:7px;margin:6px 0 0;padding:0;list-style:none;display:flex}.help-legend li{color:var(--text);opacity:.92;align-items:center;gap:9px;font-size:13px;line-height:1.4;display:flex}.help-legend .dot{border-radius:50%;flex:none;width:11px;height:11px}.help-legend .dot.ok{background:var(--ok)}.help-legend .dot.warn{background:var(--warn)}.help-legend .dot.crit{background:var(--crit)}.help-legend .dot.amber{background:var(--warn)}.help-legend .bar{border-radius:var(--ph-radius);flex:none;width:22px;height:4px}.help-legend .bar.purple{background:var(--purple-bright)}.help-legend .bar.cyan{background:var(--crit)}.help-legend .band{border-radius:var(--ph-radius);background:color-mix(in srgb, var(--ph-amethyst) 28%, transparent);border:1px solid color-mix(in srgb, var(--ph-amethyst) 45%, transparent);flex:none;width:22px;height:13px}.help-rule{background:color-mix(in srgb, var(--ph-amethyst) 10%, transparent);border:1px solid var(--border-hi);border-radius:var(--ph-radius);color:var(--text);padding:12px 14px;font-size:13px;line-height:1.6}.help-rule b{color:var(--purple-bright)}.sidebar-foot{flex-direction:column;gap:8px;display:flex}.help-btn{position:relative}.foot-badge{border-radius:var(--ph-radius-pill);place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-style:normal;font-weight:700;display:inline-grid}.foot-badge.crit{background:var(--crit);color:var(--ph-void)}.layout.collapsed .foot-badge{display:none}.inc-empty{color:var(--muted);padding:10px 2px;font-size:13px;font-weight:600}.inc-filters{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 6px;padding-bottom:12px;display:flex}.inc-sevpills{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);gap:4px;padding:3px;display:flex}.inc-sevpills button{color:var(--muted);cursor:pointer;border-radius:var(--ph-radius);background:0 0;border:none;padding:5px 11px;font-size:12px;font-weight:700}.inc-sevpills button:hover{color:var(--text)}.inc-sevpills button.active{background:var(--ph-amethyst);color:var(--ph-void)}.inc-date{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.inc-date input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.inc-check{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.inc-check input{accent-color:var(--purple)}.inc-count{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:4px 0 8px;font-size:12px;font-weight:600;display:flex}.adm-btn.danger{color:var(--crit-soft);border-color:color-mix(in srgb, var(--crit) 40%, transparent)}.adm-btn.danger:hover:not(:disabled){background:color-mix(in srgb, var(--crit) 12%, transparent);border-color:var(--crit)}.inc-list{flex-direction:column;gap:8px;margin-top:6px;display:flex}.inc{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);align-items:flex-start;gap:11px;padding:11px 13px;display:flex}.inc.ongoing{border-color:var(--crit);box-shadow:0 0 0 1px color-mix(in srgb, var(--crit) 25%, transparent)}.inc-dot{border-radius:50%;flex:none;width:10px;height:10px;margin-top:4px}.inc-dot.crit{background:var(--crit)}.inc-dot.warn{background:var(--warn)}.inc-dot.nodata{background:var(--muted)}.inc-body{min-width:0}.inc-top{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.inc-top b{font-size:14px}.inc-sev{border-radius:var(--ph-radius-pill);padding:1px 8px;font-size:11px;font-weight:700}.inc-sev.crit{color:var(--crit);background:color-mix(in srgb, var(--crit) 14%, transparent)}.inc-sev.warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent)}.inc-sev.nodata{color:var(--muted);background:color-mix(in srgb, var(--ph-bone) 6%, transparent)}.inc-live{color:var(--crit);font-size:11px;font-weight:700}.inc-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:12px}.inc-meta b{color:var(--text);font-weight:700}.adm-login{flex-direction:column;gap:11px;max-width:320px;display:flex}.adm-field{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.adm-field input{background:var(--ph-void);border:1px solid var(--border);color:var(--text);border-radius:var(--ph-radius);padding:9px 11px;font-family:inherit;font-size:14px}.adm-field input:focus{border-color:var(--border-hi)}.adm-bar{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.adm-table{border-collapse:collapse;width:100%;font-size:13px}.adm-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:7px 8px;font-size:12px;font-weight:600}.adm-table td{border-bottom:1px solid color-mix(in srgb, var(--ph-bone) 4%, transparent);vertical-align:top;padding:9px 8px}.adm-in{background:var(--ph-void);border:1px solid var(--border);width:62px;color:var(--text);border-radius:var(--ph-radius);font-variant-numeric:tabular-nums;padding:5px 7px;font-family:inherit;font-size:13px}.adm-in:focus{border-color:var(--border-hi)}.adm-src{margin-top:4px}.adm-badge{border-radius:var(--ph-radius-pill);color:var(--muted);background:color-mix(in srgb, var(--ph-bone) 6%, transparent);padding:1px 7px;font-size:10px;font-weight:700}.adm-badge.manual{color:var(--purple-bright);background:color-mix(in srgb, var(--ph-amethyst) 16%, transparent)}.adm-badge.fijo{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}.adm-badge.adaptativo{color:var(--purple-bright);background:color-mix(in srgb, var(--ph-amethyst) 14%, transparent)}.adm-badge.calibrando{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent);align-items:center;gap:6px;display:inline-flex}.adm-badge.muted{color:var(--muted);background:color-mix(in srgb, var(--ph-bone) 10%, transparent)}.adm-muted-hint{color:var(--muted);margin-left:6px;font-size:10px;font-weight:600}.cal-pulse{background:var(--warn);border-radius:50%;flex:none;width:7px;height:7px;animation:1.6s infinite calpulse}@keyframes calpulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--warn) 60%, transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb, var(--warn) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--warn) 0%, transparent)}}.adm-drift{border-radius:var(--ph-radius-pill);color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent);margin-left:6px;padding:1px 7px;font-size:10px;font-weight:700}.adm-rec{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.adm-link{color:var(--purple-bright);cursor:pointer;font-size:11px;font-weight:700;font-family:var(--ph-sans);background:0 0;border:none;margin-left:6px}.adm-link:hover:not(:disabled){text-decoration:underline}.adm-link:disabled{opacity:.5;cursor:not-allowed}.adm-actions{white-space:nowrap}.adm-btn{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--ph-radius);cursor:pointer;margin-right:5px;padding:5px 11px;font-size:12px;font-weight:700}.adm-btn:hover:not(:disabled){border-color:var(--border-hi)}.adm-btn.save{background:var(--ph-viridian);color:var(--ph-void);border:none}.adm-btn.save:hover:not(:disabled){opacity:.92}.adm-btn:disabled{opacity:.5;cursor:not-allowed}.adm-err{color:var(--crit-soft);font-size:12px;font-weight:600}.adm-in.wide{width:150px}.adm-newuser{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:14px;display:flex}.adm-newuser select.adm-in{width:auto}.mcp-endpoint{flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 12px;font-size:13px;display:flex}.mcp-endpoint .mcp-label{color:var(--muted);font-weight:700}.mcp-endpoint code{background:color-mix(in srgb, var(--ph-amethyst) 10%, transparent);border:1px solid var(--border-hi);border-radius:var(--ph-radius);color:var(--text);padding:4px 9px}.mcp-aviso-bloqueado{border-left:2px solid var(--crit);background:color-mix(in srgb, var(--crit) 7%, transparent);border-radius:var(--ph-radius);padding-left:10px}.mcp-token-box{border-radius:var(--ph-radius);background:color-mix(in srgb, var(--ph-amethyst) 8%, transparent);border:1px solid var(--border-hi);margin-top:14px;padding:12px 14px}.mcp-token-warn{color:var(--warn);margin-bottom:8px;font-size:13px}.mcp-cmd-label{color:var(--muted);margin:12px 0 6px;font-size:12px}.mcp-copyrow{align-items:center;gap:8px;display:flex}.mcp-copyrow .adm-in.wide{flex:1;width:auto}.adm-in.mono{font-family:var(--ph-mono);font-size:12px}.confirm-overlay{z-index:120;background:color-mix(in srgb, var(--ph-void) 55%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;animation:.12s ease-out confirm-fade;display:flex;position:fixed;inset:0}.confirm-card{background:var(--popover);border:1px solid var(--border-hi);border-radius:var(--ph-radius);width:min(92vw,380px);box-shadow:0 24px 70px color-mix(in srgb, var(--ph-void) 65%, transparent), 0 0 0 1px color-mix(in srgb, var(--ph-amethyst) 18%, transparent);padding:18px 20px;animation:.14s ease-out confirm-pop}.confirm-title{color:var(--purple-bright);margin-bottom:8px;font-size:15px;font-weight:700}.confirm-title.danger{color:var(--crit)}.confirm-text{color:var(--text);opacity:.92;margin-bottom:16px;font-size:13px;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}@keyframes confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes confirm-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}.adm-tabs{gap:6px;margin:4px 0 14px;display:flex}.adm-tabs button{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:var(--ph-radius);cursor:pointer;padding:6px 16px;font-size:13px;font-weight:700}.adm-tabs button:hover{color:var(--text)}.adm-tabs button.active{background:var(--ph-amethyst);color:var(--ph-void);border-color:#0000}.login-wrap{background:var(--bg);background-image:var(--bg-grad);place-items:center;display:grid;position:fixed;inset:0}.lp-wrap{background:var(--bg);background-image:var(--bg-grad);display:flex;position:fixed;inset:0}.lp-left{border-right:1px solid var(--border);perspective:800px;background:radial-gradient(620px 620px at 50% 46%, color-mix(in srgb, var(--ph-amethyst) 12%, transparent), transparent 62%), radial-gradient(900px 500px at 50% 120%, color-mix(in srgb, var(--ph-amethyst) 6%, transparent), transparent 60%);flex:1;justify-content:center;align-items:center;display:none;position:relative;overflow:hidden}@media (width>=1000px){.lp-left{display:flex}}.lp-scene{transform-style:preserve-3d;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lp-scene .lp-bigtitle{transform:translateZ(60px)}.lp-bigtitle{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:-.03em;background:linear-gradient(to bottom, var(--ph-bone), color-mix(in srgb, var(--ph-heliotrope) 18%, transparent));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(48px,6vw,78px);font-weight:700;position:relative}.lp-ripple{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 90%);mask-image:linear-gradient(#000,#0000 90%)}.lp-ring{border:1px solid color-mix(in srgb, var(--ph-heliotrope) 55%, transparent);border-radius:50%;animation:3s infinite lp-ripple;position:absolute}@keyframes lp-ripple{0%,to{transform:scale(1)}50%{transform:scale(.92)}}.lp-orbit{width:calc(var(--radius) * 2px);height:calc(var(--radius) * 2px);margin-top:calc(var(--radius) * -1px);margin-left:calc(var(--radius) * -1px);animation:lp-orbit calc(var(--duration) * 1s) linear infinite;animation-delay:calc(var(--delay,0) * 1s);pointer-events:none;position:absolute;top:50%;left:50%}.lp-orbit.rev{animation-direction:reverse}@keyframes lp-orbit{to{transform:rotate(360deg)}}.lp-orbit>img{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--ph-amethyst) 55%, transparent));-webkit-user-select:none;user-select:none;-webkit-user-drag:none;animation:lp-orbit-counter calc(var(--duration) * 1s) linear infinite;animation-delay:calc(var(--delay,0) * 1s);position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.lp-orbit.rev>img{animation-direction:reverse}@keyframes lp-orbit-counter{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(-360deg)}}.lp-hat img{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--ph-amethyst) 50%, transparent))}.lp-right{flex:none;place-items:center;width:100%;padding:24px;display:grid}@media (width>=1000px){.lp-right{width:46%}}.lp-form{flex-direction:column;width:100%;max-width:340px;display:flex}.lp-hat{justify-content:center;margin-bottom:8px;display:flex}.lp-head{text-align:center;letter-spacing:-.02em;margin:0;font-size:26px;font-weight:700}.lp-sub{text-align:center;color:var(--muted);margin:4px 0 22px;font-size:12.5px}.lp-label{color:var(--muted);margin:12px 0 6px;font-size:12px;font-weight:600}.lp-input-wrap{border-radius:var(--ph-radius);padding:2px;transition:background .3s}.lp-input{border-radius:var(--ph-radius);border:1px solid var(--border);background:var(--ph-void);width:100%;height:42px;color:var(--text);padding:0 12px;font-family:inherit;font-size:14px}.lp-input:focus{border-color:var(--border-hi)}.lp-pass{position:relative}.lp-eye{width:38px;color:var(--muted);cursor:pointer;background:0 0;border:none;place-items:center;display:grid;position:absolute;top:2px;bottom:2px;right:4px}.lp-eye:hover{color:var(--purple-bright)}.lp-err{color:var(--crit-soft);margin-top:12px;font-size:12.5px;font-weight:600}.lp-btn{background:var(--ph-bone);color:var(--ph-void);border-radius:var(--ph-radius);cursor:pointer;border:none;margin-top:20px;padding:12px;font-size:14px;font-weight:600}.lp-btn:hover:not(:disabled){opacity:.92}.lp-btn:disabled{opacity:.6;cursor:not-allowed}.lp-foot{text-align:center;color:var(--muted);opacity:.7;margin-top:16px;font-size:11px}.mtr{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.mtr-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.mtr-title{color:var(--text);font-size:13px;font-weight:700}.mtr-actions{gap:6px;display:flex}.mtr-btn{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--ph-radius);cursor:pointer;padding:5px 13px;font-size:12px;font-weight:700}.mtr-btn:hover:not(:disabled){border-color:var(--border-hi);color:var(--purple-bright)}.mtr-btn:disabled{opacity:.5;cursor:not-allowed}.mtr-info{color:var(--muted);padding:6px 2px;font-size:12px;line-height:1.5}.mtr-info b{color:var(--purple-bright);font-weight:700}.mtr-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.mtr-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:6px 8px;font-weight:600}.mtr-table td{border-bottom:1px solid color-mix(in srgb, var(--ph-bone) 3%, transparent);color:var(--text);padding:6px 8px}.mtr-table td.mono{font-family:var(--ph-mono);color:var(--muted)}.mtr-table tr.bad td{color:var(--crit);font-weight:600}.mtr-table tr.alerta td{color:var(--warn);font-weight:600}.mtr-table tr.alerta td.mono{color:var(--warn)}.mtr-table tr.bad td.mono{color:var(--crit-soft)}.mtr-loading{padding:4px 2px 2px}.mtr-loading-head{color:var(--text);align-items:center;gap:14px;font-size:13px;font-weight:600;display:flex}.mtr-loading-head b{color:var(--purple-bright);font-weight:700}.mtr-loading-head small{color:var(--muted);font-weight:500}.mtr-sonar{flex:none;width:16px;height:16px;position:relative}.mtr-sonar:before{content:"";background:var(--purple-bright);box-shadow:0 0 8px color-mix(in srgb, var(--ph-heliotrope) 90%, transparent);border-radius:50%;position:absolute;inset:5px}.mtr-sonar i{border:2px solid var(--purple-bright);opacity:0;border-radius:50%;animation:1.8s ease-out infinite sonar;position:absolute;inset:0}.mtr-sonar i:nth-child(2){animation-delay:.6s}.mtr-sonar i:nth-child(3){animation-delay:1.2s}@keyframes sonar{0%{opacity:.8;transform:scale(.35)}to{opacity:0;transform:scale(2.6)}}.mtr-progress{border-radius:var(--ph-radius-pill);background:color-mix(in srgb, var(--ph-amethyst) 12%, transparent);height:3px;margin:13px 0 15px;overflow:hidden}.mtr-progress span{border-radius:var(--ph-radius-pill);background:linear-gradient(90deg, transparent, var(--purple-bright), transparent);width:40%;height:100%;animation:1.25s ease-in-out infinite mtr-sweep;display:block}@keyframes mtr-sweep{0%{transform:translate(-110%)}to{transform:translate(280%)}}.mtr-skel{flex-direction:column;gap:9px;display:flex}.mtr-skel-row{opacity:0;align-items:center;gap:12px;animation:.45s forwards mtr-fade;display:flex}@keyframes mtr-fade{to{opacity:1}}.mtr-skel .sk{border-radius:var(--ph-radius);background:linear-gradient(90deg, color-mix(in srgb, var(--ph-bone) 4%, transparent) 25%, color-mix(in srgb, var(--ph-amethyst) 18%, transparent) 37%, color-mix(in srgb, var(--ph-bone) 4%, transparent) 63%);background-size:400% 100%;height:12px;animation:1.4s infinite mtr-shimmer}@keyframes mtr-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.mtr-skel .sk-num{width:18px}.mtr-skel .sk-host{flex:1}.mtr-skel .sk-val{width:40px}.snmp-check{color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.snmp-check input{width:16px;height:16px;accent-color:var(--purple-bright);cursor:pointer}.bgp-badge{color:var(--purple-bright);font-weight:700}.gauge.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}.gauge.clickable:hover{border-color:var(--border-hi);box-shadow:var(--glow)}.gauge.clickable:active{transform:scale(.98)}.bgp-summary{text-transform:none;letter-spacing:normal;font-family:var(--ph-sans);color:var(--muted);margin-left:12px;font-size:12px;font-weight:700}.bgp-down-badge{border-radius:var(--ph-radius-pill);background:color-mix(in srgb, var(--crit) 16%, transparent);color:var(--crit);margin-left:8px;padding:2px 9px;font-weight:700}.bgp-table-wrap{border:1px solid var(--border);border-radius:var(--ph-radius);background:var(--panel);overflow:hidden}.bgp-table{border-collapse:collapse;width:100%;font-size:13px}.bgp-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);padding:10px 14px;font-size:11px;font-weight:700}.bgp-table td{border-bottom:1px solid color-mix(in srgb, var(--ph-bone) 4%, transparent);padding:10px 14px}.bgp-table tr:last-child td{border-bottom:0}.bgp-table tr.down{background:color-mix(in srgb, var(--crit) 6%, transparent)}.bgp-name{color:var(--text);font-weight:700}.bgp-peer{color:var(--muted);font-variant-numeric:tabular-nums}.bgp-up{font-variant-numeric:tabular-nums}.bgp-state{border-radius:var(--ph-radius-pill);letter-spacing:.02em;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.bgp-state.up{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok)}.bgp-state.down{background:color-mix(in srgb, var(--crit) 18%, transparent);color:var(--crit)}.bgp-edit{border:1px solid var(--border-hi);border-radius:var(--ph-radius);background:color-mix(in srgb, var(--ph-amethyst) 5%, transparent);margin-top:10px;padding:12px}.snmp-bgp-head{color:var(--text);margin-bottom:10px;font-size:13px;font-weight:700}.snmp-dot{border-radius:var(--ph-radius-pill);background:var(--muted);vertical-align:middle;width:9px;height:9px;margin-right:4px;display:inline-block}.snmp-dot.ok{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb, var(--ok) 60%, transparent)}.snmp-dot.down{background:var(--crit);box-shadow:0 0 8px color-mix(in srgb, var(--crit) 60%, transparent)}.snmp-form{flex-direction:column;gap:10px;margin-top:14px;display:flex}.snmp-form-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.snmp-form-row .adm-in{flex:0 auto}.snmp-form-row .adm-in.wide{flex:160px}.snmp-edit-modal{width:min(480px,96vw);animation:.16s ease-out confirm-pop}.thr-grid{grid-template-columns:56px 1fr 1fr 26px;align-items:center;gap:9px 12px;margin:18px 0 6px;display:grid}.thr-grid label{color:var(--text);font-size:13px;font-weight:700}.thr-grid .thr-col{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;font-size:11px;font-weight:700}.thr-grid .unit{color:var(--muted);font-size:12px}.thr-grid .adm-in{text-align:center;width:100%}.snmp-test{border-radius:var(--ph-radius);border:1px solid var(--border);background:color-mix(in srgb, var(--ok) 8%, transparent);color:var(--text);padding:9px 12px;font-size:13px}.snmp-test.ok{border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.snmp-chips{flex-wrap:wrap;gap:8px;margin:6px 0 14px;display:flex}.snmp-chip{border-radius:var(--ph-radius);color:var(--text);background:color-mix(in srgb, var(--ph-amethyst) 8%, transparent);border:1px solid var(--border);padding:7px 11px;font-size:13px}.snmp-chip b{color:var(--muted);margin-right:5px;font-size:12px;font-weight:700}.snmp-chip.bad{background:color-mix(in srgb, var(--crit) 10%, transparent);border-color:color-mix(in srgb, var(--crit) 35%, transparent)}.snmp-status{white-space:nowrap;align-items:center;gap:9px;font-size:13px;display:inline-flex}.nav-item .snmp-status{flex:none;justify-content:center;width:18px;min-width:18px}.snmp-status-txt{color:var(--text)}.snmp-status.down .snmp-status-txt{color:var(--crit)}.snmp-status.warming .snmp-status-txt{color:var(--warn)}.snmp-beat{flex:none;width:11px;height:11px;display:inline-block;position:relative}.snmp-beat .core,.snmp-beat .ring{border-radius:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;position:absolute;top:50%;left:50%}.snmp-beat .ring{animation:1.6s ease-out infinite snmp-ping}.snmp-status.live .core{background:var(--ok);box-shadow:0 0 9px color-mix(in srgb, var(--ok) 85%, transparent)}.snmp-status.live .ring{background:var(--ok)}.snmp-status.warming .core{background:var(--warn);box-shadow:0 0 9px color-mix(in srgb, var(--warn) 85%, transparent)}.snmp-status.warming .ring{background:var(--warn);animation-duration:1.1s}.snmp-status.down .core{background:var(--crit);box-shadow:0 0 7px color-mix(in srgb, var(--crit) 70%, transparent)}.snmp-status.down .ring{background:var(--crit);animation:2.4s ease-in-out infinite snmp-fade}@keyframes snmp-ping{0%{opacity:.55;transform:scale(1)}80%,to{opacity:0;transform:scale(3.4)}}@keyframes snmp-fade{0%,to{opacity:.12}50%{opacity:.35}}.ifpick{border:1px solid var(--border-hi);border-radius:var(--ph-radius);background:color-mix(in srgb, var(--ph-amethyst) 5%, transparent);margin-top:4px;overflow:hidden}.ifpick-search{border-bottom:1px solid var(--border);padding:8px}.ifpick-search input{width:100%}.ifpick-list{scrollbar-width:thin;scrollbar-color:var(--border-hi) transparent;max-height:230px;overflow-y:auto}.ifpick-list::-webkit-scrollbar{width:8px}.ifpick-list::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:var(--ph-radius-pill)}.ifpick-row{text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:9px 12px;font-size:13px;transition:background .12s;display:flex}.ifpick-row:hover{background:color-mix(in srgb, var(--ph-amethyst) 12%, transparent)}.ifpick-row.sel{background:color-mix(in srgb, var(--ph-amethyst) 20%, transparent);box-shadow:inset 3px 0 0 var(--purple-bright)}.ifpick-dot{border-radius:50%;flex:none;width:8px;height:8px}.ifpick-dot.up{background:var(--ok);box-shadow:0 0 6px color-mix(in srgb, var(--ok) 70%, transparent)}.ifpick-dot.down{background:var(--crit)}.ifpick-name{font-family:var(--ph-mono);font-weight:600}.ifpick-alias{color:var(--muted);flex:auto;font-size:12px}.ifpick-state{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-left:auto;font-size:11px}.ifpick-row.sel .ifpick-state{color:var(--purple-bright)}.ifpick-check{color:var(--purple-bright);font-weight:700}.ifpick-check-box{border-radius:var(--ph-radius);border:1.5px solid var(--border-hi);width:16px;height:16px;color:var(--ph-void);background:0 0;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.ifpick-check-box.on{background:var(--purple-bright);border-color:var(--purple-bright)}.ifpick-empty{color:var(--muted);text-align:center;padding:14px;font-size:13px}.ifpick-hint{color:var(--muted);margin:8px 2px 0;font-size:12px}.ifpick-hint b{color:var(--purple-bright)}.ifpick-hint b.mono{font-family:var(--ph-mono)}.snmp-form-row select.adm-in{min-width:116px}.snmp-detail-tabs{flex-wrap:wrap;gap:6px;margin:4px 0 6px}.snmp-detail-tabs button{font-family:var(--ph-mono);font-size:12px}.uwrap .u-select{background:color-mix(in srgb, var(--warn) 14%, transparent);border-left:1.5px solid color-mix(in srgb, var(--warn) 85%, transparent);border-right:1.5px solid color-mix(in srgb, var(--warn) 85%, transparent)}.u-sel-dur{z-index:12;pointer-events:none;background:var(--warn);color:var(--ph-void);border-radius:var(--ph-radius);white-space:nowrap;box-shadow:0 2px 8px color-mix(in srgb, var(--ph-void) 40%, transparent);padding:2px 7px;font-size:11px;font-weight:700;position:absolute;top:4px;transform:translate(-50%)}.u-sel-edge{z-index:12;pointer-events:none;background:color-mix(in srgb, var(--ph-card) 92%, transparent);color:var(--warn);border-radius:var(--ph-radius);white-space:nowrap;border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);padding:1px 6px;font-size:10px;font-weight:600;position:absolute;top:24px;transform:translate(-50%)}.reorder-item{min-width:0;position:relative}.reorder-item.over{outline:2px dashed var(--purple-bright);outline-offset:3px;border-radius:var(--ph-radius)}.reorder-grip{z-index:7;cursor:grab;-webkit-user-select:none;user-select:none;color:var(--muted);background:color-mix(in srgb, var(--ph-card) 90%, transparent);border:1px solid var(--border);border-radius:var(--ph-radius);opacity:0;padding:0 7px;font-size:15px;line-height:22px;transition:opacity .12s,color .12s,border-color .12s;position:absolute;top:7px;left:9px}.reorder-item:hover .chart-title{padding-left:26px}.reorder-item:hover .reorder-grip{opacity:1}.reorder-grip:hover{color:var(--purple-bright);border-color:var(--border-hi)}.reorder-grip:active{cursor:grabbing}.region-hint{color:var(--muted);font-size:12px;font-weight:400;font-family:var(--ph-sans);text-transform:none;letter-spacing:normal;margin-left:10px}.region h2{flex-wrap:wrap}.charts-actions{text-transform:none;letter-spacing:normal;font-family:var(--ph-sans);align-items:center;gap:10px;margin-left:auto;display:inline-flex}.add-menu{display:inline-flex;position:relative}.add-btn{border:1px solid var(--border);background:color-mix(in srgb, var(--ph-amethyst) 12%, transparent);color:var(--purple-bright);border-radius:var(--ph-radius-pill);cursor:pointer;padding:6px 12px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s}.add-btn:hover{background:color-mix(in srgb, var(--ph-amethyst) 22%, transparent);border-color:var(--border-hi)}.add-pop{z-index:30;background:var(--panel);border:1px solid var(--border-hi);border-radius:var(--ph-radius);min-width:230px;box-shadow:0 12px 30px color-mix(in srgb, var(--ph-void) 50%, transparent);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.add-pop-item{text-align:left;color:var(--text);border-radius:var(--ph-radius);cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:13px;font-weight:600}.add-pop-item:hover{background:color-mix(in srgb, var(--ph-amethyst) 16%, transparent);color:var(--purple-bright)}.lay-switch{text-transform:none;letter-spacing:normal;background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius-pill);gap:3px;padding:3px;display:inline-flex}.lay-btn{color:var(--muted);border-radius:var(--ph-radius-pill);cursor:pointer;background:0 0;border:0;padding:5px 12px;font-size:12px;font-weight:700;transition:color .15s,background .15s}.lay-btn:hover{color:var(--text)}.lay-btn.active{background:color-mix(in srgb, var(--ph-amethyst) 18%, transparent);color:var(--purple-bright)}.inc-tabs{margin:4px 0 14px}.charts.lay-grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.charts.lay-row,.charts.lay-hero{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}.reorder-item.wide{grid-column:1/-1}.reorder-item.tall .uwrap.resizable{min-height:320px}.chart-head{min-width:0}.chart-title{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.chart-cur{flex:none}.uwrap.resizable{resize:vertical;width:100%;min-height:120px;overflow:hidden}.dev-head{justify-content:space-between;align-items:center;gap:12px;margin:6px 0 14px;display:flex}.dev-title h2{margin:0;font-size:22px}.dev-sub{color:var(--muted);margin-top:2px;font-size:13px}.gauges{flex-wrap:wrap;gap:14px;margin-bottom:20px;display:flex}.gauge{background:linear-gradient(160deg, color-mix(in srgb, var(--ph-amethyst) 6%, transparent), var(--panel) 60%);border:1px solid var(--border);border-radius:var(--ph-radius);flex-direction:column;flex:190px;justify-content:center;align-items:center;min-width:170px;max-width:250px;padding:16px 22px;display:flex}.gauge-val{letter-spacing:-1px;font-size:38px;font-weight:700}.gauge-unit{font-size:12px;font-weight:700}.gauge-label{font-family:var(--ph-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:8px;font-size:11px;font-weight:600}.gauge.stat{flex:200px;min-width:180px;padding:22px 26px}.gauge-stat-val{color:var(--purple-bright);font-size:30px;font-weight:700}.gauge-stat-val small{color:var(--muted);font-size:14px;font-weight:700}.gauge.chip{flex:160px;min-width:150px;padding:18px 22px}.gauge.chip .chip-val{letter-spacing:-.5px;color:var(--muted);font-size:26px;font-weight:700}.gauge.chip.ok{border-color:color-mix(in srgb, var(--ok) 35%, transparent)}.gauge.chip.ok .chip-val{color:var(--ok)}.gauge.chip.bad{border-color:color-mix(in srgb, var(--crit) 45%, transparent);background:linear-gradient(160deg, color-mix(in srgb, var(--crit) 8%, transparent), var(--panel) 60%)}.gauge.chip.bad .chip-val{color:var(--crit)}.gauge .dial{width:var(--dial,132px);height:var(--dial,132px);place-items:center;display:grid;position:relative}.gauge .dial .reactor-rings,.gauge .dial .gauge-arc{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.dial-center{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;line-height:1;display:flex;position:relative}.dial-center .gauge-val{letter-spacing:-1px;font-size:34px;font-weight:700}.dial-center .gauge-unit{color:var(--muted);font-size:11px;font-weight:700}.dial-center .chip-val{font-size:25px}.dial-center .gauge-stat-val{font-size:22px}.dial-center .gauge-stat-val small{font-size:12px}.gauges .gauge{min-width:178px;padding:14px 18px}.gauge.stat,.gauge.chip{flex:190px;max-width:250px}.olt-boards{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.olt-board{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);flex-wrap:wrap;align-items:center;gap:14px;padding:8px 12px;display:flex}.olt-board-nom{min-width:88px;font-size:12.5px;font-weight:600}.olt-board-slot{color:var(--muted);min-width:36px;font-size:11px}.olt-bar{flex:1 1 0;align-items:center;gap:8px;min-width:min(160px,100%);display:flex}.olt-bar-rot{letter-spacing:.08em;color:var(--muted);font-size:10px}.olt-bar-track{background:color-mix(in srgb, var(--ph-bone) 8%, transparent);border-radius:100px;flex:1;height:6px;overflow:hidden}.olt-bar-track i{height:100%;display:block}.olt-bar b{text-align:right;min-width:36px;font-size:12px}.rr-dot,.rr-tick,.rr-core{transform-box:fill-box;transform-origin:50%}.rr-dot{animation:42s linear infinite reactor-spin-rev}.rr-tick{animation:30s linear infinite reactor-spin}.rr-core{animation:3.4s ease-in-out infinite reactor-pulse}@keyframes reactor-spin{to{transform:rotate(360deg)}}@keyframes reactor-spin-rev{to{transform:rotate(-360deg)}}@keyframes reactor-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:.85;transform:scale(1.06)}}.gauge.clickable:hover .reactor-rings{filter:brightness(1.35)}@media (prefers-reduced-motion:reduce){.rr-dot,.rr-tick,.rr-core{animation:none}}.chart-expand{border-radius:var(--ph-radius);cursor:pointer;background:color-mix(in srgb, var(--ph-amethyst) 10%, transparent);border:1px solid var(--border);width:26px;height:26px;color:var(--purple-bright);justify-content:center;align-items:center;margin-left:6px;transition:background .12s,border-color .12s;display:inline-flex}.chart-expand:hover{background:color-mix(in srgb, var(--ph-amethyst) 22%, transparent);border-color:var(--border-hi)}.chart-rm{border-radius:var(--ph-radius);cursor:pointer;background:color-mix(in srgb, var(--ph-bone) 4%, transparent);border:1px solid var(--border);width:26px;height:26px;color:var(--muted);justify-content:center;align-items:center;margin-left:6px;font-size:13px;line-height:1;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.chart-rm:hover{background:color-mix(in srgb, var(--crit) 16%, transparent);border-color:color-mix(in srgb, var(--crit) 50%, transparent);color:var(--crit)}.site-select{background:var(--panel);color:var(--text);border:1px solid var(--border-hi);border-radius:var(--ph-radius);font:inherit;max-width:260px;padding:7px 10px}.site-select:focus{box-shadow:var(--glow)}.modal-title .adm-site{vertical-align:middle;font-family:var(--ph-sans);letter-spacing:0;max-width:240px;margin-left:12px;padding:5px 9px;font-size:13px;font-weight:600}.site-badge{background:color-mix(in srgb, var(--ph-amethyst) 14%, transparent);border:1px solid var(--border-hi);color:var(--purple-bright);border-radius:var(--ph-radius-pill);white-space:nowrap;padding:3px 12px;font-size:12px;font-weight:600}.fleet-actions{gap:10px;margin:14px 0 4px;display:flex}.btn-line{color:var(--purple-bright);border:1px solid var(--border-hi);border-radius:var(--ph-radius);cursor:pointer;font:inherit;background:0 0;padding:7px 14px}.btn-line:hover{box-shadow:var(--glow)}.btn-line:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-line.sm{margin-top:6px;padding:4px 10px;font-size:12px}.fleet-grid{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px;margin-top:14px;display:grid}.fleet-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.fleet-card.down{border-color:color-mix(in srgb, var(--crit) 45%, transparent)}.fleet-head{align-items:center;gap:10px;display:flex}.fleet-title{flex-direction:column;flex:1;min-width:0;display:flex}.fleet-title small{color:var(--muted);font-size:11px}.fleet-enter{color:var(--purple-bright);border:1px solid var(--border-hi);border-radius:var(--ph-radius);cursor:pointer;white-space:nowrap;background:0 0;padding:5px 10px;font-size:12px}.fleet-enter:hover{box-shadow:var(--glow)}.fleet-dot{border-radius:50%;flex:none;width:12px;height:12px}.fleet-dot.sm{width:8px;height:8px}.fleet-dot.ok{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb, var(--ok) 70%, transparent)}.fleet-dot.crit{background:var(--crit);box-shadow:0 0 8px color-mix(in srgb, var(--crit) 70%, transparent)}.fleet-dot.warn{background:var(--warn);box-shadow:0 0 8px color-mix(in srgb, var(--warn) 55%, transparent)}.fleet-probes{flex-direction:column;gap:6px;display:flex}.fleet-probe{background:color-mix(in srgb, var(--ph-bone) 3%, transparent);border:1px solid var(--border);border-radius:var(--ph-radius);align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;display:flex}.fp-id{font-weight:600}.fp-ip{color:var(--muted)}.fp-ago{color:var(--ok);margin-left:auto}.fp-ago.bad{color:var(--crit);font-weight:600}.fp-del{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px}.fp-del:hover{color:var(--crit)}.fleet-stats{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px 14px;padding-top:10px;display:grid}.fleet-stats>div{flex-direction:column;display:flex}.fs-label{color:var(--muted);font-size:11px}.fs-val{font-size:13.5px;font-weight:600}.fs-val.bad{color:var(--crit)}.fs-val.alerta{color:var(--warn)}.fleet-foot{justify-content:flex-end;display:flex}.modal.fleet-form{flex-direction:column;gap:12px;max-width:460px;display:flex}.fleet-form label{color:var(--muted);flex-direction:column;gap:5px;font-size:12.5px;display:flex}.fleet-form input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--ph-radius);font:inherit;padding:8px 10px}.fleet-form input:focus{border-color:var(--border-hi)}.fleet-form-foot{justify-content:flex-end;display:flex}.fp-pending{background:color-mix(in srgb, var(--warn) 12%, transparent);border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);color:var(--warn);border-radius:var(--ph-radius-pill);white-space:nowrap;padding:1px 8px;font-size:11px}.fp-chip{font-family:var(--ph-mono);white-space:nowrap;border-radius:var(--ph-radius-pill);padding:1px 6px;font-size:10px}.fp-chip.ver{color:var(--muted)}.fp-chip.ver.desfasada{color:var(--purple-bright);font-weight:700}.fp-chip.vieja{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn);font-weight:700}select.adm-in option,select.site-select option{background:var(--panel);color:var(--text)}.adm-btn,.lp-btn,.mtr-btn,.ranges button,.help-btn,.ok-collapse,.nav-item,.modal-close,.icon-btn,.rp-apply,.adm-tabs button,.inc-sevpills button,.rp-quick button,.btn-line,.fleet-enter,.lay-btn,.add-btn,.btn-mini{transition:transform .14s ease-out}.adm-btn:hover:not(:disabled),.lp-btn:hover:not(:disabled),.mtr-btn:hover:not(:disabled),.rp-apply:hover,.btn-line:hover:not(:disabled),.fleet-enter:hover,.add-btn:hover,.btn-mini:hover,.const-wallboard:hover,.wb-exit:hover,.wb-auto:hover{transform:translateY(-2px)}.adm-btn:active,.lp-btn:active,.mtr-btn:active,.ranges button:active,.help-btn:active,.ok-collapse:active,.nav-item:active,.modal-close:active,.icon-btn:active,.rp-apply:active,.adm-tabs button:active,.inc-sevpills button:active,.rp-quick button:active,.mr-pill:active,.btn-line:active,.fleet-enter:active,.lay-btn:active,.add-btn:active{transform:scale(.97)}.modal-backdrop.intro-done{animation:none}.modal-intro{text-align:center;pointer-events:none;animation:1.2s cubic-bezier(.23,1,.32,1) both intro-pop}.mi-logo{justify-content:center;margin-bottom:16px;display:flex}.mi-logo .dlogo{filter:drop-shadow(0 0 22px color-mix(in srgb, var(--brand-c,var(--ph-amethyst)) 45%, transparent))}.mi-logo .dlogo-mono{border-width:2px;width:52px;height:52px;font-size:19px}.mi-name{letter-spacing:-.03em;background:linear-gradient(to bottom, var(--ph-bone), color-mix(in srgb, var(--ph-heliotrope) 35%, transparent));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(40px,6vw,60px);font-weight:700}.mi-city{color:var(--muted);margin-top:6px;font-size:15px;font-weight:600}@keyframes intro-pop{0%{opacity:0;transform:scale(.78)}30%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.15)}}@keyframes num-tick{0%{opacity:.35}}.num-tick{animation:.25s ease-out num-tick}.constellation{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:16px;padding:14px 18px;display:flex;position:relative;overflow:hidden}.constellation:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ph-heliotrope) 55%, transparent), transparent);height:1px;position:absolute;top:0;left:0;right:0}.const-score{flex:none;align-items:center;gap:12px;display:flex}.cs-pct{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.cs-pct small{color:var(--muted);margin-left:2px;font-size:16px;font-weight:700}.const-score.ok .cs-pct{color:var(--ok)}.const-score.warn .cs-pct{color:var(--warn)}.const-score.crit .cs-pct{color:var(--crit)}.cs-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:1px;font-size:12px;display:flex}.cs-meta b{color:var(--text);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.const-dots{border-left:1px solid var(--border);flex-wrap:wrap;flex:200px;align-items:center;gap:7px;min-width:0;padding-left:18px;display:flex}.const-dot{cursor:pointer;background:var(--muted);border:none;border-radius:50%;width:12px;height:12px;padding:0;transition:transform .14s,box-shadow .2s,background-color .2s}.const-dot:hover{transform:scale(1.4)}.const-dot.ok{background:var(--ok);box-shadow:0 0 6px color-mix(in srgb, var(--ok) 40%, transparent)}.const-dot.warn{background:var(--warn)}.const-dot.crit{background:var(--crit);animation:1.4s infinite const-pulse-crit}.const-dot.nodata{background:var(--muted);box-shadow:0 0 6px color-mix(in srgb, var(--ph-bone) 50%, transparent);opacity:.7}.const-dot.pausa{background:var(--purple-bright);opacity:.55}@keyframes const-pulse-warn{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--warn) 50%, transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb, var(--warn) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--warn) 0%, transparent)}}@keyframes const-pulse-crit{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--crit) 60%, transparent)}70%{box-shadow:0 0 0 7px color-mix(in srgb, var(--crit) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--crit) 0%, transparent)}}.const-wallboard{background:color-mix(in srgb, var(--ph-amethyst) 10%, transparent);border:1px solid var(--border);color:var(--text);border-radius:var(--ph-radius);cursor:pointer;flex:none;align-items:center;gap:7px;margin-left:auto;padding:8px 14px;font-size:13px;font-weight:700;transition:transform .14s ease-out,border-color .15s,background .15s;display:inline-flex}.const-wallboard:hover{border-color:var(--border-hi);background:color-mix(in srgb, var(--ph-amethyst) 18%, transparent);color:var(--purple-bright)}.const-wallboard:active{transform:scale(.97)}.const-wallboard svg{color:var(--purple-bright)}.wallboard{z-index:200;background:var(--bg);background-image:var(--bg-grad);flex-direction:column;gap:24px;padding:28px 34px 40px;animation:.25s ease-out fade;display:flex;position:fixed;inset:0;overflow-y:auto}.wallboard>*{flex-shrink:0}.wallboard.ph-grain:before{position:fixed}.wb-head{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.wb-brand{letter-spacing:-.02em;color:var(--text);font-size:22px;font-weight:700}.wb-brand span{color:var(--purple-bright)}.wb-site{background:color-mix(in srgb, var(--ph-amethyst) 14%, transparent);border:1px solid var(--border-hi);color:var(--purple-bright);border-radius:var(--ph-radius-pill);white-space:nowrap;padding:4px 14px;font-size:14px;font-weight:700}.wb-clock{color:var(--text);font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--ph-amethyst) 8%, transparent);border:1px solid var(--border);border-radius:var(--ph-radius-pill);align-items:center;gap:8px;margin-left:auto;padding:6px 14px;font-size:18px;font-weight:700;display:inline-flex}.wb-clock small{color:var(--purple-bright);font-size:12px}.wb-exit{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:var(--ph-radius);cursor:pointer;padding:8px 16px;font-size:14px;font-weight:700;transition:transform .14s ease-out,color .15s,border-color .15s}.wb-exit:hover{color:var(--text);border-color:var(--border-hi)}.wb-exit:active{transform:scale(.97)}.wb-auto{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:var(--ph-radius);cursor:pointer;padding:8px 14px;font-size:13px;font-weight:700;transition:transform .14s ease-out,color .15s,border-color .15s,background .15s}.wb-auto:hover{color:var(--text);border-color:var(--border-hi)}.wb-auto:active{transform:scale(.97)}.wb-auto.on{color:var(--purple-bright);border-color:var(--border-hi);background:color-mix(in srgb, var(--ph-amethyst) 14%, transparent)}.wb-score{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);flex-wrap:wrap;align-items:center;gap:22px;padding:20px 26px;display:flex;position:relative;overflow:hidden}.wb-score:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ph-heliotrope) 60%, transparent), transparent);height:2px;position:absolute;top:0;left:0;right:0}.wb-pct{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:68px;font-weight:700;line-height:1}.wb-pct small{color:var(--muted);margin-left:4px;font-size:30px;font-weight:700}.wb-score.ok .wb-pct{color:var(--ok)}.wb-score.warn .wb-pct{color:var(--warn)}.wb-score.crit .wb-pct{color:var(--crit)}.wb-score-meta{flex-direction:column;gap:4px;display:flex}.wb-score-meta b{letter-spacing:-.01em;font-size:20px;font-weight:700}.wb-score.ok .wb-score-meta b{color:var(--ok)}.wb-score.warn .wb-score-meta b{color:var(--warn)}.wb-score.crit .wb-score-meta b{color:var(--crit)}.wb-score-meta span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px}.wb-constel{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;max-width:58%;margin-left:auto;display:flex}.wb-dot{background:var(--muted);border-radius:50%;width:16px;height:16px}.wb-dot.ok{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb, var(--ok) 40%, transparent)}.wb-dot.warn{background:var(--warn)}.wb-dot.crit{background:var(--crit);animation:1.4s infinite const-pulse-crit}.wb-dot.nodata{background:var(--muted);opacity:.7}.wb-stats{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px;display:grid}.wb-stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);flex-direction:column;gap:3px;padding:16px 20px;display:flex;position:relative;overflow:hidden}.wb-stat:before{content:"";background:linear-gradient(var(--purple), var(--magenta));width:3px;position:absolute;inset:0 auto 0 0}.wb-stat.bad:before{background:var(--crit)}.wb-stat.alerta:before{background:var(--warn)}.wb-stat-label{color:var(--muted);font-size:13px;font-weight:600}.wb-stat-val{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:700}.wb-stat-val small{color:var(--muted);margin-left:3px;font-size:15px;font-weight:600}.wb-stat-sub{color:var(--purple-bright);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.wb-grid{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:14px;display:grid}.wb-tile{background:var(--panel);border:1px solid var(--border);border-left-width:4px;border-left-color:var(--ok);border-radius:var(--ph-radius);animation:.35s cubic-bezier(.23,1,.32,1) backwards card-in;animation-delay:calc(var(--i,0) * 30ms);padding:14px 16px}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}}.wb-tile.warn{border-left-color:var(--warn)}.wb-tile.crit{border-left-color:var(--crit)}.wb-tile.nodata{border-left-color:var(--muted)}.wb-tile-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.wb-tile-name{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:700;overflow:hidden}.wb-tdot{background:var(--ok);width:11px;height:11px;box-shadow:0 0 8px color-mix(in srgb, var(--ok) 50%, transparent);border-radius:50%;flex:none}.wb-tile.warn .wb-tdot{background:var(--warn);box-shadow:0 0 8px var(--warn)}.wb-tile.crit .wb-tdot{background:var(--crit);box-shadow:0 0 8px var(--crit);animation:1.4s infinite const-pulse-crit}.wb-tile.nodata .wb-tdot{background:var(--muted);box-shadow:none}.wb-tile-city{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 10px;font-size:12px;overflow:hidden}.wb-tile-metrics{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.wb-tile-lat{letter-spacing:-.02em;font-size:24px;font-weight:700}.wb-tile-lat small{color:var(--muted);margin-left:2px;font-size:12px;font-weight:600}.wb-tile-loss{color:var(--muted);font-size:13px;font-weight:700}.wb-tile.warn .wb-tile-loss{color:var(--warn)}.wb-tile.crit .wb-tile-loss,.wb-tile.nodata .wb-tile-loss{color:var(--crit)}.wb-spark{width:100%;margin:4px 0 10px;display:block}.wb-regions{flex-direction:column;gap:22px;display:flex}.wb-region{transition:opacity .45s}.wb-region.dim{opacity:.26}.wb-region.spot{opacity:1}.wb-region-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.wb-region-head h3{font-family:var(--ph-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--purple-bright);margin:0;font-size:13px;font-weight:600}.wb-region-dot{background:var(--ok);width:11px;height:11px;box-shadow:0 0 8px color-mix(in srgb, var(--ok) 50%, transparent);border-radius:50%;flex:none}.wb-region-dot.warn{background:var(--warn);box-shadow:0 0 8px var(--warn)}.wb-region-dot.crit{background:var(--crit);box-shadow:0 0 8px var(--crit)}.wb-region-dot.nodata{background:var(--muted);box-shadow:none}.wb-region-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}@media (width<=720px){.const-dots{border-left:none;flex-basis:100%;padding-left:0}.const-wallboard{margin-left:0}.wallboard{padding:16px 14px 28px}.wb-pct{font-size:52px}.wb-constel{max-width:100%;margin-left:0}.wb-grid{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr))}.wb-stats{grid-template-columns:1fr 1fr}}.fleet-map{margin:6px 0 2px;position:relative}.fmap-svg{touch-action:none;width:100%;height:auto;max-height:64vh;display:block;overflow:visible}.fmap-svg.zoomed{cursor:grab;overflow:hidden}.fmap-svg.zoomed:active{cursor:grabbing}.fleet-map.quieto .fmap-svg *{animation-play-state:paused}.fmap-web line,.fmap-web path{fill:none;stroke:color-mix(in srgb, var(--ph-amethyst) 17%, transparent);stroke-width:1px}.fmap-web .anillo-borde{stroke:color-mix(in srgb, var(--ph-amethyst) 26%, transparent)}.fleet-map3d{height:min(80vh,920px)}.f3d-titulo{pointer-events:none;max-width:380px;position:absolute;top:10px;left:12px}.f3d-titulo b{font-family:var(--ph-mono);letter-spacing:.18em;color:var(--text);font-size:12px;font-weight:700;display:block}.f3d-titulo>span{color:var(--muted);font-size:11px;display:block}.f3d-titulo .f3d-leyenda{flex-wrap:wrap;gap:3px 10px;margin-top:7px;font-size:10.5px;display:flex}.f3d-titulo .f3d-leyenda .fl-dot,.f3d-titulo .f3d-leyenda .fl-sq{width:7px;height:7px}.f3d-titulo .f3d-hint{opacity:.7;font-variant-numeric:tabular-nums;margin-top:4px;font-size:10px}.fleet-map3d canvas{border-radius:var(--ph-radius);display:block}.radar-esqueleto{flex-direction:column;justify-content:center;align-items:center;gap:14px;height:min(80vh,920px);display:flex}.radar-esqueleto svg{width:min(70%,620px);height:auto;overflow:visible}.radar-esqueleto ellipse{fill:none;stroke:var(--ph-amethyst);stroke-width:1px}.radar-esqueleto span{color:var(--muted);font-size:12.5px;font-weight:600}@media (prefers-reduced-motion:no-preference){.radar-esqueleto svg{animation:2.4s ease-in-out infinite radar-late}}@keyframes radar-late{0%,to{opacity:.5}50%{opacity:1}}.f3d-label{font-family:var(--ph-mono);color:var(--muted);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 0 4px var(--ph-void), 0 0 8px var(--ph-void), 0 1px 2px var(--ph-void);font-size:10px;font-weight:600}.f3d-central{letter-spacing:.16em;color:var(--text);opacity:.8;font-size:12px;font-weight:700}.f3d-sonda{text-align:center}.f3d-sonda b{color:var(--text);font-size:12.5px;display:block}.f3d-sonda span{font-family:var(--ph-sans);color:var(--muted);font-size:10px;font-weight:600}.f3d-tip{max-width:70%;font-family:var(--ph-mono);color:var(--text);background:color-mix(in srgb, var(--ph-card) 88%, transparent);border:1px solid var(--border-hi);border-radius:var(--ph-radius);pointer-events:none;padding:5px 10px;font-size:11px;position:absolute;bottom:42px;left:10px}.fmap-zoom{flex-direction:column;gap:4px;display:flex;position:absolute;top:8px;right:8px}.fmap-zoom button{background:color-mix(in srgb, var(--ph-card) 82%, transparent);border:1px solid var(--border);border-radius:var(--ph-radius);width:30px;height:30px;color:var(--muted);cursor:pointer;place-items:center;padding:0;font-size:15px;font-weight:700;display:grid}.fmap-zoom button:hover{color:var(--text);border-color:var(--border-hi)}.fmap-estrellas circle{fill:var(--ph-bone);opacity:.16;animation:7s ease-in-out infinite fmap-titila}@keyframes fmap-titila{0%,to{opacity:.06}50%{opacity:.3}}.fmap-hijolink{stroke:color-mix(in srgb, var(--ph-amethyst) 13%, transparent);stroke-width:1px}.fmap-hijolink.e-crit{stroke:color-mix(in srgb, var(--crit) 35%, transparent)}.fmap-hijolink.e-warn{stroke:color-mix(in srgb, var(--warn) 28%, transparent)}.fmap-hijolink.e-nodata{stroke:color-mix(in srgb, var(--ph-bone) 6%, transparent)}.fmap-hijolink.suelto{stroke-dasharray:2 4}.fmap-hijolink.activo{stroke-opacity:1}.fmap-hijo{cursor:pointer}.fmap-hijo.e-ok{color:var(--ok)}.fmap-hijo.e-warn{color:var(--warn)}.fmap-hijo.e-crit{color:var(--crit)}.fmap-hijo.e-nodata{color:var(--nodata)}.fmap-hijo-dot{fill:currentColor}.fmap-hijo.hover .fmap-hijo-dot{stroke:var(--text);stroke-width:1.5px}.fmap-hijo-alerta{fill:currentColor;opacity:.16;transform-box:fill-box;transform-origin:50%;animation:2.6s ease-out infinite fmap-latido}.fmap-hijo-label{fill:var(--muted);text-anchor:middle;font-size:9.5px;font-weight:600;font-family:var(--ph-mono);pointer-events:none}.fmap-hijo.hover .fmap-hijo-label{fill:var(--text)}.fmap-hijo-label,.fmap-node-label,.fmap-node-site,.fmap-core-label,.fmap-node-vacio{paint-order:stroke;stroke:var(--ph-void);stroke-width:3.5px;stroke-linejoin:round}.fmap-link{stroke-width:1.1px;stroke:color-mix(in srgb, var(--ph-amethyst) 16%, transparent)}.fmap-link.e-crit{stroke:color-mix(in srgb, var(--crit) 30%, transparent);stroke-dasharray:3 6}.fmap-link.e-warn{stroke:color-mix(in srgb, var(--warn) 26%, transparent)}.fmap-link.e-empty{stroke:color-mix(in srgb, var(--ph-bone) 5%, transparent);stroke-dasharray:2 8}.fmap-flujo{fill:none;stroke-linecap:round;stroke-dashoffset:0}.fmap-flujo.ida{stroke:var(--purple-bright);stroke-width:1.6px;stroke-dasharray:2 34;opacity:.6;animation:3.4s linear infinite fmap-flow-ida}@keyframes fmap-flow-ida{to{stroke-dashoffset:-36px}}.fmap-flujo.vuelta{stroke:var(--ok);stroke-width:2px;stroke-dasharray:3 15;opacity:.7;animation:2.1s linear infinite fmap-flow-vuelta}@keyframes fmap-flow-vuelta{to{stroke-dashoffset:18px}}.fmap-core-glow{transform-box:fill-box;transform-origin:50%;animation:4.5s ease-in-out infinite fmap-breathe}@keyframes fmap-breathe{0%,to{opacity:.75;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}.fmap-core-ring{fill:none;stroke:var(--purple-bright);stroke-width:1.6px;opacity:.55;stroke-dasharray:5 11;transform-box:fill-box;transform-origin:50%;animation:26s linear infinite fmap-spin}@keyframes fmap-spin{to{transform:rotate(360deg)}}.fmap-core-dot{fill:var(--purple-bright);filter:drop-shadow(0 0 10px color-mix(in srgb, var(--ph-heliotrope) 75%, transparent))}.fmap-core-label{fill:var(--text);letter-spacing:.16em;text-anchor:middle;opacity:.75;font-size:12px;font-weight:700}.fmap-node{cursor:pointer}.fmap-node.e-ok{color:var(--ok)}.fmap-node.e-warn{color:var(--warn)}.fmap-node.e-crit{color:var(--crit)}.fmap-node.e-sync{color:var(--purple-bright)}.fmap-node.e-pausa{color:var(--purple-bright);opacity:.6}.fmap-node.e-empty{color:var(--muted)}.fmap-node-halo{fill:currentColor;opacity:.1;transition:opacity .2s}.fmap-node-dot{fill:currentColor;stroke:color-mix(in srgb, var(--ph-void) 85%, transparent);stroke-width:1.5px}.fmap-node-pulso{fill:none;stroke:currentColor;stroke-width:1.4px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:3.4s ease-out infinite fmap-latido}.fmap-node.e-crit .fmap-node-pulso,.fmap-node.e-pausa .fmap-node-pulso{animation:none}@keyframes fmap-latido{0%{opacity:.5;transform:scale(1)}70%,to{opacity:0;transform:scale(2.3)}}.fmap-node.hover .fmap-node-halo,.fmap-node.activo .fmap-node-halo{opacity:.26}.fmap-node.activo .fmap-node-dot{stroke:var(--purple-bright);stroke-width:2.5px}.fmap-node-sel{fill:none;stroke:var(--purple-bright);stroke-width:2px;opacity:0;transition:opacity .15s}.fmap-node.activo .fmap-node-sel{opacity:.85}.fmap-node:focus,.fmap-node:focus-visible{outline:none}.fmap-node:focus-visible .fmap-node-sel{opacity:1;stroke-width:2.5px;stroke-dasharray:5 4}.fmap-node-vacio{fill:var(--muted);text-anchor:middle;font-size:11px;font-weight:700}.fmap-node-label{fill:var(--text);text-anchor:middle;font-size:11px;font-weight:700;font-family:var(--ph-mono);pointer-events:none}.fmap-node-label.vacia{font-family:var(--ph-sans);font-weight:600}.fmap-node-site{fill:var(--muted);text-anchor:middle;letter-spacing:.06em;pointer-events:none;font-size:9.5px;font-weight:600}.fmap-node.e-crit .fmap-node-label{fill:var(--crit)}.fmap-leyenda{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;margin:2px 0 10px;font-size:11.5px;display:flex}.fl-item{align-items:center;gap:6px;display:inline-flex}.fl-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.fl-dot.e-ok{background:var(--ok)}.fl-dot.e-warn{background:var(--warn)}.fl-dot.e-crit{background:var(--crit)}.fl-dot.e-sync{background:var(--purple-bright)}.fl-dot.e-nodata{background:var(--nodata)}.fl-sq{background:var(--ok);width:8px;height:8px;display:inline-block}.fl-hint{opacity:.75;font-variant-numeric:tabular-nums;margin-left:auto}.fmap-aviso{color:var(--muted);margin:6px 0 12px;font-size:12px;line-height:1.5}.fmap-aviso-btn{cursor:pointer;font:inherit;color:var(--purple-bright);background:0 0;border:0;padding:0;text-decoration:underline}.pozo-intro{color:var(--muted);max-width:760px;margin:14px 0 10px;font-size:13px;line-height:1.5}.pozo-intro b{color:var(--text)}.fleet-bar{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0 4px;display:flex}.fleet-resumen{flex-wrap:wrap;gap:18px;display:flex}.fr-item{flex-direction:column;min-width:0;display:flex}.fr-num{font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;line-height:1.1}.fr-num.bad{color:var(--crit)}.fr-num.alerta{color:var(--warn)}.fr-lbl{color:var(--muted);font-size:11px}.fleet-toggle{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);gap:2px;padding:3px;display:inline-flex}.fleet-toggle button{color:var(--muted);cursor:pointer;border-radius:var(--ph-radius);background:0 0;border:0;padding:5px 12px;font-size:12.5px;font-weight:700}.fleet-toggle button.on{background:color-mix(in srgb, var(--ph-amethyst) 16%, transparent);color:var(--text)}.fleet-toggle button:focus-visible{outline:2px solid var(--purple-bright);outline-offset:1px}.fleet-tabla{margin-top:14px}.ft-tools{align-items:center;gap:12px;margin-bottom:10px;display:flex}.ft-buscar{flex:0 340px;min-width:0}.ft-buscar input{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);width:100%;color:var(--text);font:inherit;padding:8px 12px;font-size:13px}.ft-buscar input::placeholder{color:var(--muted)}.ft-buscar input:focus-visible{outline:2px solid var(--purple-bright);outline-offset:2px}.ft-conteo{font-family:var(--ph-mono);color:var(--muted);font-size:11.5px}.ft-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow-x:auto}.ft-tabla{border-collapse:collapse;width:100%;font-size:13px}.ft-tabla thead th{z-index:2;background:var(--panel);border-bottom:1px solid var(--border);font-family:var(--ph-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ph-heliotrope);text-align:left;white-space:nowrap;padding:10px 14px;font-size:10px;font-weight:700;position:sticky;top:0}.ft-tabla th.ft-num,.ft-tabla td.ft-num{text-align:right}.ft-tabla tbody tr{border-top:1px solid var(--border)}.ft-tabla tbody tr:first-child{border-top:0}.ft-fila:hover{background:color-mix(in srgb, var(--ph-amethyst) 7%, transparent)}.ft-tabla td{vertical-align:middle;padding:10px 14px}.ft-tabla td.ft-c-empresa{min-width:200px}.ft-emp-cell{align-items:center;gap:10px;display:flex}.ft-emp{flex-direction:column;min-width:0;display:flex}.ft-emp b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.ft-emp small{color:var(--muted);font-size:11px}.ft-rename{background:var(--bg);border:1px solid var(--purple-bright);border-radius:var(--ph-radius);color:var(--text);font:inherit;width:100%;padding:2px 6px;font-size:13.5px;font-weight:700}.ft-sondas{flex-wrap:wrap;gap:6px;display:flex}.ft-sonda{background:color-mix(in srgb, var(--ph-bone) 3%, transparent);border:1px solid var(--border);border-radius:var(--ph-radius);align-items:center;gap:7px;padding:4px 6px 4px 8px;font-size:12px;display:inline-flex}.ft-sonda-dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 6px color-mix(in srgb, var(--ok) 60%, transparent);border-radius:50%;flex:none}.ft-sonda.crit{border-color:color-mix(in srgb, var(--crit) 45%, transparent)}.ft-sonda.crit .ft-sonda-dot{background:var(--crit);box-shadow:0 0 6px color-mix(in srgb, var(--crit) 60%, transparent)}.ft-sonda.warn .ft-sonda-dot{background:var(--warn);box-shadow:none}.ft-sonda b{font-size:12px;font-weight:700}.ft-sonda em{color:var(--muted);font-size:11px;font-style:normal}.ft-edad{color:var(--muted);font-size:11px}.ft-chip{font-family:var(--ph-mono);letter-spacing:.06em;border-radius:var(--ph-radius-pill);padding:1px 5px;font-size:9.5px;font-weight:700}.ft-chip.crit{background:color-mix(in srgb, var(--crit) 20%, transparent);color:var(--crit)}.ft-chip.warn{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn)}.ft-chip.sync{background:color-mix(in srgb, var(--ph-amethyst) 22%, transparent);color:var(--purple-bright)}.ft-chip.ver{color:var(--muted);cursor:default;background:0 0;padding:1px 3px;font-weight:400}.ft-chip.ver.desfasada{color:var(--purple-bright);font-weight:700}.ft-chip.nf,.fp-chip.nf{background:color-mix(in srgb, var(--muted) 18%, transparent);color:var(--muted);cursor:default;font-weight:700}.ft-chip.nf.ok,.fp-chip.nf.ok{background:color-mix(in srgb, var(--ok) 20%, transparent);color:var(--ok)}.ft-chip.nf.warn,.fp-chip.nf.warn{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--warn)}.tip{cursor:help}.tip:focus-visible{outline:2px solid var(--purple-bright);outline-offset:2px;border-radius:var(--ph-radius)}.tip-flotante{z-index:300;background:var(--ph-void,#14101c);width:max-content;max-width:320px;color:var(--text);border:1px solid color-mix(in srgb, var(--ph-amethyst) 55%, transparent);border-radius:var(--ph-radius);font-family:var(--ph-sans);letter-spacing:0;text-align:left;white-space:pre-line;pointer-events:none;padding:8px 11px;font-size:11.5px;font-weight:400;line-height:1.5;animation:.12s both tip-in;position:fixed;box-shadow:0 10px 26px #0009}@keyframes tip-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.tip-flotante{animation:none}}.ft-chip.vieja{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn)}.ft-x{color:var(--muted);cursor:pointer;border-radius:var(--ph-radius);background:0 0;border:0;padding:0 2px;font-size:12px;line-height:1}.ft-x:hover{color:var(--crit)}.ft-sin-sonda{color:var(--muted);font-size:12px;font-style:italic}.ft-tabla td.ft-num{white-space:nowrap;font-variant-numeric:tabular-nums}.ft-tabla td.ft-num small{font-family:var(--ph-sans);color:var(--muted);font-size:10.5px;font-weight:400;display:block}.ft-tabla td.ft-num.bad{color:var(--crit)}.ft-tabla td.ft-num.alerta{color:var(--warn)}.ft-c-acc{white-space:nowrap;width:1%}.ft-acciones{justify-content:flex-end;align-items:center;gap:6px;display:flex}.ft-acciones .btn-line.sm{white-space:nowrap;margin-top:0}.ft-menu-wrap{position:relative}.ft-menu-btn{border:1px solid var(--border);border-radius:var(--ph-radius);color:var(--muted);cursor:pointer;background:0 0;padding:4px 9px;font-size:15px;line-height:1}.ft-menu-btn:hover,.ft-menu-btn.on{color:var(--text);border-color:var(--border-hi)}.ft-menu{z-index:20;background:var(--card);border:1px solid var(--border-hi);border-radius:var(--ph-radius);min-width:186px;box-shadow:0 12px 32px color-mix(in srgb, var(--ph-void) 70%, transparent);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.ft-menu-item{color:var(--text);font:inherit;text-align:left;border-radius:var(--ph-radius);cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:12.5px}.ft-menu-item:hover{background:color-mix(in srgb, var(--ph-amethyst) 14%, transparent)}.ft-menu-item.danger{color:var(--crit)}.ft-menu-item.danger:hover{background:color-mix(in srgb, var(--crit) 14%, transparent)}.ft-vacio{color:var(--muted);text-align:center;padding:22px 16px;font-size:13px}@media (width<=900px){.ft-tabla th:nth-child(4),.ft-tabla td:nth-child(4),.ft-tabla th:nth-child(5),.ft-tabla td:nth-child(5),.ft-tabla th:nth-child(6),.ft-tabla td:nth-child(6){display:none}.ft-buscar{flex:auto}}.fleet-detalle{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);margin:4px 0 14px;padding:14px 16px}.fd-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.fd-name{font-size:15px;font-weight:700}.fd-site{color:var(--muted);font-size:12px}.fd-acciones{gap:8px;margin-left:auto;display:flex}.fd-vacio{color:var(--muted);font-size:13px}.fd-ok{color:var(--ok);font-size:11px;font-style:normal;font-weight:700}.fd-mal{color:var(--crit);font-size:11.5px;font-style:normal}.fd-tokens-head{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.fleet-card.compacta{margin:4px 0 14px}.env-bloque{background:var(--ph-void);border:1px solid var(--border);border-radius:var(--ph-radius);font-family:var(--ph-mono);color:var(--text);white-space:pre;max-height:240px;padding:12px;font-size:11.5px;overflow:auto}.env-aviso{color:var(--warn);align-items:flex-start;gap:6px;font-size:12px;display:flex}.fd-instalador{border:1px solid var(--border-hi);border-radius:var(--ph-radius);background:color-mix(in srgb, var(--ph-amethyst) 7%, transparent);gap:8px;margin-top:6px;padding:12px 14px;display:grid}.fd-instalador p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.fd-instalador .btn-line{justify-self:start}.btn-line.primary{background:color-mix(in srgb, var(--ph-viridian) 14%, transparent);border-color:color-mix(in srgb, var(--ph-viridian) 55%, transparent);color:var(--ph-viridian)}.btn-line.primary:hover{box-shadow:0 0 0 1px color-mix(in srgb, var(--ph-viridian) 45%, transparent)}.fd-separador{color:var(--muted);text-transform:none;align-items:center;gap:10px;margin:14px 0 2px;font-size:11.5px;display:flex}.fd-separador:before,.fd-separador:after{content:"";background:var(--border);flex:1;height:1px}.fd-inst-datos{gap:4px;font-size:12.5px;display:grid}.fd-inst-datos div{gap:10px;display:flex}.fd-inst-datos span{color:var(--muted);min-width:84px}.token-row{align-items:center;gap:6px;display:flex}.token-row input{min-width:0;font-family:var(--ph-mono);flex:1;font-size:11.5px}.btn-mini{background:color-mix(in srgb, var(--ph-amethyst) 14%, transparent);border:1px solid var(--border-hi);color:var(--text);border-radius:var(--ph-radius);cursor:pointer;white-space:nowrap;padding:6px 10px;font-size:11.5px;font-weight:700}.btn-mini:hover{box-shadow:var(--glow)}.layout.ph-grain>section{z-index:auto;position:static}[data-sonner-toaster]{font-family:var(--ph-sans);--normal-bg:var(--popover);--normal-border:var(--border-hi);--normal-text:var(--text);--success-bg:color-mix(in srgb, var(--ok) 16%, var(--ph-card));--success-border:color-mix(in srgb, var(--ok) 45%, transparent);--success-text:var(--ok);--warning-bg:color-mix(in srgb, var(--warn) 16%, var(--ph-card));--warning-border:color-mix(in srgb, var(--warn) 45%, transparent);--warning-text:var(--warn);--error-bg:color-mix(in srgb, var(--crit) 16%, var(--ph-card));--error-border:color-mix(in srgb, var(--crit) 45%, transparent);--error-text:var(--crit);--info-bg:color-mix(in srgb, var(--ph-heliotrope) 14%, var(--ph-card));--info-border:color-mix(in srgb, var(--ph-heliotrope) 45%, transparent);--info-text:var(--ph-heliotrope);--border-radius:var(--ph-radius)}.dlogo{color:var(--muted);flex:none}svg.dlogo{display:inline-block}.card:hover .dlogo,.wb-tile:hover .dlogo,.catpick-item:hover .dlogo,.tplchip:hover .dlogo,.dlogo.lit{color:var(--brand-c,var(--muted))}.card-logo{vertical-align:-2px;margin-right:7px}.wb-logo{margin-right:6px}.chart-logo{vertical-align:-3px;margin-right:7px}.detail-logo{vertical-align:-3px;margin-right:9px}.dlogo-flag{box-shadow:0 0 0 1px var(--border);border-radius:1px;line-height:0;display:inline-flex;overflow:hidden}.dlogo-flag svg{width:100%;height:100%;display:block}.dlogo-mono{font-family:var(--ph-mono);letter-spacing:0;border:1.2px solid;border-radius:50%;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.onboard-overlay{z-index:110;background:color-mix(in srgb, var(--ph-void) 62%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;animation:.15s ease-out confirm-fade;display:flex;position:fixed;inset:0}.onboard-card{background:var(--popover);border:1px solid var(--border-hi);border-radius:var(--ph-radius);width:min(94vw,700px);max-height:88vh;box-shadow:0 24px 70px color-mix(in srgb, var(--ph-void) 65%, transparent), 0 0 0 1px color-mix(in srgb, var(--ph-amethyst) 18%, transparent);flex-direction:column;padding:22px 24px;animation:.16s ease-out confirm-pop;display:flex}.onboard-intro{color:var(--text);opacity:.92;margin:10px 0 0;font-size:13px;line-height:1.6}.onboard-tpl{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tplchip{border:1px solid var(--border);border-radius:var(--ph-radius-pill);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.onboard-body{flex:auto;margin:6px -10px 0 0;padding-right:10px;overflow-y:auto}.onboard-foot{flex:none;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.catpick-cat{margin:16px 0 4px}.catpick-cat h4{color:var(--purple-bright);margin:0 0 2px;font-size:13px}.catpick-desc{color:var(--muted);margin:0 0 8px;font-size:12px;line-height:1.5}.catpick-grid{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:3px 10px;display:grid}.catpick-item{border-radius:var(--ph-radius);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;min-width:0;padding:5px 8px;font-size:13px;display:flex}.catpick-item:hover{background:color-mix(in srgb, var(--ph-amethyst) 8%, transparent)}.catpick-item.on{border-color:color-mix(in srgb, var(--ok) 45%, transparent);background:color-mix(in srgb, var(--ok) 7%, transparent)}.catpick-item.loaded{opacity:.55;cursor:default}.catpick-item input{accent-color:var(--ok);flex:none;margin:0}.catpick-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.catpick-tag{color:var(--muted);white-space:nowrap;border:1px solid var(--border);border-radius:var(--ph-radius-pill);padding:1px 6px;font-size:10px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.mtr-skel-row{opacity:1!important}}.ft-upd{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:2px 4px;font-size:13px;line-height:1}.ft-upd:hover{color:var(--purple-bright);background:color-mix(in srgb, var(--ph-amethyst) 16%, transparent)}.ft-upd:focus-visible{outline:2px solid var(--ph-heliotrope);outline-offset:1px}.av-modal{width:min(720px,100vw - 32px);max-width:720px}.av-cuerpo{flex-direction:column;gap:12px;display:flex}.av-intro{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.av-lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px}.av-lbl em{text-transform:none;letter-spacing:0;opacity:.8;font-style:normal}.av-err{color:var(--crit);margin:0;font-size:12.5px}.av-nota{color:var(--muted);margin:0;font-size:12px}.av-reparto{flex-wrap:wrap;gap:6px;display:flex}.av-rep{background:var(--popover);border:1px solid var(--border);border-radius:2px;align-items:baseline;gap:6px;padding:3px 8px;font-size:12px;display:inline-flex}.av-rep em{color:var(--muted);font-size:11px;font-style:normal}.av-grupo{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:10px;display:grid}.av-col{border:1px solid var(--border);background:var(--popover);border-radius:2px;padding:8px 10px}.av-col h4{margin:0 0 6px;font-size:12px;font-weight:600}.av-col.ok h4{color:var(--ok)}.av-col.bloq h4{color:var(--muted)}.av-col ul{flex-direction:column;gap:6px;max-height:190px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.av-col li{flex-direction:column;gap:1px;font-size:12px;display:flex}.av-col li em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.4}.av-col li .av-aviso{color:var(--warn)}.av-col .av-nada{color:var(--muted);font-size:11.5px}.av-acciones{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.vig{flex-direction:column;gap:12px;display:flex}.vig-vacio{max-width:74ch;color:var(--muted);margin:24px 0;font-size:13px;line-height:1.65}.vig-vacio b{color:var(--text)}.vig-hueco{background-image:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--ph-bone) 6%, transparent) 5px 6px)}.vig-barra{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.vig-estado{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.vig-estado i{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px}.vig-estado i.on{background:var(--ok);box-shadow:0 0 6px color-mix(in srgb, var(--ok) 60%, transparent)}.vig-estado b{color:var(--text);font-weight:600}.vig-barra-acc{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vig-toggle{border:1px solid var(--border);border-radius:2px;display:inline-flex;overflow:hidden}.vig-toggle button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:5px 11px;font-size:11.5px}.vig-toggle button:hover{color:var(--text);background:color-mix(in srgb, var(--ph-bone) 5%, transparent)}.vig-toggle button.on{background:var(--ph-amethyst);color:var(--ph-void);font-weight:600}.vig-franja{border:1px solid color-mix(in srgb, var(--crit) 38%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--crit) 15%, transparent), transparent 72%);border-left-width:3px;border-radius:2px;align-items:center;gap:14px;padding:12px 14px;display:flex}.vig-franja-chip{text-transform:uppercase;letter-spacing:.08em;color:var(--crit);border:1px solid color-mix(in srgb, var(--crit) 50%, transparent);white-space:nowrap;border-radius:100px;padding:3px 9px;font-size:10px;font-weight:700}.vig-franja-txt{flex-wrap:wrap;flex:1;align-items:baseline;gap:10px;font-size:13.5px;display:flex}.vig-franja-txt em{color:var(--muted);font-size:12px;font-style:normal}.vig-seg{color:var(--crit)}.vig-franja-n{color:var(--crit);font-weight:700}.vig-franja-mas{color:var(--muted);font-size:11.5px}.vig-top{grid-template-columns:1.25fr 1fr .58fr;align-items:stretch;gap:12px;display:grid}.vig-mid{grid-template-columns:1.5fr 1fr;align-items:stretch;gap:12px;display:grid}.vig-bot{grid-template-columns:repeat(3,minmax(min(260px,100%),1fr));align-items:stretch;gap:12px;display:grid}.vig-card{height:100%;margin:0}.vig-h{text-transform:uppercase;letter-spacing:.09em;color:var(--ph-heliotrope);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.vig-h.ok{color:var(--ok)}.vig-sub{color:var(--muted);margin:3px 0 0;font-size:11.5px}.vig-head{align-items:flex-start;gap:10px}.vig-tag{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:100px;padding:2px 8px;font-size:10px}.vig-tag.crit{color:var(--crit);border-color:color-mix(in srgb, var(--crit) 45%, transparent)}.vig-tag.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, transparent)}.vig-hero{flex-direction:column;gap:9px;display:flex}.vig-num-row{align-items:baseline;gap:14px;display:flex}.vig-num{letter-spacing:-.02em;font-size:clamp(44px,5.4vw,70px);font-weight:300;line-height:.95}.vig-num-lado{flex-direction:column;display:flex}.vig-num-lado b{color:var(--ph-heliotrope);font-size:20px;font-weight:600}.vig-num-lado em{color:var(--muted);font-size:11.5px;font-style:normal}.vig-progress{background:color-mix(in srgb, var(--ph-bone) 8%, transparent);border-radius:100px;height:6px;overflow:hidden}.vig-progress i{background:var(--ph-amethyst);height:100%;display:block}.vig-cob{color:var(--muted);border:1px solid var(--border);border-radius:2px;padding:7px 9px;font-size:11.5px;line-height:1.5}.vig-cob b,.vig-cob-lista{color:var(--text)}.vig-cob.completa{border-color:color-mix(in srgb, var(--ok) 28%, transparent)}.vig-cob.alerta{border-color:color-mix(in srgb, var(--warn) 45%, transparent);color:var(--warn)}.vig-cob.alerta b{color:var(--warn)}.vig-fix-num{color:var(--ok);margin:8px 0 2px;font-size:40px;font-weight:300;line-height:1}.vig-fix-num em{color:var(--muted);font-size:13px;font-style:normal}.vig-fix-que{font-size:17px;font-weight:600}.vig-fix-donde{color:var(--muted);font-size:14px;font-weight:400}.vig-fix-pct{color:var(--muted);margin:4px 0 10px;font-size:12px}.vig-fix-como{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.55}.vig-cifras{flex-direction:column;gap:12px;display:flex}.vig-cifra{border:1px solid var(--border);background:var(--panel);border-radius:2px;flex:1;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.vig-cifra span{color:var(--muted);font-size:11.5px}.vig-cifra b{font-size:22px;font-weight:400}.vig-cifra b.bad{color:var(--crit)}.vig-alc{margin-top:12px}.vig-alc-desde{color:var(--muted);align-items:center;gap:9px;margin-bottom:5px;font-size:12.5px;display:flex}.vig-alc-desde b{color:var(--text);font-size:13.5px}.vig-alc-fila{background:var(--popover);border:1px solid var(--border);border-left-width:3px;border-left-color:var(--border);border-radius:2px;align-items:center;gap:10px;margin-bottom:4px;padding:9px 11px;display:flex}.vig-alc-marca{display:none}.vig-alc-fila.grave{border-left-color:var(--crit);background:linear-gradient(90deg, color-mix(in srgb, var(--crit) 12%, transparent), transparent 60%)}.vig-alc-fila.aviso{border-left-color:var(--warn)}.vig-alc-fila.ok{border-left-color:color-mix(in srgb, var(--ph-amethyst) 60%, transparent)}.vig-alc-fila.nadie{border-left-color:color-mix(in srgb, var(--ph-bone) 18%, transparent)}.vig-alc-txt{flex:1;font-size:12.5px}.vig-alc-txt b{font-weight:600}.vig-alc-txt em{color:var(--muted);font-style:normal}.vig-alc-fila.grave .vig-alc-txt b{color:var(--crit)}.vig-alc-n{color:var(--muted);white-space:nowrap;font-size:12px}.vig-alc-n b{color:var(--text);font-size:16px;font-weight:600}.vig-alc-n.sinresp{text-transform:uppercase;letter-spacing:.06em;color:color-mix(in srgb, var(--ph-bone) 42%, transparent);font-size:10px;font-weight:700}.vig-alc-ver{text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;font-size:9.5px;font-weight:700}.vig-alc-fila.grave .vig-alc-ver{color:var(--crit)}.vig-alc-fila.aviso .vig-alc-ver{color:var(--warn)}.vig-alc-sin{border:1px dashed color-mix(in srgb, var(--ph-bone) 14%, transparent);border-radius:2px;margin-top:12px;padding:9px 11px}.vig-alc-sinfila{color:var(--muted);margin-top:3px;font-size:11.5px;line-height:1.5}.vig-alc-sinfila b{color:color-mix(in srgb, var(--ph-bone) 62%, transparent)}.vig-alc-sinfila em{font-style:normal}.vig-nomed-tag{text-transform:uppercase;letter-spacing:.07em;color:color-mix(in srgb, var(--ph-bone) 40%, transparent);margin-bottom:4px;font-size:9.5px;font-weight:700;display:block}.vig-nota{color:var(--muted);margin:9px 0 0;font-size:11.5px;line-height:1.55}.vig-nota.aviso{color:var(--warn)}.vig-ver{margin-left:8px}.vig-equipos{border-top:1px solid var(--border);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ph-amethyst) 55%, transparent) transparent;flex-direction:column;flex-basis:100%;gap:2px;max-height:210px;margin-top:6px;padding-top:6px;display:flex;overflow-y:auto}.vig-equipos::-webkit-scrollbar{width:8px}.vig-equipos::-webkit-scrollbar-track{background:color-mix(in srgb, var(--ph-bone) 4%, transparent);border-radius:100px}.vig-equipos::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ph-amethyst) 50%, transparent);border-radius:100px}.vig-equipos::-webkit-scrollbar-thumb:hover{background:var(--ph-amethyst)}.vig-eq{flex-wrap:wrap;align-items:baseline;gap:9px;font-size:11.5px;display:flex}.vig-eq b{color:var(--ph-heliotrope);font-weight:600}.vig-eq-mod{color:var(--muted)}.vig-eq-otros{color:color-mix(in srgb, var(--ph-bone) 42%, transparent);font-size:10.5px}.vig-bars{flex-direction:column;gap:5px;margin-top:9px;display:flex}.vig-bar{border:1px solid #0000;border-radius:2px;align-items:center;gap:9px;padding:8px 10px;display:flex;position:relative;overflow:hidden}.vig-bar-fill{z-index:0;background:color-mix(in srgb, var(--ph-amethyst) 22%, transparent);position:absolute;inset:0 auto 0 0}.vig-bar>:not(.vig-bar-fill){z-index:1;position:relative}.vig-bar-tit{white-space:nowrap;font-size:12.5px;font-weight:600}.vig-bar-sub{color:var(--muted);flex:1;font-size:11px}.vig-bar-n{font-variant-numeric:tabular-nums;margin-left:auto;font-size:16px;font-weight:600}.vig-bar.sinid{border-color:var(--border)}.vig-bar.sinid .vig-bar-tit,.vig-bar.sinid .vig-bar-n{color:color-mix(in srgb, var(--ph-bone) 42%, transparent)}.vig-lista{flex-direction:column;gap:5px;margin-top:9px;display:flex}.vig-fila{border:1px solid var(--border);background:var(--popover);border-radius:2px;flex-wrap:wrap;align-items:center;gap:9px;padding:8px 10px;display:flex}.vig-fila-tit{font-size:12.5px;font-weight:600}.vig-ident{color:var(--ph-heliotrope);font-weight:400}.vig-fila-sub{min-width:90px;color:var(--muted);flex:1;font-size:11px}.vig-fila-n{white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:16px;font-weight:600}.vig-fila-n em{color:var(--muted);font-size:11px;font-style:normal;font-weight:400}.vig-fila-n.bad{color:var(--crit)}.vig-fila-n.ok{text-transform:uppercase;letter-spacing:.05em;color:var(--ok);font-size:12px}.vig-fila-n.sinmed{text-transform:uppercase;letter-spacing:.07em;color:color-mix(in srgb, var(--ph-bone) 42%, transparent);font-size:10px;font-weight:700}.vig-fila-motivo{color:var(--muted);flex-basis:100%;font-size:11.5px;font-style:normal;line-height:1.5}.vig-fila-motivo.grave{color:color-mix(in srgb, var(--crit) 82%, var(--ph-bone))}.vig-fila.propio{opacity:.62}.vig-fila-motivo{color:var(--muted);flex-basis:100%;font-size:11px;line-height:1.5}.adm-btn.chico{padding:3px 8px;font-size:11px}.vig-plan{flex-direction:column;gap:9px;margin-top:10px;display:flex}.vig-paso{border:1px solid var(--border);background:var(--popover);border-left-width:3px;border-radius:2px;align-items:flex-start;gap:13px;padding:12px 13px;display:flex}.vig-paso.crit{border-left-color:var(--crit)}.vig-paso.warn{border-left-color:var(--warn)}.vig-paso-i{color:var(--muted);font-size:15px;font-weight:700}.vig-paso-cuerpo{flex:1}.vig-paso-tit{margin-bottom:3px;font-size:14px;font-weight:600}.vig-paso-cuerpo p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.vig-paso-n{text-align:right;white-space:nowrap}.vig-paso-n b{font-size:20px;font-weight:600;display:block}.vig-paso-n em{color:var(--muted);font-size:10.5px;font-style:normal}.ftth{flex-direction:column;gap:14px;display:flex}.ftth-kpis{grid-template-columns:repeat(auto-fit,minmax(min(128px,100%),1fr));gap:10px;display:grid}.ftth-kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);padding:12px 14px}.ftth-kpi .v{font-size:22px;font-weight:700}.ftth-kpi .l{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:10px}.ftth-kpi.ok .v{color:var(--ok)}.ftth-kpi.warn .v{color:var(--warn)}.ftth-kpi.crit .v{color:var(--crit)}.ftth-meta{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.ftth-trunc,.ftth-err{color:var(--warn);font-style:normal}.ftth-grid{grid-template-columns:minmax(min(420px,100%),1.6fr) minmax(min(300px,100%),1fr);align-items:start;gap:14px;display:grid}.ftth-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);padding:16px}.ftth-card h2{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 10px;font-size:15px;display:flex}.ftth-leyenda{color:var(--muted);flex-wrap:wrap;gap:12px;margin-bottom:10px;font-size:10.5px;display:flex}.ftth-leyenda .dot{vertical-align:middle;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.ftth-leyenda .dot.ok{background:var(--ok)}.ftth-leyenda .dot.baja{background:var(--warn)}.ftth-leyenda .dot.critica{background:var(--crit)}.ftth-leyenda .dot.off{background:color-mix(in srgb, var(--ph-bone) 28%, transparent)}.ftth-leyenda .dot.sindato{background:color-mix(in srgb, var(--ph-bone) 12%, transparent);border:1px solid var(--border)}.ftth-leyenda .dot.volteo{background:var(--ph-amethyst)}.ftth-buscar{background:color-mix(in srgb, var(--ph-void) 70%, transparent);border:1px solid var(--border);border-radius:var(--ph-radius);width:100%;color:var(--text);margin-bottom:12px;padding:8px 11px;font-size:13px}.ftth-buscar:focus{border-color:var(--ph-amethyst);outline:none}.ftth-slot-h{color:var(--ph-amethyst);margin:10px 0 6px;font-size:12px;font-weight:700}.ftth-puerto{margin:0 0 10px}.ftth-puerto-h{color:var(--muted);margin-bottom:5px;font-size:10.5px}.ftth-atraso{color:var(--warn);font-weight:600}.ftth-olt-h{letter-spacing:.08em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--border-hi);margin:10px 0 6px;padding-bottom:5px;font-size:11px}.ftth-onts{flex-wrap:wrap;gap:5px;display:flex}.ftth-ont{border-radius:var(--ph-radius);cursor:pointer;width:32px;height:32px;font:700 11px var(--ph-mono);border:1px solid var(--border);color:var(--text);background:0 0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.ftth-ont.ancha{width:auto;padding:0 9px;font-size:10.5px}.ftth-ont.ok{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.ftth-ont.baja{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.ftth-ont.critica{background:color-mix(in srgb, var(--crit) 16%, transparent);color:var(--crit);border-color:color-mix(in srgb, var(--crit) 50%, transparent)}.ftth-ont.off{color:color-mix(in srgb, var(--ph-bone) 38%, transparent)}.ftth-ont.sindato{color:color-mix(in srgb, var(--ph-bone) 55%, transparent);border-style:dashed}.ftth-ont.volteo:after{content:"";background:var(--ph-amethyst);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;right:-3px}.ftth-ont:hover:not(:disabled){border-color:var(--ph-heliotrope)}.ftth-ont:disabled{cursor:default}.ftth-sinonu{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.ftth-plist{flex-direction:column;gap:7px;max-height:64vh;display:flex;overflow:auto}.ftth-prow{text-align:left;background:color-mix(in srgb, var(--ph-void) 55%, transparent);border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:var(--ph-radius);cursor:pointer;color:var(--text);padding:8px 10px}.ftth-prow:hover{border-color:var(--ph-heliotrope);border-left-color:var(--warn)}.ftth-prow .acct{font-size:13px;font-weight:700}.ftth-prow .plan{color:var(--muted);font-size:11px;font-weight:400}.ftth-prow .why{color:var(--warn);margin-top:3px;font-size:11px}.ftth-prow .gp{color:var(--muted);margin-top:2px;font-size:10.5px}.ftth-ficha{background:var(--panel);border:1px solid var(--border);border-radius:var(--ph-radius);width:min(440px,92vw);max-height:86vh;padding:20px;position:relative;overflow:auto}.ftth-ficha h2{margin:0 0 2px;font-size:19px}.ftth-sub{color:var(--muted);margin-bottom:12px;font-size:11px}.ftth-cerrar{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:16px;position:absolute;top:10px;right:12px}.ftth-pills{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.ftth-pill{font:700 10px var(--ph-mono);letter-spacing:.05em;border-radius:100px;padding:3px 9px}.ftth-pill.ok{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok)}.ftth-pill.off{background:color-mix(in srgb, var(--crit) 15%, transparent);color:var(--crit)}.ftth-pill.sindato{background:color-mix(in srgb, var(--ph-bone) 9%, transparent);color:var(--muted)}.ftth-problemas{color:var(--crit);margin-bottom:10px;font-size:12px}.ftth-kv{border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;display:flex}.ftth-kv span{color:var(--muted)}.wrap-x{overflow-x:auto}.salud-tabla th,.salud-tabla td{white-space:nowrap}.salud-tabla td.warn{color:var(--warn);font-weight:700}.salud-tabla td.crit{color:var(--crit);font-weight:700}.salud-tabla tr.salud-off td{color:var(--muted)}.ftth-kpi.info .v{color:var(--text)}.salud-leyenda dl{grid-template-columns:max-content 1fr;align-items:baseline;gap:10px 18px;margin:0;display:grid}.salud-leyenda dt{font-weight:700}.salud-leyenda dd{color:var(--muted);margin:2px 0 0;font-size:13px;line-height:1.45}.sidebar-scrim{z-index:60;background:color-mix(in srgb, var(--ph-void) 60%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;border:0;padding:0;animation:.2s fade;display:none;position:fixed;inset:0}@media (width<=1180px){.vig-top{grid-template-columns:1fr 1fr}.vig-cifras{flex-direction:row;grid-column:1/-1}.vig-mid{grid-template-columns:1fr}}@media (width<=980px){.vig-top,.ftth-grid{grid-template-columns:1fr}.vig-num{font-size:clamp(40px,12vw,56px)}.main{padding:16px 16px 32px}.topbar{gap:10px 12px;margin-bottom:16px}.chart-head{flex-wrap:wrap;row-gap:4px}.chart-cur{flex-wrap:wrap;flex:0 auto;gap:10px;min-width:0}.chart-cur .cur{font-size:14px}.charts.lay-grid2{grid-template-columns:1fr}.fleet-map3d,.radar-esqueleto{height:min(70vh,720px)}}@media (width<=720px){.vig-cifras{flex-direction:column}.vig-bot{grid-template-columns:1fr}.vig-franja{flex-wrap:wrap;align-items:flex-start}.vig-alc-fila{flex-wrap:wrap;row-gap:3px}.vig-paso{flex-wrap:wrap}.vig-paso-n{text-align:left;margin-left:auto}.layout,.layout.collapsed{grid-template-columns:1fr}.sidebar{z-index:70;overscroll-behavior:contain;width:min(286px,86vw);height:100dvh;box-shadow:0 0 60px color-mix(in srgb, var(--ph-void) 82%, transparent);visibility:hidden;transition:transform .22s,visibility .22s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.layout:not(.collapsed) .sidebar{visibility:visible;transform:none}.sidebar-scrim{display:block}.charts,.charts.lay-grid2,.charts.lay-row,.charts.lay-hero{grid-template-columns:1fr}.lay-switch{margin-left:0}.main{padding:14px 12px 30px}.modal-backdrop{padding:10px}.modal{padding:16px 14px}.modal-title{font-size:17px}.site-select{flex:100%}.fleet-map3d,.fmap-svg,.radar-esqueleto{height:min(58vh,520px)}.fmap-svg{max-height:none}.stat-badges,.cards{gap:10px}.region h2{font-size:11px}.chart-title{white-space:normal;text-overflow:clip;overflow:visible}.range-arrow{min-width:38px;min-height:38px}.ranges button,.mr-pill{padding-top:7px;padding-bottom:7px}}@media (height<=820px){.nav-item{gap:10px;padding:8px 11px}.nav-fijo,.nav-resto{gap:3px}.nav-label{padding-top:10px}}@media (height<=700px){.nav-item{gap:9px;padding:6px 10px;font-size:13px}.nav-item svg{width:17px;height:17px}.nav-fijo,.nav-resto{gap:2px}.nav-label{padding-top:8px;font-size:10px}.sidebar{padding:14px 12px}.sidebar-foot{gap:3px;padding-top:8px}.help-btn{padding:7px 10px;font-size:12.5px}}@media (height<=600px){.nav-item{gap:8px;padding:5px 9px;font-size:12.5px}.nav-item svg{width:16px;height:16px}.brand{margin-bottom:10px}.help-btn{padding:6px 9px;font-size:12px}}.topbar-meta{flex-wrap:nowrap;align-items:center;gap:10px 14px;min-width:0;display:inline-flex}@media (width<=1440px){.topbar-meta{flex:1 0 100%}}.susp-velo{z-index:200;background:color-mix(in srgb, var(--ph-void) 72%, transparent);-webkit-backdrop-filter:blur(7px)saturate(.6);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.susp-card{text-align:center;background:var(--panel);border:1px solid var(--border-hi);border-radius:var(--ph-radius);max-width:460px;padding:30px 30px 26px;box-shadow:0 24px 70px #0000008c}.susp-icono{width:54px;height:54px;color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent);border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.susp-card h2{letter-spacing:-.02em;margin:0 0 12px;font-size:21px;font-weight:700}.susp-card p{color:var(--muted);margin:0 0 12px;font-size:13.5px;line-height:1.6}.susp-card p b{color:var(--text)}.susp-calma{background:color-mix(in srgb, var(--ok) 8%, transparent);border:1px solid color-mix(in srgb, var(--ok) 26%, transparent);border-radius:var(--ph-radius);padding:10px 14px}.susp-cta{color:var(--purple-bright);margin-top:18px;font-size:13px;font-weight:700}.susp-salir{border:1px solid var(--border);color:var(--muted);border-radius:var(--ph-radius);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:8px;margin:20px auto 0;padding:8px 16px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.susp-salir:hover{color:var(--text);border-color:var(--border-hi)}@media (prefers-reduced-motion:no-preference){.susp-card{animation:.32s cubic-bezier(.2,.9,.3,1) both susp-in}}@keyframes susp-in{0%{opacity:0;transform:translateY(14px)scale(.97)}}.ft-chip.pausa{background:color-mix(in srgb, var(--ph-heliotrope) 16%, transparent);border-color:color-mix(in srgb, var(--ph-heliotrope) 45%, transparent);color:var(--purple-bright);margin-left:8px}.fleet-card.pausa{border-color:color-mix(in srgb, var(--ph-heliotrope) 40%, transparent)}.fleet-dot.pausa{background:var(--purple-bright);box-shadow:none;opacity:.75}.mod-intro{z-index:40;pointer-events:none;background:var(--bg);animation:1.2s cubic-bezier(.23,1,.32,1) both mod-velo;position:absolute;inset:0;overflow:clip}.mod-intro-in{flex-direction:column;justify-content:center;align-items:center;height:100dvh;display:flex;position:sticky;top:0}.mod-intro-pop{text-align:center;animation:1.2s cubic-bezier(.23,1,.32,1) both intro-pop}.mod-intro-ico{width:74px;height:74px;color:var(--purple-bright);background:color-mix(in srgb, var(--ph-amethyst) 16%, transparent);border:1px solid color-mix(in srgb, var(--ph-heliotrope) 34%, transparent);box-shadow:0 0 44px color-mix(in srgb, var(--ph-amethyst) 30%, transparent);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.mod-intro-tit{font-family:var(--ph-display);letter-spacing:-.03em;background:linear-gradient(to bottom, var(--ph-bone), color-mix(in srgb, var(--ph-heliotrope) 35%, transparent));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(26px,3.4vw,40px);font-weight:700}.mod-intro-sub{color:var(--muted);margin-top:8px;font-size:13px;font-weight:600}@keyframes mod-velo{0%,55%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.mod-intro{display:none}}.fd-versión{border:1px solid var(--border);border-radius:var(--ph-radius);background:color-mix(in srgb, var(--ph-amethyst) 6%, transparent);flex-direction:column;gap:3px;padding:9px 11px;display:flex}.fd-versión .fd-lbl{color:var(--muted);font-size:11.5px}.fd-versión b{color:var(--text);font-size:13.5px}.fd-versión em{color:var(--muted);font-size:11px;font-style:normal}.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}
