@charset "UTF-8";@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url("./media/manrope-cyrillic-ext-400-normal-UXBYH35L.woff2") format("woff2"),url("./media/manrope-cyrillic-ext-400-normal-ZLYF3KUF.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url("./media/manrope-cyrillic-400-normal-DIDV2DUB.woff2") format("woff2"),url("./media/manrope-cyrillic-400-normal-SWQPRLGC.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url("./media/manrope-greek-400-normal-XQIFLEMI.woff2") format("woff2"),url("./media/manrope-greek-400-normal-TKO6AZTQ.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url("./media/manrope-vietnamese-400-normal-UJWPFEJR.woff2") format("woff2"),url("./media/manrope-vietnamese-400-normal-VEBSENWL.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url("./media/manrope-latin-ext-400-normal-6UMUPTQW.woff2") format("woff2"),url("./media/manrope-latin-ext-400-normal-LCV4HTWE.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url("./media/manrope-latin-400-normal-W2P7FH6Q.woff2") format("woff2"),url("./media/manrope-latin-400-normal-H43QQ5XW.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url("./media/manrope-cyrillic-ext-500-normal-SIXSSRWV.woff2") format("woff2"),url("./media/manrope-cyrillic-ext-500-normal-QYZIII3D.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url("./media/manrope-cyrillic-500-normal-VSJF34IZ.woff2") format("woff2"),url("./media/manrope-cyrillic-500-normal-2C2KN75V.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url("./media/manrope-greek-500-normal-B5CJLW4K.woff2") format("woff2"),url("./media/manrope-greek-500-normal-Z4WTRX66.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url("./media/manrope-vietnamese-500-normal-SISROSS7.woff2") format("woff2"),url("./media/manrope-vietnamese-500-normal-Q232PVVQ.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url("./media/manrope-latin-ext-500-normal-65SPXYJA.woff2") format("woff2"),url("./media/manrope-latin-ext-500-normal-47REQ2SK.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url("./media/manrope-latin-500-normal-CQ46M34Y.woff2") format("woff2"),url("./media/manrope-latin-500-normal-6DNEONPG.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-cyrillic-ext-600-normal-U5GECYOH.woff2") format("woff2"),url("./media/manrope-cyrillic-ext-600-normal-IVKQRYIO.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-cyrillic-600-normal-QS5BESSN.woff2") format("woff2"),url("./media/manrope-cyrillic-600-normal-2ZNMQ7MM.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-greek-600-normal-PLRTSMFC.woff2") format("woff2"),url("./media/manrope-greek-600-normal-NT4OH42D.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-vietnamese-600-normal-TP6N6ULK.woff2") format("woff2"),url("./media/manrope-vietnamese-600-normal-M2ZPYF2O.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-latin-ext-600-normal-CE2JFXTT.woff2") format("woff2"),url("./media/manrope-latin-ext-600-normal-YZEGJJZ5.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-latin-600-normal-55ATVHX7.woff2") format("woff2"),url("./media/manrope-latin-600-normal-XW3XBGN3.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-cyrillic-ext-700-normal-LJBM5ICA.woff2") format("woff2"),url("./media/manrope-cyrillic-ext-700-normal-5KNENMKG.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-cyrillic-700-normal-UOVYS47P.woff2") format("woff2"),url("./media/manrope-cyrillic-700-normal-G6GX7EQ7.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-greek-700-normal-CDMUANUE.woff2") format("woff2"),url("./media/manrope-greek-700-normal-7TUBUZJY.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-vietnamese-700-normal-BFHQAP4S.woff2") format("woff2"),url("./media/manrope-vietnamese-700-normal-BDCK3BKG.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-latin-ext-700-normal-ZRNEGYSR.woff2") format("woff2"),url("./media/manrope-latin-ext-700-normal-2THVGD2M.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-latin-700-normal-J7BHEPTZ.woff2") format("woff2"),url("./media/manrope-latin-700-normal-SE4WUS6C.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-cyrillic-ext-800-normal-JGAT7TJN.woff2") format("woff2"),url("./media/manrope-cyrillic-ext-800-normal-HZBD4HVI.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-cyrillic-800-normal-M7RM7SIJ.woff2") format("woff2"),url("./media/manrope-cyrillic-800-normal-NNOCM2MM.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-greek-800-normal-UJV4OFY6.woff2") format("woff2"),url("./media/manrope-greek-800-normal-PUI7DJWA.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-vietnamese-800-normal-GOGRNLWU.woff2") format("woff2"),url("./media/manrope-vietnamese-800-normal-MXHO6THS.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-latin-ext-800-normal-CW55OQTE.woff2") format("woff2"),url("./media/manrope-latin-ext-800-normal-ZDN6HMGG.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-latin-800-normal-CIONJRO4.woff2") format("woff2"),url("./media/manrope-latin-800-normal-YJC24PKF.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary-color: var(--p-primary-color);--primary-contrast-color: var(--p-primary-contrast-color);--text-color: var(--p-text-color);--text-color-secondary: var(--p-text-muted-color);--surface-border: var(--p-content-border-color);--surface-card: var(--p-content-background);--surface-hover: var(--p-content-hover-background);--surface-overlay: var(--p-overlay-popover-background);--transition-duration: var(--p-transition-duration);--maskbg: var(--p-mask-background);--content-border-radius: var(--p-content-border-radius);--layout-section-transition-duration: .2s;--element-transition-duration: var(--p-transition-duration);--focus-ring-width: var(--p-focus-ring-width);--focus-ring-style: var(--p-focus-ring-style);--focus-ring-color: var(--p-focus-ring-color);--focus-ring-offset: var(--p-focus-ring-offset);--focus-ring-shadow: var(--p-focus-ring-shadow)}:root{--nord0: #2E3440;--nord1: #3B4252;--nord2: #434C5E;--nord3: #4C566A;--nord4: #D8DEE9;--nord5: #E5E9F0;--nord6: #ECEFF4;--nord7: #8FBCBB;--nord8: #88C0D0;--nord9: #81A1C1;--nord10: #5E81AC;--nord11: #BF616A;--nord12: #D08770;--nord13: #EBCB8B;--nord14: #A3BE8C;--nord15: #B48EAD}:root{--surface-ground: var(--p-surface-300)}:root[class*=app-dark]{--surface-ground: var(--p-surface-950);--code-background: var(--p-surface-800);--code-color: var(--p-surface-100)}:root[class*=app-dark] .p-card{box-shadow:0 1px 3px #81a1c1bf,0 1px 2px -1px #0000001a}.preloader{position:fixed;z-index:999999;background:#edf1f5;width:100%;height:100%}.preloader-content{border:0 solid transparent;border-radius:50%;width:150px;height:150px;position:absolute;top:calc(50vh - 75px);left:calc(50vw - 75px)}.preloader-content:before,.preloader-content:after{content:"";border:1em solid var(--primary-color);border-radius:50%;width:inherit;height:inherit;position:absolute;top:0;left:0;animation:loader 2s linear infinite;opacity:0}.preloader-content:before{animation-delay:.5s}@keyframes loader{0%{transform:scale(0);opacity:0}50%{opacity:1}to{transform:scale(1);opacity:0}}html{height:100%;font-size:14px}body{font-family:Lato,sans-serif;color:var(--text-color);background-color:var(--surface-ground);margin:0;padding:0;min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.2}a{text-decoration:none}.layout-wrapper{min-height:100vh}.layout-main-container{display:flex;flex-direction:column;min-height:100vh;justify-content:space-between;padding:6rem 2rem 0;transition:margin-left var(--layout-section-transition-duration)}.layout-main{flex:1 1 auto;padding-bottom:2rem}img{max-width:none!important}.layout-topbar{position:fixed;height:4rem;z-index:997;left:0;top:0;width:100%;padding:0 2rem;background-color:var(--surface-card);transition:left var(--layout-section-transition-duration);display:flex;align-items:center}.layout-topbar .layout-topbar-logo-container{width:20rem;display:flex;align-items:center}.layout-topbar .layout-topbar-logo{display:inline-flex;align-items:center;font-size:1.5rem;border-radius:var(--content-border-radius);color:var(--text-color);font-weight:500;gap:.5rem}.layout-topbar .layout-topbar-logo svg{width:3rem}.layout-topbar .layout-topbar-logo:focus-visible{outline-width:var(--focus-ring-width);outline-style:var(--focus-ring-style);outline-color:var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-ring-shadow);transition:box-shadow var(--transition-duration),outline-color var(--transition-duration)}.layout-topbar .layout-topbar-action{display:inline-flex;justify-content:center;align-items:center;color:var(--text-color-secondary);border-radius:50%;width:2.5rem;height:2.5rem;color:var(--text-color);transition:background-color var(--element-transition-duration);cursor:pointer}.layout-topbar .layout-topbar-action:hover{background-color:var(--surface-hover)}.layout-topbar .layout-topbar-action:focus-visible{outline-width:var(--focus-ring-width);outline-style:var(--focus-ring-style);outline-color:var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-ring-shadow);transition:box-shadow var(--transition-duration),outline-color var(--transition-duration)}.layout-topbar .layout-topbar-action i{font-size:1.25rem}.layout-topbar .layout-topbar-action span{font-size:1rem;display:none}.layout-topbar .layout-topbar-action.layout-topbar-action-highlight{background-color:var(--primary-color);color:var(--primary-contrast-color)}.layout-topbar .layout-menu-button{margin-right:.5rem}.layout-topbar .layout-topbar-menu-button{display:none}.layout-topbar .layout-topbar-actions{margin-left:auto;display:flex;gap:1rem}.layout-topbar .layout-topbar-menu-content,.layout-topbar .layout-config-menu{display:flex;gap:1rem}@media(max-width:991px){.layout-topbar{padding:0 2rem}.layout-topbar .layout-topbar-logo-container{width:auto}.layout-topbar .layout-menu-button{margin-left:0;margin-right:.5rem}.layout-topbar .layout-topbar-menu-button{display:inline-flex}.layout-topbar .layout-topbar-menu{position:absolute;background-color:var(--surface-overlay);transform-origin:top;box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014;border-radius:var(--content-border-radius);padding:1rem;right:2rem;top:4rem;min-width:15rem;border:1px solid var(--surface-border)}.layout-topbar .layout-topbar-menu .layout-topbar-menu-content{gap:.5rem}.layout-topbar .layout-topbar-menu .layout-topbar-action{display:flex;width:100%;height:auto;justify-content:flex-start;border-radius:var(--content-border-radius);padding:.5rem 1rem}.layout-topbar .layout-topbar-menu .layout-topbar-action i{font-size:1rem;margin-right:.5rem}.layout-topbar .layout-topbar-menu .layout-topbar-action span{font-weight:medium;display:block}.layout-topbar .layout-topbar-menu-content{flex-direction:column}}.layout-sidebar{position:fixed;width:20rem;height:calc(100vh - 8rem);z-index:999;overflow-y:auto;-webkit-user-select:none;user-select:none;top:6rem;left:2rem;transition:transform var(--layout-section-transition-duration),left var(--layout-section-transition-duration);background-color:var(--surface-overlay);border-radius:var(--content-border-radius);padding:.5rem 1.5rem}.layout-menu{margin:0;padding:0;list-style-type:none}.layout-menu .layout-root-menuitem>.layout-menuitem-root-text{font-size:.857rem;text-transform:uppercase;font-weight:700;color:var(--text-color);margin:.75rem 0}.layout-menu .layout-root-menuitem>a{display:none}.layout-menu a{-webkit-user-select:none;user-select:none}.layout-menu a.active-menuitem>.layout-submenu-toggler{transform:rotate(-180deg)}.layout-menu li.active-menuitem>a .layout-submenu-toggler{transform:rotate(-180deg)}.layout-menu ul{margin:0;padding:0;list-style-type:none}.layout-menu ul a{display:flex;align-items:center;position:relative;outline:0 none;color:var(--text-color);cursor:pointer;padding:.75rem 1rem;border-radius:var(--content-border-radius);transition:background-color var(--element-transition-duration),box-shadow var(--element-transition-duration)}.layout-menu ul a .layout-menuitem-icon{margin-right:.5rem}.layout-menu ul a .layout-submenu-toggler{font-size:75%;margin-left:auto;transition:transform var(--element-transition-duration)}.layout-menu ul a.active-route{font-weight:700;color:var(--primary-color)}.layout-menu ul a:hover{background-color:var(--surface-hover)}.layout-menu ul a:focus{outline-offset:-1px;box-shadow:inset var(--focus-ring-shadow)}.layout-menu ul ul{overflow:hidden;border-radius:var(--content-border-radius)}.layout-menu ul ul li a{margin-left:1rem}.layout-menu ul ul li li a{margin-left:2rem}.layout-menu ul ul li li li a{margin-left:2.5rem}.layout-menu ul ul li li li li a{margin-left:3rem}.layout-menu ul ul li li li li li a{margin-left:3.5rem}.layout-menu ul ul li li li li li li a{margin-left:4rem}.layout-submenu-enter-from,.layout-submenu-leave-to{max-height:0}.layout-submenu-enter-to,.layout-submenu-leave-from{max-height:1000px}.layout-submenu-leave-active{overflow:hidden;transition:max-height .45s cubic-bezier(0,1,0,1)}.layout-submenu-enter-active{overflow:hidden;transition:max-height 1s ease-in-out}.layout-footer{display:flex;align-items:center;justify-content:center;padding:1rem 0;gap:.5rem;border-top:1px solid var(--surface-border)}@media screen and (min-width:1960px){.layout-main,.landing-wrapper{width:100%;margin-left:auto!important;margin-right:auto!important}}@media(min-width:992px){.layout-wrapper.layout-overlay .layout-main-container{margin-left:0;padding-left:2rem}.layout-wrapper.layout-overlay .layout-sidebar{transform:translate(-100%);left:0;top:0;height:100vh;border-top-left-radius:0;border-bottom-left-radius:0;border-right:1px solid var(--surface-border);transition:transform .4s cubic-bezier(.05,.74,.2,.99),left .4s cubic-bezier(.05,.74,.2,.99);box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014}.layout-wrapper.layout-overlay.layout-overlay-active .layout-sidebar{transform:translate(0)}.layout-wrapper.layout-static .layout-main-container{margin-left:22rem}.layout-wrapper.layout-static.layout-static-inactive .layout-sidebar{transform:translate(-100%);left:0}.layout-wrapper.layout-static.layout-static-inactive .layout-main-container{margin-left:0;padding-left:2rem}.layout-wrapper .layout-mask{display:none}}@media(max-width:991px){.blocked-scroll{overflow:hidden}.layout-wrapper .layout-main-container{margin-left:0;padding-left:2rem}.layout-wrapper .layout-sidebar{transform:translate(-100%);left:0;top:0;height:100vh;border-top-left-radius:0;border-bottom-left-radius:0;transition:transform .4s cubic-bezier(.05,.74,.2,.99),left .4s cubic-bezier(.05,.74,.2,.99)}.layout-wrapper .layout-mask{display:none;position:fixed;top:0;left:0;z-index:998;width:100%;height:100%;background-color:var(--maskbg)}.layout-wrapper.layout-mobile-active .layout-sidebar{transform:translate(0)}.layout-wrapper.layout-mobile-active .layout-mask{display:block}}.clearfix:after{content:" ";display:block;clear:both}.card{background:var(--surface-card);padding:2rem;margin-bottom:2rem;border-radius:var(--content-border-radius)}.card:last-child{margin-bottom:0}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:100px}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:700;line-height:1.5;color:var(--text-color)}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:var(--content-border-radius);font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-border);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}:root{--pl-font: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--pl-canvas: #dfe3ea;--pl-app: #eef1f5;--pl-surface: #ffffff;--pl-border: #e7eaf0;--pl-border-node: #e2e7ee;--pl-hairline: #eef1f5;--pl-card-shadow: 0 1px 2px rgba(15, 23, 42, .04);--pl-node-shadow: 0 1px 3px rgba(15, 23, 42, .06);--pl-text: #0f172a;--pl-text-2: #475569;--pl-muted: #64748b;--pl-faint: #94a3b8;--pl-green: #2f9e7f;--pl-green-deep: #2f7d52;--pl-blue: #3d6fd6;--pl-blue-deep: #2c5bb0;--pl-amber: #b5892f;--pl-peach: #e0883a;--pl-tile-green: #e9f5ee;--pl-tile-blue: #eaf1fb;--pl-tile-peach: #fdeee4;--pl-tile-amber: #f7f0df;--pl-live-bg: #e9f5ee;--pl-live-border: #cfe9da;--pl-pill-bg: #ffffff;--pl-menu-hover: #f1f4f8;--pl-menu-active-bg: #eef3ff;--pl-menu-active-text: #2563eb;--pl-topbar-control-bg: #fbfcfe;--pl-account-bg: #1e293b;--pl-account-text: #ffffff;--pl-logo-text: #ffffff;--nc-shadow: 0 4px 18px rgba(15, 23, 42, .06);--nc-shadow-hover: 0 10px 28px rgba(15, 23, 42, .13);--nc-tile-neutral: #f5f6f9;--nc-track: #eef0f4;--pl-chart-consumed: #3d6fd6;--pl-chart-produced: #7cb89a;--pl-chart-soc: #c79a3f;--pl-chart-grid: #eef1f5;--pl-chart-grid-base: #e2e7ee;--pl-chart-axis: #94a3b8;--pl-grid-inset: #fbfcfe;--pl-grid-hover: #f7f9fc;--pl-grid-sort: #cbd2dc;--pl-tile-neutral: #f1f4f8}:root.app-dark{--pl-canvas: #0e1622;--pl-app: #0e1622;--pl-aurora-canvas: #0a0f16;--pl-surface: #18222f;--pl-border: #28323f;--pl-border-node: #2b3645;--pl-hairline: #28323f;--pl-card-shadow: none;--pl-node-shadow: none;--pl-text: #e6ebf2;--pl-text-2: #8b97a8;--pl-muted: #8b97a8;--pl-faint: #5d6b7e;--pl-green: #2fae84;--pl-green-deep: #3cc796;--pl-blue: #5b8cf0;--pl-blue-deep: #7ba0f5;--pl-amber: #d8b063;--pl-peach: #e6a256;--pl-tile-green: rgba(47, 174, 132, .14);--pl-tile-blue: rgba(91, 140, 240, .14);--pl-tile-peach: rgba(224, 138, 58, .16);--pl-tile-amber: rgba(199, 154, 63, .16);--pl-live-bg: rgba(47, 174, 132, .14);--pl-live-border: rgba(47, 174, 132, .3);--pl-pill-bg: #1d2735;--pl-menu-hover: rgba(255, 255, 255, .04);--pl-menu-active-bg: rgba(91, 140, 240, .14);--pl-menu-active-text: #8fb0f7;--pl-topbar-control-bg: #16202e;--pl-account-bg: #2fae84;--pl-account-text: #0e1622;--pl-logo-text: #0e1622;--nc-shadow: 0 4px 18px rgba(0, 0, 0, .35);--nc-shadow-hover: 0 10px 28px rgba(0, 0, 0, .5);--nc-tile-neutral: rgba(255, 255, 255, .05);--nc-track: rgba(255, 255, 255, .1);--pl-chart-consumed: #5b8cf0;--pl-chart-produced: #54b890;--pl-chart-soc: #d8b063;--pl-chart-grid: #222c3a;--pl-chart-grid-base: #2b3645;--pl-chart-axis: #5d6b7e;--pl-grid-inset: #0e1622;--pl-grid-hover: #1d2735;--pl-grid-sort: #3a4658;--pl-tile-neutral: #222d3c}body,.layout-main-container,.layout-topbar,.layout-sidebar{font-family:var(--pl-font)}:root{--surface-ground: var(--pl-app);--p-checkbox-hover-border-color: var(--pl-green)}:root.app-dark .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box{background:var(--p-primary-color);border-color:var(--p-primary-color)}.layout-main-container,.layout-main{background:transparent;border:none;box-shadow:none;border-radius:0}.layout-sidebar{font-family:var(--pl-font);background-color:var(--pl-surface);border:1px solid var(--pl-border);padding:16px 14px}.layout-menu .layout-root-menuitem>.layout-menuitem-root-text{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pl-faint);margin:6px 0 8px;padding:0 10px}.layout-menu ul a{font-size:13.5px;font-weight:600;color:var(--pl-text-2);padding:9px 11px;border-radius:6px}.layout-menu ul a .layout-menuitem-icon{margin-right:11px}.layout-menu ul a .layout-menuitem-text{line-height:1.15}.layout-menu ul a:hover{background-color:var(--pl-menu-hover)}.layout-menu ul a.active-route{font-weight:700;color:var(--pl-menu-active-text);background-color:var(--pl-menu-active-bg)}.layout-menu ul ul{margin:2px 0 2px 18px;border-left:1px solid var(--pl-hairline);padding-left:8px}.layout-menu ul ul li a{margin-left:0;font-size:13px;font-weight:600;color:var(--pl-muted);padding:8px 10px}.layout-topbar{padding:0 22px;background-color:var(--pl-surface);border-bottom:1px solid var(--pl-border);font-family:var(--pl-font)}.layout-topbar .topbar-left{display:flex;align-items:center;gap:6px}.layout-topbar .app-logo{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--pl-text);cursor:pointer}.layout-topbar .app-logo:before{content:"P";width:22px;height:22px;border-radius:6px;background:var(--pl-green);color:var(--pl-logo-text);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.layout-topbar .layout-topbar-actions{align-items:center;gap:12px}.layout-topbar .lang-pill{height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--pl-border);border-radius:6px;background:var(--pl-topbar-control-bg);color:var(--pl-text-2);font-family:var(--pl-font);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.layout-topbar .lang-pill i{font-size:11px;color:var(--pl-faint)}.layout-topbar .lang-pill:hover{background:var(--pl-menu-hover);border-color:var(--pl-green);color:var(--pl-green-deep)}.layout-topbar .lang-pill:hover i{color:var(--pl-green)}.layout-topbar .layout-topbar-actions>.btn-icon .p-button{width:34px;height:34px;border:1px solid var(--pl-border);border-radius:6px;background:var(--pl-topbar-control-bg);color:var(--pl-muted);box-shadow:none}.layout-topbar .layout-topbar-actions>.btn-icon .p-button:hover{background:var(--pl-menu-hover);border-color:var(--pl-green);color:var(--pl-green-deep)}.layout-topbar .layout-topbar-actions>button.p-button{height:34px;padding:0 14px;gap:7px;background:var(--pl-account-bg);border:1px solid var(--pl-account-bg);color:var(--pl-account-text);border-radius:6px;font-size:13px;font-weight:600;box-shadow:none}.layout-topbar .layout-topbar-actions>button.p-button .p-button-icon{font-size:11px;opacity:.7}.layout-topbar .layout-topbar-actions>button.p-button:hover{filter:brightness(1.08);border-color:var(--pl-green)}.layout-topbar .mobile-only,.layout-topbar .lang-pill-globe{display:none}@media(max-width:991px){.layout-topbar{height:52px;padding:0 14px}.layout-topbar .desktop-only{display:none!important}.layout-topbar .mobile-only{display:inline-flex!important}.layout-topbar .layout-topbar-actions{gap:8px}.layout-topbar .lang-pill{padding:0 10px;gap:0}.layout-topbar .lang-pill-globe{display:inline-flex;font-size:14px;color:var(--pl-muted)}.layout-topbar .lang-pill-text,.layout-topbar .lang-pill-caret{display:none}.layout-main-container{padding-top:4.25rem}}.pl-grid{font-family:var(--pl-font)}.pl-grid .p-card{background:var(--pl-surface);border:1px solid var(--pl-border);border-radius:10px;box-shadow:var(--pl-card-shadow);color:var(--pl-text-2)}.pl-grid .p-card-body{padding:0;gap:0}.pl-grid .p-card-caption,.pl-grid .p-card-content{padding:0}.pl-grid .p-card-title{padding:0;margin:0;font-size:inherit;font-weight:inherit}.pl-grid .p-card-title>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 16px}.pl-grid .p-card-title .text-xl{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--pl-text)}.pl-grid .p-card-title .p-button.p-button-text{width:36px;height:36px;padding:0;background:var(--pl-grid-inset);border:1px solid var(--pl-border);border-radius:8px;color:var(--pl-muted);box-shadow:none}.pl-grid .p-card-title .p-button.p-button-text:hover:not(:disabled){filter:brightness(.98);color:var(--pl-text-2)}.pl-grid .p-card-title .p-button.p-button-text:disabled{opacity:.45}.pl-grid .p-card-title .p-button:not(.p-button-text){height:36px;padding:0 16px;background:var(--pl-green);border:1px solid var(--pl-green);border-radius:8px;color:#fff;font-size:13.5px;font-weight:600;box-shadow:none}.pl-grid .p-card-title .p-button:not(.p-button-text):hover{filter:brightness(1.06)}:root.app-dark .pl-grid .p-card-title .p-button:not(.p-button-text){color:#0e1622}.pl-grid .p-datatable{background:transparent}.pl-grid .p-datatable-table-container{border:none}.pl-grid .p-datatable-thead>tr>th{background:transparent;border:none;padding:0 10px 10px;font-size:13px;font-weight:600;color:var(--pl-text-2);white-space:nowrap}.pl-grid .p-datatable-thead>tr>th:first-child{padding-left:22px}.pl-grid .p-datatable-thead>tr>th:last-child{padding-right:22px}.pl-grid .p-datatable-sort-icon{color:var(--pl-grid-sort);width:13px;height:13px}.pl-grid .p-datatable-column-sorted .p-datatable-sort-icon{color:var(--pl-muted)}.pl-grid .p-datatable-thead>tr+tr>th{padding:0 6px 14px;border-bottom:1px solid var(--pl-hairline)}.pl-grid .p-datatable-thead>tr+tr>th:first-child{padding-left:22px}.pl-grid .p-datatable-thead>tr+tr>th:last-child{padding-right:22px}.pl-grid .p-datatable-thead .p-inputtext,.pl-grid .p-datatable-thead .p-select{width:100%;height:38px;min-height:38px;background:var(--pl-grid-inset);border:1px solid var(--pl-border);border-radius:8px;color:var(--pl-text);font-size:13px;box-shadow:none}.pl-grid .p-datatable-thead .p-inputtext::placeholder{color:var(--pl-faint)}.pl-grid .p-datatable-thead .p-select{display:flex;align-items:center}.pl-grid .p-datatable-thead .p-select-label{padding:0 12px;color:var(--pl-text);display:flex;align-items:center}.pl-grid .p-datatable-thead .p-select-label.p-placeholder{color:var(--pl-faint)}.pl-grid .p-datatable-thead .p-select-dropdown{color:var(--pl-faint);width:2rem}.pl-grid .p-datatable-tbody>tr{background:transparent;transition:background .12s ease}.pl-grid .p-datatable-tbody>tr:hover{background:var(--pl-grid-hover)}.pl-grid .p-datatable-tbody>tr>td{border:none;border-top:1px solid var(--pl-hairline);height:62px;padding:0 10px;font-size:14px;color:var(--pl-text-2);font-variant-numeric:tabular-nums}.pl-grid .p-datatable-tbody>tr>td:first-child{padding-left:22px;font-weight:600;color:var(--pl-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.pl-grid.pl-grid--first-fit .p-datatable-tbody>tr>td:first-child{max-width:none;overflow:visible;text-overflow:clip}.pl-grid .p-datatable-tbody>tr>td:last-child{padding-right:22px}.pl-grid .p-datatable-empty-message>td{color:var(--pl-muted);padding:18px 22px;border-top:1px solid var(--pl-hairline)}.pl-grid .pl-grid-empty{color:var(--pl-faint)}.pl-grid .pl-pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.pl-grid .pl-pill .pl-pill-dot{width:6px;height:6px;border-radius:50%}.pl-grid .pl-pill--neutral{background:#eef2f8;border-color:#dde5f0;color:#5a6b86}.pl-grid .pl-pill--neutral .pl-pill-dot{background:#8aa0c8}.pl-grid .pl-pill--green{background:#e7f4ee;border-color:#cfe7da;color:#2f7d52}.pl-grid .pl-pill--green .pl-pill-dot{background:#2f9e7f}.pl-grid .pl-pill--amber{background:#f7f0df;border-color:#ecdfbf;color:#8a6a1f}.pl-grid .pl-pill--amber .pl-pill-dot{background:#c79a3f}.pl-grid .pl-pill--red{background:#fbe9e9;border-color:#f1cfcf;color:#a33a3a}.pl-grid .pl-pill--red .pl-pill-dot{background:#d44a4a}.pl-grid .p-splitbutton{box-shadow:none}.pl-grid .p-splitbutton-button{height:34px;padding:0 13px;gap:7px;background:var(--pl-surface);border:1px solid var(--pl-border);border-right:none;border-radius:8px 0 0 8px;color:var(--pl-text-2);font-size:13px;font-weight:600;box-shadow:none}.pl-grid .p-splitbutton-button:hover{background:var(--pl-grid-hover);color:var(--pl-text)}.pl-grid .p-splitbutton-dropdown{width:32px;height:34px;background:var(--pl-surface);border:1px solid var(--pl-border);border-radius:0 8px 8px 0;color:var(--pl-faint);box-shadow:none}.pl-grid .p-splitbutton-dropdown:hover{background:var(--pl-grid-hover)}.pl-grid .p-paginator{background:transparent;border:none;border-top:1px solid var(--pl-hairline);padding:14px;justify-content:center;gap:4px;color:var(--pl-muted)}.pl-grid .p-paginator .p-paginator-page,.pl-grid .p-paginator .p-paginator-first,.pl-grid .p-paginator .p-paginator-prev,.pl-grid .p-paginator .p-paginator-next,.pl-grid .p-paginator .p-paginator-last{min-width:34px;height:34px;border-radius:999px;color:var(--pl-muted);font-weight:600;background:transparent;border:none}.pl-grid .p-paginator .p-paginator-first,.pl-grid .p-paginator .p-paginator-prev,.pl-grid .p-paginator .p-paginator-next,.pl-grid .p-paginator .p-paginator-last{color:var(--pl-faint)}.pl-grid .p-paginator .p-paginator-page.p-paginator-page-selected{background:var(--pl-green);color:#fff;font-weight:700}:root.app-dark .pl-grid .p-paginator .p-paginator-page.p-paginator-page-selected{color:#0e1622}.pl-grid .p-paginator .p-paginator-rpp-dropdown{height:34px;background:var(--pl-grid-inset);border:1px solid var(--pl-border);border-radius:8px;color:var(--pl-muted);box-shadow:none}@media(max-width:768px){.pl-grid .p-datatable-table{display:block}.pl-grid .p-datatable-thead{display:none}.pl-grid .p-datatable-tbody{display:block}.pl-grid .p-datatable-tbody>tr{display:block;border:1px solid var(--pl-border);border-radius:10px;margin-bottom:10px;padding:4px 12px}.pl-grid .p-datatable-tbody>tr>td{display:flex;align-items:center;justify-content:space-between;gap:12px;height:auto;border:none;padding:8px 0;text-align:right}.pl-grid .p-datatable-tbody>tr>td:before{content:attr(data-label);flex:none;color:var(--pl-faint);font-weight:600;font-size:12px;text-align:left}.pl-grid .p-datatable-tbody>tr>td:first-child{padding-left:0;max-width:none;white-space:normal;overflow:visible}.pl-grid .p-datatable-tbody>tr>td:last-child{padding-right:0}.pl-grid .p-datatable-tbody>tr>td.pl-grid-actions{justify-content:flex-end;padding-top:10px}.pl-grid .p-datatable-tbody>tr>td.pl-grid-actions:before{content:none}.pl-grid .p-datatable-tbody>tr>td.pl-grid-actions .p-splitbutton{width:100%}.pl-grid .p-datatable-empty-message>td{display:block;text-align:center}.pl-grid .p-datatable-empty-message>td:before{content:none}}:root.app-dark .pl-grid .pl-pill--neutral{background:#5b8cf021;border-color:#5b8cf047;color:#8fb0f7}:root.app-dark .pl-grid .pl-pill--neutral .pl-pill-dot{background:#5b8cf0}:root.app-dark .pl-grid .pl-pill--green{background:#2fae8424;border-color:#2fae844d;color:#4dc89c}:root.app-dark .pl-grid .pl-pill--green .pl-pill-dot{background:#2fae84}:root.app-dark .pl-grid .pl-pill--amber{background:#c79a3f29;border-color:#c79a3f52;color:#d8b063}:root.app-dark .pl-grid .pl-pill--amber .pl-pill-dot{background:#c79a3f}:root.app-dark .pl-grid .pl-pill--red{background:#d44a4a29;border-color:#d44a4a52;color:#e08585}:root.app-dark .pl-grid .pl-pill--red .pl-pill-dot{background:#d44a4a}.signal-viewer-dialog{font-family:var(--pl-font);border:1px solid var(--pl-border);border-radius:16px;box-shadow:0 40px 90px -30px #0f172a8c;background:var(--pl-surface);color:var(--pl-text);overflow:hidden}.signal-viewer-dialog .p-dialog-header{padding:18px 22px;background:var(--pl-surface);border-bottom:1px solid var(--pl-hairline)}.signal-viewer-dialog .p-dialog-title{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--pl-text);display:inline-flex;align-items:center}.signal-viewer-dialog .p-dialog-title:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--pl-green);margin-right:11px;flex:none}.signal-viewer-dialog .p-dialog-close-button{width:36px;height:36px;border:1px solid var(--pl-border);border-radius:8px;background:var(--pl-grid-inset);color:var(--pl-muted);box-shadow:none}.signal-viewer-dialog .p-dialog-close-button:hover{background:var(--pl-menu-hover);color:var(--pl-text-2)}.signal-viewer-dialog .p-dialog-content{padding:0;background:var(--pl-surface);overflow:hidden}.signal-viewer-dialog .sv-body{display:flex;align-items:stretch;min-height:0;height:72vh;max-height:760px}.signal-viewer-dialog .sv-chart{flex:1;min-width:0;display:flex;flex-direction:column;padding:10px 22px 18px}.signal-viewer-dialog .sv-chart app-timeseries-chart{flex:1;min-height:0;display:block}.signal-viewer-dialog .sv-list{flex:none;width:30%;min-width:260px;max-width:420px;border-left:1px solid var(--pl-hairline);background:var(--pl-surface);display:flex;flex-direction:column;overflow:hidden}.signal-viewer-dialog .sv-search{flex:none;display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid var(--pl-hairline)}.signal-viewer-dialog .sv-search i{color:var(--pl-faint);font-size:13px}.signal-viewer-dialog .sv-search input{flex:1;min-width:0;height:36px;padding:0 12px;border:1px solid var(--pl-border);border-radius:8px;background:var(--pl-grid-inset);color:var(--pl-text);font-family:var(--pl-font);font-size:13px;box-shadow:none}.signal-viewer-dialog .sv-search input::placeholder{color:var(--pl-faint)}.signal-viewer-dialog .sv-count{flex:none;padding:6px 14px;border-bottom:1px solid var(--pl-hairline);color:var(--pl-faint);font-family:var(--pl-font);font-size:12px}.signal-viewer-dialog .sv-count.sv-count--max{color:var(--pl-text);font-weight:600}.signal-viewer-dialog .sv-list p-table{flex:1;min-height:0;overflow:auto;display:block}.signal-viewer-dialog .sv-table .p-datatable-thead>tr>th{position:sticky;top:0;z-index:1;background:var(--pl-surface);border:none;border-bottom:1px solid var(--pl-hairline);padding:14px 16px;font-size:13px;font-weight:700;color:var(--pl-text-2);white-space:nowrap}.signal-viewer-dialog .sv-table .p-datatable-tbody>tr{background:transparent;transition:background .12s ease}.signal-viewer-dialog .sv-table .p-datatable-tbody>tr>td{border:none;border-top:1px solid var(--pl-hairline);height:54px;padding:0 16px;font-size:13.5px;color:var(--pl-text-2)}.signal-viewer-dialog .sv-table .sv-agg{color:var(--pl-muted);font-weight:500}.signal-viewer-dialog .sv-table .sv-name{color:var(--pl-text);font-weight:500}.signal-viewer-dialog .sv-table .p-datatable-tbody>tr:hover{background:var(--pl-grid-hover)}.signal-viewer-dialog .sv-table .p-datatable-tbody>tr.p-datatable-row-selected{background:var(--pl-tile-green)}.signal-viewer-dialog .sv-table .p-datatable-tbody>tr.p-datatable-row-selected .sv-name{font-weight:600}.signal-viewer-dialog .sv-table .p-checkbox-checked .p-checkbox-box{background:var(--pl-green);border-color:var(--pl-green)}@media(max-width:960px){.signal-viewer-dialog .sv-body{height:auto;max-height:none;flex-direction:column}.signal-viewer-dialog .sv-list{width:auto;max-width:none;border-left:none;border-top:1px solid var(--pl-hairline)}}.signal-viewer-dialog .apexcharts-toolbar{align-items:center;gap:2px}.signal-viewer-dialog .apexcharts-toolbar .apexcharts-menu-icon,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-reset-icon,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoom-icon,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomin-icon,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomout-icon,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-pan-icon,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-selection-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;margin:0;border-radius:7px;transition:background .12s ease}.signal-viewer-dialog .apexcharts-toolbar .apexcharts-menu-icon svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-reset-icon svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoom-icon svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomin-icon svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomout-icon svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-pan-icon svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-selection-icon svg{width:17px;height:17px;fill:var(--pl-muted);transition:fill .12s ease}.signal-viewer-dialog .apexcharts-toolbar .apexcharts-menu-icon:hover,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-reset-icon:hover,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoom-icon:hover,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomin-icon:hover,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomout-icon:hover,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-pan-icon:hover,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-selection-icon:hover{background:var(--pl-menu-hover)}.signal-viewer-dialog .apexcharts-toolbar .apexcharts-menu-icon:hover svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-reset-icon:hover svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoom-icon:hover svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomin-icon:hover svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomout-icon:hover svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-pan-icon:hover svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-selection-icon:hover svg{fill:var(--pl-text-2)}.signal-viewer-dialog .apexcharts-toolbar .apexcharts-menu-icon.apexcharts-selected,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-reset-icon.apexcharts-selected,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoom-icon.apexcharts-selected,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomin-icon.apexcharts-selected,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomout-icon.apexcharts-selected,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-pan-icon.apexcharts-selected,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-selection-icon.apexcharts-selected{background:var(--pl-tile-green)}.signal-viewer-dialog .apexcharts-toolbar .apexcharts-menu-icon.apexcharts-selected svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-reset-icon.apexcharts-selected svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoom-icon.apexcharts-selected svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomin-icon.apexcharts-selected svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-zoomout-icon.apexcharts-selected svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-pan-icon.apexcharts-selected svg,.signal-viewer-dialog .apexcharts-toolbar .apexcharts-selection-icon.apexcharts-selected svg{fill:var(--pl-green)}.signal-viewer-dialog--mobile .p-dialog-content{padding:14px 16px 16px}.signal-viewer-dialog--mobile .svm-body{display:flex;flex-direction:column;gap:12px}.signal-viewer-dialog--mobile .svm-toolbar{display:flex}.signal-viewer-dialog--mobile .svm-menu-btn{flex:1;display:flex;align-items:center;gap:9px;height:40px;padding:0 13px;border:1px solid var(--pl-border);border-radius:9px;background:var(--pl-grid-inset);color:var(--pl-text-2);font-family:var(--pl-font);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.signal-viewer-dialog--mobile .svm-menu-btn .svm-menu-label{flex:1;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signal-viewer-dialog--mobile .svm-menu-btn .pi-bars{color:var(--pl-muted);font-size:14px}.signal-viewer-dialog--mobile .svm-menu-btn .pi-chevron-down,.signal-viewer-dialog--mobile .svm-menu-btn .pi-chevron-up{color:var(--pl-faint);font-size:11px}.signal-viewer-dialog--mobile .svm-menu-btn:hover{border-color:var(--pl-green)}.signal-viewer-dialog--mobile .svm-menu-btn.svm-menu-btn--active{border-color:var(--pl-green);background:var(--pl-tile-green);color:var(--pl-green)}.signal-viewer-dialog--mobile .svm-menu-btn.svm-menu-btn--active .pi-bars,.signal-viewer-dialog--mobile .svm-menu-btn.svm-menu-btn--active .pi-chevron-up{color:var(--pl-green)}.signal-viewer-dialog--mobile .svm-chart{height:46vh;min-height:280px}.signal-viewer-dialog--mobile .svm-chart app-timeseries-chart{display:block;height:100%}.signal-viewer-dialog--mobile .svm-empty{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--pl-faint);font-size:13px}.signal-viewer-dialog--mobile .svm-hint{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--pl-faint);font-size:11px;font-weight:500}.signal-viewer-dialog--mobile .svm-hint .pi{font-size:12px}.svm-popover.p-popover{font-family:var(--pl-font)}.svm-popover.p-popover .p-popover-content{padding:0}.svm-popover.p-popover .svm-pop{width:300px;max-width:86vw;display:flex;flex-direction:column;overflow:hidden}.svm-popover.p-popover .sv-search{flex:none;display:flex;align-items:center;gap:9px;padding:11px 12px;border-bottom:1px solid var(--pl-hairline)}.svm-popover.p-popover .sv-search i{color:var(--pl-faint);font-size:13px}.svm-popover.p-popover .sv-search input{flex:1;min-width:0;height:36px;padding:0 12px;border:1px solid var(--pl-border);border-radius:8px;background:var(--pl-grid-inset);color:var(--pl-text);font-family:var(--pl-font);font-size:16px;box-shadow:none}.svm-popover.p-popover .sv-search input::placeholder{color:var(--pl-faint)}.svm-popover.p-popover .sv-count{flex:none;padding:6px 12px;border-bottom:1px solid var(--pl-hairline);color:var(--pl-faint);font-size:11.5px}.svm-popover.p-popover .sv-count.sv-count--max{color:var(--pl-text);font-weight:600}.svm-popover.p-popover .svm-list{max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px;display:flex;flex-direction:column;gap:1px}.svm-popover.p-popover .svm-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;border-radius:8px;background:transparent;color:var(--pl-text);font-family:var(--pl-font);font-size:12.5px;text-align:left;cursor:pointer;transition:background .12s ease}.svm-popover.p-popover .svm-row:hover:not(:disabled){background:var(--pl-grid-hover)}.svm-popover.p-popover .svm-row.svm-row--on{background:var(--pl-tile-green)}.svm-popover.p-popover .svm-row:disabled{opacity:.4;cursor:default}.svm-popover.p-popover .svm-check{flex:none;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--pl-border);background:var(--pl-surface);display:flex;align-items:center;justify-content:center}.svm-popover.p-popover .svm-check.svm-check--on{background:var(--pl-green);border-color:var(--pl-green)}.svm-popover.p-popover .svm-check .pi{font-size:11px;color:#fff}.svm-popover.p-popover .svm-agg{flex:none;color:var(--pl-muted);font-weight:500}.svm-popover.p-popover .svm-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.svm-popover.p-popover .svm-noresult{padding:16px 12px;text-align:center;color:var(--pl-faint);font-size:12.5px}.plant-share-dialog .share-subtitle,.pl-settings-dialog .share-subtitle{margin:0 0 1rem;color:var(--pl-text-muted, #6b7280);font-size:.875rem}.plant-share-dialog .share-add,.pl-settings-dialog .share-add{display:flex;gap:.5rem;align-items:center;margin-bottom:1.25rem}.plant-share-dialog .share-add .share-user-input,.pl-settings-dialog .share-add .share-user-input{flex:1 1 auto;min-width:0}.plant-share-dialog .share-add .share-user-input input,.pl-settings-dialog .share-add .share-user-input input{width:100%}.plant-share-dialog .share-add .share-role-input,.pl-settings-dialog .share-add .share-role-input{flex:0 0 11rem}.plant-share-dialog .share-user-opt,.pl-settings-dialog .share-user-opt{display:flex;flex-direction:column;line-height:1.2}.plant-share-dialog .share-user-opt .share-user-mail,.pl-settings-dialog .share-user-opt .share-user-mail{font-size:.75rem;color:var(--pl-text-muted, #6b7280)}.plant-share-dialog .share-members .share-member-name,.pl-settings-dialog .share-members .share-member-name{font-weight:600}.plant-share-dialog .share-members .share-member-mail,.pl-settings-dialog .share-members .share-member-mail{font-size:.75rem;color:var(--pl-text-muted, #6b7280)}.plant-share-dialog .share-members .share-actions,.pl-settings-dialog .share-members .share-actions{text-align:right}.plant-share-dialog .share-members .share-remove,.pl-settings-dialog .share-members .share-remove{background:none;border:none;cursor:pointer;color:var(--pl-danger, #dc2626);padding:.25rem .4rem;border-radius:6px}.plant-share-dialog .share-members .share-remove:hover,.pl-settings-dialog .share-members .share-remove:hover{background:color-mix(in srgb,var(--pl-danger, #dc2626) 12%,transparent)}.plant-share-dialog .share-members .share-empty,.pl-settings-dialog .share-members .share-empty{text-align:center;color:var(--pl-text-muted, #6b7280);padding:1rem}@media(max-width:768px){.p-dialog{width:100vw!important;max-width:100vw!important;max-height:100dvh!important;margin:0!important;border-radius:0!important}.p-dialog .p-dialog-content{max-height:calc(100dvh - 7rem)}.p-dialog .p-dialog-footer{display:flex;flex-wrap:wrap;gap:8px}.p-dialog .p-dialog-footer>*{flex:1 1 auto}.p-dialog .p-dialog-footer .p-button{width:100%;justify-content:center}}.pl-settings-dialog{font-family:var(--pl-font);border:1px solid var(--pl-border);border-radius:16px;box-shadow:0 40px 90px -30px #0f172a8c;background:var(--pl-surface);color:var(--pl-text);overflow:hidden}.pl-settings-dialog .p-dialog-header{padding:18px 22px;background:var(--pl-surface);border-bottom:1px solid var(--pl-hairline)}.pl-settings-dialog .p-dialog-title{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--pl-text)}.pl-settings-dialog .p-dialog-close-button{width:36px;height:36px;border:1px solid var(--pl-border);border-radius:8px;background:var(--pl-grid-inset);color:var(--pl-muted);box-shadow:none}.pl-settings-dialog .p-dialog-close-button:hover{background:var(--pl-menu-hover);color:var(--pl-text-2)}.pl-settings-dialog .p-dialog-content{padding:20px 22px 22px;background:var(--pl-surface);color:var(--pl-text-2)}.pl-settings-dialog .p-tabs,.pl-settings-dialog .p-tablist,.pl-settings-dialog .p-tablist-content,.pl-settings-dialog .p-tabpanels,.pl-settings-dialog .p-tabpanel{background:transparent}.pl-settings-dialog .p-tablist{border-bottom:1px solid var(--pl-hairline);margin-bottom:16px}.pl-settings-dialog .p-tablist-tab-list{gap:26px;border:none}.pl-settings-dialog .p-tab{font-family:var(--pl-font);font-size:14px;font-weight:600;color:var(--pl-faint);padding:12px 2px;border:none;background:transparent;transition:color .15s ease}.pl-settings-dialog .p-tab:hover{color:var(--pl-text-2)}.pl-settings-dialog .p-tab.p-tab-active{color:var(--pl-blue);font-weight:700}.pl-settings-dialog .p-tabpanel{padding:0}.pl-settings-dialog .pl-set-sub{margin:4px 0 14px;color:var(--pl-muted);font-size:13px}.pl-settings-dialog .pl-set-group{margin-bottom:18px}.pl-settings-dialog .pl-set-group-title{font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--pl-faint);margin:0 0 6px}.pl-settings-dialog .pl-set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--pl-hairline);cursor:pointer}.pl-settings-dialog .pl-set-row:last-child{border-bottom:none}.pl-settings-dialog .pl-set-label{font-size:13.5px;font-weight:600;color:var(--pl-text-2)}.pl-settings-dialog .pl-set-empty{color:var(--pl-faint);font-size:13px;padding:6px 2px}.pl-grid.fleet-table .p-card-title>div{padding-left:20px;padding-right:20px}.pl-grid.fleet-table .p-datatable-thead>tr>th:first-child,.pl-grid.fleet-table .p-datatable-tbody>tr>td:first-child{padding-left:20px}.pl-grid.fleet-table .p-datatable-thead>tr>th:last-child,.pl-grid.fleet-table .p-datatable-tbody>tr>td:last-child{padding-right:20px}.ac-dialog{font-family:var(--pl-font);background:var(--pl-surface);border:1px solid var(--pl-border);border-radius:16px;box-shadow:0 30px 70px -24px #0f172a80;overflow:hidden}.ac-dialog .p-dialog-content{padding:0;background:var(--pl-surface);color:var(--pl-text-2);border-radius:16px;overflow:hidden}.ac-card{display:flex;flex-direction:column;background:var(--pl-surface);color:var(--pl-text-2);position:relative}.ac-overlay{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:color-mix(in srgb,var(--pl-surface) 82%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:inherit}.ac-overlay-text{font-size:14px;font-weight:600;color:var(--pl-text-2)}.ac-spinner{width:38px;height:38px;border-radius:50%;border:3px solid var(--pl-hairline);border-top-color:var(--pl-accent, #3b82f6);animation:ac-spin .8s linear infinite}@keyframes ac-spin{to{transform:rotate(360deg)}}.ac-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 24px 0}.ac-title{font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--pl-text)}.ac-sub{font-size:13px;font-weight:500;color:var(--pl-faint);margin-top:3px}.ac-x{flex:none;width:34px;height:34px;border-radius:8px;border:1px solid var(--pl-border);background:var(--pl-grid-inset);color:var(--pl-muted);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.ac-x:hover{background:var(--pl-menu-hover);color:var(--pl-text-2)}.ac-body{padding:20px 24px 4px}.ac-empty{color:var(--pl-faint);font-size:13.5px}.ac-field{margin-bottom:18px}.ac-uplabel{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--pl-faint);margin-bottom:9px}.ac-label{font-size:13.5px;font-weight:600;color:var(--pl-text-2);margin-bottom:8px}.ac-seg{display:flex;gap:4px;padding:4px;background:var(--pl-grid-inset);border:1px solid var(--pl-border);border-radius:11px}.ac-seg--disabled{opacity:.6;pointer-events:none}.ac-seg-opt{flex:1;height:38px;border:1px solid transparent;border-radius:8px;background:transparent;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--pl-muted);cursor:pointer}.ac-seg-opt.is-active{background:var(--pl-surface);border-color:var(--pl-border-node);color:var(--pl-text);font-weight:700;box-shadow:0 1px 2px #0f172a0f}.ac-adv{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:0;background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;color:var(--pl-blue)}.ac-adv-chev{transition:transform .15s ease;transform:rotate(-90deg)}.ac-adv-chev.is-open{transform:none}.ac-divider{height:1px;background:var(--pl-hairline);margin:12px 0 18px}.ac-batt-grid{display:flex;gap:28px;align-items:flex-start;margin-bottom:8px}.ac-batt-controls{flex:1;min-width:0}.ac-switch-row{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding:0;background:none;border:none;cursor:pointer;font-family:inherit}.ac-switch{width:42px;height:24px;border-radius:999px;background:var(--nc-track);padding:3px;box-sizing:border-box;display:flex;align-items:center;flex:none;transition:background .15s ease}.ac-switch.is-on{background:var(--pl-blue);justify-content:flex-end}.ac-switch-knob{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a4d}.ac-switch-label{font-size:14.5px;font-weight:700;color:var(--pl-text)}.ac-sliders{display:flex;flex-direction:column;gap:22px}.ac-sliders--off{opacity:.5}.ac-slider-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:9px;font-size:13.5px;font-weight:500;color:var(--pl-text-2)}.ac-slider-val{font-size:14px;font-weight:700;color:var(--pl-text);font-variant-numeric:tabular-nums}.ac-range{-webkit-appearance:none;appearance:none;width:100%;height:5px;border-radius:3px;background:var(--pl-chart-grid-base);outline:none;cursor:pointer}.ac-range:disabled{cursor:default}.ac-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--pl-surface);border:2px solid var(--pl-blue);box-shadow:0 1px 3px #0f172a2e;cursor:pointer}.ac-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--pl-surface);border:2px solid var(--pl-blue);box-shadow:0 1px 3px #0f172a2e;cursor:pointer}.ac-batt-viz{flex:none;width:176px;display:flex;flex-direction:column;align-items:center;gap:16px}.ac-batt{position:relative;width:104px;height:236px;margin-top:9px;border:2.5px solid var(--pl-border-node);border-radius:14px;background:var(--pl-grid-inset);overflow:hidden;transition:filter .2s ease,opacity .2s ease}.ac-batt:before{content:"";position:absolute;top:-11px;left:50%;transform:translate(-50%);width:38px;height:9px;border-radius:4px 4px 0 0;background:var(--pl-border-node)}.ac-batt--off{filter:grayscale(.85);opacity:.55}.ac-batt-fill{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#3fa980,#2f9e7f)}.ac-batt-reserve{position:absolute;left:0;right:0;bottom:0;background:#0f281e2e}.ac-batt-bolt{position:absolute;left:50%;top:14%;transform:translate(-50%,-50%)}.ac-batt-home{position:absolute;left:50%;bottom:16px;transform:translate(-50%);opacity:.9}.ac-batt-mark{position:absolute;left:-2px;right:-2px;height:0;border-top:2px dashed var(--pl-green)}.ac-batt-mark--stop{border-top-color:var(--pl-faint)}.ac-input{width:100%;height:46px;padding:0 14px;background:var(--pl-grid-inset);border:1px solid var(--pl-border-node);border-radius:10px;font-family:inherit;font-size:15px;font-weight:600;color:var(--pl-text);outline:none;box-sizing:border-box}.ac-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px 22px;margin-top:24px;border-top:1px solid var(--pl-hairline)}.ac-btn{height:42px;display:inline-flex;align-items:center;gap:9px;padding:0 22px;border-radius:10px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}.ac-btn--primary{border:none;background:var(--pl-green);color:#fff;font-weight:700;padding:0 24px}.ac-btn--primary:disabled{opacity:.6;cursor:default}:root.app-dark .ac-btn--primary{color:#0e1622}.nc-icon svg{width:14px;height:14px;flex:none}.pl-grid .pl-grid-toolbar{display:flex;align-items:center;gap:10px}.pl-form{display:flex;flex-direction:column;gap:14px;padding-top:4px}.pl-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--pl-text-2, #475569)}.pl-form input{width:100%;height:40px;background:var(--pl-grid-inset, #fbfcfe);border:1px solid var(--pl-border, #e7eaf0);border-radius:8px;color:var(--pl-text, #0f172a);font-size:14px;padding:0 12px}.pl-form .pl-form-switch{flex-direction:row;align-items:center;gap:10px}.pl-reorder-handle{cursor:grab;color:var(--pl-text-2, #475569);opacity:.65}.pl-reorder-handle:hover{opacity:1}.pl-form-help{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px;align-items:start}.pl-field-help-panel{position:sticky;top:4px;border:1px solid var(--pl-border, #e7eaf0);border-radius:12px;background:var(--pl-grid-inset, #fbfcfe);padding:14px 16px}.pl-field-help-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--pl-accent, #4c7a63);margin-bottom:8px}.pl-field-help-text{font-size:13px;line-height:1.55;color:var(--pl-text-2, #475569);white-space:pre-line}.p-dialog.pl-dialog:has(.pl-form-help){width:860px}@media(max-width:720px){.pl-form-help{grid-template-columns:minmax(0,1fr)}.pl-field-help-panel{position:static}}.pl-phone{max-width:720px}.pl-phone .pl-phone-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pl-phone .pl-phone-stage{position:relative;display:none;width:100%;aspect-ratio:16/9;background:#0e1622;border-radius:14px;overflow:hidden;margin-bottom:16px}.pl-phone .pl-phone-stage--active{display:block}.pl-phone .pl-phone-remote{width:100%;height:100%;object-fit:cover;background:#0e1622}.pl-phone .pl-phone-local{position:absolute;right:12px;bottom:12px;width:26%;max-width:180px;aspect-ratio:16/9;object-fit:cover;border:2px solid rgba(255,255,255,.6);border-radius:10px;background:#1b2836}.pl-phone .pl-phone-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;background:#0e16228c}.pl-phone .pl-phone-msg{color:var(--pl-text-2, #475569);font-size:14px;padding:8px 0}.pl-phone .pl-phone-warn{color:#b45309}.pl-phone .pl-phone-dialer{display:flex;gap:10px}.pl-phone .pl-phone-input{flex:1;height:44px;font-size:16px;letter-spacing:.02em}.pl-phone .pl-phone-incoming{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pl-phone .pl-phone-incoming-label{font-size:15px;font-weight:600;color:var(--pl-text, #0f172a)}.pl-phone .pl-phone-actions,.pl-phone .pl-phone-controls{display:flex;gap:10px;flex-wrap:wrap}.pl-settings{max-width:820px}.pl-settings .pl-settings-subtitle{margin:4px 0 0;font-size:13px;font-weight:400;color:var(--pl-text-2, #475569)}.pl-settings .pl-settings-section{margin:8px 0 0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--pl-text-2, #475569)}.pl-settings .pl-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pl-settings .pl-settings-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.pl-settings .pl-settings-actions{display:flex;justify-content:flex-end;margin-top:8px;padding-top:14px;border-top:1px solid var(--pl-border, #e7eaf0)}@media(max-width:640px){.pl-settings .pl-settings-grid,.pl-settings .pl-settings-switches{grid-template-columns:minmax(0,1fr)}}.p-dialog.pl-dialog{width:600px;max-width:calc(100vw - 32px);background:var(--pl-surface);border:1px solid var(--pl-border);border-radius:16px;box-shadow:0 24px 60px -20px #0f172a59;overflow:hidden}.p-dialog.pl-dialog .p-dialog-header{padding:22px 24px 4px;border:none;background:transparent;align-items:flex-start}.p-dialog.pl-dialog .p-dialog-title{font-family:var(--pl-font);font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--pl-text)}.p-dialog.pl-dialog .p-dialog-header-actions .p-dialog-close-button,.p-dialog.pl-dialog .p-dialog-header-icons .p-dialog-header-icon{width:34px;height:34px;border:1px solid var(--pl-border);border-radius:8px;background:var(--pl-surface);color:var(--pl-muted);box-shadow:none}.p-dialog.pl-dialog .p-dialog-header-actions .p-dialog-close-button:hover,.p-dialog.pl-dialog .p-dialog-header-icons .p-dialog-header-icon:hover{background:var(--pl-grid-inset);color:var(--pl-text-2)}.p-dialog.pl-dialog .p-dialog-content{padding:16px 24px 20px;background:transparent;color:var(--pl-text-2)}.p-dialog.pl-dialog .p-dialog-footer{padding:20px 24px 22px;border-top:1px solid var(--pl-hairline);display:flex;justify-content:flex-end;gap:12px;background:transparent}.pl-dialog-subtitle{margin:3px 0 0;font-size:13px;font-weight:500;color:var(--pl-faint)}.pl-dialog-btn{height:42px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;font-family:var(--pl-font);font-size:14px;cursor:pointer;border:1px solid transparent}.pl-dialog-btn--secondary{background:var(--pl-surface);border-color:var(--pl-border);color:var(--pl-text-2);font-weight:600}.pl-dialog-btn--secondary:hover{background:var(--pl-grid-inset)}.pl-dialog-btn--primary{background:var(--pl-green);color:#fff;font-weight:700;padding:0 24px}.pl-dialog-btn--primary:hover{filter:brightness(1.06)}.pl-dialog-btn--primary:disabled{opacity:.6;cursor:default}html.app-dark .pl-dialog-btn--primary{color:#0e1622}.pl-dialog .pl-form{display:flex;flex-direction:column;gap:16px;padding-top:4px}.pl-dialog .pl-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:var(--pl-text-2)}.pl-dialog .pl-form input{width:100%;height:46px;background:var(--pl-grid-inset);border:1px solid var(--pl-border);border-radius:10px;color:var(--pl-text);font-size:14px;font-weight:500;padding:0 14px}.pl-dialog .pl-form input::placeholder{color:var(--pl-faint)}.pl-dialog .pl-form input:focus{outline:none;border-color:var(--pl-green)}.pl-dialog .pl-form .pl-form-switch{flex-direction:row;align-items:center;gap:12px;font-weight:700;color:var(--pl-text)}.p-tieredmenu,.p-select-overlay{background:var(--pl-surface);border:1px solid var(--pl-border);border-radius:10px;box-shadow:0 12px 28px -12px #0f172a47;padding:6px;font-family:var(--pl-font);overflow:hidden}.p-tieredmenu{min-width:11rem}.p-tieredmenu .p-tieredmenu-item-content{border-radius:8px}.p-tieredmenu .p-tieredmenu-item-link{padding:9px 12px;gap:9px;color:var(--pl-text-2);font-size:13.5px;font-weight:600}.p-tieredmenu .p-tieredmenu-item-icon{color:var(--pl-muted);font-size:14px}.p-tieredmenu .p-tieredmenu-item-content:hover{background:var(--pl-menu-hover)}.p-tieredmenu .p-tieredmenu-item-content:hover .p-tieredmenu-item-link,.p-tieredmenu .p-tieredmenu-item-content:hover .p-tieredmenu-item-icon{color:var(--pl-text)}.p-tieredmenu .p-tieredmenu-item:has(.pi-trash) .p-tieredmenu-item-link,.p-tieredmenu .p-tieredmenu-item:has(.pi-trash) .p-tieredmenu-item-icon{color:var(--pl-danger, #c0392b)}.p-tieredmenu .p-tieredmenu-item:has(.pi-trash) .p-tieredmenu-item-content:hover{background:#c0392b14}.p-tieredmenu .p-tieredmenu-item:has(.pi-trash) .p-tieredmenu-item-content:hover .p-tieredmenu-item-link,.p-tieredmenu .p-tieredmenu-item:has(.pi-trash) .p-tieredmenu-item-content:hover .p-tieredmenu-item-icon{color:var(--pl-danger, #c0392b)}.p-select-overlay .p-select-list{padding:0}.p-select-overlay .p-select-option{border-radius:8px;padding:9px 12px;color:var(--pl-text-2);font-size:13.5px;font-weight:600}.p-select-overlay .p-select-option:hover{background:var(--pl-menu-hover);color:var(--pl-text)}.p-select-overlay .p-select-option.p-select-option-selected{background:var(--pl-menu-active-bg);color:var(--pl-menu-active-text)}.pl-grid .p-datatable-thead .p-select{width:100%}.pl-flow-designer{display:flex;flex-direction:column;height:calc(100vh - 9rem);min-height:32rem}.pl-flow-toolbar{display:flex;align-items:center;gap:.75rem;padding:.5rem 0 .9rem}.pl-flow-toolbar .pl-flow-name{width:20rem;max-width:40vw}.pl-flow-spacer{flex:1 1 auto}.pl-flow-msg{color:var(--pl-muted);padding:1rem}.pl-flow-main{flex:1 1 auto;display:grid;grid-template-columns:12rem 1fr 18rem;gap:.75rem;min-height:0}.pl-flow-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--pl-muted);margin-bottom:.5rem}.pl-flow-palette,.pl-flow-props{background:var(--pl-surface);border:1px solid var(--pl-border);border-radius:12px;padding:.75rem;overflow-y:auto}.pl-flow-palette-item{display:flex;align-items:center;gap:.55rem;width:100%;border:1px solid var(--pl-border);background:var(--pl-app);color:var(--pl-text);border-radius:9px;padding:.5rem .6rem;margin-bottom:.4rem;cursor:pointer;font-size:.85rem;text-align:left}.pl-flow-palette-item:hover{background:var(--pl-grid-hover)}.pl-flow-palette-item i{color:var(--pl-blue)}.pl-flow-canvas{display:block;height:100%;min-height:0;background:var(--pl-app);border:1px solid var(--pl-border);border-radius:12px;overflow:hidden}.pl-node{--pl-node-accent: var(--pl-blue);position:absolute;width:13rem;background:var(--pl-surface);border:1px solid var(--pl-border-node);border-radius:12px;box-shadow:var(--pl-node-shadow, 0 1px 3px rgba(15, 23, 42, .06));cursor:grab;-webkit-user-select:none;user-select:none;overflow:hidden;touch-action:none;transition:box-shadow .12s ease,border-color .12s ease}.pl-node:active{cursor:grabbing}.pl-node[data-type=trunkEntry]{--pl-node-accent: var(--pl-blue)}.pl-node[data-type=numberMatcher]{--pl-node-accent: var(--pl-amber, #d08770)}.pl-node[data-type=user]{--pl-node-accent: var(--pl-teal, #5e81ac)}.pl-node[data-type=queue]{--pl-node-accent: var(--pl-green)}.pl-node[data-type=ivr]{--pl-node-accent: var(--pl-purple, #b48ead)}.pl-node[data-type=conference]{--pl-node-accent: var(--pl-teal, #88c0d0)}.pl-node[data-type=hangup]{--pl-node-accent: var(--pl-red, #bf616a)}.pl-node--selected{border-color:var(--pl-node-accent);box-shadow:0 0 0 2px var(--pl-node-accent),0 6px 16px #0f172a1f}.pl-node-head{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-left:3px solid var(--pl-node-accent)}.pl-node-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:8px;background:color-mix(in srgb,var(--pl-node-accent) 15%,transparent);color:var(--pl-node-accent);font-size:.9rem}.pl-node-title{min-width:0;display:flex;flex-direction:column;line-height:1.2}.pl-node-type{font-weight:600;font-size:.85rem;color:var(--pl-text)}.pl-node-sub{font-size:.72rem;color:var(--pl-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-node-outs{display:flex;flex-direction:column;gap:.15rem;padding:.15rem .6rem .5rem;border-top:1px solid var(--pl-border);margin-top:.1rem}.pl-out-row{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:.35rem;font-size:.72rem;color:var(--pl-text-2)}.pl-out-label{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-port{position:relative;width:12px;height:12px;border-radius:50%;background:var(--pl-node-accent, var(--pl-blue));border:2px solid var(--pl-surface);touch-action:none;cursor:crosshair}.pl-port:before{content:"";position:absolute;inset:-11px;border-radius:50%}.pl-port--in{position:absolute;left:-7px;top:1.1rem}.pl-port--out{flex:0 0 auto;margin-right:-13px}.pl-port--linking{background:var(--pl-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--pl-green) 40%,transparent)}.pl-flow-linkbar{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:color-mix(in srgb,var(--pl-blue) 12%,var(--pl-surface));border:1px solid var(--pl-blue);border-radius:8px;color:var(--pl-text);font-size:.85rem;margin-bottom:.5rem}.pl-flow-linkbar i{color:var(--pl-blue)}.pl-flow-linkbar-cancel{margin-left:auto}.pl-node--link-target{border-color:var(--pl-green);box-shadow:0 0 0 2px color-mix(in srgb,var(--pl-green) 55%,transparent);cursor:pointer}.pl-flow-prop-head{display:flex;align-items:center;gap:.45rem;font-weight:600;color:var(--pl-text);margin-bottom:.75rem}.pl-flow-prop-head i{color:var(--pl-blue)}.pl-flow-del{margin-left:auto}.pl-flow-props label{display:block;font-size:.8rem;color:var(--pl-text-2);margin-bottom:.75rem}.pl-flow-props label>*{margin-top:.25rem}.pl-flow-props-empty{color:var(--pl-muted);font-size:.85rem}.pl-flow-cases{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}.pl-flow-case{display:flex;align-items:center;gap:.3rem}.pl-flow-case input{min-width:0}.pl-flow-props-close{display:none}@media(max-width:991px){.pl-flow-designer{height:auto;min-height:0}.pl-flow-toolbar{flex-wrap:wrap}.pl-flow-toolbar .pl-flow-name{width:100%;max-width:none}.pl-flow-main{display:flex;flex-direction:column;gap:.5rem}.pl-flow-palette{display:flex;flex-direction:row;gap:.4rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.pl-flow-palette .pl-flow-section-title{display:none}.pl-flow-palette-item{flex:0 0 auto;width:auto;margin-bottom:0;white-space:nowrap}.pl-flow-canvas{height:62vh;min-height:20rem}.pl-port{width:16px;height:16px}.pl-port:before{inset:-15px}.pl-flow-props{position:fixed;left:0;right:0;bottom:0;z-index:1000;max-height:72vh;border-radius:16px 16px 0 0;box-shadow:0 -14px 44px -14px #0f172a8c;transform:translateY(110%);transition:transform .25s ease}.pl-flow-props--open{transform:translateY(0)}.pl-flow-props>.pl-flow-section-title{display:none}.pl-flow-props-empty{display:none}.pl-flow-props-close{display:inline-flex}}:root{--ff-white: #ffffff;--ff-black: #000000;--ff-gray-0: #ffffff;--ff-gray-25: #fcfcfc;--ff-gray-50: #f8f8f7;--ff-gray-75: #f2f2f0;--ff-gray-100: #e9e9e6;--ff-gray-150: #dcdcd7;--ff-gray-200: #c9c9c1;--ff-gray-300: #afafa5;--ff-gray-400: #8d8d81;--ff-gray-500: #69695f;--ff-gray-600: #505048;--ff-gray-700: #3c3c36;--ff-gray-800: #272722;--ff-gray-900: #1b1b18;--ff-gray-950: #141412;--ff-gray-1000: #0f0f0d;--ff-alpha-black-04: rgba(15, 15, 13, .04);--ff-alpha-black-06: rgba(15, 15, 13, .06);--ff-alpha-black-08: rgba(15, 15, 13, .08);--ff-alpha-black-10: rgba(15, 15, 13, .1);--ff-alpha-black-12: rgba(15, 15, 13, .12);--ff-alpha-black-15: rgba(15, 15, 13, .15);--ff-alpha-black-20: rgba(15, 15, 13, .2);--ff-alpha-black-30: rgba(15, 15, 13, .3);--ff-alpha-black-40: rgba(15, 15, 13, .4);--ff-alpha-black-60: rgba(15, 15, 13, .6);--ff-alpha-white-04: rgba(255, 255, 255, .04);--ff-alpha-white-06: rgba(255, 255, 255, .06);--ff-alpha-white-08: rgba(255, 255, 255, .08);--ff-alpha-white-10: rgba(255, 255, 255, .1);--ff-alpha-white-12: rgba(255, 255, 255, .12);--ff-alpha-white-15: rgba(255, 255, 255, .15);--ff-alpha-white-20: rgba(255, 255, 255, .2);--ff-alpha-white-30: rgba(255, 255, 255, .3);--ff-alpha-white-40: rgba(255, 255, 255, .4);--ff-alpha-white-60: rgba(255, 255, 255, .6);--ff-blue-100: #e8f2ff;--ff-blue-200: #bad8ff;--ff-blue-300: #7db7ff;--ff-blue-400: #4176ff;--ff-blue-500: #2759db;--ff-blue-600: #1b3f9e;--ff-green-100: #e7f7ef;--ff-green-300: #71c795;--ff-green-400: #2b9b5f;--ff-green-500: #1e7748;--ff-yellow-100: #fff5de;--ff-yellow-300: #e1b354;--ff-yellow-400: #bb8121;--ff-yellow-500: #916112;--ff-red-100: #feeceb;--ff-red-300: #e48d85;--ff-red-400: #c55245;--ff-red-500: #9e3a2f;--ff-radius-4: 4px;--ff-radius-6: 6px;--ff-radius-pill: 999px;--ff-font-family-sans: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--ff-font-family-mono: ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;--ff-font-size-xs: 12px;--ff-font-size-sm: 14px;--ff-font-size-md: 16px;--ff-font-size-lg: 18px;--ff-shadow-1: 0 1px 2px rgba(15, 15, 13, .05), 0 8px 20px rgba(15, 15, 13, .04);--ff-shadow-2: 0 10px 28px rgba(15, 15, 13, .08), 0 3px 10px rgba(15, 15, 13, .05);--ff-shadow-3: 0 18px 48px rgba(15, 15, 13, .12), 0 6px 16px rgba(15, 15, 13, .08)}:root{--ff-color-surface-page: var(--ff-gray-25);--ff-color-surface-canvas: var(--ff-gray-25);--ff-color-surface-card: var(--ff-white);--ff-color-surface-group: rgba(65, 118, 255, .14);--ff-color-surface-group-active: rgba(65, 118, 255, .2);--ff-color-surface-muted: var(--ff-gray-50);--ff-color-surface-soft: var(--ff-gray-75);--ff-color-surface-accent-soft: rgba(65, 118, 255, .1);--ff-color-border-default: var(--ff-alpha-black-12);--ff-color-border-subtle: var(--ff-alpha-black-08);--ff-color-border-strong: var(--ff-alpha-black-20);--ff-color-border-accent: var(--ff-blue-500);--ff-color-text-primary: var(--ff-gray-800);--ff-color-text-secondary: var(--ff-gray-500);--ff-color-text-tertiary: var(--ff-gray-400);--ff-color-text-inverse: var(--ff-white);--ff-color-accent: var(--ff-blue-500);--ff-color-accent-strong: var(--ff-blue-600);--ff-color-success: var(--ff-green-400);--ff-color-warning: var(--ff-yellow-400);--ff-color-danger: var(--ff-red-400);--ff-color-disabled-surface: var(--ff-gray-100);--ff-color-disabled-border: var(--ff-alpha-black-10);--ff-color-disabled-text: var(--ff-gray-300);--ff-color-selection-fill: rgba(65, 118, 255, .12);--ff-color-selection-stroke: rgba(65, 118, 255, .28);--ff-color-grid: var(--ff-alpha-black-08);--ff-color-grid-strong: var(--ff-alpha-black-15);--ff-color-connector-connected: var(--ff-blue-500);--ff-color-connection: var(--ff-gray-600);--ff-color-connection-muted: var(--ff-gray-300);--ff-color-connection-hover: var(--ff-alpha-black-12);--ff-color-grouping-drop-target-border: var(--ff-gray-800);--ff-color-grouping-drop-target-border-active: var(--ff-gray-800);--ff-color-waypoint-fill: var(--ff-white);--ff-color-waypoint-stroke: var(--ff-blue-500);--ff-color-waypoint-candidate-fill: var(--ff-white);--ff-color-waypoint-candidate-stroke: var(--ff-green-400);--ff-color-minimap-surface: var(--ff-white);--ff-color-minimap-node: var(--ff-gray-700);--ff-color-minimap-view: rgba(65, 118, 255, .14);--ff-color-magnetic-line: var(--ff-blue-500);--ff-color-magnetic-rect-fill: rgba(65, 118, 255, .08);--ff-color-magnetic-rect-border: rgba(65, 118, 255, .24);--ff-radius-node: var(--ff-radius-4);--ff-radius-group: var(--ff-radius-4);--ff-radius-control: var(--ff-radius-4);--ff-radius-socket-square: var(--ff-radius-6);--ff-radius-pill: var(--ff-radius-pill);--ff-font-sans: var(--ff-font-family-sans);--ff-font-mono: var(--ff-font-family-mono);--ff-font-size-body: var(--ff-font-size-sm);--ff-font-size-label: var(--ff-font-size-xs);--ff-shadow-surface: var(--ff-shadow-1);--ff-shadow-floating: var(--ff-shadow-2)}.dark,[data-theme=dark]{--ff-color-surface-page: var(--ff-gray-1000);--ff-color-surface-canvas: var(--ff-gray-1000);--ff-color-surface-card: var(--ff-gray-950);--ff-color-surface-group: rgba(125, 183, 255, .18);--ff-color-surface-group-active: rgba(125, 183, 255, .24);--ff-color-surface-muted: var(--ff-gray-900);--ff-color-surface-soft: var(--ff-gray-900);--ff-color-surface-accent-soft: rgba(125, 183, 255, .14);--ff-color-border-default: var(--ff-alpha-white-12);--ff-color-border-subtle: var(--ff-alpha-white-08);--ff-color-border-strong: var(--ff-alpha-white-20);--ff-color-border-accent: var(--ff-blue-300);--ff-color-text-primary: var(--ff-gray-100);--ff-color-text-secondary: var(--ff-gray-300);--ff-color-text-tertiary: var(--ff-gray-400);--ff-color-text-inverse: var(--ff-gray-1000);--ff-color-accent: var(--ff-blue-300);--ff-color-accent-strong: var(--ff-blue-200);--ff-color-success: var(--ff-green-300);--ff-color-warning: var(--ff-yellow-300);--ff-color-danger: var(--ff-red-300);--ff-color-disabled-surface: var(--ff-gray-800);--ff-color-disabled-border: var(--ff-alpha-white-10);--ff-color-disabled-text: var(--ff-gray-500);--ff-color-selection-fill: rgba(125, 183, 255, .16);--ff-color-selection-stroke: rgba(125, 183, 255, .34);--ff-color-grid: var(--ff-alpha-white-08);--ff-color-grid-strong: var(--ff-alpha-white-15);--ff-color-connector-connected: var(--ff-blue-300);--ff-color-connection: var(--ff-gray-200);--ff-color-connection-muted: var(--ff-gray-500);--ff-color-connection-hover: var(--ff-alpha-white-12);--ff-color-grouping-drop-target-border: var(--ff-gray-100);--ff-color-grouping-drop-target-border-active: var(--ff-gray-100);--ff-color-waypoint-fill: var(--ff-gray-950);--ff-color-waypoint-stroke: var(--ff-blue-300);--ff-color-waypoint-candidate-fill: var(--ff-white);--ff-color-waypoint-candidate-stroke: var(--ff-green-300);--ff-color-minimap-surface: var(--ff-gray-950);--ff-color-minimap-node: var(--ff-gray-200);--ff-color-minimap-view: rgba(125, 183, 255, .18);--ff-color-magnetic-line: var(--ff-blue-300);--ff-color-magnetic-rect-fill: rgba(125, 183, 255, .1);--ff-color-magnetic-rect-border: rgba(125, 183, 255, .24);--ff-shadow-surface: 0 1px 2px rgba(0, 0, 0, .28), 0 8px 20px rgba(0, 0, 0, .14);--ff-shadow-floating: 0 14px 36px rgba(0, 0, 0, .26), 0 4px 12px rgba(0, 0, 0, .16)}:root{--ff-flow-background-color: var(--ff-color-surface-page);--ff-flow-text-color: var(--ff-color-text-primary);--ff-flow-font-family: var(--ff-font-sans);--ff-flow-font-size: var(--ff-font-size-body);--ff-canvas-background-color: var(--ff-color-surface-canvas);--ff-node-background-color: var(--ff-color-surface-card);--ff-node-background-color-inverse: var(--ff-color-text-primary);--ff-node-border-color: var(--ff-color-border-default);--ff-node-border-color-selected: var(--ff-color-border-accent);--ff-node-color: var(--ff-color-text-primary);--ff-node-border-radius: var(--ff-radius-node);--ff-node-shadow: var(--ff-shadow-surface);--ff-node-shadow-selected: var(--ff-shadow-floating);--ff-node-width: 120px;--ff-node-min-height: 56px;--ff-node-padding: 24px;--ff-group-background-color: var(--ff-color-surface-group);--ff-group-background-color-active: var(--ff-color-surface-group-active);--ff-group-border-color: var(--ff-color-border-subtle);--ff-group-border-color-selected: var(--ff-color-border-accent);--ff-group-border-color-active: var(--ff-color-border-accent);--ff-group-color: var(--ff-color-text-secondary);--ff-group-border-radius: var(--ff-radius-group);--ff-group-min-width: 180px;--ff-group-min-height: 120px;--ff-group-padding: 24px;--ff-grouping-drop-target-border-color: var(--ff-color-grouping-drop-target-border);--ff-grouping-drop-target-border-style: dashed;--ff-grouping-drop-target-border-width: 1px;--ff-grouping-drop-target-border-color-active: var( --ff-color-grouping-drop-target-border-active );--ff-grouping-drop-target-border-style-active: dashed;--ff-grouping-drop-target-border-width-active: 2px;--ff-resize-handle-size: 8px;--ff-resize-handle-fill: var(--ff-color-accent);--ff-resize-handle-stroke: var(--ff-color-surface-card);--ff-resize-handle-ring: var(--ff-color-accent);--ff-resize-handle-radius: 1px;--ff-resize-handle-fill-active: var(--ff-color-surface-card);--ff-rotate-handle-size: 16px;--ff-rotate-handle-offset: 40px;--ff-rotate-handle-background-color: var(--ff-color-surface-card);--ff-rotate-handle-border-color: var(--ff-color-border-strong);--ff-rotate-handle-guide-color: var(--ff-color-border-strong);--ff-connector-background-color: var(--ff-color-surface-card);--ff-connector-border-color: var(--ff-color-text-secondary);--ff-connector-connected-color: var(--ff-color-connector-connected);--ff-connector-accent-color: var(--ff-color-accent);--ff-connector-disabled-color: var(--ff-color-disabled-surface);--ff-connector-disabled-border-color: var(--ff-color-disabled-border);--ff-connector-size: 14px;--ff-connector-border-width: 2px;--ff-connector-input-radius: var(--ff-radius-4);--ff-connector-node-ring-color: var(--ff-canvas-background-color);--ff-outlet-background-color: var(--ff-color-surface-muted);--ff-outlet-border-color: var(--ff-color-border-default);--ff-outlet-color: var(--ff-color-accent);--ff-outlet-disabled-background-color: var(--ff-color-disabled-surface);--ff-outlet-disabled-border-color: var(--ff-color-disabled-border);--ff-outlet-disabled-color: var(--ff-color-disabled-text);--ff-outlet-border-radius: var(--ff-radius-pill);--ff-outlet-padding-y: 6px;--ff-outlet-padding-x: 12px;--ff-connection-color: var(--ff-color-connection);--ff-snap-connection-color: var(--ff-color-connection-muted);--ff-connection-hover-color: var(--ff-color-connection-hover);--ff-connection-selected-color: var(--ff-color-accent);--ff-connection-label-color: var(--ff-color-text-secondary);--ff-connection-content-color: var(--ff-node-color);--ff-connection-content-background-color: var(--ff-node-background-color);--ff-connection-content-border-color: var(--ff-node-border-color);--ff-connection-content-border-color-selected: var(--ff-connection-selected-color);--ff-connection-content-border-radius: var(--ff-node-border-radius);--ff-connection-content-font-size: 13px;--ff-connection-content-padding-y: 2px;--ff-connection-content-padding-x: 8px;--ff-connection-width: 2px;--ff-connection-hit-width: 14px;--ff-connection-drag-handle-fill: var(--ff-color-surface-card);--ff-connection-drag-handle-stroke: var(--ff-color-accent);--ff-marker-color: var(--ff-connection-color);--ff-waypoint-fill: var(--ff-color-waypoint-fill);--ff-waypoint-stroke: var(--ff-color-waypoint-stroke);--ff-waypoint-candidate-fill: var(--ff-color-waypoint-candidate-fill);--ff-waypoint-candidate-stroke: var(--ff-color-waypoint-candidate-stroke);--ff-background-line-color: var(--ff-color-grid);--ff-background-dot-color: var(--ff-color-grid-strong);--ff-selection-area-color: var(--ff-color-selection-fill);--ff-selection-area-border-color: var(--ff-color-selection-stroke);--ff-minimap-background-color: var(--ff-color-minimap-surface);--ff-minimap-border-color: var(--ff-color-border-default);--ff-minimap-node-color: var(--ff-color-minimap-node);--ff-minimap-node-selected-color: var(--ff-color-accent);--ff-minimap-view-color: var(--ff-color-minimap-view);--ff-minimap-view-border-color: var(--ff-color-selection-stroke);--ff-minimap-border-radius: var(--ff-radius-node);--ff-minimap-shadow: var(--ff-shadow-floating);--ff-magnetic-line-color: var(--ff-color-magnetic-line);--ff-magnetic-rect-fill: var(--ff-color-magnetic-rect-fill);--ff-magnetic-rect-border-color: var(--ff-color-magnetic-rect-border);--ff-external-item-background-color: var(--ff-color-surface-card);--ff-external-item-border-color: var(--ff-color-border-default);--ff-external-item-color: var(--ff-color-text-primary);--ff-external-item-disabled-color: var(--ff-color-disabled-text);--ff-external-item-disabled-background-color: var(--ff-color-disabled-surface);--ff-external-item-border-radius: var(--ff-radius-node);--ff-external-item-shadow: var(--ff-shadow-surface);--ff-external-item-preview-shadow: var(--ff-shadow-floating);--ff-external-item-placeholder-background-color: var(--ff-color-surface-soft);--ff-external-item-placeholder-border-color: var(--ff-color-border-subtle)}f-flow,.f-flow{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none;color:var(--ff-flow-text-color);background:var(--ff-flow-background-color);font-family:var(--ff-flow-font-family);font-size:var(--ff-flow-font-size);line-height:1.4}f-flow .f-canvas,.f-flow .f-canvas{background:var(--ff-canvas-background-color)}f-flow .f-node,.f-flow .f-node{width:var(--ff-node-width);min-height:var(--ff-node-min-height);padding:var(--ff-node-padding);box-sizing:border-box;color:var(--ff-node-color);text-align:center;background:var(--ff-node-background-color);border:1px solid var(--ff-node-border-color);border-radius:var(--ff-node-border-radius);box-shadow:var(--ff-node-shadow)}f-flow .f-node .node-content,.f-flow .f-node .node-content{width:100%;height:100%;overflow:hidden}f-flow .f-node.f-selected,.f-flow .f-node.f-selected{border-color:var(--ff-node-border-color-selected);box-shadow:var(--ff-node-shadow-selected)}f-flow .f-node.f-dragging,.f-flow .f-node.f-dragging{box-shadow:var(--ff-node-shadow-selected)}f-flow .f-group,.f-flow .f-group{min-width:var(--ff-group-min-width);min-height:var(--ff-group-min-height);padding:var(--ff-group-padding);box-sizing:border-box;color:var(--ff-group-color);background:var(--ff-group-background-color);border:1px solid var(--ff-group-border-color);border-radius:var(--ff-group-border-radius)}f-flow .f-group.f-selected,.f-flow .f-group.f-selected{border-color:var(--ff-group-border-color-selected)}f-flow .f-drag-handle,.f-flow .f-drag-handle{cursor:move}f-flow .f-drag-handle img,.f-flow .f-drag-handle img{pointer-events:none}f-flow .f-resize-handle,.f-flow .f-resize-handle{position:absolute;width:var(--ff-resize-handle-size);height:var(--ff-resize-handle-size);box-sizing:border-box;border:1.5px solid var(--ff-resize-handle-stroke);border-radius:var(--ff-resize-handle-radius);background:var(--ff-resize-handle-fill);box-shadow:0 0 0 1px var(--ff-resize-handle-ring),0 1px 2px #0f0f0d2e;transition:background-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}f-flow .f-resize-handle:hover,.f-flow .f-resize-handle:hover{box-shadow:0 0 0 1px var(--ff-resize-handle-ring),0 0 0 5px color-mix(in oklch,var(--ff-resize-handle-ring) 25%,transparent)}f-flow .f-resize-handle:active,.f-flow .f-resize-handle:active{background:var(--ff-resize-handle-fill-active);box-shadow:0 0 0 2px var(--ff-resize-handle-ring),0 0 0 6px color-mix(in oklch,var(--ff-resize-handle-ring) 28%,transparent)}f-flow .f-resize-handle.f-resize-handle-left,.f-flow .f-resize-handle.f-resize-handle-left{left:0;top:50%;transform:translate(-50%,-50%);cursor:col-resize}f-flow .f-resize-handle.f-resize-handle-left-top,.f-flow .f-resize-handle.f-resize-handle-left-top{left:0;top:0;transform:translate(-50%,-50%);cursor:nwse-resize}f-flow .f-resize-handle.f-resize-handle-top,.f-flow .f-resize-handle.f-resize-handle-top{left:50%;top:0;transform:translate(-50%,-50%);cursor:row-resize}f-flow .f-resize-handle.f-resize-handle-right-top,.f-flow .f-resize-handle.f-resize-handle-right-top{right:0;top:0;transform:translate(50%,-50%);cursor:nesw-resize}f-flow .f-resize-handle.f-resize-handle-right,.f-flow .f-resize-handle.f-resize-handle-right{right:0;top:50%;transform:translate(50%,-50%);cursor:col-resize}f-flow .f-resize-handle.f-resize-handle-right-bottom,.f-flow .f-resize-handle.f-resize-handle-right-bottom{right:0;bottom:0;transform:translate(50%,50%);cursor:nwse-resize}f-flow .f-resize-handle.f-resize-handle-bottom,.f-flow .f-resize-handle.f-resize-handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%);cursor:row-resize}f-flow .f-resize-handle.f-resize-handle-left-bottom,.f-flow .f-resize-handle.f-resize-handle-left-bottom{left:0;bottom:0;transform:translate(-50%,50%);cursor:nesw-resize}f-flow .f-rotate-handle,.f-flow .f-rotate-handle{position:absolute;left:50%;top:calc(var(--ff-rotate-handle-offset) * -1);display:inline-flex;align-items:center;justify-content:center;width:var(--ff-rotate-handle-size);height:var(--ff-rotate-handle-size);box-sizing:border-box;border:1px solid var(--ff-rotate-handle-border-color);border-radius:50%;background:var(--ff-rotate-handle-background-color);transform:translate(-50%);cursor:grab;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}f-flow .f-rotate-handle:after,.f-flow .f-rotate-handle:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:calc(var(--ff-rotate-handle-offset) - var(--ff-rotate-handle-size));background:var(--ff-rotate-handle-guide-color);transform:translate(-50%);pointer-events:none}f-flow .f-rotate-handle:hover,.f-flow .f-rotate-handle:hover{border-color:var(--ff-color-accent);box-shadow:0 0 0 4px color-mix(in oklch,var(--ff-color-accent) 22%,transparent)}f-flow .f-rotate-handle:active,.f-flow .f-rotate-handle:active{background:var(--ff-color-accent);border-color:var(--ff-color-accent);cursor:grabbing;box-shadow:0 0 0 4px color-mix(in oklch,var(--ff-color-accent) 22%,transparent)}f-flow .f-node-input:not(.f-node),f-flow .f-node-output:not(.f-node),f-flow .f-connector-source:not(.f-node),f-flow .f-connector-target:not(.f-node),f-flow .f-connector-source-target:not(.f-node),.f-flow .f-node-input:not(.f-node),.f-flow .f-node-output:not(.f-node),.f-flow .f-connector-source:not(.f-node),.f-flow .f-connector-target:not(.f-node),.f-flow .f-connector-source-target:not(.f-node){position:absolute;width:var(--ff-connector-size);height:var(--ff-connector-size);box-sizing:border-box;border:var(--ff-connector-border-width) solid var(--ff-connector-border-color);border-radius:50%;background:var(--ff-connector-background-color);pointer-events:all;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}f-flow .f-node-input:not(.f-node).left,f-flow .f-node-output:not(.f-node).left,f-flow .f-connector-source:not(.f-node).left,f-flow .f-connector-target:not(.f-node).left,f-flow .f-connector-source-target:not(.f-node).left,.f-flow .f-node-input:not(.f-node).left,.f-flow .f-node-output:not(.f-node).left,.f-flow .f-connector-source:not(.f-node).left,.f-flow .f-connector-target:not(.f-node).left,.f-flow .f-connector-source-target:not(.f-node).left{left:calc(var(--ff-connector-size) / -2);top:50%;transform:translateY(-50%)}f-flow .f-node-input:not(.f-node).right,f-flow .f-node-output:not(.f-node).right,f-flow .f-connector-source:not(.f-node).right,f-flow .f-connector-target:not(.f-node).right,f-flow .f-connector-source-target:not(.f-node).right,.f-flow .f-node-input:not(.f-node).right,.f-flow .f-node-output:not(.f-node).right,.f-flow .f-connector-source:not(.f-node).right,.f-flow .f-connector-target:not(.f-node).right,.f-flow .f-connector-source-target:not(.f-node).right{right:calc(var(--ff-connector-size) / -2);top:50%;transform:translateY(-50%)}f-flow .f-node-input:not(.f-node).top,f-flow .f-node-output:not(.f-node).top,f-flow .f-connector-source:not(.f-node).top,f-flow .f-connector-target:not(.f-node).top,f-flow .f-connector-source-target:not(.f-node).top,.f-flow .f-node-input:not(.f-node).top,.f-flow .f-node-output:not(.f-node).top,.f-flow .f-connector-source:not(.f-node).top,.f-flow .f-connector-target:not(.f-node).top,.f-flow .f-connector-source-target:not(.f-node).top{top:calc(var(--ff-connector-size) / -2);left:50%;transform:translate(-50%)}f-flow .f-node-input:not(.f-node).top-left,f-flow .f-node-output:not(.f-node).top-left,f-flow .f-connector-source:not(.f-node).top-left,f-flow .f-connector-target:not(.f-node).top-left,f-flow .f-connector-source-target:not(.f-node).top-left,.f-flow .f-node-input:not(.f-node).top-left,.f-flow .f-node-output:not(.f-node).top-left,.f-flow .f-connector-source:not(.f-node).top-left,.f-flow .f-connector-target:not(.f-node).top-left,.f-flow .f-connector-source-target:not(.f-node).top-left{top:calc(var(--ff-connector-size) / -2);left:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node).top-right,f-flow .f-node-output:not(.f-node).top-right,f-flow .f-connector-source:not(.f-node).top-right,f-flow .f-connector-target:not(.f-node).top-right,f-flow .f-connector-source-target:not(.f-node).top-right,.f-flow .f-node-input:not(.f-node).top-right,.f-flow .f-node-output:not(.f-node).top-right,.f-flow .f-connector-source:not(.f-node).top-right,.f-flow .f-connector-target:not(.f-node).top-right,.f-flow .f-connector-source-target:not(.f-node).top-right{top:calc(var(--ff-connector-size) / -2);right:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node).bottom,f-flow .f-node-output:not(.f-node).bottom,f-flow .f-connector-source:not(.f-node).bottom,f-flow .f-connector-target:not(.f-node).bottom,f-flow .f-connector-source-target:not(.f-node).bottom,.f-flow .f-node-input:not(.f-node).bottom,.f-flow .f-node-output:not(.f-node).bottom,.f-flow .f-connector-source:not(.f-node).bottom,.f-flow .f-connector-target:not(.f-node).bottom,.f-flow .f-connector-source-target:not(.f-node).bottom{bottom:calc(var(--ff-connector-size) / -2);left:50%;transform:translate(-50%)}f-flow .f-node-input:not(.f-node).bottom-left,f-flow .f-node-output:not(.f-node).bottom-left,f-flow .f-connector-source:not(.f-node).bottom-left,f-flow .f-connector-target:not(.f-node).bottom-left,f-flow .f-connector-source-target:not(.f-node).bottom-left,.f-flow .f-node-input:not(.f-node).bottom-left,.f-flow .f-node-output:not(.f-node).bottom-left,.f-flow .f-connector-source:not(.f-node).bottom-left,.f-flow .f-connector-target:not(.f-node).bottom-left,.f-flow .f-connector-source-target:not(.f-node).bottom-left{bottom:calc(var(--ff-connector-size) / -2);left:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node).bottom-right,f-flow .f-node-output:not(.f-node).bottom-right,f-flow .f-connector-source:not(.f-node).bottom-right,f-flow .f-connector-target:not(.f-node).bottom-right,f-flow .f-connector-source-target:not(.f-node).bottom-right,.f-flow .f-node-input:not(.f-node).bottom-right,.f-flow .f-node-output:not(.f-node).bottom-right,.f-flow .f-connector-source:not(.f-node).bottom-right,.f-flow .f-connector-target:not(.f-node).bottom-right,.f-flow .f-connector-source-target:not(.f-node).bottom-right{bottom:calc(var(--ff-connector-size) / -2);right:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node):hover,f-flow .f-node-output:not(.f-node):hover,f-flow .f-connector-source:not(.f-node):hover,f-flow .f-connector-target:not(.f-node):hover,f-flow .f-connector-source-target:not(.f-node):hover,.f-flow .f-node-input:not(.f-node):hover,.f-flow .f-node-output:not(.f-node):hover,.f-flow .f-connector-source:not(.f-node):hover,.f-flow .f-connector-target:not(.f-node):hover,.f-flow .f-connector-source-target:not(.f-node):hover{box-shadow:0 0 0 4px color-mix(in oklch,var(--ff-connector-accent-color) 22%,transparent)}f-flow .f-node-input:not(.f-node).f-connector-connectable,f-flow .f-node-output:not(.f-node).f-connector-connectable,f-flow .f-connector-source:not(.f-node).f-connector-connectable,f-flow .f-connector-target:not(.f-node).f-connector-connectable,f-flow .f-connector-source-target:not(.f-node).f-connector-connectable,.f-flow .f-node-input:not(.f-node).f-connector-connectable,.f-flow .f-node-output:not(.f-node).f-connector-connectable,.f-flow .f-connector-source:not(.f-node).f-connector-connectable,.f-flow .f-connector-target:not(.f-node).f-connector-connectable,.f-flow .f-connector-source-target:not(.f-node).f-connector-connectable{border-color:var(--ff-connector-accent-color)}f-flow .f-node-input:not(.f-node).f-node-output-connected,f-flow .f-node-input:not(.f-node).f-node-input-connected,f-flow .f-node-input:not(.f-node).f-connector-connected,f-flow .f-node-output:not(.f-node).f-node-output-connected,f-flow .f-node-output:not(.f-node).f-node-input-connected,f-flow .f-node-output:not(.f-node).f-connector-connected,f-flow .f-connector-source:not(.f-node).f-node-output-connected,f-flow .f-connector-source:not(.f-node).f-node-input-connected,f-flow .f-connector-source:not(.f-node).f-connector-connected,f-flow .f-connector-target:not(.f-node).f-node-output-connected,f-flow .f-connector-target:not(.f-node).f-node-input-connected,f-flow .f-connector-target:not(.f-node).f-connector-connected,f-flow .f-connector-source-target:not(.f-node).f-node-output-connected,f-flow .f-connector-source-target:not(.f-node).f-node-input-connected,f-flow .f-connector-source-target:not(.f-node).f-connector-connected,.f-flow .f-node-input:not(.f-node).f-node-output-connected,.f-flow .f-node-input:not(.f-node).f-node-input-connected,.f-flow .f-node-input:not(.f-node).f-connector-connected,.f-flow .f-node-output:not(.f-node).f-node-output-connected,.f-flow .f-node-output:not(.f-node).f-node-input-connected,.f-flow .f-node-output:not(.f-node).f-connector-connected,.f-flow .f-connector-source:not(.f-node).f-node-output-connected,.f-flow .f-connector-source:not(.f-node).f-node-input-connected,.f-flow .f-connector-source:not(.f-node).f-connector-connected,.f-flow .f-connector-target:not(.f-node).f-node-output-connected,.f-flow .f-connector-target:not(.f-node).f-node-input-connected,.f-flow .f-connector-target:not(.f-node).f-connector-connected,.f-flow .f-connector-source-target:not(.f-node).f-node-output-connected,.f-flow .f-connector-source-target:not(.f-node).f-node-input-connected,.f-flow .f-connector-source-target:not(.f-node).f-connector-connected{background:var(--ff-connector-connected-color);border-color:var(--ff-connector-connected-color)}f-flow .f-node-input:not(.f-node).f-node-output-not-connectable,f-flow .f-node-input:not(.f-node).f-node-input-not-connectable,f-flow .f-node-input:not(.f-node).f-connector-not-connectable,f-flow .f-node-input:not(.f-node).f-node-input-disabled,f-flow .f-node-input:not(.f-node).f-node-output-disabled,f-flow .f-node-input:not(.f-node).f-connector-disabled,f-flow .f-node-output:not(.f-node).f-node-output-not-connectable,f-flow .f-node-output:not(.f-node).f-node-input-not-connectable,f-flow .f-node-output:not(.f-node).f-connector-not-connectable,f-flow .f-node-output:not(.f-node).f-node-input-disabled,f-flow .f-node-output:not(.f-node).f-node-output-disabled,f-flow .f-node-output:not(.f-node).f-connector-disabled,f-flow .f-connector-source:not(.f-node).f-node-output-not-connectable,f-flow .f-connector-source:not(.f-node).f-node-input-not-connectable,f-flow .f-connector-source:not(.f-node).f-connector-not-connectable,f-flow .f-connector-source:not(.f-node).f-node-input-disabled,f-flow .f-connector-source:not(.f-node).f-node-output-disabled,f-flow .f-connector-source:not(.f-node).f-connector-disabled,f-flow .f-connector-target:not(.f-node).f-node-output-not-connectable,f-flow .f-connector-target:not(.f-node).f-node-input-not-connectable,f-flow .f-connector-target:not(.f-node).f-connector-not-connectable,f-flow .f-connector-target:not(.f-node).f-node-input-disabled,f-flow .f-connector-target:not(.f-node).f-node-output-disabled,f-flow .f-connector-target:not(.f-node).f-connector-disabled,f-flow .f-connector-source-target:not(.f-node).f-node-output-not-connectable,f-flow .f-connector-source-target:not(.f-node).f-node-input-not-connectable,f-flow .f-connector-source-target:not(.f-node).f-connector-not-connectable,f-flow .f-connector-source-target:not(.f-node).f-node-input-disabled,f-flow .f-connector-source-target:not(.f-node).f-node-output-disabled,f-flow .f-connector-source-target:not(.f-node).f-connector-disabled,.f-flow .f-node-input:not(.f-node).f-node-output-not-connectable,.f-flow .f-node-input:not(.f-node).f-node-input-not-connectable,.f-flow .f-node-input:not(.f-node).f-connector-not-connectable,.f-flow .f-node-input:not(.f-node).f-node-input-disabled,.f-flow .f-node-input:not(.f-node).f-node-output-disabled,.f-flow .f-node-input:not(.f-node).f-connector-disabled,.f-flow .f-node-output:not(.f-node).f-node-output-not-connectable,.f-flow .f-node-output:not(.f-node).f-node-input-not-connectable,.f-flow .f-node-output:not(.f-node).f-connector-not-connectable,.f-flow .f-node-output:not(.f-node).f-node-input-disabled,.f-flow .f-node-output:not(.f-node).f-node-output-disabled,.f-flow .f-node-output:not(.f-node).f-connector-disabled,.f-flow .f-connector-source:not(.f-node).f-node-output-not-connectable,.f-flow .f-connector-source:not(.f-node).f-node-input-not-connectable,.f-flow .f-connector-source:not(.f-node).f-connector-not-connectable,.f-flow .f-connector-source:not(.f-node).f-node-input-disabled,.f-flow .f-connector-source:not(.f-node).f-node-output-disabled,.f-flow .f-connector-source:not(.f-node).f-connector-disabled,.f-flow .f-connector-target:not(.f-node).f-node-output-not-connectable,.f-flow .f-connector-target:not(.f-node).f-node-input-not-connectable,.f-flow .f-connector-target:not(.f-node).f-connector-not-connectable,.f-flow .f-connector-target:not(.f-node).f-node-input-disabled,.f-flow .f-connector-target:not(.f-node).f-node-output-disabled,.f-flow .f-connector-target:not(.f-node).f-connector-disabled,.f-flow .f-connector-source-target:not(.f-node).f-node-output-not-connectable,.f-flow .f-connector-source-target:not(.f-node).f-node-input-not-connectable,.f-flow .f-connector-source-target:not(.f-node).f-connector-not-connectable,.f-flow .f-connector-source-target:not(.f-node).f-node-input-disabled,.f-flow .f-connector-source-target:not(.f-node).f-node-output-disabled,.f-flow .f-connector-source-target:not(.f-node).f-connector-disabled{background:var(--ff-connector-disabled-color);border-color:var(--ff-connector-disabled-border-color);box-shadow:none}f-flow .f-node-input:not(.f-node),f-flow .f-connector-target:not(.f-node),.f-flow .f-node-input:not(.f-node),.f-flow .f-connector-target:not(.f-node){border-radius:var(--ff-connector-input-radius)}f-flow .f-connections-dragging .f-node-input:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-node-output:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-connector-source:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-connector-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-connector-source-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-node-input:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-node-output:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-connector-source:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-connector-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-connector-source-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected){border-color:var(--ff-connector-disabled-border-color)}f-flow .f-node-outlet,f-flow .f-connector-outlet,.f-flow .f-node-outlet,.f-flow .f-connector-outlet{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:32px;padding:var(--ff-outlet-padding-y) var(--ff-outlet-padding-x);box-sizing:border-box;border:1px solid var(--ff-outlet-border-color);border-radius:var(--ff-outlet-border-radius);background:var(--ff-outlet-background-color);color:var(--ff-outlet-color);pointer-events:all}f-flow .f-node-outlet.f-node-outlet-disabled,f-flow .f-node-outlet.f-connector-disabled,f-flow .f-connector-outlet.f-node-outlet-disabled,f-flow .f-connector-outlet.f-connector-disabled,.f-flow .f-node-outlet.f-node-outlet-disabled,.f-flow .f-node-outlet.f-connector-disabled,.f-flow .f-connector-outlet.f-node-outlet-disabled,.f-flow .f-connector-outlet.f-connector-disabled{background:var(--ff-outlet-disabled-background-color);border-color:var(--ff-outlet-disabled-border-color);color:var(--ff-outlet-disabled-color)}f-flow .f-connection-content,.f-flow .f-connection-content{box-sizing:border-box;color:var(--ff-connection-content-color);font-size:var(--ff-connection-content-font-size);padding:var(--ff-connection-content-padding-y) var(--ff-connection-content-padding-x);background:var(--ff-connection-content-background-color);border:1px solid var(--ff-connection-content-border-color);border-radius:var(--ff-connection-content-border-radius)}f-flow .f-connection .f-connection-selection,.f-flow .f-connection .f-connection-selection{fill:none;stroke:transparent;stroke-width:var(--ff-connection-hit-width)}f-flow .f-connection .f-connection-path,.f-flow .f-connection .f-connection-path{fill:none;stroke:var(--ff-connection-color);stroke-width:var(--ff-connection-width)}f-flow .f-connection .f-connection-drag-handle,.f-flow .f-connection .f-connection-drag-handle{fill:transparent;stroke:transparent;cursor:move}f-flow .f-connection.f-snap-connection .f-connection-path,.f-flow .f-connection.f-snap-connection .f-connection-path{stroke:var(--ff-snap-connection-color);stroke-dasharray:8 4}f-flow .f-connection.f-selected .f-connection-content,.f-flow .f-connection.f-selected .f-connection-content{border-color:var(--ff-connection-content-border-color-selected)}f-flow .f-connection.f-selected .f-connection-path,.f-flow .f-connection.f-selected .f-connection-path{stroke:var(--ff-connection-selected-color)}f-flow:not(.f-dragging) .f-connection:not(.f-dragging):not(.f-selected):not(.f-connection-selection-disabled):hover .f-connection-selection,.f-flow:not(.f-dragging) .f-connection:not(.f-dragging):not(.f-selected):not(.f-connection-selection-disabled):hover .f-connection-selection{stroke:var(--ff-connection-hover-color)}f-flow .f-marker,f-flow .connection-marker,.f-flow .f-marker,.f-flow .connection-marker{color:var(--ff-marker-color)}f-flow .f-marker circle,f-flow .f-marker rect,f-flow .f-marker path,f-flow .f-marker polygon,f-flow .f-marker line,f-flow .connection-marker circle,f-flow .connection-marker rect,f-flow .connection-marker path,f-flow .connection-marker polygon,f-flow .connection-marker line,.f-flow .f-marker circle,.f-flow .f-marker rect,.f-flow .f-marker path,.f-flow .f-marker polygon,.f-flow .f-marker line,.f-flow .connection-marker circle,.f-flow .connection-marker rect,.f-flow .connection-marker path,.f-flow .connection-marker polygon,.f-flow .connection-marker line{fill:currentColor;stroke:currentColor}f-flow .f-connection.f-snap-connection .f-marker,f-flow .f-connection.f-snap-connection .connection-marker,.f-flow .f-connection.f-snap-connection .f-marker,.f-flow .f-connection.f-snap-connection .connection-marker{color:var(--ff-snap-connection-color)}f-flow .f-connection.f-selected .f-marker,f-flow .f-connection.f-selected .connection-marker,.f-flow .f-connection.f-selected .f-marker,.f-flow .f-connection.f-selected .connection-marker{color:var(--ff-connection-selected-color)}f-flow .f-connection .f-connection-waypoints .f-candidate,f-flow .f-connection .f-connection-waypoints .f-waypoint,.f-flow .f-connection .f-connection-waypoints .f-candidate,.f-flow .f-connection .f-connection-waypoints .f-waypoint{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;stroke-width:1.5}f-flow .f-connection .f-connection-waypoints .f-candidate:hover,f-flow .f-connection .f-connection-waypoints .f-waypoint:hover,.f-flow .f-connection .f-connection-waypoints .f-candidate:hover,.f-flow .f-connection .f-connection-waypoints .f-waypoint:hover{transform:scale(1.1)}f-flow .f-connection .f-connection-waypoints .f-candidate,.f-flow .f-connection .f-connection-waypoints .f-candidate{fill:var(--ff-waypoint-candidate-fill);stroke:var(--ff-waypoint-candidate-stroke)}f-flow .f-connection .f-connection-waypoints .f-waypoint,.f-flow .f-connection .f-connection-waypoints .f-waypoint{fill:var(--ff-waypoint-fill);stroke:var(--ff-waypoint-stroke);cursor:move}f-flow .f-connection .f-connection-drag-handle,.f-flow .f-connection .f-connection-drag-handle{fill:transparent;stroke:var(--ff-connection-drag-handle-stroke);stroke-width:1.5}.f-external-item{display:inline-flex;align-items:center;gap:8px;padding:12px 14px;box-sizing:border-box;color:var(--ff-external-item-color);background:var(--ff-external-item-background-color);border:1px solid var(--ff-external-item-border-color);border-radius:var(--ff-external-item-border-radius);box-shadow:var(--ff-external-item-shadow);cursor:grab;-webkit-user-select:none;user-select:none}.f-external-item.f-external-item-disabled{color:var(--ff-external-item-disabled-color);background:var(--ff-external-item-disabled-background-color);cursor:not-allowed}.f-external-item-preview{box-sizing:border-box;box-shadow:var(--ff-external-item-preview-shadow)}.f-external-item-placeholder{box-sizing:border-box;background:var(--ff-external-item-placeholder-background-color);border:1px dashed var(--ff-external-item-placeholder-border-color);border-radius:var(--ff-external-item-border-radius)}f-flow .f-background line,f-flow .f-background path,.f-flow .f-background line,.f-flow .f-background path{stroke:var(--ff-background-line-color)}f-flow .f-background circle,.f-flow .f-background circle{fill:var(--ff-background-dot-color)}f-flow .f-selection-area,.f-flow .f-selection-area{box-sizing:border-box;background:var(--ff-selection-area-color);border:1px solid var(--ff-selection-area-border-color)}f-flow .f-minimap,.f-flow .f-minimap{overflow:hidden;background:var(--ff-minimap-background-color);border:1px solid var(--ff-minimap-border-color);border-radius:var(--ff-minimap-border-radius);box-shadow:var(--ff-minimap-shadow);bottom:16px;right:16px;width:140px;height:120px}f-flow .f-minimap .f-minimap-node,f-flow .f-minimap .f-minimap-group,.f-flow .f-minimap .f-minimap-node,.f-flow .f-minimap .f-minimap-group{fill:var(--ff-minimap-node-color)}f-flow .f-minimap .f-minimap-node.f-selected,f-flow .f-minimap .f-minimap-group.f-selected,.f-flow .f-minimap .f-minimap-node.f-selected,.f-flow .f-minimap .f-minimap-group.f-selected{fill:var(--ff-minimap-node-selected-color)}f-flow .f-minimap .f-minimap-view,.f-flow .f-minimap .f-minimap-view{fill:var(--ff-minimap-view-color);stroke:var(--ff-minimap-view-border-color);stroke-width:1}f-flow .f-magnetic-lines .f-line,f-flow .f-line-alignment .f-line,.f-flow .f-magnetic-lines .f-line,.f-flow .f-line-alignment .f-line{background:var(--ff-magnetic-line-color)}f-flow .f-magnetic-rects .f-rect,.f-flow .f-magnetic-rects .f-rect{box-sizing:border-box;background:var(--ff-magnetic-rect-fill);border:1px solid var(--ff-magnetic-rect-border-color)}abp-confirmation .confirmation{z-index:20000!important}.abp-toast-container{z-index:20001!important}.pl-theme-fade{position:fixed;inset:0;z-index:2147483647;pointer-events:none;opacity:0;will-change:opacity;transition:opacity .16s ease,background-color .16s ease}@media(prefers-reduced-motion:reduce){.pl-theme-fade{display:none}}
