:root{--cmd-h:48px;--tabs-h:36px;--status-h:26px;--nav-w:236px;--cmd-bg:#0c3328;--cmd-bg-2:#0f3d30;--cmd-ink:#e8f2ec;--cmd-muted:rgba(232,242,236,.62);--cmd-line:hsla(0,0%,100%,.1);--cmd-hover:hsla(0,0%,100%,.08);--nav-bg:#fbfcf9;--nav-ink:#31423a;--nav-hover:#eef2ea;--surface-tab:var(--bg)}.dark,:root.dark{--cmd-bg:#050e0a;--cmd-bg-2:#08140f;--nav-bg:#0e1915;--nav-ink:#c8d6ce;--nav-hover:#15241e}html[data-nav-rail="1"]{--nav-w:56px}.pageShell.ent{grid-template-columns:var(--nav-w) minmax(0,1fr);grid-template-rows:var(--cmd-h) var(--tabs-h) minmax(0,1fr) var(--status-h);grid-template-areas:"cmd cmd" "nav tabs" "nav main" "status status";transition:grid-template-columns .18s ease}.pageShell.ent>.cmdBar{grid-area:cmd}.pageShell.ent>.wsTabs{grid-area:tabs}.pageShell.ent>.sidebar{grid-area:nav}.pageShell.ent>.contentArea{grid-area:main;height:auto;max-height:none;min-height:0;padding:16px 22px 28px}.pageShell.ent>.statusBar{grid-area:status}.cmdBar{position:relative;z-index:60;display:flex;align-items:center;gap:14px;padding:0 10px 0 6px;background:linear-gradient(90deg,var(--cmd-bg) 0,var(--cmd-bg-2) 55%,var(--cmd-bg) 100%);color:var(--cmd-ink);border-bottom:1px solid rgba(0,0,0,.35);box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.04);font-family:var(--font-ui)}.cmdBar:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent 0,var(--sun) 18%,#ffd36b 30%,transparent 55%);opacity:.85}.cmdLeft,.cmdRight{display:flex;align-items:center;gap:4px;flex-shrink:0}.cmdRight{margin-left:auto;gap:6px}.cmdAnchor{position:relative;display:inline-flex}.cmdBar button{font-family:inherit;min-height:0}.cmdIcon{position:relative;width:34px;height:34px;border-radius:6px;display:inline-grid;place-items:center;border:0;background:transparent;color:var(--cmd-muted);cursor:pointer;transition:background .12s,color .12s}.cmdIcon.on,.cmdIcon:hover{background:var(--cmd-hover);color:#fff}.cmdIcon:focus-visible,.cmdNew:focus-visible,.cmdSearch:focus-visible,.cmdUser:focus-visible{outline:2px solid var(--sun);outline-offset:1px}.cmdMenuBtn{display:none}.cmdBrand{display:flex;align-items:center;gap:9px;padding:0 10px 0 6px;height:34px;border-radius:6px;color:#fff;text-decoration:none}.cmdBrand:hover{background:var(--cmd-hover)}.cmdMark{width:24px;height:24px;border-radius:6px;position:relative;overflow:hidden;flex-shrink:0;background:linear-gradient(160deg,#1fa173,#0f6a4c);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.16)}.cmdMark:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;left:6px;top:3px;background:radial-gradient(circle,#ffd36b 0,var(--sun) 70%);box-shadow:0 0 8px rgba(255,196,64,.8)}.cmdMark span{position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,rgba(10,40,30,.9) 0 5px,rgba(20,70,52,.95) 5px 6px);border-top:1px solid hsla(0,0%,100%,.35)}.cmdName{font-family:var(--font-display);font-weight:700;font-size:15.5px;letter-spacing:-.02em}.cmdProduct{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--cmd-muted);padding-left:9px;border-left:1px solid var(--cmd-line);line-height:14px}.cmdSearch{flex:0 1 560px;min-width:200px;height:32px;margin:0 auto;display:flex;align-items:center;gap:9px;padding:0 6px 0 11px;background:hsla(0,0%,100%,.07);border:1px solid var(--cmd-line);border-radius:6px;color:var(--cmd-muted);font-size:13px;cursor:text;text-align:left;transition:background .12s,border-color .12s}.cmdSearch:hover{background:hsla(0,0%,100%,.11);border-color:hsla(0,0%,100%,.18);color:var(--cmd-ink)}.cmdSearch span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdSearch kbd,.cpFoot kbd,.cpInput kbd{font-family:var(--font-ui);font-size:10.5px;font-weight:600;letter-spacing:.02em;padding:2px 6px;border-radius:4px;border:1px solid var(--cmd-line);background:hsla(0,0%,100%,.06);color:var(--cmd-muted)}.cmdNew{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px 0 9px;border-radius:6px;border:0;cursor:pointer;background:var(--sun);color:#241600;font-weight:650;font-size:13px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 2px 8px -2px rgba(240,162,26,.55)}.cmdNew.on,.cmdNew:hover{background:#f7b23a}.cmdChip{display:inline-flex;align-items:center;height:28px;margin:0 4px;border-radius:6px;border:1px solid var(--cmd-line);overflow:hidden;font-size:12px;white-space:nowrap}.cmdChip b{padding:0 9px;font-weight:600;color:var(--cmd-ink)}.cmdChip span{padding:0 9px;height:100%;display:grid;place-items:center;color:var(--cmd-muted);background:hsla(0,0%,100%,.05);border-left:1px solid var(--cmd-line);font-variant-numeric:tabular-nums}.cmdBadge{position:absolute;top:3px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#e5483c;color:#fff;font-size:9.5px;font-weight:700;display:grid;place-items:center;border:2px solid var(--cmd-bg-2);line-height:1}.cmdUser{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 8px 0 4px;margin-left:2px;border-radius:6px;border:0;background:transparent;color:var(--cmd-ink);cursor:pointer;font-size:13px;font-weight:500}.cmdUser.on,.cmdUser:hover{background:var(--cmd-hover)}.cmdUser svg{color:var(--cmd-muted)}.cmdAvatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;box-shadow:0 0 0 2px hsla(0,0%,100%,.14)}.cmdAvatar.lg{width:40px;height:40px;font-size:14px;box-shadow:none}.cmdPop{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 44px -12px rgba(9,22,17,.32),0 4px 10px rgba(9,22,17,.06);animation:cmdPopIn .14s ease-out;overflow:hidden}@keyframes cmdPopIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.cmdPop h6{margin:0;padding:10px 14px 6px;font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2)}.cmdMenuItem{width:100%;display:flex;align-items:flex-start;gap:11px;padding:8px 14px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-size:13px}.cmdMenuItem svg{margin-top:2px;color:var(--primary);flex-shrink:0}.cmdMenuItem b{display:block;font-weight:600}.cmdMenuItem small{display:block;color:var(--muted);font-size:12px;margin-top:1px}.cmdMenuItem:hover{background:var(--panel-2)}.cmdMenuItem.danger,.cmdMenuItem.danger svg{color:var(--danger)}.cmdNewMenu{width:290px;padding-bottom:6px;left:0;right:auto}.cmdModules{left:0;right:auto;width:min(1120px,calc(100vw - 24px))}.cmdModulesHead{display:flex;align-items:baseline;gap:10px;padding:14px 18px 10px;border-bottom:1px solid var(--line);background:var(--panel-2)}.cmdModulesHead b{font-family:var(--font-display);font-size:16px;letter-spacing:-.01em}.cmdModulesHead span{color:var(--muted);font-size:12.5px}.cmdModulesGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px 10px;padding:8px 10px 14px}.cmdModCol h6{padding:10px 8px 6px}.cmdModItem{width:100%;display:flex;align-items:flex-start;gap:10px;padding:7px 8px;border-radius:6px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.cmdModItem:hover{background:var(--panel-2)}.cmdModItem.active{background:var(--primary-soft)}.cmdModItem b{display:block;font-size:13px;font-weight:600}.cmdModItem small{display:block;font-size:11.5px;color:var(--muted);line-height:1.35;margin-top:1px}.cmdModIcon{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;background:var(--primary-soft);color:var(--primary)}.cmdNotif{width:380px}.cmdPopHead{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel-2)}.cmdPopHead b{font-size:13px}.cmdPopTools{display:flex;align-items:center;gap:8px}.cmdPopTools button{border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;padding:2px}.cmdPopTools em{font-style:normal;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--bg-2);color:var(--muted)}.cmdNotifList{max-height:400px;overflow-y:auto}.cmdNotifItem{width:100%;display:flex;gap:10px;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;color:var(--ink)}.cmdNotifItem:hover{background:var(--panel-2)}.cmdNotifDot{width:7px;height:7px;border-radius:50%;background:var(--primary);margin-top:6px;flex-shrink:0}.cmdNotifBody{min-width:0;flex:1}.cmdNotifMeta{display:flex;gap:4px;font-size:11.5px;color:var(--muted)}.cmdNotifMeta b{color:var(--primary);font-weight:600}.cmdNotifMeta time{margin-left:auto;white-space:nowrap}.cmdNotifText{display:block;font-size:13px;line-height:1.4;margin-top:2px}.cmdNotifBody small{color:var(--muted-2);font-size:11px}.cmdEmpty{padding:28px;text-align:center;color:var(--muted);font-size:13px}.cmdPopFoot{width:100%;padding:9px;border:0;background:var(--panel-2);color:var(--primary);font-weight:600;font-size:12.5px;cursor:pointer}.cmdPopFoot:hover{background:var(--bg-2)}.cmdUserMenu{width:270px;padding-bottom:6px}.cmdUserHead{display:flex;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--line);margin-bottom:6px}.cmdUserHead b{display:block;font-size:13.5px}.cmdUserHead small{display:block;color:var(--muted);font-size:12px}.cmdUserHead em{display:inline-block;margin-top:4px;font-style:normal;font-size:10.5px;font-weight:600;text-transform:capitalize;padding:1px 7px;border-radius:4px;background:var(--primary-soft);color:var(--primary)}.cpOverlay{position:fixed;inset:0;z-index:3000;background:rgba(6,18,13,.46);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:flex-start;padding-top:11vh;animation:cpFade .12s ease-out}@keyframes cpFade{0%{opacity:0}to{opacity:1}}.cpBox{width:min(680px,calc(100vw - 32px));background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 40px 90px -20px rgba(6,18,13,.55);overflow:hidden;animation:cmdPopIn .14s ease-out}.cpInput{display:flex;align-items:center;gap:10px;padding:0 14px;height:52px;border-bottom:1px solid var(--line);color:var(--muted)}.cpInput input{flex:1;border:0;outline:0;background:transparent;font-size:15px;color:var(--ink);font-family:var(--font-ui);min-height:0;box-shadow:none;padding:0}.cpFoot kbd,.cpInput kbd{border-color:var(--line);background:var(--panel-2);color:var(--muted)}.cpList{max-height:min(56vh,460px);overflow-y:auto;padding:4px 6px 8px}.cpGroup h6{margin:0;padding:10px 10px 4px;font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2)}.cpItem{width:100%;display:flex;align-items:center;gap:11px;padding:7px 10px;border-radius:6px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left;min-height:0}.cpItem.on{background:var(--primary-soft)}.cpIcon{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;background:var(--bg-2);color:var(--muted)}.cpItem.on .cpIcon{background:var(--primary);color:#fff}.cpText{flex:1;min-width:0}.cpText b{font-size:13.5px;font-weight:550}.cpText b,.cpText small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cpText small{font-size:12px;color:var(--muted)}.cpTag{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:4px;background:var(--bg-2);color:var(--muted);flex-shrink:0}.cpEnter{color:var(--primary);flex-shrink:0}.cpEmpty{padding:30px 20px;text-align:center;font-size:13px}.cpEmpty,.cpFoot{color:var(--muted)}.cpFoot{display:flex;align-items:center;gap:14px;padding:8px 14px;border-top:1px solid var(--line);background:var(--panel-2);font-size:11.5px}.cpFoot span{display:inline-flex;align-items:center;gap:4px}.cpFootR{margin-left:auto;color:var(--muted-2)}.wsTabs{display:flex;align-items:stretch;min-width:0;overflow-x:auto;overflow-y:hidden;background:var(--nav-bg);border-bottom:1px solid var(--line);scrollbar-width:none}.wsTabs::-webkit-scrollbar{display:none}.wsTab{position:relative;display:flex;align-items:center;gap:7px;flex-shrink:0;max-width:240px;padding:0 8px 0 13px;font-size:12.5px;font-weight:500;color:var(--muted);border-right:1px solid var(--line);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;transition:background .1s,color .1s}.wsTab span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsTab svg{flex-shrink:0;opacity:.8}.wsTab:hover{background:var(--nav-hover);color:var(--ink)}.wsTab:focus-visible{box-shadow:inset 0 0 0 2px var(--primary-ring)}.wsTab.active{background:var(--surface-tab);color:var(--ink);font-weight:600;margin-bottom:-1px;border-bottom:1px solid var(--surface-tab)}.wsTab.active:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--primary)}.wsTab.active svg{color:var(--primary);opacity:1}.wsTab.record svg{color:var(--sun-deep)}.wsClose{width:20px;height:20px;border-radius:4px;border:0;background:transparent;color:var(--muted-2);display:grid;place-items:center;cursor:pointer;opacity:0;min-height:0;padding:0}.wsTab.active .wsClose,.wsTab:hover .wsClose{opacity:1}.wsClose:hover{background:var(--bg-2);color:var(--ink)}.wsFill{flex:1}.statusBar{display:flex;align-items:stretch;gap:0;overflow:hidden;white-space:nowrap;background:var(--cmd-bg);color:var(--cmd-muted);font-size:11.5px;border-top:1px solid rgba(0,0,0,.3);font-variant-numeric:tabular-nums}.sbItem{display:inline-flex;align-items:center;gap:6px;padding:0 11px;border-right:1px solid var(--cmd-line)}.sbGrow{flex:1}.sbGrow+.sbItem{border-left:1px solid var(--cmd-line)}.sbConn i{width:7px;height:7px;border-radius:50%;background:#8aa597}.sbConn.ok i{background:#34d399;box-shadow:0 0 6px #34d399}.sbConn.bad{background:#8a1f17;color:#fff}.sbConn.bad i{background:#fca5a5}.sbEnv{color:#2a1a00;background:var(--sun);font-weight:700;letter-spacing:.03em}.sbEnv.live{background:#1b9467;color:#fff}.sbClock{color:var(--cmd-ink);border-right:0}.pageShell.ent>.sidebar{position:relative;top:auto;height:auto;min-height:0;padding:8px 8px 6px;background:var(--nav-bg);color:var(--nav-ink);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.pageShell.ent>.sidebar>nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 -8px;padding:0 8px;scrollbar-width:thin}.pageShell.ent>.sidebar::-webkit-scrollbar-thumb{background:var(--line-strong)}.sidebar .navGroup{margin-bottom:2px}.mobileSidebar .navSection,.pageShell.ent .navSection{width:100%;margin:8px 0 2px;padding:4px 8px;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:0;font-family:var(--font-ui);font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2);border-radius:4px}.mobileSidebar .navSection:after,.pageShell.ent .navSection:after{display:none}.pageShell.ent .navSection svg{opacity:0;transition:opacity .12s}.pageShell.ent .navSection:hover{color:var(--muted)}.pageShell.ent .navSection:hover svg,.pageShell.ent .navSection[aria-expanded=false] svg{opacity:1}.mobileSidebar .navItem,.pageShell.ent .navItem{height:32px;padding:0 9px;gap:10px;border-radius:6px;margin:0 0 1px;color:var(--nav-ink);font-size:13px;font-weight:500;text-decoration:none}.mobileSidebar .navItem svg,.pageShell.ent .navItem svg{color:var(--muted);opacity:1}.mobileSidebar .navItem:hover,.pageShell.ent .navItem:hover{background:var(--nav-hover);color:var(--ink)}.mobileSidebar .navItem.active,.pageShell.ent .navItem.active{background:var(--primary-soft);color:var(--primary-deep);font-weight:600}.dark .mobileSidebar .navItem.active,.dark .pageShell.ent .navItem.active{color:var(--brand-200)}.mobileSidebar .navItem.active svg,.pageShell.ent .navItem.active svg{color:var(--primary)}.mobileSidebar .navItem.active:before,.pageShell.ent .navItem.active:before{left:-8px;top:6px;bottom:6px;background:var(--primary);box-shadow:none}.navLabel{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navCaret{display:grid;place-items:center;width:20px;height:20px;border-radius:4px;color:var(--muted-2)}.navCaret:hover{background:var(--bg-2);color:var(--ink)}.navSub{margin:1px 0 4px 18px;padding-left:10px;border-left:1px solid var(--line)}.navSubItem{display:flex;align-items:center;gap:8px;height:26px;padding:0 8px;border-radius:5px;font-size:12.5px;color:var(--muted);text-decoration:none;cursor:pointer}.navSubItem span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navSubItem em{font-style:normal;font-size:10.5px;font-weight:600;color:var(--muted-2);font-variant-numeric:tabular-nums}.navSubItem:hover{background:var(--nav-hover);color:var(--ink)}.navSubItem.active{color:var(--primary-deep);font-weight:600;background:var(--primary-soft)}.navSubItem.active em{color:var(--primary)}.pageShell.ent .sidebarFooter{margin-top:auto;padding-top:6px;border-top:1px solid var(--line)}.railToggle{width:100%;border:0;background:transparent;cursor:pointer;font-family:var(--font-ui);text-align:left;justify-content:flex-start}.pageShell.ent .railToggle{color:var(--muted);font-size:12.5px}.mobileSidebar .sidebarFooter{display:none!important}.pageShell.ent>.sidebar.rail{padding:8px 8px 6px}.pageShell.ent>.sidebar.rail .navCaret,.pageShell.ent>.sidebar.rail .navLabel{display:none}.pageShell.ent>.sidebar.rail .navItem{justify-content:center;padding:0}.pageShell.ent>.sidebar.rail .navSection{height:1px;padding:0;margin:8px 6px;background:var(--line);font-size:0;pointer-events:none}.pageShell.ent>.sidebar.rail .navSection svg{display:none}.pageShell.ent .topBar{margin-bottom:14px;padding-bottom:10px;min-height:0}.pageShell.ent .topBar .topRight{display:none!important}.pageShell.ent .heroSummary h1{font-size:21px;letter-spacing:-.02em}.pageShell.ent .heroSummary p{font-size:12.5px}@media (max-width:1280px){.cmdChip{display:none}}@media (max-width:1024px){.pageShell.ent{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--cmd-h) minmax(0,1fr) var(--status-h);grid-template-areas:"cmd" "main" "status"}.pageShell.ent>.wsTabs{display:none}.pageShell.ent .mobileMenuToggle{display:none!important}.cmdMenuBtn{display:inline-grid}.cmdProduct,.cmdSearch span,.cmdUserName{display:none}.cmdSearch{flex:1 1 auto;min-width:0}.cmdSearch kbd{margin-left:auto}.cmdModules{position:fixed;top:calc(var(--cmd-h) + 6px);left:12px}.cmdModulesGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.cmdBar,.pageShell.ent>.sidebar,.statusBar,.wsTabs{display:none!important}.pageShell.ent{display:block;height:auto}}.pageShell.ent{--radius-lg:8px;--radius-xl:8px;--radius-2xl:10px}.pageShell.ent .contentArea{font-size:13px}.pageShell.ent>.contentArea>.topBar{margin:-16px -22px 16px;padding:12px 22px;background:var(--panel);border-bottom:1px solid var(--line)}.pageShell.ent>.contentArea>.topBar:has(+.fx-page>.fx-head:first-child){margin-bottom:0;padding-bottom:0;border-bottom:0}.pageShell.ent>.contentArea>.topBar:has(+.fx-page>.fx-head:first-child) .heroSummary p{font-size:12px}.pageShell.ent>.contentArea>.fx-page>.fx-head:first-child{margin:0 -22px 2px;padding:6px 22px 12px;background:var(--panel);border-bottom:1px solid var(--line);align-items:center;position:sticky;top:-16px;z-index:5}.pageShell.ent>.contentArea>.fx-page:first-child>.fx-head:first-child{margin-top:-16px;padding-top:12px}.pageShell.ent .fx-page{gap:14px}.pageShell.ent .fx-head h1{font-size:21px;letter-spacing:-.02em}.pageShell.ent .fx-head p{font-size:12.5px;margin-top:3px;max-width:92ch}.pageShell.ent .fx-crumb{margin-bottom:4px;font-size:12px}.pageShell.ent .fx-head-actions{gap:2px;padding:3px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2)}.pageShell.ent .fx-head-actions .fx-btn{height:30px;padding:0 11px;border-radius:4px;border-color:transparent;background:transparent;box-shadow:none;font-size:12.5px}.pageShell.ent .fx-head-actions .fx-btn:hover{background:var(--panel);border-color:var(--line)}.pageShell.ent .fx-head-actions .fx-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.pageShell.ent .fx-head-actions .fx-btn.primary:hover{background:var(--primary-hover)}.pageShell.ent .fx-head-actions .fx-btn.sun{background:var(--sun);color:#2a1a00}.pageShell.ent .fx-head-actions .fx-btn.danger{color:var(--danger)}.pageShell.ent .fx-head-actions .fx-btn svg{color:inherit}.pageShell.ent .fx-btn{height:32px;border-radius:5px}.pageShell.ent .fx-btn.icon{width:32px}.pageShell.ent .fx-btn.sm{height:28px;border-radius:4px}.pageShell.ent .fx-btn.sm.icon{width:28px}.pageShell.ent .fx-btn.primary{box-shadow:none}.pageShell.ent .fx-search,.pageShell.ent .fx-select{height:32px;border-radius:5px}.pageShell.ent .fx-select.sm{height:28px}.pageShell.ent .fx-seg{border-radius:6px;padding:2px}.pageShell.ent .fx-tab{padding:8px 12px 10px;font-size:13px}.pageShell.ent .fx-panel-head{padding:10px 14px}.pageShell.ent .fx-panel-head h3{font-size:14.5px}.pageShell.ent .fx-panel-body{padding:14px}.pageShell.ent .fx-ledger>div{padding:12px 16px 13px}.pageShell.ent .fx-ledger .lbl{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--muted-2)}.pageShell.ent .fx-ledger .val{font-size:22px;margin-top:4px}.pageShell.ent .fx-li{padding:9px 14px}.pageShell.ent .fx-table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:650;padding:8px 12px;color:var(--muted);background:var(--panel-2);border-bottom:1px solid var(--line-strong)}.pageShell.ent .fx-table td{padding:8px 12px}.pageShell.ent .fx-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--panel-2) 70%,var(--panel))}.pageShell.ent .fx-table tbody tr:hover td{background:color-mix(in srgb,var(--primary-soft) 55%,var(--panel))}.pageShell.ent .fx-table tbody tr.click:hover td{background:var(--primary-soft)}.pageShell.ent .fx-table td+td,.pageShell.ent .fx-table th+th{border-left:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.pageShell.ent .fx-badge{height:20px;padding:0 7px;border-radius:4px;font-size:11.5px}.fx-dialog{border-radius:10px}.pageShell.ent .fx-panel.flush .fx-panel-body{padding:0}.pageShell.ent .fx-dg .fx-table td .fx-btn.sm{height:24px;padding:0 7px}.pageShell.ent .fx-dg .fx-table td .fx-btn.sm.icon{width:24px;padding:0}.pageShell.ent .fx-dg.compact .fx-table td{padding-top:5px;padding-bottom:5px}.fx-dg .fx-cellmain,.fx-dg .fx-cellsub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}.fx-dg .fx-mono-ref,.fx-dg .fx-table td,.fx-dg .fx-table th{white-space:nowrap}.fx-dg .fx-cellmain,.fx-dg .fx-cellsub{max-width:250px}.pageShell.ent .fx-dg .fx-margin-bar{width:38px}.fx-dg .fx-cellmain,.fx-dg .fx-cellsub{max-width:230px}.erp-home{display:flex;flex-direction:column;gap:14px}.erp-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px 20px;border-radius:8px;color:var(--canopy-ink);background:radial-gradient(60% 140% at 100% 0,rgba(240,162,26,.3) 0,rgba(240,162,26,0) 60%),linear-gradient(120deg,#0c3328,#0f3d30 55%,#145a43);border:1px solid rgba(0,0,0,.2)}.erp-hero:after{content:"";position:absolute;right:-10px;bottom:-1px;width:46%;height:34px;pointer-events:none;background:repeating-linear-gradient(90deg,hsla(0,0%,100%,.07) 0 22px,transparent 22px 24px);clip-path:polygon(8% 100%,14% 0,100% 0,100% 100%)}.erp-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;letter-spacing:.04em;color:#ffd36b}.erp-hero h1{margin:4px 0 2px;font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.02em;color:#fff}.erp-hero p{margin:0;font-size:13px;color:rgba(230,241,234,.75);font-variant-numeric:tabular-nums}.erp-quick{position:relative;z-index:1;display:flex;gap:6px;flex-wrap:wrap}.erp-quick button{height:32px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:5px;cursor:pointer;border:1px solid hsla(0,0%,100%,.18);background:hsla(0,0%,100%,.08);color:#fff;font-size:12.5px;font-weight:600;font-family:var(--font-ui)}.erp-quick button:hover{background:hsla(0,0%,100%,.16)}.erp-quick button:first-child{background:var(--sun);border-color:var(--sun);color:#241600}.erp-quick button:first-child:hover{background:#f7b23a}.erp-tiles{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.erp-tile,.erp-tiles{background:var(--panel)}.erp-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:12px 14px 0;min-height:104px;text-align:left;font-family:var(--font-ui);border:0;border-left:1px solid var(--line);color:var(--ink);cursor:pointer;transition:background .12s}.erp-tile:first-child{border-left:0}.erp-tile:hover:not(:disabled){background:var(--panel-2)}.erp-tile:disabled{cursor:default}.erp-tile:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:transparent}.erp-tile.sun:before{background:var(--sun)}.erp-tile.pos:before{background:var(--success)}.erp-tile.neg:before{background:var(--danger)}.erp-tile-lbl{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.erp-tile-val{font-family:var(--font-display);font-size:23px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.erp-tile.neg .erp-tile-val{color:var(--danger)}.erp-tile-sub{font-size:11.5px;color:var(--muted);padding-bottom:10px}.erp-spark{width:calc(100% + 28px);margin:auto -14px 0;height:30px}.erp-tile.skel{cursor:default;padding-bottom:12px}.erp-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;overflow:hidden}.erp-panel-head{display:flex;align-items:baseline;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.erp-panel-head h3{margin:0;font-family:var(--font-display);font-size:14.5px;font-weight:650;color:var(--ink)}.erp-hint{font-size:12px;color:var(--muted)}.erp-link{margin-left:auto;display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--primary);font-size:12.5px;font-weight:600;cursor:pointer;font-family:var(--font-ui)}.erp-flow-phases{display:flex;gap:4px;padding:10px 14px 0}.erp-phase{font-size:10.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);padding-bottom:5px;border-bottom:2px solid var(--line)}.erp-phase.sell{border-color:#7fb3d5}.erp-phase.approve{border-color:var(--violet)}.erp-phase.install{border-color:var(--sun)}.erp-phase.close{border-color:var(--success)}.erp-flow{display:flex;padding:8px 14px 14px;overflow-x:auto}.erp-chev{--c:var(--bg-2);--ci:var(--muted);position:relative;flex:1 1 0;min-width:84px;height:74px;margin-right:-6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:0;cursor:pointer;font-family:var(--font-ui);color:var(--ink);background:var(--c);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%);transition:filter .12s,transform .12s}.erp-chev:first-child{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%)}.erp-chev:hover{filter:brightness(.96)}.dark .erp-chev:hover{filter:brightness(1.2)}.erp-chev.has.sell{--c:#e3eef6;--ci:#1f6f9c}.erp-chev.has.approve{--c:var(--violet-soft);--ci:var(--violet)}.erp-chev.has.install{--c:var(--sun-soft);--ci:var(--sun-deep)}.erp-chev.has.close{--c:var(--success-soft);--ci:var(--success)}.dark .erp-chev.has.sell{--c:rgba(31,111,156,.22);--ci:#8cc3e6}.erp-chev-n{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1;color:var(--ci);font-variant-numeric:tabular-nums}.erp-chev:not(.has) .erp-chev-n{color:var(--muted-2)}.erp-chev-l{font-size:11.5px;font-weight:600;color:var(--ink-soft);white-space:nowrap}.erp-chev-v{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.erp-chev-i{position:absolute;top:5px;left:20px;font-size:9.5px;font-weight:700;color:var(--muted-2);opacity:.7}.erp-chev:first-child .erp-chev-i{left:8px}.erp-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.erp-work{display:flex;flex-direction:column}.erp-work-row{display:flex;align-items:center;gap:12px;padding:9px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;color:var(--ink);font-family:var(--font-ui)}.erp-work-row:last-child{border-bottom:0}.erp-work-row:hover{background:var(--panel-2)}.erp-work-ic{width:30px;height:30px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;background:var(--bg-2);color:var(--muted)}.erp-work-row.amber .erp-work-ic{background:var(--warning-soft);color:var(--warning)}.erp-work-row.red .erp-work-ic{background:var(--danger-soft);color:var(--danger)}.erp-work-row.green .erp-work-ic{background:var(--success-soft);color:var(--success)}.erp-work-t{flex:1;min-width:0}.erp-work-t b{display:block;font-size:13px;font-weight:600}.erp-work-t small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.erp-work-n{font-family:var(--font-display);font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.erp-work-row.amber .erp-work-n{color:var(--warning)}.erp-work-row.red .erp-work-n{color:var(--danger)}.erp-work-go{color:var(--muted-2)}.erp-mini{width:100%;border-collapse:collapse;font-size:13px}.erp-mini th{text-align:left;font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--panel-2)}.erp-mini td,.erp-mini th{padding:7px 14px;border-bottom:1px solid var(--line)}.erp-mini td{color:var(--ink-soft);vertical-align:middle}.erp-mini tr:last-child td{border-bottom:0}.erp-mini tbody tr{cursor:pointer}.erp-mini tbody tr:hover td{background:var(--primary-soft)}.erp-mini b{display:block;color:var(--ink);font-weight:600}.erp-mini small{display:block;font-size:11.5px;color:var(--muted)}.erp-mini .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.erp-mini b.pos{color:var(--success)}.erp-mini b.neg{color:var(--danger)}.erp-empty{gap:10px;padding:26px 16px;font-size:13px}.erp-empty,.erp-note{display:flex;align-items:center;color:var(--muted)}.erp-note{gap:8px;font-size:12.5px}@media (max-width:1280px){.erp-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.erp-tile:nth-child(3n+1){border-left:0}.erp-tile:nth-child(n+4){border-top:1px solid var(--line)}}@media (max-width:900px){.erp-cols{grid-template-columns:1fr}.erp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.erp-tile{border-left:0!important;border-top:1px solid var(--line)}}.authBrand{display:none}@media (min-width:1025px){.authPage.authSplit{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(460px,1fr);place-items:stretch;padding:0;background:var(--bg)}.authSplit .authBackdrop{inset:0 auto 0 0;width:calc(100% * 1.15 / 2.15)}.authSplit .authBrand{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:36px 48px 28px;color:var(--canopy-ink)}.authBrandTop{display:flex;align-items:center;gap:10px}.authBrandTop .cmdMark{width:30px;height:30px;border-radius:7px}.authBrandTop .cmdMark:before{width:15px;height:15px;left:7.5px;top:4px}.authBrandTop .cmdMark span{height:12px}.authBrandTop b{font-family:var(--font-display);font-size:19px;color:#fff;letter-spacing:-.02em}.authBrandTop em{font-style:normal;font-size:12px;font-weight:600;color:var(--canopy-muted);padding-left:10px;border-left:1px solid hsla(0,0%,100%,.18)}.authBrandBody{max-width:520px;margin-bottom:18vh}.authBrandBody h1{margin:0 0 12px;font-family:var(--font-display);font-size:clamp(30px,3vw,40px);line-height:1.08;letter-spacing:-.03em;color:#fff;font-weight:700}.authBrandBody p{margin:0 0 26px;font-size:15px;color:rgba(230,241,234,.75)}.authBrandBody ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.authBrandBody li{display:flex;gap:14px;align-items:flex-start}.authBrandBody li span{font-size:11px;font-weight:700;color:#ffd36b;padding-top:3px;letter-spacing:.05em;font-variant-numeric:tabular-nums}.authBrandBody li b{display:block;color:#fff;font-size:14px}.authBrandBody li small{display:block;color:rgba(230,241,234,.65);font-size:13px;line-height:1.45}.authBrandFoot{font-size:12px;color:rgba(230,241,234,.5)}.authSplit .authPanel{align-self:center;justify-self:center}.authSplit .authCard{box-shadow:0 1px 2px rgba(19,32,27,.06),0 12px 32px -12px rgba(19,32,27,.18)!important;border:1px solid var(--line)!important;border-radius:12px!important}.authSplit .authBackdrop:before{left:50%}}.authCard input[type=checkbox]{min-height:0!important;height:16px!important;width:16px!important;padding:0!important;flex-shrink:0}.authCard label:has(input[type=checkbox]){white-space:nowrap}@media (max-width:1024px){.authPage{background:radial-gradient(120% 60% at 50% 110%,rgba(240,162,26,.35) 0,rgba(240,162,26,0) 60%),linear-gradient(180deg,var(--canopy) 0,var(--canopy-2) 100%)}}.dark,:root.dark{color-scheme:dark}.pageShell.ent .fx-dg .fx-table td,.pageShell.ent .fx-dg .fx-table th{padding-left:10px;padding-right:10px}.pageShell.ent .fx-dg .fx-table .fx-dg-check{padding-left:12px!important}.pageShell.ent>.contentArea{padding:16px 22px 28px!important}.mobileSidebar,.mobileSidebar .sidebar{background:var(--nav-bg)!important}.mobileSidebar .sidebar{color:var(--nav-ink)!important;padding:6px 10px 16px!important;border:0!important}.mobileSidebar .sidebar .navGroup,.mobileSidebar .sidebar .navSub,.mobileSidebar .sidebar nav{display:block!important}.mobileSidebar .sidebar .navItem{display:flex!important;align-items:center!important;gap:10px!important;height:36px!important;min-height:0!important;padding:0 10px!important}.mobileSidebar .sidebar .navItem svg{display:block!important}.mobileSidebar .sidebar .navLabel{display:block!important;flex:1}.mobileSidebar .sidebar .navCaret{display:grid!important}.mobileSidebar .sidebar .navSection{display:flex!important;min-height:0!important;color:var(--muted-2)!important;font-size:10.5px!important;margin:10px 0 2px!important}.mobileSidebar .sidebar .navSection span{display:inline!important}.mobileSidebar .sidebar .navSubItem{display:flex!important;min-height:0!important;height:32px}.mobileSidebar .sidebar .navSubItem em,.mobileSidebar .sidebar .navSubItem span{display:inline!important}.mobileSidebar>div:first-child{display:flex!important;height:52px}@media (max-width:768px){.fx-dg-check{display:none}}@media (min-width:769px){.modalOverlay{padding:28px 24px!important}.modalCard{width:100%!important;max-height:calc(100vh - 56px)!important}.modalCard[style*="max-width: 400px"],.modalCard[style*="max-width: 420px"]{max-width:min(500px,calc(100vw - 48px))!important}.modalCard[style*="max-width: 500px"],.modalCard[style*="max-width: 520px"]{max-width:min(680px,calc(100vw - 48px))!important}.modalCard[style*="max-width: 600px"]{max-width:min(760px,calc(100vw - 48px))!important}.modalCard[style*="max-width: 700px"]{max-width:min(880px,calc(100vw - 48px))!important}.modalCard[style*="max-width: 800px"]{max-width:min(1000px,calc(100vw - 48px))!important}.modalCard .modalHeader,.modalCard>header{padding-left:24px!important;padding-right:24px!important}.modalCard form{min-width:0}.fx-dialog{width:min(calc(var(--w, 560px) * 1.2),calc(100vw - 48px));max-height:calc(100vh - 56px)}.fx-sheet{width:min(calc(var(--w, 720px) * 1.12),100vw)}.fx-sheet-head{padding:18px 26px 14px}.fx-sheet-body{padding:20px 26px 26px}.fx-sheet-foot{padding:12px 26px}}.fx-dialog .fx-row{gap:14px 16px}.fx-dialog .fx-field>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:768px){.fx-dialog{width:100vw;max-height:92vh;top:auto;bottom:0;left:0;transform:none;border-radius:16px 16px 0 0}.fx-dialog .fx-row{grid-template-columns:1fr!important}}.cmdLogo{height:38px;width:auto;display:block;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 1px 0 rgba(0,0,0,.25))}.cmdBrand{gap:10px}@media (min-width:1025px){.authBrandTop .authLogo{height:64px;width:auto;display:block;-o-object-fit:contain;object-fit:contain}.authBrandTop em{padding-left:14px;font-size:13px}}.jc{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg)}.jc-head{padding:16px 22px 0;background:var(--panel);border-bottom:1px solid var(--line)}.jc-head-row{display:flex;align-items:center;gap:14px;min-width:0}.jc-back{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);display:grid;place-items:center;cursor:pointer;flex-shrink:0}.jc-back:hover{background:var(--panel-2);color:var(--ink)}.jc-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;font-weight:750;font-size:16px;letter-spacing:.02em;color:#fff;background:linear-gradient(145deg,var(--sun),var(--sun-deep,#c97f05));box-shadow:0 8px 18px color-mix(in srgb,var(--sun) 28%,transparent)}.jc-avatar.eco{background:linear-gradient(145deg,var(--primary),color-mix(in srgb,var(--primary) 55%,#0b3d2c));box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 28%,transparent)}.jc-avatar.sm{width:38px;height:38px;border-radius:11px;font-size:13px;box-shadow:none}.jc-title{flex:1;min-width:0}.jc-ref{display:flex;gap:8px;flex-wrap:wrap}.jc-flow,.jc-ref{align-items:center}.jc-flow{display:inline-flex;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:650}.jc-flow.solar{background:color-mix(in srgb,var(--sun) 16%,transparent);color:var(--sun-deep,#9a6200)}.jc-flow.eco{background:var(--primary-soft);color:var(--primary)}.jc-flow.canceled{background:var(--danger-soft);color:var(--danger)}.jc-title h1{margin:4px 0 2px;font-family:var(--font-display);font-size:23px;font-weight:700;letter-spacing:-.02em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jc-sub{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--muted)}.jc-sub a,.jc-sub span{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none}.jc-sub a:hover{color:var(--primary)}.jc-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.jc-actions .primaryButton,.jc-actions .secondaryButton{height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 14px;font-size:13px}.jc-more{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;cursor:pointer;color:var(--ink-soft)}.jc-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:170px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);z-index:30}.jc-menu button{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;background:none;font:inherit;font-size:13px;color:var(--ink);border-radius:8px;cursor:pointer}.jc-menu button:hover{background:var(--panel-2)}.jc-menu .warn{color:var(--warning)}.jc-menu .danger{color:var(--danger)}.jc-meta{display:flex;flex-wrap:wrap;gap:0;margin:14px -22px 0;border-top:1px solid var(--line)}.jc-meta>span{display:flex;flex-direction:column;gap:1px;padding:9px 22px;border-right:1px solid var(--line);min-width:0}.jc-meta>span.wide{flex:1}.jc-meta em{font-style:normal;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:650}.jc-meta b{font-size:13px;color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jc-stepper{display:flex;gap:0;overflow-x:auto;padding:14px 22px;background:var(--panel-2);border-bottom:1px solid var(--line);scrollbar-width:thin}.jc-step{position:relative;flex:1 0 104px;min-width:104px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:0 4px}.jc-step:before{content:"";position:absolute;top:12px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}.jc-step:first-child:before{display:none}.jc-step.current:before,.jc-step.done:before{background:var(--primary)}.jc-step .dot{position:relative;z-index:1;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--panel);border:2px solid var(--line-strong,var(--line));color:var(--muted)}.jc-step.done .dot{background:var(--primary);border-color:var(--primary);color:#fff}.jc-step.current .dot{background:var(--panel);border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 16%,transparent)}.jc-step .lbl{font-size:11.5px;font-weight:600;color:var(--muted);line-height:1.2}.jc-step.done .lbl{color:var(--ink-soft)}.jc-step.current .lbl{color:var(--ink);font-weight:750}.jc-step .when{font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}.jc-stepper.canceled{opacity:.55}.jc-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 312px;overflow:hidden}.jc-main{padding:18px 20px 28px;gap:14px;min-width:0}.jc-main,.jc-side{overflow-y:auto;display:flex;flex-direction:column}.jc-side{padding:18px 16px 28px;border-left:1px solid var(--line);background:var(--panel-2);gap:12px}.jc-next{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;align-items:center;padding:16px 18px;border-radius:var(--radius-xl);border:1px solid var(--line);background:radial-gradient(120% 160% at 100% 0,color-mix(in srgb,var(--primary) 9%,transparent),transparent 60%),var(--panel)}.jc-next-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.jc-next-title{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.015em;color:var(--ink);margin-top:2px}.jc-reqs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.jc-reqs span{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--line)}.jc-reqs .ok{background:var(--success-soft);color:var(--success);border-color:transparent}.jc-reqs .miss{background:color-mix(in srgb,var(--sun) 12%,transparent);color:var(--warning);border-color:color-mix(in srgb,var(--sun) 30%,transparent)}.jc-next-cta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.jc-next-cta .primaryButton,.jc-next-cta .secondaryButton{height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 18px;font-weight:650}.jc-kpis{grid-column:1/-1;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));border-top:1px solid var(--line);margin:2px -18px -16px}.jc-kpis>div{padding:12px 18px 14px;border-left:1px solid var(--line);min-width:0}.jc-kpis>div:first-child{border-left:0}.jc-kpis span{display:block;font-size:11.5px;color:var(--muted);font-weight:550}.jc-kpis b{margin-top:3px;font-family:var(--font-display);font-size:20px;font-weight:680;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.jc-kpis b,.jc-kpis small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jc-kpis small{margin-top:2px;font-size:11.5px;color:var(--muted)}.jc-kpis .hero b{color:var(--primary)}.jc-tabs-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);overflow:hidden}.jc-tabbar{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid var(--line);overflow-x:auto;background:var(--panel);scrollbar-width:none}.jc-tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:12px 12px 13px;border:0;background:none;font:inherit;font-size:13.5px;font-weight:560;color:var(--muted);cursor:pointer;white-space:nowrap}.jc-tab.on,.jc-tab:hover{color:var(--ink)}.jc-tab.on{font-weight:650}.jc-tab.on:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--primary)}.jc-tab.locked{opacity:.55;cursor:not-allowed}.jc-tab .count{padding:0 6px;min-width:18px;height:18px;border-radius:999px;font-size:10.5px;font-weight:700;display:inline-grid;place-items:center;background:var(--bg-2);color:var(--muted)}.jc-tabbody{padding:16px;min-height:360px}.jc-act-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.jc-act-head .primaryButton{display:inline-flex;align-items:center;gap:6px}.jc-timeline{list-style:none;margin:0;padding:0 0 0 4px;display:flex;flex-direction:column;max-height:520px;overflow-y:auto}.jc-timeline li{position:relative;display:flex;gap:12px;padding:0 0 14px}.jc-timeline li:before{content:"";position:absolute;left:12px;top:26px;bottom:0;width:2px;background:var(--line)}.jc-timeline li:last-child:before{display:none}.jc-timeline .pin{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--bg-2);color:var(--muted);border:1px solid var(--line)}.jc-timeline li.note .pin{background:color-mix(in srgb,var(--sun) 14%,var(--panel));color:var(--sun-deep,#9a6200);border-color:color-mix(in srgb,var(--sun) 30%,transparent)}.jc-timeline .txt{flex:1;min-width:0;padding-top:3px}.jc-timeline p{margin:0;font-size:13px;color:var(--ink);line-height:1.45}.jc-timeline li.note p{padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--sun) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--sun) 22%,transparent)}.jc-timeline small{display:block;margin-top:3px;font-size:11.5px;color:var(--muted)}.jc-timeline .kind{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sun-deep,#9a6200);padding-top:6px}.jc-sched{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.jc-card h4,.jc-sched h4{margin:0 0 10px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.jc-dates{list-style:none;margin:0;padding:0;display:grid;gap:8px}.jc-dates li{gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.jc-dates .d,.jc-dates li{display:flex;align-items:center}.jc-dates .d{width:42px;height:42px;border-radius:10px;flex-direction:column;justify-content:center;background:var(--primary-soft);color:var(--primary);font-size:10.5px;font-weight:700;text-transform:uppercase;line-height:1.1;flex-shrink:0}.jc-dates .d b{font-size:16px}.jc-dates .d.sv{background:var(--info-soft);color:var(--info);font-size:15px}.jc-dates .d.in{background:color-mix(in srgb,var(--sun) 16%,transparent);color:var(--sun-deep,#9a6200);font-size:15px}.jc-dates li>div b{display:block;font-size:13px;color:var(--ink)}.jc-dates li>div small{font-size:12px;color:var(--muted)}.jc-hist{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line);display:grid;gap:10px}.jc-hist li{position:relative}.jc-hist li:before{content:"";position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px var(--panel)}.jc-hist li:not(:first-child):before{background:var(--line-strong,#c9d1c2)}.jc-hist b{display:block;font-size:13px;color:var(--ink)}.jc-hist small{font-size:11.5px;color:var(--muted)}.jc-hist.compact{gap:8px}.jc-muted{margin:0;font-size:12.5px;color:var(--muted)}.jc-costing{display:grid;gap:14px}.jc-costing-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.jc-costing-head>div{display:grid;gap:2px}.jc-costing-head b{font-size:15px;color:var(--ink)}.jc-costing-head small{font-size:12px;color:var(--muted)}.jc-costing-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}.jc-profit{padding:18px;border-radius:16px;background:var(--success-soft);color:var(--success);display:grid;gap:4px}.jc-profit.neg{background:var(--danger-soft);color:var(--danger)}.jc-profit span{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.jc-profit b{font-family:var(--font-display);font-size:26px;font-weight:720;letter-spacing:-.02em}.jc-profit small{font-size:12.5px;opacity:.85}.jc-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 14px 12px}.jc-cust{display:flex;align-items:center;gap:10px;margin-bottom:10px}.jc-cust b{display:block;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jc-cust span{font-size:12px;color:var(--muted)}.jc-links{display:grid;gap:2px}.jc-links a{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;margin:0 -8px;border-radius:8px;font-size:12.5px;color:var(--ink-soft);text-decoration:none;word-break:break-word}.jc-links a svg{flex-shrink:0;margin-top:2px;color:var(--muted)}.jc-links a:hover{background:var(--panel-2);color:var(--primary)}.jc-fund-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.jc-fund-top b{display:block;font-size:13.5px;color:var(--ink)}.jc-fund-top span:not(.eco-scheme-pill){font-size:11.5px;color:var(--muted)}.jc-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.jc-chips span{padding:3px 9px;border-radius:999px;background:var(--bg-2);font-size:11.5px;color:var(--ink-soft)}.jc-sys{display:grid;grid-template-columns:1fr 1fr;gap:8px}.jc-sys>div{padding:10px;border-radius:12px;background:color-mix(in srgb,var(--sun) 9%,var(--panel));display:grid;gap:2px}.jc-sys svg{color:var(--sun-deep,#9a6200)}.jc-sys b{font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums}.jc-sys span{font-size:11.5px;color:var(--muted)}@media (max-width:1180px){.jc-body{grid-template-columns:minmax(0,1fr) 270px}.jc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.jc-kpis>div:nth-child(odd){border-left:0}.jc-kpis>div:nth-child(n+3){border-top:1px solid var(--line)}}@media (max-width:900px){.jc{height:auto}.jc-head{padding:12px 14px 0!important}.jc-head-row{flex-wrap:wrap!important}.jc-title{flex:1 1 calc(100% - 120px)!important}.jc-actions{width:100%!important;flex-wrap:wrap!important}.jc-meta{margin:12px -14px 0}.jc-meta>span{padding:8px 14px;flex:1 1 45%}.jc-stepper{padding:12px 14px}.jc-body{display:block!important;overflow:visible}.jc-main{padding:12px!important;overflow:visible}.jc-side{border-left:0;padding:0 12px 24px!important;overflow:visible}.jc-next{grid-template-columns:1fr}.jc-next-cta{align-items:stretch}.jc-costing-grid,.jc-sched{grid-template-columns:1fr}.jc .jc-head{display:block!important;padding:12px 14px 0!important}.jc .jc-head-row{display:grid!important;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px!important}.jc .jc-avatar{width:42px;height:42px;border-radius:12px;font-size:14px}.jc .jc-title h1{font-size:18px!important;margin:2px 0!important;white-space:normal!important}.jc .jc-sub{font-size:12.5px}.jc .jc-actions{grid-column:1/-1;display:flex!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important}.jc .jc-actions>.secondaryButton,.jc .jc-actions>button.secondaryButton{flex:1 1 0!important;width:auto!important;min-width:0!important;justify-content:center;padding:0 10px!important;overflow:hidden;text-overflow:ellipsis}.jc .jc-actions>div{flex:0 0 auto!important;width:auto!important}.jc .jc-meta{display:grid!important;grid-template-columns:1fr 1fr;margin:12px -14px 0!important;width:auto!important;gap:0!important}.jc .jc-meta>span{border-right:0;border-bottom:1px solid var(--line);padding:8px 14px!important;width:auto!important}.jc .jc-meta>span:nth-child(odd){border-right:1px solid var(--line)}.jc .jc-meta>span.wide{grid-column:1/-1;border-right:0}.jc .jc-meta b{white-space:normal!important}.jc .jc-kpis{margin:2px -18px -16px!important}.jc .jc-step{flex:0 0 96px;min-width:96px}.jc .jc-tabbar{flex-wrap:nowrap!important;overflow-x:auto!important}.jc .jc-tabbody{padding:12px}}.jc-count{margin-left:auto;padding:0 7px;border-radius:999px;background:var(--bg-2);font-size:11px;color:var(--ink-soft);letter-spacing:0}.jc-people{list-style:none;margin:0;padding:0;display:grid;gap:8px}.jc-people li{display:grid;gap:2px;padding:9px 10px;border-radius:12px;border:1px solid var(--line);background:var(--panel-2);opacity:.8}.jc-people li.on{background:color-mix(in srgb,var(--primary) 6%,var(--panel));border-color:color-mix(in srgb,var(--primary) 30%,var(--line));opacity:1}.jc-people .top{display:flex;align-items:center;justify-content:space-between;gap:8px}.jc-people b{font-size:13px;color:var(--ink)}.jc-people small{font-size:11.5px;color:var(--muted);word-break:break-word}.jc-people .fx-linkbtn{justify-self:start;margin-top:2px;font-size:12px}.px-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.px-compare>div{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--panel-2);min-width:0}.px-compare>div.new{border-color:color-mix(in srgb,var(--primary) 45%,transparent);background:color-mix(in srgb,var(--primary) 7%,transparent)}.px-compare small{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#6b7280)}.px-compare b{font-size:15px;font-weight:700}.px-compare span{font-size:12.5px;color:var(--muted,#6b7280);overflow-wrap:anywhere}.px-compare em{font-style:normal;font-size:12px;font-weight:600;color:var(--ink,#111);margin-top:2px}.px-note{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink-soft)}@media (max-width:560px){.px-compare{grid-template-columns:1fr}}.jc-main>*,.jc-side>*{flex-shrink:0}.jc-next-what{margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--ink-soft,var(--muted));max-width:62ch}.jc-next-cta .fx-linkbtn{font-size:12.5px;font-weight:600}.jc-next-cta .fx-linkbtn:disabled{opacity:.5;cursor:default}.jc-actions .jc-wa{display:inline-flex;align-items:center;gap:7px}.jc-actions .jc-wa svg{color:#1fa855}@media (max-width:760px){.jc-actions .jc-wa span{display:none}.jc-actions .jc-wa{padding:0 11px}}.ib-title{display:inline-flex;align-items:center;gap:10px}.ib-wa{width:30px;height:30px;border-radius:9px;display:inline-grid;place-items:center;background:color-mix(in srgb,#25d366 16%,transparent);color:#128c4a}.ib-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.ib-cap{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:flex;gap:8px;align-items:baseline}.ib-cap small{font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}.ib-people{display:grid;gap:6px;margin-bottom:10px}.ib-person{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font:inherit;text-align:left;cursor:pointer;color:var(--ink)}.ib-person:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}.ib-person.on{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.ib-person .av{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:700}.ib-person.on .av{background:var(--primary);color:#fff}.ib-person .who{flex:1;min-width:0}.ib-person .who b{display:block;font-size:13px}.ib-person .who small{display:block;font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ib-person .tick{color:var(--primary);flex-shrink:0}.ib-side .fx-check{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0}.ib-text{width:100%;min-height:440px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.55;padding:12px 14px;resize:vertical;white-space:pre-wrap}.ib-warn{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;padding:9px 12px;border-radius:10px;background:var(--warning-soft);color:var(--warning);font-size:12.5px}.ib-warn svg{flex-shrink:0;margin-top:2px}.ib-sent{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:12.5px;color:var(--ink)}.ib-sent small{display:block;color:var(--muted);font-size:11px}.ib-safe{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--success)}.fx-btn.ib-send{background:#1fa855;border-color:#1fa855;color:#fff}.fx-btn.ib-send:hover{background:#178f47}@media (max-width:760px){.ib-grid{grid-template-columns:1fr}.ib-text{min-height:320px}.ib-safe{display:none}}.jc-costbtn{white-space:nowrap}@media (max-width:760px){.jc-actions .jc-costbtn .ref{display:none}}.ib-side .fx-check input{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 auto;margin:0;accent-color:var(--primary)}@media (max-width:760px){.jc-actions .jc-costbtn{white-space:nowrap!important;font-size:12px!important;padding:0 8px!important;gap:4px!important;overflow:hidden}.jc-actions .jc-costbtn b{white-space:nowrap}.jc-actions .jc-costbtn,.jc-actions .jc-costbtn *{word-break:keep-all!important;overflow-wrap:normal!important;white-space:nowrap!important}}.ib-pdf{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#525659;height:640px}.ib-pdf iframe{display:block;width:100%;height:100%;border:0;background:#fff}.ib-side .fx-field{margin-top:10px}.ib-after{display:grid;gap:14px;max-width:640px}.ib-after-file{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--primary)}.ib-after-file b{display:block;color:var(--ink);font-size:14px}.ib-after-file small{color:var(--muted);font-size:12px}.ib-after ol{margin:0;padding-left:20px;display:grid;gap:10px;font-size:14px;line-height:1.5;color:var(--ink)}@media (max-width:760px){.ib-pdf{height:460px}}.ib-after li svg{display:inline-block!important;vertical-align:-2px;margin:0 1px}.ib-after li{display:list-item}.ib-mode{display:flex;gap:7px;align-items:flex-start;margin:0 0 12px;padding:8px 10px;border-radius:10px;background:var(--panel-2);color:var(--muted);font-size:12px;line-height:1.45}.ib-mode.on{background:color-mix(in srgb,#25d366 10%,var(--panel));color:#128c4a}.ib-mode svg{flex-shrink:0;margin-top:1px}.wa-set{display:grid;gap:14px}.wa-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);flex-wrap:wrap}.wa-head b{display:block;font-size:15px;color:var(--ink)}.wa-head span{font-size:12.5px;color:var(--muted)}.wa-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:start}.wa-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.wa-card h4{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.wa-card .fx-row{margin-bottom:10px}.wa-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.wa-card ol{margin:0 0 12px;padding-left:18px;display:grid;gap:8px;font-size:13px;line-height:1.5;color:var(--ink)}.wa-card pre{margin:6px 0;padding:8px 10px;border-radius:8px;white-space:pre-wrap}.wa-card code,.wa-card pre{background:var(--panel-2);font-size:12px}.wa-card code{padding:1px 5px;border-radius:5px}.wa-warn{display:flex;gap:8px;margin:10px 0 0;padding:8px 10px;border-radius:10px;background:var(--warning-soft);color:var(--warning);font-size:12.5px}@media (max-width:900px){.wa-grid{grid-template-columns:1fr}}.epv-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;flex-shrink:0;background:linear-gradient(140deg,#ffcf4a,#f59e0b);color:#5b3300;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08)}.epv-mark.lg{width:48px;height:48px;border-radius:14px}.epv-strip{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.epv-strip>div small{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:650}.epv-strip>div b{font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums}.epv-check{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin:2px 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);cursor:pointer}.epv-check input{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--primary)}.epv-check b{display:block;font-size:13px;color:var(--ink)}.epv-check small{font-size:12px;color:var(--muted)}.epv-proj-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.epv-proj-head h4{margin:0}.epv-search{display:flex;align-items:center;gap:6px;padding:0 10px;height:32px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);min-width:240px}.epv-search input{border:0;outline:0;background:transparent;font:inherit;font-size:13px;color:var(--ink);width:100%}.epv-table-wrap{margin-top:10px;overflow-x:auto;border:1px solid var(--line);border-radius:10px}.epv-table{width:100%;border-collapse:collapse;font-size:13px}.epv-table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--panel-2);white-space:nowrap}.epv-table td,.epv-table th{padding:8px 10px;border-bottom:1px solid var(--line)}.epv-table td{color:var(--ink);vertical-align:middle}.epv-table tr:last-child td{border-bottom:0}.epv-table .r{text-align:right;font-variant-numeric:tabular-nums}.epv-table a{color:var(--ink);text-decoration:none}.epv-table a:hover b{text-decoration:underline}.epv-table small,.epv-table tr.com td,.epv-table tr.duplicate td,.epv-table tr.ignored td{color:var(--muted)}.epv-table tfoot td{font-weight:600;background:var(--panel-2)}.epv-table tfoot tr.tot td{font-weight:800;color:var(--ink)}.epv-act{white-space:nowrap;text-align:right}.epv-act .fx-btn+.fx-btn{margin-left:4px}.epv-muted{color:var(--muted);font-size:12.5px}.epv-design{display:grid;gap:12px}.epv-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.epv-bar .t{min-width:0}.epv-bar .t b{display:block;font-size:14px;color:var(--ink)}.epv-bar .t small{font-size:12px;color:var(--muted)}.epv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.epv-kpis>div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:grid;gap:2px}.epv-kpis>div svg{color:var(--sun-deep,#d97706)}.epv-kpis small{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.epv-kpis b{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}.epv-kpis b em{font-style:normal;font-size:12px;font-weight:600;color:var(--muted)}.epv-kpis .hi{background:var(--primary-soft);border-color:var(--primary)}.epv-kpis .hi b,.epv-kpis .hi svg{color:var(--primary)}.epv-h{margin:6px 0 0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.epv-h small{text-transform:none;letter-spacing:0;font-weight:500}.epv-roofs{display:flex;gap:8px;flex-wrap:wrap}.epv-roofs>div{padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.epv-roofs b{display:block;font-size:13px}.epv-roofs small{font-size:12px;color:var(--muted)}.epv-more{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:0 12px 10px}.epv-more summary{cursor:pointer;padding:10px 0;font-size:13px;font-weight:650;color:var(--ink)}.epv-more summary small{color:var(--muted);font-weight:500}.epv-more .epv-table{margin-bottom:8px}.epv-files{display:flex;flex-wrap:wrap;gap:8px}.epv-files a{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);text-decoration:none;font-size:13px}.epv-files a:hover{border-color:var(--primary)}.epv-files small{color:var(--muted);font-size:11px}.epv-empty{text-align:center;padding:28px 16px;max-width:520px;margin:0 auto;display:grid;justify-items:center;gap:8px}.epv-empty h3{margin:4px 0 0;font-size:15px;color:var(--ink)}.epv-empty p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.epv-empty code{font-size:12.5px;padding:1px 6px;border-radius:6px;background:var(--panel-2);color:var(--ink);font-weight:700}.epv-linkrow{display:flex;gap:8px;width:100%;margin-top:6px;flex-wrap:wrap}.epv-linkrow .fx-input{flex:1 1 220px}@media (max-width:1100px){.epv-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.epv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.epv-strip{gap:14px}.epv-strip .fx-spacer{display:none}.epv-search{min-width:0;flex:1 1 100%}.epv-projects .epv-table thead{display:none}.epv-projects .epv-table tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;padding:10px;border-bottom:1px solid var(--line)}.epv-projects .epv-table td{border:0;padding:2px 0;font-size:12.5px}.epv-projects .epv-table td[data-l=Project]{grid-column:1/-1;font-size:13.5px}.epv-projects .epv-table td.epv-act{grid-column:1/-1;text-align:left}.epv-design .epv-table td[data-l="Part no."],.epv-design .epv-table th:nth-child(3){display:none}}.epv-design .epv-table th{white-space:nowrap!important}.fv{display:grid;gap:12px}.fv-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.fv-bar .t b{display:block;font-size:14px;color:var(--ink)}.fv-bar .t small{font-size:12px;color:var(--muted)}.fv-bar .t{flex:1 1 260px;min-width:0}.fv-bar .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.fv-bar label.fx-btn{cursor:pointer}.fv-bar label.fx-btn.disabled{opacity:.55;pointer-events:none}.fv-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.fv-card,.fv-grid{display:grid;gap:12px}.fv-card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px 14px}.fv-card .fv-head{display:flex;flex-direction:row;align-items:center;gap:10px}.fv-card .fv-head .t{min-width:0}.fv-card .fv-head .t b{display:block;font-size:14px;color:var(--ink)}.fv-card .fv-head .t small{font-size:12px;color:var(--muted)}.fv-card .fv-head .fx-badge{flex-shrink:0;width:auto}.fv-ico{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;flex-shrink:0}.fv-ico.ht{background:var(--primary-soft);color:var(--primary)}.fv-ico.hub{background:var(--info-soft);color:var(--info)}.fv-ico.pdf{background:var(--danger-soft);color:var(--danger);width:30px;height:30px;border-radius:8px}.fv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.fv-kpis>div{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);display:grid;gap:3px}.fv-kpis small{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.fv-kpis b{font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums}.fv-kpis .hi{background:var(--primary-soft);border-color:var(--primary)}.fv-kpis .hi b{color:var(--primary)}.fv-note{padding:8px 10px;border-radius:8px;background:var(--panel-2);color:var(--ink)}.fv-empty,.fv-note{margin:0;font-size:12.5px}.fv-empty{line-height:1.5;color:var(--muted)}.fv-dl{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}.fv-dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.fv-dl>div:last-child{border-bottom:0}.fv-dl dt{color:var(--muted)}.fv-dl dd{margin:0;color:var(--ink);font-weight:600;text-align:right}.fv-props{display:grid;gap:8px}.fv-prop{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.fv-prop .t b{display:block;font-size:13.5px;color:var(--ink)}.fv-prop .t small{font-size:12px;color:var(--muted)}.fv-amt{display:inline-flex;gap:2px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.fv-amt,.fv-none{align-items:center}.fv-none{display:flex;gap:12px;padding:14px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.fv-none b{display:block;color:var(--ink);font-size:13.5px}.fv-none small{font-size:12.5px}@media (max-width:900px){.fv-grid{grid-template-columns:1fr}}@media (max-width:640px){.fv-bar .acts{width:100%;justify-content:stretch}.fv-bar .acts .fx-btn{flex:1 1 auto;justify-content:center}.fv-prop .fx-spacer{display:none}}.vh-set{gap:14px}.vh-ico{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;flex-shrink:0;background:var(--info-soft);color:var(--info)}.vh-ico.hometree,.vh-ico.ht{background:var(--primary-soft);color:var(--primary)}.vh-ico.big{width:40px;height:40px;border-radius:12px}.vh-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:16px;display:grid;gap:14px}.vh-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vh-head .t,.vh-portal .t{min-width:0}.vh-head .t b,.vh-portal .t b{display:block;font-size:15px;color:var(--ink)}.vh-head .t small,.vh-portal .t small{font-size:12.5px;color:var(--muted);line-height:1.45}.vh-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}.vh-form{display:grid;gap:10px}.vh-input{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted)}.vh-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.vh-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:13.5px;color:var(--ink)}.vh-side{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.vh-links{display:flex;gap:14px;flex-wrap:wrap}.vh-list{display:grid;gap:8px}.vh-list-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vh-list-head h4{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.vh-list-head h4 span{margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--panel-2);color:var(--ink);letter-spacing:0}.vh-list .epv-table-wrap{margin-top:0;max-height:420px;overflow:auto}.vh-list .epv-table thead th{position:sticky;top:0;z-index:1}.vh-portal{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vh-portal .t{flex:1 1 320px}@media (max-width:900px){.vh-body{grid-template-columns:1fr}}@media (max-width:640px){.vh-card{padding:12px}.vh-portal .fx-btn{width:100%;justify-content:center}.vh-list .epv-search{min-width:0;flex:1 1 100%}}.vh-list .epv-table{min-width:1100px}.vh-list .epv-table td{vertical-align:top}.vh-list .epv-table td.nw{white-space:nowrap}.vh-sub{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}.cal{--sv:#1f6f9c;--sv-soft:color-mix(in srgb,#1f6f9c 12%,var(--panel));--in:#14855f;--in-soft:color-mix(in srgb,#14855f 12%,var(--panel));display:flex;flex-direction:column;gap:14px;padding:0 24px 32px;min-width:0}:root.dark .cal{--sv:#6cb8e3;--in:#3fc58f}.cal-head{justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--radius-xl);border:1px solid var(--line);background:radial-gradient(120% 180% at 0 0,color-mix(in srgb,var(--sv) 10%,transparent),transparent 50%),radial-gradient(120% 180% at 100% 0,color-mix(in srgb,var(--in) 10%,transparent),transparent 50%),var(--panel)}.cal-head,.cal-nav{display:flex;align-items:center}.cal-nav{gap:8px}.cal-nav h2{margin:0 0 0 8px;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}.cal-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cal-filters .fx-seg button{display:inline-flex;align-items:center;gap:6px}.cal-kind .n{padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;background:var(--bg-2);color:var(--muted)}.cal-kind button.on.k-survey{background:var(--sv);color:#fff}.cal-kind button.on.k-installation{background:var(--in);color:#fff}.cal-kind button.on.k-installation .n,.cal-kind button.on.k-survey .n{background:hsla(0,0%,100%,.22);color:#fff}.cal-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.cal-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:8px;max-height:calc(100vh - 180px);overflow-y:auto;padding-right:2px}.cal-kpis{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel)}.cal-kpis>div{padding:10px 12px;border-left:1px solid var(--line);display:grid;gap:1px}.cal-kpis>div:first-child{border-left:0}.cal-kpis span{font-size:11px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.cal-kpis b{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.cal-kpis small{font-size:11px;color:var(--muted)}.cal-kpis .sv{box-shadow:inset 0 3px 0 var(--sv)}.cal-kpis .in{box-shadow:inset 0 3px 0 var(--in)}.cal-kpis .warn{box-shadow:inset 0 3px 0 var(--warning)}.cal-kpis .warn b{color:var(--warning)}.cal-clear{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;color:var(--ink-soft);cursor:pointer}.cal-clear,.cal-team{background:var(--panel)}.cal-team{border:1px solid var(--line);border-radius:16px;padding:10px;display:grid;gap:4px}.cal-team h4{margin:2px 4px 6px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.cal-team.survey h4 svg{color:var(--sv)}.cal-team.installation h4 svg{color:var(--in)}.cal-team h4 em{margin-left:auto;font-style:normal;padding:0 8px;border-radius:999px;font-size:11px;color:#fff;background:var(--sv)}.cal-team.installation h4 em{background:var(--in)}.cal-person{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border-radius:12px;border:1px solid transparent;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left;transition:background .12s,border-color .12s,opacity .12s}.cal-person:hover{background:var(--panel-2)}.cal-person.on{background:color-mix(in srgb,var(--pc) 9%,var(--panel));border-color:color-mix(in srgb,var(--pc) 45%,transparent)}.cal-person.dim{opacity:.5}.cal-person .av{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:750;color:#fff;background:var(--pc);box-shadow:0 4px 10px color-mix(in srgb,var(--pc) 30%,transparent)}.cal-person .info{flex:1;min-width:0;display:grid;gap:1px}.cal-person .info b{font-size:13px;color:var(--ink)}.cal-person .info b,.cal-person .info small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-person .info small{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--muted)}.cal-person .nums{display:grid;justify-items:end;flex-shrink:0}.cal-person .nums b{font-family:var(--font-display);font-size:18px;color:var(--pc);line-height:1}.cal-person .nums small{font-size:10.5px;color:var(--muted);white-space:nowrap}.cal-muted{margin:4px;font-size:12.5px;color:var(--muted)}.cal-chip{--pc:var(--muted);display:flex;align-items:center;gap:5px;width:100%;margin-top:3px;padding:3px 6px 3px 7px;border:0;border-left:3px solid var(--pc);border-radius:6px;font:inherit;font-size:11.5px;text-align:left;cursor:pointer;color:var(--ink);min-width:0;transition:filter .12s,transform .12s}.cal-chip.survey{background:var(--sv-soft)}.cal-chip.installation{background:var(--in-soft)}.cal-chip:hover{filter:brightness(.97);transform:translateY(-1px)}.cal-chip .ic{flex-shrink:0}.cal-chip.survey .ic{color:var(--sv)}.cal-chip.installation .ic{color:var(--in)}.cal-chip .tm{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600;flex-shrink:0}.cal-chip .tx{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-chip .tx b{font-weight:750;letter-spacing:.01em}.cal-chip.full{flex-wrap:wrap;padding:7px 8px 7px 9px;border-radius:9px;margin-top:6px;row-gap:2px}.cal-chip.full .tx{flex:1 1 100%;white-space:normal;order:3;line-height:1.3}.cal-chip .who{order:4;font-size:11px;color:var(--pc);font-weight:650}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.cal-dow{background:var(--panel-2);padding:9px 0;text-align:center;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.cal-cell{background:var(--panel);min-height:124px;padding:6px 7px 8px;display:flex;flex-direction:column;min-width:0;transition:background .15s}.cal-cell.wknd{background:color-mix(in srgb,var(--panel-2) 70%,var(--panel))}.cal-cell.out{background:var(--panel-2)}.cal-cell.out .num{color:var(--muted-2,#9aa59f)}.cal-cell.over{background:var(--primary-soft)}.cal-cell-head{display:flex;align-items:center;justify-content:space-between}.cal-cell .num{width:26px;height:26px;border-radius:50%;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}.cal-cell .num:hover{background:var(--bg-2)}.cal-cell.today .num{background:var(--primary);color:#fff;font-weight:750}.cal-cell .cnt{display:flex;gap:3px}.cal-cell .cnt i{font-style:normal;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:10.5px;font-weight:750;display:grid;place-items:center;color:#fff}.cal-cell .cnt .sv{background:var(--sv)}.cal-cell .cnt .in{background:var(--in)}.cal-cell-body{flex:1;display:flex;flex-direction:column;min-height:40px}.cal-more{margin-top:3px;border:0;background:none;font:inherit;font-size:11.5px;font-weight:650;color:var(--primary);cursor:pointer;text-align:left;padding:2px 4px}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.cal-wday{border:1px solid var(--line);border-radius:14px;background:var(--panel);min-height:420px;display:flex;flex-direction:column;overflow:hidden;min-width:0}.cal-wday.today{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.cal-wday-head{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:var(--panel-2);font:inherit;cursor:pointer;text-align:left}.cal-wday.today .cal-wday-head{background:var(--primary);color:#fff}.cal-wday-head span{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:inherit;opacity:.75}.cal-wday-head b{font-family:var(--font-display);font-size:22px}.cal-wday-head em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--bg-2);color:var(--ink-soft)}.cal-wday.today .cal-wday-head em{background:hsla(0,0%,100%,.25);color:#fff}.cal-wday-body{padding:6px 8px 10px;flex:1}.cal-empty-day{margin:18px 0 0;text-align:center;font-size:12px;color:var(--muted)}.cal-day{display:grid;gap:10px}.cal-dayrow{--pc:var(--muted);display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-radius:16px;border:1px solid var(--line);border-left:5px solid var(--pc);background:var(--panel)}.cal-dayrow .when{display:grid;gap:2px}.cal-dayrow .when b{font-family:var(--font-display);font-size:20px;color:var(--ink)}.cal-dayrow .when span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.cal-dayrow.survey .when span{color:var(--sv)}.cal-dayrow.installation .when span{color:var(--in)}.cal-dayrow .what{display:grid;gap:4px;min-width:0}.cal-dayrow .t{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--ink)}.cal-dayrow.survey .t svg{color:var(--sv)}.cal-dayrow.installation .t svg{color:var(--in)}.cal-dayrow .t .code{font-family:var(--font-mono,ui-monospace,Menlo,monospace);color:var(--primary-deep,var(--primary))}.cal-dayrow .s{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}.cal-dayrow .dot{width:9px;height:9px;border-radius:50%;background:var(--pc)}.cal-dayrow .n{margin-top:4px;padding:7px 10px;border-radius:8px;background:var(--panel-2);font-size:12.5px;color:var(--ink-soft)}.cal-dayrow .act{display:flex;gap:6px;align-items:center}.cal-empty{display:grid;justify-items:center;gap:6px;padding:60px 20px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);text-align:center}.cal-empty b{color:var(--ink)}.cal-empty p{margin:0;font-size:13px}.cal-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--muted)}.cal-legend span{display:inline-flex;align-items:center;gap:6px}.cal-legend i{width:14px;height:10px;border-radius:3px}.cal-legend .sv{background:var(--sv)}.cal-legend .in{background:var(--in)}.cal-legend .hint{margin-left:auto}.cal-loading{display:grid;gap:10px}@media (max-width:1180px){.cal-shell{grid-template-columns:260px minmax(0,1fr)}.cal-week{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:900px){.cal{padding:0 10px 24px}.cal-shell{grid-template-columns:1fr}.cal-side{position:static;max-height:none}.cal-week{grid-template-columns:1fr}.cal-wday{min-height:0}.cal-month{font-size:11px}.cal-cell{min-height:76px;padding:4px}.cal-chip .tm,.cal-chip .tx{display:none}.cal-dayrow{grid-template-columns:1fr}.cal-legend .hint{display:none}}.cal-month .cal-chip{flex-wrap:wrap;row-gap:0;padding:4px 6px 4px 7px}.cal-month .cal-chip .tm{font-size:10.5px}.cal-month .cal-chip .tx{flex:1 1 100%;font-size:11.5px;line-height:1.25}.cal-month .cal-chip .tx b{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:11px}.cal-side>*{flex-shrink:0}@media (max-width:1180px){.cal-kpis>div{padding:9px}.cal-kpis span{font-size:10px;letter-spacing:.03em}.cal-kpis b{font-size:19px}}@media (max-width:900px) and (min-width:621px){.cal-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.cal-side>.cal-kpis{grid-column:1/-1}.cal-side>.cal-clear{grid-column:1/-1;justify-self:start}.cal-month .cal-chip .tm{display:inline}.cal-month .cal-chip .tx{display:block}}