.sr-only[data-v-0c54ba25]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.global-search-box[data-v-0c54ba25]{position:relative;width:100%}.search-label[data-v-0c54ba25]{display:flex;align-items:center;gap:.4rem;padding:.32rem .65rem;border:1px solid #cfe2cf;border-radius:10px;background:#f8fbf8;transition:border-color .15s ease,background .15s ease}.search-label[data-v-0c54ba25]:focus-within{border-color:#81c784;background:#fff}.search-ico[data-v-0c54ba25]{width:17px;height:17px;color:#6b8f72;flex-shrink:0}.search-input[data-v-0c54ba25]{flex:1;min-width:0;border:none;background:transparent;font-size:.86rem;color:#2e4a32;outline:none}.search-input[data-v-0c54ba25]::placeholder{color:#93a898}.search-dropdown[data-v-0c54ba25]{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:260px;max-height:360px;overflow-y:auto;background:#fff;border:1px solid #c8e6c9;border-radius:12px;box-shadow:0 8px 24px #1b5e2026;z-index:1000}.search-group[data-v-0c54ba25]{padding:.25rem 0}.search-group+.search-group[data-v-0c54ba25]{border-top:1px solid #e8f5e9}.group-label[data-v-0c54ba25]{padding:.35rem .75rem;font-size:.72rem;font-weight:600;color:#6b8f72;text-transform:uppercase;letter-spacing:.03em}.group-items[data-v-0c54ba25]{display:flex;flex-direction:column}.search-item[data-v-0c54ba25]{width:100%;display:flex;flex-direction:column;gap:.1rem;padding:.45rem .75rem;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .12s ease}.search-item[data-v-0c54ba25]:hover,.search-item.highlighted[data-v-0c54ba25]{background:#f5fbf6}.item-title[data-v-0c54ba25]{font-size:.88rem;font-weight:600;color:#2e4a31;line-height:1.3}.item-subtitle[data-v-0c54ba25]{font-size:.76rem;color:#6b8f72;line-height:1.3}.sr-only[data-v-3b61c62f]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.workspace-topbar[data-v-3b61c62f]{flex-shrink:0;background:#fffffff7;border-bottom:1px solid #dde8df;box-shadow:0 1px #1b5e200a}.topbar-inner[data-v-3b61c62f]{display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem;min-height:52px;box-sizing:border-box}.topbar-search-wrap[data-v-3b61c62f]{flex:0 1 280px;min-width:120px}.topbar-center[data-v-3b61c62f]{flex:1;min-width:0;display:flex;justify-content:center;align-items:center;padding:0 .5rem}.project-title[data-v-3b61c62f]{font-size:.95rem;font-weight:700;color:#1b5e20;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-trail[data-v-3b61c62f]{flex-shrink:0;display:flex;align-items:center;gap:.65rem}.health-pill[data-v-3b61c62f]{font-size:.78rem;font-weight:600;padding:.28rem .55rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.health-pill.ok[data-v-3b61c62f]{background:#e8f5e9;color:#1b5e20;border-color:#a5d6a7}.health-pill.info[data-v-3b61c62f]{background:#e3f2fd;color:#1565c0;border-color:#90caf9}.health-pill.bad[data-v-3b61c62f]{background:#ffebee;color:#c62828;border-color:#ef9a9a}.icon-trigger[data-v-3b61c62f]{position:relative;width:38px;height:38px;padding:0;border:none;border-radius:10px;background:transparent;color:#3d5a42;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.icon-trigger[data-v-3b61c62f]:hover{background:#2e7d3214}.bell-ico[data-v-3b61c62f]{width:20px;height:20px}.notify-dot[data-v-3b61c62f]{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:#e53935;border:1.5px solid #fff;box-shadow:0 0 0 1px #e5393540}.user-menu-container[data-v-3b61c62f]{position:relative}.account[data-v-3b61c62f]{display:flex;align-items:center;gap:.5rem;padding:.3rem .6rem;border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.account[data-v-3b61c62f]:hover{background:#2e7d320f;border-color:#c8e6c9}.avatar[data-v-3b61c62f]{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#c8e6c9,#81c784);color:#1b5e20;font-weight:800;font-size:.92rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(46,125,50,.25)}.nickname[data-v-3b61c62f]{font-size:.88rem;font-weight:600;color:#2e4a31;max-width:7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caret-icon[data-v-3b61c62f]{width:16px;height:16px;color:#6b8f72}.user-dropdown[data-v-3b61c62f]{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border:1px solid #c8e6c9;border-radius:12px;box-shadow:0 8px 24px #1b5e2026;z-index:100;overflow:hidden}.dropdown-item[data-v-3b61c62f]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border:none;background:transparent;color:#314338;font-size:.9rem;font-weight:500;text-align:left;cursor:pointer;transition:background .12s ease}.dropdown-item[data-v-3b61c62f]:hover{background:#f5fbf6}.dropdown-item.danger[data-v-3b61c62f]{color:#c62828}.dropdown-item.danger[data-v-3b61c62f]:hover{background:#ffebee}.item-ico[data-v-3b61c62f]{font-size:1.1rem;line-height:1}.dropdown-divider[data-v-3b61c62f]{height:1px;background:#e8f5e9;margin:.25rem 0}@media(max-width:760px){.topbar-inner[data-v-3b61c62f]{flex-wrap:wrap;min-height:auto;padding:.5rem .65rem}.topbar-search-wrap[data-v-3b61c62f]{flex:1 1 100%;order:0}.topbar-center[data-v-3b61c62f]{order:2;flex:1 1 auto;justify-content:flex-start}.topbar-trail[data-v-3b61c62f]{order:1;margin-left:auto}}.app-shell[data-v-ffb09ab6]{--sidebar-expanded-w: 268px;--sidebar-collapsed-w: 52px;min-height:100vh;min-height:100dvh;background:#f4f9f4}.app-shell.sidebar-collapsed[data-v-ffb09ab6]{--sidebar-w: var(--sidebar-collapsed-w)}.app-shell[data-v-ffb09ab6]:not(.sidebar-collapsed){--sidebar-w: var(--sidebar-expanded-w)}.sidebar[data-v-ffb09ab6]{position:fixed;top:0;left:0;z-index:40;width:var(--sidebar-w);height:100vh;height:100dvh;box-sizing:border-box;border-right:1px solid #e0ebe3;background:#fafdfb;display:flex;flex-direction:column;overflow:hidden;min-width:0}.sidebar-collapsed-stack[data-v-ffb09ab6]{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:14px 0 16px;width:100%;min-width:0;box-sizing:border-box}.collapsed-brand-block[data-v-ffb09ab6]{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid #e3ebe4}.collapsed-brand-text[data-v-ffb09ab6]{display:flex;flex-direction:column;align-items:center;gap:1px}.collapsed-brand-line1[data-v-ffb09ab6]{font-size:.56rem;font-weight:800;color:#1b4524;letter-spacing:.03em;text-align:center;line-height:1.15}.collapsed-brand-line2[data-v-ffb09ab6]{font-size:.48rem;font-weight:700;color:#2e5233;letter-spacing:.06em;text-align:center;line-height:1.15;opacity:.92}.sidebar-collapsed-rail[data-v-ffb09ab6]{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:4px}.collapsed-logo-btn[data-v-ffb09ab6]{border:none;padding:0;margin:0;background:transparent;cursor:pointer;border-radius:10px;line-height:0;width:100%;max-width:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.collapsed-logo-btn[data-v-ffb09ab6]:hover{background:#2e7d3214}.logo-img-collapsed[data-v-ffb09ab6]{width:44px;height:44px;max-width:100%;object-fit:contain;display:block}.rail-icon-btn[data-v-ffb09ab6]{flex-shrink:0;width:36px;height:36px;max-width:100%;padding:0;border:1px solid #d5e3d7;border-radius:10px;background:#fff;color:#2e5233;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #1b5e200f;transition:background .15s ease,border-color .15s ease,color .15s ease}.rail-icon-btn[data-v-ffb09ab6]:hover{background:#f1f8f2;border-color:#9ccc9f;color:#1b5e20}.ico-svg[data-v-ffb09ab6]{width:18px;height:18px}.sidebar-scroll[data-v-ffb09ab6]{display:flex;flex-direction:column;gap:.75rem;padding:18px 10px 20px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:transparent transparent}.sidebar-scroll[data-v-ffb09ab6]::-webkit-scrollbar{width:6px}.sidebar-scroll[data-v-ffb09ab6]::-webkit-scrollbar-track{background:transparent}.sidebar-scroll[data-v-ffb09ab6]::-webkit-scrollbar-thumb{background:transparent;border-radius:999px;transition:background .9s ease}.sidebar-scroll[data-v-ffb09ab6]:hover{scrollbar-color:rgba(93,122,99,.28) transparent}.sidebar-scroll[data-v-ffb09ab6]:hover::-webkit-scrollbar-thumb{background:#5d7a6347}.sidebar-scroll[data-v-ffb09ab6]::-webkit-scrollbar-button{display:none;width:0;height:0}.brand-row-expanded[data-v-ffb09ab6]{display:grid;grid-template-columns:auto minmax(0,1fr) 36px;align-items:center;column-gap:10px;min-height:0;flex-shrink:0;padding-bottom:14px;margin-bottom:10px;border-bottom:1px solid #e3ebe4}.logo-thumb-btn[data-v-ffb09ab6]{grid-column:1;align-self:center;flex-shrink:0;border:none;padding:2px 0;background:transparent;cursor:pointer;border-radius:10px;line-height:0;text-align:left;display:block}.logo-thumb-btn[data-v-ffb09ab6]:hover{background:#2e7d320f}.logo-img-expanded[data-v-ffb09ab6]{width:auto;max-height:52px;height:auto;max-width:120px;object-fit:contain;object-position:left center;display:block}.brand-title-stack[data-v-ffb09ab6]{grid-column:2;min-width:0;margin:0;padding:4px 2px;border:none;background:transparent;cursor:pointer;text-align:left;border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}.brand-title-stack[data-v-ffb09ab6]:hover{background:#2e7d320d}.brand-line[data-v-ffb09ab6]{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.brand-line-primary[data-v-ffb09ab6]{font-size:1.12rem;font-weight:700;color:#1b4524;line-height:1.2;letter-spacing:-.01em}.brand-line-secondary[data-v-ffb09ab6]{font-size:.88rem;font-weight:600;color:#2e5233;line-height:1.15;letter-spacing:.02em;opacity:.95}.collapse-panel-btn[data-v-ffb09ab6]{grid-column:3;justify-self:end;align-self:center;flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid #cfd8ce;border-radius:10px;background:linear-gradient(180deg,#fff,#f4f7f4);color:#3d5a42;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0000000d;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.collapse-panel-btn[data-v-ffb09ab6]:hover{background:linear-gradient(180deg,#f8fcf8,#eef5ee);border-color:#9ccc9f;color:#1b5e20;box-shadow:0 2px 6px #1b5e2014}.collapse-svg[data-v-ffb09ab6]{width:18px;height:18px}.block[data-v-ffb09ab6]{display:flex;flex-direction:column;gap:.4rem}.block-label[data-v-ffb09ab6]{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.06em;color:#8a9b8c;text-transform:uppercase}.mod-link[data-v-ffb09ab6]{position:relative;display:flex;align-items:center;gap:.45rem;text-decoration:none;color:#314338;border:1px solid transparent;background:transparent;border-radius:9px;padding:.48rem .58rem;font-weight:600;font-size:1.26rem;min-height:36px;transition:background .15s ease,color .15s ease}.mod-link[data-v-ffb09ab6]:hover{background:#f5f8f6}.mod-link.active[data-v-ffb09ab6]{background:#edf6ef;color:#1e5a2a}.mod-link.active[data-v-ffb09ab6]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:999px;background:#2e7d32}.mod-ico[data-v-ffb09ab6]{width:1.5rem;color:#708471;font-size:1.17rem;text-align:center}.mod-link.active .mod-ico[data-v-ffb09ab6]{color:#2e7d32}.mod-hint[data-v-ffb09ab6]{margin:.15rem 0 0;font-size:.72rem;color:#8fa393;line-height:1.4}.btn-new[data-v-ffb09ab6]{border:1px solid #43a047;background:linear-gradient(180deg,#e8f5e9,#dcedc8);color:#1b5e20;font-weight:700;padding:.5rem .65rem;border-radius:9px;cursor:pointer;font-size:.88rem}.btn-new[data-v-ffb09ab6]:hover{filter:brightness(1.02)}.project-list[data-v-ffb09ab6]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;max-height:220px;overflow-y:auto}.project-item[data-v-ffb09ab6]{width:100%;text-align:left;border:1px solid #e8eeea;background:#fff;border-radius:9px;padding:.42rem .5rem;cursor:pointer;display:grid;gap:.12rem}.project-item[data-v-ffb09ab6]:hover{border-color:#aed581}.project-item.active[data-v-ffb09ab6]{border-color:#43a047;box-shadow:0 0 0 1px #43a04733}.p-name[data-v-ffb09ab6]{font-weight:600;font-size:.84rem;color:#1b5e20;word-break:break-all}.p-sub[data-v-ffb09ab6]{font-size:.7rem;color:#7a8f7d}.empty-hint[data-v-ffb09ab6]{margin:0;font-size:.76rem;color:#9aaa9c}.empty-hint.mini[data-v-ffb09ab6]{margin-bottom:.35rem}.recent-list[data-v-ffb09ab6]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.22rem}.recent-row[data-v-ffb09ab6]{width:100%;text-align:left;border:1px solid #e5ede6;background:#fcfefc;border-radius:8px;padding:.32rem .42rem;cursor:pointer;font-size:.78rem;color:#35533a;display:grid;gap:.08rem}.recent-row[data-v-ffb09ab6]:hover{background:#f0f7f1;border-color:#c5d8c7}.r-sub[data-v-ffb09ab6]{font-size:.7rem;color:#7a8f7d}.main-column[data-v-ffb09ab6]{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w));min-width:0;height:100vh;height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.main-scroll[data-v-ffb09ab6]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.85rem 1rem 1.25rem;-webkit-overflow-scrolling:touch}.modal-backdrop[data-v-ffb09ab6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal[data-v-ffb09ab6]{width:100%;max-width:420px;padding:1rem 1.15rem;border-radius:12px;border:1px solid #c8e6c9;background:#fff;box-shadow:0 8px 32px #1b5e201f}.modal h2[data-v-ffb09ab6]{margin:0 0 .75rem;font-size:1.05rem;color:#1b5e20}.modal-form[data-v-ffb09ab6]{display:grid;gap:.65rem}.modal-form label[data-v-ffb09ab6]{display:grid;gap:.3rem;font-size:.85rem;color:#455a47}.modal-form input[data-v-ffb09ab6],.modal-form textarea[data-v-ffb09ab6]{font:inherit;padding:.4rem .5rem;border:1px solid #aed581;border-radius:8px}.err[data-v-ffb09ab6]{margin:0;color:#c62828;font-size:.85rem}.modal-actions[data-v-ffb09ab6]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.btn[data-v-ffb09ab6]{padding:.4rem .85rem;border-radius:8px;font-weight:600;cursor:pointer;border:1px solid #66bb6a;font-size:.88rem}.btn.ghost[data-v-ffb09ab6]{background:#fff;color:#34533a}.btn.primary[data-v-ffb09ab6]{background:#e8f5e9;color:#1b5e20}@media(max-width:900px){.main-scroll[data-v-ffb09ab6]{padding:.65rem .75rem 1rem}}.section-block[data-v-a78184a2]{display:grid;gap:.65rem}header[data-v-a78184a2]{border-bottom:1px dashed #deebdf;padding-bottom:.5rem}.body[data-v-a78184a2]{min-width:0}.metric-card h4[data-v-241cfeef]{margin:0;font-size:.9rem;color:#3e5642}.head[data-v-241cfeef]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.value[data-v-241cfeef]{margin:.55rem 0 0;font-size:1.25rem;font-weight:800;color:#1b5e20}.hint[data-v-241cfeef]{margin:.3rem 0 0;color:#6b7f70;font-size:.82rem}.entry-card[data-v-c5ae4e7a]{text-decoration:none;color:inherit;display:grid;gap:.45rem}.entry-card h4[data-v-c5ae4e7a]{margin:0;color:#1b5e20}.entry-card p[data-v-c5ae4e7a]{margin:0;color:#617765;font-size:.88rem;line-height:1.45}.entry-card .platform-btn[data-v-c5ae4e7a]{width:fit-content}.page-header[data-v-9ff91d09]{padding:.95rem 1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.left h2[data-v-9ff91d09]{margin:0;color:#1b5e20;font-size:1.22rem}.left p[data-v-9ff91d09]{margin:.35rem 0 0;color:#5f7662;line-height:1.45;font-size:.9rem}.tags[data-v-9ff91d09]{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}@media(max-width:900px){.page-header[data-v-9ff91d09]{flex-direction:column}}.dashboard-page[data-v-3f2a529c]{display:grid;gap:.8rem}.metric-grid[data-v-3f2a529c]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.flow-grid[data-v-3f2a529c]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem}.flow-step[data-v-3f2a529c]{border:1px solid #d8e7da;border-radius:10px;background:#fbfefb;padding:.6rem;font-size:.84rem;color:#3e5642;display:grid;gap:.25rem}.idx[data-v-3f2a529c]{display:inline-flex;width:1.35rem;height:1.35rem;align-items:center;justify-content:center;border-radius:999px;background:#e8f5e9;color:#1b5e20;font-weight:700}.entry-grid[data-v-3f2a529c]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.activity-list[data-v-3f2a529c]{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.activity-list li[data-v-3f2a529c]{display:flex;justify-content:space-between;align-items:center;gap:.8rem;border:1px solid #e1ece3;border-radius:10px;padding:.55rem .7rem;background:#fcfefd}.lab[data-v-3f2a529c]{color:#5f7662;font-size:.88rem}@media(max-width:1180px){.metric-grid[data-v-3f2a529c]{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-grid[data-v-3f2a529c]{grid-template-columns:repeat(3,minmax(0,1fr))}.entry-grid[data-v-3f2a529c]{grid-template-columns:1fr}}@media(max-width:760px){.flow-grid[data-v-3f2a529c]{grid-template-columns:1fr 1fr}}.workspace-guide[data-v-df8ad62f]{padding:.5rem 0}.lead[data-v-df8ad62f]{margin:0 0 .75rem;color:#3f5643;line-height:1.55;font-size:.92rem}.hints[data-v-df8ad62f]{margin:0 0 1rem;padding-left:1.2rem;color:#5f7662;line-height:1.5;font-size:.86rem}.actions[data-v-df8ad62f]{margin:0}.btn[data-v-df8ad62f]{display:inline-block;padding:.45rem .9rem;border-radius:8px;font-weight:600;text-decoration:none;border:1px solid #66bb6a;background:#e8f5e9;color:#1b5e20}.btn.secondary[data-v-df8ad62f]{background:#fff}.card[data-v-56ca0d19]{border:1px solid #d6e7d8;border-radius:12px;padding:.8rem;background:#fbfefb}h2[data-v-56ca0d19]{margin:0;font-size:1rem;color:#35533b}.form-grid[data-v-56ca0d19]{margin-top:.6rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.field[data-v-56ca0d19]{display:grid;gap:.22rem;font-size:.82rem;color:#4e6951}input[data-v-56ca0d19]{font:inherit;padding:.36rem .48rem;border:1px solid #b9d7bc;border-radius:8px}.actions-row[data-v-56ca0d19]{grid-column:1 / -1;display:flex;justify-content:flex-end;margin-top:.2rem}.btn[data-v-56ca0d19]{border:1px solid #9fcea3;border-radius:8px;background:#fff;color:#1b5e20;padding:.34rem .62rem;cursor:pointer}.btn.primary[data-v-56ca0d19]{background:#e8f5e9}.req-status[data-v-56ca0d19]{padding:.55rem .75rem;border-radius:6px;margin:.35rem 0;font-size:.92rem;border:1px solid #d7dde5;background:#f7f9fb}.req-status[data-kind=ok][data-v-56ca0d19]{border-color:#81c784;background:#edf8ee}.req-status[data-kind=bad][data-v-56ca0d19]{border-color:#ef9a9a;background:#ffebee}.req-status[data-kind=loading][data-v-56ca0d19]{border-color:#64b5f6;background:#e3f2fd}.banner[data-v-56ca0d19]{padding:.6rem .75rem;border-radius:6px;margin:.5rem 0;font-size:.95rem}.network[data-v-56ca0d19]{background:#fff3e0;border:1px solid #ffb74d}.loading[data-v-56ca0d19]{background:#e3f2fd;border:1px solid #64b5f6}.error[data-v-56ca0d19]{background:#ffebee;border:1px solid #e57373}.warn[data-v-56ca0d19]{background:#fff8e1;border:1px solid #ffca28}.result-block[data-v-56ca0d19]{margin-top:.75rem}.kv[data-v-56ca0d19]{list-style:none;padding:0;margin:.5rem 0}.kv li[data-v-56ca0d19]{display:flex;gap:.75rem;margin:.25rem 0}.kv span[data-v-56ca0d19]:first-child{width:140px;color:#607d8b}.tag[data-v-56ca0d19]{font-weight:600}.tag.ok[data-v-56ca0d19]{color:#2e7d32}.tag.bad[data-v-56ca0d19]{color:#c62828}.highlight[data-v-56ca0d19]{font-size:1.25rem;font-weight:700;color:#1565c0}.result-main[data-v-56ca0d19]{border:1px solid #d6e7d8;background:#fbfefb;border-radius:12px;padding:.75rem;display:grid;gap:.2rem}.result-main.bad[data-v-56ca0d19]{border-color:#ef9a9a;background:#fff6f6}.main-value[data-v-56ca0d19]{margin:0;font-size:1.5rem;font-weight:800;color:#1b5e20}.main-sub[data-v-56ca0d19]{margin:0;color:#6b7f70;font-size:.84rem}.prediction-page[data-v-1f989c0c]{display:grid;gap:.8rem}.main-grid[data-v-1f989c0c]{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.user-model-wrap[data-v-1f989c0c]{display:grid;gap:.55rem}.row[data-v-1f989c0c]{display:flex;gap:.5rem;align-items:end}.form-grid[data-v-1f989c0c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.field[data-v-1f989c0c]{display:grid;gap:.2rem;font-size:.82rem;color:#4e6951}input[data-v-1f989c0c],select[data-v-1f989c0c]{font:inherit;padding:.36rem .48rem;border:1px solid #b9d7bc;border-radius:8px}.btn[data-v-1f989c0c]{border:1px solid #9fcea3;border-radius:8px;background:#fff;color:#1b5e20;padding:.34rem .62rem;cursor:pointer}.btn.primary[data-v-1f989c0c]{background:#e8f5e9}.result-card[data-v-1f989c0c]{border:1px solid #d6e7d8;background:#fbfefb;border-radius:12px;padding:.8rem;display:grid;gap:.45rem}.result-card.bad[data-v-1f989c0c]{border-color:#ef9a9a;background:#fff6f6}.result-card h4[data-v-1f989c0c]{margin:0;color:#35533b}.main[data-v-1f989c0c]{margin:0;font-size:1.45rem;font-weight:800;color:#1b5e20}.hint[data-v-1f989c0c]{margin:0;color:#6b7f70;font-size:.85rem}.hint.warn[data-v-1f989c0c]{color:#8d6e00}.error[data-v-1f989c0c]{margin:0;color:#c62828;font-size:.84rem}.mini-kv[data-v-1f989c0c]{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #e0ebe1;padding-top:.4rem;font-size:.86rem}@media(max-width:1040px){.main-grid[data-v-1f989c0c]{grid-template-columns:1fr}}.trend-card[data-v-db7c19e8]{border:1px solid #c8e6c9;border-radius:10px;background:#fff;padding:.65rem}.top-row[data-v-db7c19e8]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.mode-switch[data-v-db7c19e8]{display:inline-flex;background:#f2f7f2;border:1px solid #cfe2cf;border-radius:8px;overflow:hidden}.seg[data-v-db7c19e8]{border:none;background:transparent;padding:.35rem .7rem;cursor:pointer;color:#456148;font-weight:600}.seg.active[data-v-db7c19e8]{background:#e8f5e9;color:#1b5e20}.meta[data-v-db7c19e8]{display:flex;flex-wrap:wrap;gap:.5rem;color:#5f7a61;font-size:.8rem}.charts-wrapper[data-v-db7c19e8]{display:grid;grid-template-columns:1fr;gap:.75rem}.chart-item[data-v-db7c19e8]{border:1px solid #edf3ed;border-radius:8px;overflow:hidden}.chart-canvas[data-v-db7c19e8]{width:100%;max-width:100%;height:auto;display:block}.caption[data-v-db7c19e8]{margin:.75rem 0 0;color:#78967c;font-size:.77rem}@media(min-width:1200px){.charts-wrapper[data-v-db7c19e8]{grid-template-columns:1fr 1fr}}.card[data-v-cf03aced]{border:1px solid var(--ds-border, #c8e6c9);border-radius:12px;padding:1.15rem 1.25rem;background:#ffffffeb;box-shadow:0 2px 12px #1b5e200f}h2[data-v-cf03aced]{margin-top:0;color:var(--ds-heading, #1b5e20);font-size:1.2rem}h3[data-v-cf03aced]{font-size:1rem;color:#2e7d32;margin:1rem 0 .5rem}h4[data-v-cf03aced]{margin:0;color:#2d4a31;font-size:.86rem}.lead[data-v-cf03aced]{font-size:.86rem;color:#4a6350;line-height:1.45;margin:0 0 .75rem}.lead code[data-v-cf03aced]{font-size:.78rem;background:#2e7d3214;padding:.05rem .25rem;border-radius:4px}.toolbar[data-v-cf03aced]{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;justify-content:space-between;margin-bottom:.65rem}.thresholds[data-v-cf03aced]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.85rem;color:#455a47}.thresholds input[data-v-cf03aced]{width:4.5rem;padding:.3rem .4rem;border:1px solid #aed581;border-radius:6px}.th-label[data-v-cf03aced]{font-weight:600}.th-hint[data-v-cf03aced]{font-size:.78rem;color:#78967c}.btn[data-v-cf03aced]{padding:.4rem .85rem;cursor:pointer;border-radius:8px;border:1px solid #66bb6a;background:#e8f5e9;color:#1b5e20;font-weight:600}.btn.small[data-v-cf03aced]{padding:.25rem .55rem;font-size:.76rem}.btn.danger[data-v-cf03aced]{border-color:#ef9a9a;background:#ffebee;color:#c62828}.status-row[data-v-cf03aced]{display:flex;align-items:center;gap:.75rem;margin:.35rem 0 .75rem}.badge[data-v-cf03aced]{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-size:.82rem;font-weight:600}.badge.on[data-v-cf03aced]{background:#e8f5e9;color:#1b5e20;border:1px solid #81c784}.badge.pending[data-v-cf03aced]{background:#e3f2fd;color:#1565c0;border:1px solid #64b5f6}.badge.off[data-v-cf03aced]{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.ws-err[data-v-cf03aced]{color:#c62828;font-size:.88rem}.banner.err[data-v-cf03aced]{background:#ffebee;border:1px solid #e57373;padding:.5rem .65rem;border-radius:8px;margin-bottom:.5rem;font-size:.9rem}.muted[data-v-cf03aced]{color:#78967c;font-size:.92rem}.muted.mini[data-v-cf03aced]{font-size:.78rem}.device-grid[data-v-cf03aced]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.65rem}.device-card[data-v-cf03aced]{border:1px solid #c8e6c9;border-radius:10px;padding:.65rem .75rem;background:#fafefa;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.device-card[data-v-cf03aced]:hover{border-color:#81c784;box-shadow:0 2px 8px #2e7d321f}.device-card.active[data-v-cf03aced]{border-color:#43a047;box-shadow:0 0 0 2px #43a04740}.device-card.alarm[data-v-cf03aced]{background:#fff8e1;border-color:#ffb74d}.device-card>header[data-v-cf03aced]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.did[data-v-cf03aced]{font-weight:700;font-size:.88rem;color:#1b5e20;word-break:break-all}.pill-alarm[data-v-cf03aced]{font-size:.72rem;padding:.15rem .45rem;border-radius:999px;font-weight:700}.pill-alarm[data-a=ok][data-v-cf03aced]{background:#e8f5e9;color:#2e7d32}.pill-alarm[data-a=alarm][data-v-cf03aced]{background:#ffccbc;color:#bf360c}.pill-alarm[data-a=unknown][data-v-cf03aced]{background:#eceff1;color:#546e7a}dl[data-v-cf03aced]{margin:0;display:grid;gap:.25rem}dl div[data-v-cf03aced]{display:flex;justify-content:space-between;gap:.5rem;font-size:.82rem}dl div.full[data-v-cf03aced]{flex-direction:column}dt[data-v-cf03aced]{color:#78967c}dd[data-v-cf03aced]{margin:0;font-weight:600;color:#374d3a}.task-block[data-v-cf03aced],.task-history[data-v-cf03aced]{margin-top:.55rem;border-top:1px dashed #dce9dd;padding-top:.5rem;display:grid;gap:.35rem}.task-line[data-v-cf03aced]{margin:0;font-size:.78rem;color:#3f5643}.task-btn[data-v-cf03aced]{width:fit-content}.task-form[data-v-cf03aced]{display:grid;gap:.35rem}.task-form label[data-v-cf03aced]{display:grid;gap:.15rem;font-size:.78rem;color:#4a6350}.task-form input[data-v-cf03aced]{padding:.3rem .4rem;border-radius:6px;border:1px solid #aed581}.task-history ul[data-v-cf03aced]{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.task-history li[data-v-cf03aced]{border:1px solid #e0ebe1;border-radius:8px;padding:.4rem;background:#fff}.row1[data-v-cf03aced]{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.mini[data-v-cf03aced]{font-size:.74rem;color:#607a64;margin-top:.2rem}.actions[data-v-cf03aced]{margin-top:.3rem;display:flex;gap:.35rem}.chart-toolbar[data-v-cf03aced]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.25rem;font-size:.88rem}.sel[data-v-cf03aced]{margin-left:.35rem;padding:.35rem .5rem;border-radius:6px;border:1px solid #aed581;background:#fff;min-width:180px}.alarm-inline[data-v-cf03aced]{margin:0;color:#e65100;font-size:.85rem;font-weight:600}.task-empty[data-v-cf03aced]{border:1px dashed #b7cfb9;background:#f7fbf7;border-radius:10px;padding:.8rem;margin-bottom:.45rem}.task-empty .m1[data-v-cf03aced]{margin:0;color:#2d4a31;font-weight:700}.task-empty .m2[data-v-cf03aced]{margin:.2rem 0 0;color:#5f7963;font-size:.84rem}.table-filters[data-v-cf03aced]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.4rem;font-size:.88rem}.hint[data-v-cf03aced]{color:#78967c;font-size:.8rem}.table[data-v-cf03aced]{width:100%;border-collapse:collapse;background:#fff}.table th[data-v-cf03aced],.table td[data-v-cf03aced]{border:1px solid #e0ebe0;padding:.35rem .45rem;text-align:left}.table th[data-v-cf03aced]{background:#e8f5e9;font-weight:600;color:#374d3a;font-size:.82rem}.dense td[data-v-cf03aced]{font-size:.82rem}.table-wrap[data-v-cf03aced]{overflow:auto;max-height:380px;border:1px solid #c8e6c9;border-radius:8px}.empty-cell[data-v-cf03aced]{text-align:center;color:#78967c;padding:1rem!important}.export-scope[data-v-cf03aced]{margin:-.1rem 0 .45rem;color:#78967c;font-size:.8rem}@keyframes flash-bg-cf03aced{0%{background:#c8e6c9a6}to{background:transparent}}tr.flash td[data-v-cf03aced]{animation:flash-bg-cf03aced 1.2s ease-out}.monitor-page[data-v-127b5416]{display:grid;gap:.8rem}.metric-cards[data-v-127b5416]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.metric-card[data-v-127b5416]{border:1px solid #dbe9dd;border-radius:10px;padding:.8rem .9rem;background:#fbfefb;display:grid;gap:.5rem}.metric-card.material[data-v-127b5416]{border-left:3px solid #e65100}.metric-header[data-v-127b5416]{display:flex;justify-content:space-between;align-items:center}.metric-label[data-v-127b5416]{color:#648067;font-size:.85rem;font-weight:600}.metric-value[data-v-127b5416]{color:#1b5e20;font-size:1.4rem;font-weight:700;line-height:1.3}.status-pill[data-v-127b5416]{font-size:.72rem;padding:.15rem .55rem;border-radius:999px;font-weight:700}.status-pill.normal[data-v-127b5416]{background:#e8f5e9;color:#2e7d32}.status-pill.alert[data-v-127b5416]{background:#ffebee;color:#c62828}.status-pill.unknown[data-v-127b5416]{background:#eceff1;color:#546e7a}.summary-row[data-v-127b5416]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.sum-item[data-v-127b5416]{border:1px solid #dbe9dd;border-radius:10px;padding:.55rem .65rem;background:#fbfefb;display:grid;gap:.28rem}.sum-item span[data-v-127b5416]{color:#648067;font-size:.78rem}.sum-item strong[data-v-127b5416]{color:#1b5e20;font-size:.95rem}.sum-item strong.warn[data-v-127b5416]{color:#d84315}@media(min-width:1000px){.metric-cards[data-v-127b5416]{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){.summary-row[data-v-127b5416]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.summary-row[data-v-127b5416]{grid-template-columns:1fr 1fr}}.project-center-page[data-v-acbb5a91]{display:grid;gap:.75rem}.form[data-v-acbb5a91]{display:grid;gap:.65rem;max-width:32rem}.form label[data-v-acbb5a91]{display:grid;gap:.3rem;font-size:.86rem;color:#455a47}.form input[data-v-acbb5a91],.form textarea[data-v-acbb5a91]{padding:.4rem .5rem;border:1px solid #aed581;border-radius:8px;font:inherit}.row[data-v-acbb5a91]{display:flex;align-items:center;gap:.75rem}.btn[data-v-acbb5a91]{padding:.4rem .85rem;border-radius:8px;border:1px solid #66bb6a;background:#e8f5e9;color:#1b5e20;font-weight:600;cursor:pointer}.ok[data-v-acbb5a91]{color:#2e7d32;font-size:.86rem}.meta[data-v-acbb5a91]{margin:0;font-size:.78rem;color:#78967c}.muted[data-v-acbb5a91]{color:#78967c}.flow-row[data-v-acbb5a91]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem}.flow-item[data-v-acbb5a91]{border:1px solid #d8e7da;border-radius:10px;background:#fbfefb;padding:.5rem;font-size:.78rem;color:#3e5642;display:grid;gap:.25rem;text-align:center}.flow-item.active[data-v-acbb5a91]{border-color:#66bb6a;background:#e8f5e9}.quick-grid[data-v-acbb5a91]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.quick-link[data-v-acbb5a91]{border:1px solid #dbe8dc;border-radius:10px;padding:.6rem .7rem;text-decoration:none;color:#2e5234;font-weight:600;background:#fff;text-align:center}.quick-link[data-v-acbb5a91]:hover{border-color:#8dbf91;background:#f6fbf6}.num[data-v-acbb5a91]{display:inline-flex;width:1.35rem;height:1.35rem;align-items:center;justify-content:center;border-radius:999px;background:#e8f5e9;color:#1b5e20;font-weight:700;margin:0 auto}@media(max-width:1100px){.flow-row[data-v-acbb5a91]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.flow-row[data-v-acbb5a91]{grid-template-columns:1fr 1fr}}.dataset-list[data-v-6df0a682]{display:grid;gap:.6rem}.top[data-v-6df0a682]{display:flex;justify-content:space-between;align-items:center;gap:.6rem}h4[data-v-6df0a682]{margin:0;color:#1b5e20}.rows[data-v-6df0a682]{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.rows li[data-v-6df0a682]{display:grid;grid-template-columns:1fr auto;gap:.45rem;align-items:center}.item[data-v-6df0a682]{text-align:left;border:1px solid #dbe8dc;border-radius:10px;background:#fcfefc;padding:.52rem .62rem;display:grid;gap:.15rem;cursor:pointer}.item.active[data-v-6df0a682]{border-color:#66bb6a;background:#eef7ef}.name[data-v-6df0a682]{font-weight:700;color:#1b5e20}.meta[data-v-6df0a682]{font-size:.75rem;color:#6c836f}.btn[data-v-6df0a682]{border:1px solid #9fcea3;border-radius:8px;background:#fff;color:#1b5e20;padding:.35rem .55rem;cursor:pointer}.btn.primary[data-v-6df0a682]{background:#e8f5e9}.btn.danger[data-v-6df0a682]{border-color:#ef9a9a;color:#b71c1c}.btn.mini[data-v-6df0a682]{font-size:.76rem}.empty[data-v-6df0a682]{margin:0;color:#6f8472;font-size:.86rem}.backdrop[data-v-36d09845]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000005c;display:flex;justify-content:center;align-items:center;z-index:220;padding:1rem}.modal[data-v-36d09845]{width:min(520px,100%);padding:1rem;border-radius:12px;display:grid;gap:.7rem}h3[data-v-36d09845]{margin:0;color:#1b5e20}.grid[data-v-36d09845]{display:grid;gap:.55rem}label[data-v-36d09845]{display:grid;gap:.25rem;font-size:.84rem;color:#48604c}input[data-v-36d09845]{font:inherit;padding:.45rem .55rem;border:1px solid #b9d7bc;border-radius:8px}.hint[data-v-36d09845]{margin:0;font-size:.78rem;color:#6a816d}.err[data-v-36d09845]{margin:0;color:#c62828;font-size:.84rem}.actions[data-v-36d09845]{display:flex;justify-content:flex-end;gap:.5rem}.btn[data-v-36d09845]{border:1px solid #9fcea3;border-radius:8px;background:#fff;color:#1b5e20;padding:.38rem .7rem;cursor:pointer}.btn.primary[data-v-36d09845]{background:#e8f5e9}.editor[data-v-4c92cd8d]{display:grid;gap:.7rem}.editor-top[data-v-4c92cd8d]{display:flex;justify-content:space-between;gap:.7rem;align-items:flex-start}h4[data-v-4c92cd8d]{margin:0;color:#1b5e20}p[data-v-4c92cd8d]{margin:.22rem 0 0;color:#66806a;font-size:.82rem}.actions[data-v-4c92cd8d]{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.btn[data-v-4c92cd8d]{border:1px solid #9fcea3;border-radius:8px;background:#fff;color:#1b5e20;padding:.38rem .65rem;cursor:pointer}.btn.primary[data-v-4c92cd8d]{background:#e8f5e9}.table-wrap[data-v-4c92cd8d]{overflow:auto;border:1px solid #dbe7dd;border-radius:10px;background:#fff}table[data-v-4c92cd8d]{width:100%;border-collapse:collapse;min-width:920px}th[data-v-4c92cd8d],td[data-v-4c92cd8d]{border-bottom:1px solid #ebf2ec;border-right:1px solid #edf3ee;padding:.24rem;vertical-align:middle}tr:last-child td[data-v-4c92cd8d]{border-bottom:none}th[data-v-4c92cd8d]:last-child,td[data-v-4c92cd8d]:last-child{border-right:none}input[data-v-4c92cd8d]{width:100%;box-sizing:border-box;font:inherit;border:1px solid #d4e4d6;border-radius:6px;padding:.3rem .38rem}.id-col[data-v-4c92cd8d]{text-align:center;font-weight:700;color:#35573b;background:#f6fbf7}.task-col[data-v-4c92cd8d]{min-width:180px}.task-col-cell[data-v-4c92cd8d]{white-space:nowrap}.task-tag[data-v-4c92cd8d]{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #81c784;background:#e8f5e9;color:#1b5e20;font-size:.75rem;font-weight:700;padding:.18rem .55rem}.task-tag.light[data-v-4c92cd8d]{opacity:.65}.task-empty[data-v-4c92cd8d]{color:#92a593;font-size:.78rem}.empty[data-v-4c92cd8d]{margin:0;color:#6f8572}.backdrop[data-v-ac5926c8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000005c;display:flex;justify-content:center;align-items:center;z-index:230;padding:1rem}.modal[data-v-ac5926c8]{width:min(760px,100%);padding:1rem;border-radius:12px;display:grid;gap:.7rem;max-height:calc(100vh - 2rem);overflow:auto}h3[data-v-ac5926c8]{margin:0;color:#1b5e20}.sub[data-v-ac5926c8]{margin:0;color:#637a66;font-size:.83rem}.grid[data-v-ac5926c8]{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.grid.two[data-v-ac5926c8]{grid-template-columns:1fr 1fr}label[data-v-ac5926c8]{display:grid;gap:.25rem;font-size:.84rem;color:#48604c}select[data-v-ac5926c8],input[data-v-ac5926c8]{font:inherit;padding:.45rem .55rem;border:1px solid #b9d7bc;border-radius:8px}.channel-zone[data-v-ac5926c8]{border:1px solid #dce9de;border-radius:10px;background:#fbfefb;padding:.6rem;display:grid;gap:.55rem}.channel-zone h4[data-v-ac5926c8]{margin:0;font-size:.85rem;color:#2f5f35}.channel-item[data-v-ac5926c8]{display:grid;grid-template-columns:220px minmax(0,1fr);gap:.5rem;align-items:center}.check-label[data-v-ac5926c8]{display:flex;align-items:center;gap:.4rem;margin:0}.check[data-v-ac5926c8]{border:1px solid #dce9de;border-radius:10px;background:#fbfefb;padding:.5rem .6rem;display:grid;gap:.2rem}.check p[data-v-ac5926c8]{margin:0;color:#57705a;font-size:.82rem}.check p.ok[data-v-ac5926c8]{color:#1b5e20}.err[data-v-ac5926c8]{margin:0;color:#c62828;font-size:.84rem}.actions[data-v-ac5926c8]{display:flex;justify-content:flex-end;gap:.5rem}.btn[data-v-ac5926c8]{border:1px solid #9fcea3;border-radius:8px;background:#fff;color:#1b5e20;padding:.38rem .7rem;cursor:pointer}.btn.primary[data-v-ac5926c8]{background:#e8f5e9}@media(max-width:860px){.grid[data-v-ac5926c8],.grid.two[data-v-ac5926c8],.channel-item[data-v-ac5926c8]{grid-template-columns:1fr}}.binding-panel[data-v-e08a0229]{display:grid;gap:.55rem}h4[data-v-e08a0229]{margin:0;color:#1b5e20}.empty[data-v-e08a0229]{margin:0;color:#6f8572;font-size:.84rem}.list[data-v-e08a0229]{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.item[data-v-e08a0229]{border:1px solid #dbe8dc;border-radius:10px;background:#fcfefc;padding:.55rem .65rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem}.meta p[data-v-e08a0229]{margin:0;color:#55705a;font-size:.79rem;line-height:1.45}.meta p strong[data-v-e08a0229]{color:#1b5e20}.mappings[data-v-e08a0229]{display:flex;flex-wrap:wrap;gap:.35rem .45rem;align-items:center}.mapping-item[data-v-e08a0229]{display:inline-flex;border:1px solid #c8e6c9;background:#f1f8f2;color:#2e7d32;border-radius:999px;padding:.05rem .45rem;font-size:.75rem}.btn[data-v-e08a0229]{border:1px solid #ef9a9a;border-radius:8px;background:#fff;color:#b71c1c;padding:.32rem .58rem;cursor:pointer;white-space:nowrap}.project-data-page[data-v-95b6415c]{display:grid;gap:.75rem}.layout[data-v-95b6415c]{display:grid;grid-template-columns:320px minmax(0,1fr);gap:.7rem}.left-panel[data-v-95b6415c],.right-panel[data-v-95b6415c]{padding:.7rem;border-radius:12px;min-width:0}.right-panel[data-v-95b6415c]{display:grid;gap:.75rem}.binding-zone[data-v-95b6415c]{border-top:1px dashed #d6e6d8;padding-top:.75rem}.empty-state[data-v-95b6415c]{border:1px dashed #cfe3d2;border-radius:12px;background:#f8fcf9;padding:1rem;display:grid;gap:.35rem}.empty-state h4[data-v-95b6415c]{margin:0;color:#1b5e20;font-size:.98rem}.empty-state p[data-v-95b6415c]{margin:0;color:#5d7660;font-size:.86rem}.msg[data-v-95b6415c]{margin:.4rem 0 0;font-size:.86rem}.msg.ok[data-v-95b6415c]{color:#2e7d32}.msg.err[data-v-95b6415c]{color:#c62828}@media(max-width:1080px){.layout[data-v-95b6415c]{grid-template-columns:1fr}}.model-training-page[data-v-e14504ea]{display:flex;flex-direction:column;gap:1.25rem;width:100%;min-height:0}.layout[data-v-e14504ea]{display:grid;grid-template-columns:minmax(0,2fr) minmax(380px,1fr);gap:1.25rem;width:100%;align-items:start}.left[data-v-e14504ea]{padding:1.25rem;border-radius:12px;display:flex;flex-direction:column;gap:1.25rem;min-width:0}.analysis-scroll[data-v-e14504ea]{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.right[data-v-e14504ea]{padding:1.25rem;border-radius:12px;display:flex;flex-direction:column;gap:1.25rem;align-items:stretch;min-width:0}.card[data-v-e14504ea]{border:1px solid #dbe8dc;border-radius:12px;background:#fff;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.85rem;flex-shrink:0;min-width:0}h3[data-v-e14504ea],h4[data-v-e14504ea],p[data-v-e14504ea]{margin:0}h3[data-v-e14504ea]{color:#1b5e20;font-size:1.25rem;font-weight:700;line-height:1.3}h4[data-v-e14504ea]{color:#2f5f35;font-size:1.05rem;font-weight:600;line-height:1.3}.row[data-v-e14504ea]{display:flex;flex-wrap:wrap;gap:.85rem;align-items:flex-start}.row.two[data-v-e14504ea]{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.row.three[data-v-e14504ea]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.85rem}label[data-v-e14504ea]{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:#4d6951;font-weight:500}input[data-v-e14504ea],select[data-v-e14504ea]{font:inherit;padding:.6rem .75rem;border:1px solid #b9d7bc;border-radius:8px;font-size:.95rem;width:100%;box-sizing:border-box}.inline[data-v-e14504ea]{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.chips[data-v-e14504ea]{display:flex;flex-wrap:wrap;gap:.6rem}.chip[data-v-e14504ea]{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #d1e4d3;border-radius:999px;padding:.4rem .75rem;background:#f8fcf9;font-size:.85rem}.btn[data-v-e14504ea]{border:1px solid #9fcea3;border-radius:10px;background:#fff;color:#1b5e20;padding:.65rem 1rem;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .15s ease}.btn[data-v-e14504ea]:hover{background:#f5faf5;border-color:#81c784}.btn.on[data-v-e14504ea],.btn.primary[data-v-e14504ea]{background:#e8f5e9}.btn.on[data-v-e14504ea]:hover,.btn.primary[data-v-e14504ea]:hover{background:#c8e6c9}.btn.mini[data-v-e14504ea]{font-size:.85rem;white-space:nowrap;padding:.4rem .7rem}.btn.danger[data-v-e14504ea]{border-color:#ef9a9a;color:#b71c1c}.btn.danger[data-v-e14504ea]:hover{background:#ffebee;border-color:#e57373}.hint[data-v-e14504ea]{margin:0;color:#5b745e;font-size:.9rem;line-height:1.5}.hint.warn[data-v-e14504ea]{color:#8d6e00}.hint.err[data-v-e14504ea]{color:#c62828}.quality-grid[data-v-e14504ea]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.quality-item[data-v-e14504ea]{border:1px solid #e4eee6;border-radius:10px;background:#fcfefc;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.4rem}.quality-item span[data-v-e14504ea]{font-size:.85rem;color:#6b7f70}.quality-item strong[data-v-e14504ea]{font-size:1.1rem;color:#1f5d2a;font-weight:700}.kv-list[data-v-e14504ea]{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.4rem}.heatmap-wrap[data-v-e14504ea]{overflow:auto;max-height:450px;border:1px solid #e0ebe3;border-radius:10px}.heatmap-wrap[data-v-e14504ea]::-webkit-scrollbar{width:10px;height:10px}.heatmap-wrap[data-v-e14504ea]::-webkit-scrollbar-track{background:#f1f8f2;border-radius:5px}.heatmap-wrap[data-v-e14504ea]::-webkit-scrollbar-thumb{background:#5d7a6366;border-radius:5px}.heatmap-wrap[data-v-e14504ea]::-webkit-scrollbar-thumb:hover{background:#5d7a6399}.heatmap-grid[data-v-e14504ea]{display:grid;gap:1px;background:#d7e8d9;min-width:750px}.cell[data-v-e14504ea]{padding:.6rem .75rem;background:#fff;font-size:.85rem}.cell.head[data-v-e14504ea]{background:#f1f8f2;font-weight:700;position:sticky;top:0;z-index:1}.cell.row-head[data-v-e14504ea]{background:#f8fcf9;font-weight:600;position:sticky;left:0;z-index:1}.cell.val[data-v-e14504ea]{text-align:center;font-variant-numeric:tabular-nums}.hist-scroll[data-v-e14504ea]{max-height:450px;overflow:auto;border:1px solid #e0ebe3;border-radius:10px;padding:.6rem}.hist-scroll[data-v-e14504ea]::-webkit-scrollbar{width:10px}.hist-scroll[data-v-e14504ea]::-webkit-scrollbar-track{background:#f1f8f2;border-radius:5px}.hist-scroll[data-v-e14504ea]::-webkit-scrollbar-thumb{background:#5d7a6366;border-radius:5px}.hist-scroll[data-v-e14504ea]::-webkit-scrollbar-thumb:hover{background:#5d7a6399}.hist-grid[data-v-e14504ea]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.hist-card[data-v-e14504ea]{border:1px solid #edf3ee;border-radius:10px;padding:.8rem;display:flex;flex-direction:column;gap:.5rem}.hist-title[data-v-e14504ea]{font-size:.95rem;color:#2f5f35;font-weight:600}.hist-meta[data-v-e14504ea]{font-size:.85rem;color:#6f8572}.bars[data-v-e14504ea]{display:grid;grid-template-columns:repeat(12,1fr);align-items:end;gap:3px;min-height:120px;background:#f8fcf9;padding:.5rem;border-radius:8px}.bar[data-v-e14504ea]{background:linear-gradient(180deg,#66bb6a,#2e7d32);border-radius:3px 3px 0 0}.progress-box[data-v-e14504ea]{display:flex;flex-direction:column;gap:.5rem}.progress-bar[data-v-e14504ea]{width:100%;height:14px;border-radius:999px;background:#e7f1e8;overflow:hidden}.progress-bar span[data-v-e14504ea]{display:block;height:100%;background:linear-gradient(90deg,#66bb6a,#2e7d32);transition:width .3s ease}.stage-list[data-v-e14504ea]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:260px;overflow:auto}.stage-list li[data-v-e14504ea]{border:1px solid #edf3ee;border-radius:10px;padding:.55rem .8rem;display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.stage-list li.todo strong[data-v-e14504ea]{color:#90a4ae}.stage-list li.running strong[data-v-e14504ea],.stage-list li.done strong[data-v-e14504ea]{color:#2e7d32}.stage-list li.failed strong[data-v-e14504ea]{color:#c62828}.log-list[data-v-e14504ea]{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.4rem;max-height:240px;overflow-y:auto}.log-list[data-v-e14504ea]::-webkit-scrollbar{width:8px}.log-list[data-v-e14504ea]::-webkit-scrollbar-track{background:#f1f8f2;border-radius:4px}.log-list[data-v-e14504ea]::-webkit-scrollbar-thumb{background:#5d7a6359;border-radius:4px}.metric-scroll[data-v-e14504ea]{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem}.metric-scroll[data-v-e14504ea]::-webkit-scrollbar{width:8px}.metric-scroll[data-v-e14504ea]::-webkit-scrollbar-track{background:#f1f8f2;border-radius:4px}.metric-scroll[data-v-e14504ea]::-webkit-scrollbar-thumb{background:#5d7a6359;border-radius:4px}.metric[data-v-e14504ea]{border:1px solid #edf3ee;border-radius:10px;padding:.65rem .8rem}.version-scroll[data-v-e14504ea]{max-height:340px;overflow-y:auto}.version-scroll[data-v-e14504ea]::-webkit-scrollbar{width:8px}.version-scroll[data-v-e14504ea]::-webkit-scrollbar-track{background:#f1f8f2;border-radius:4px}.version-scroll[data-v-e14504ea]::-webkit-scrollbar-thumb{background:#5d7a6359;border-radius:4px}.version-scroll ul[data-v-e14504ea]{margin:0;padding:0;list-style:none}.version-item[data-v-e14504ea]{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;border:1px solid #edf3ee;border-radius:10px;padding:.75rem .85rem;margin-bottom:.6rem}.version-item>div[data-v-e14504ea]:first-child{width:100%}.version-item>div[data-v-e14504ea]:last-child{align-self:flex-end}.actions[data-v-e14504ea]{display:flex;gap:.5rem;flex-wrap:wrap}.active-pill[data-v-e14504ea]{margin-left:.6rem;border-radius:999px;background:#e8f5e9;color:#1b5e20;font-size:.78rem;padding:.2rem .55rem;border:1px solid #a5d6a7;font-weight:600}.sub[data-v-e14504ea]{color:#6f8572;font-size:.83rem}.msg[data-v-e14504ea]{margin:0;font-size:.95rem}.msg.ok[data-v-e14504ea]{color:#2e7d32}.msg.err[data-v-e14504ea]{color:#c62828}@media(max-width:1200px){.layout[data-v-e14504ea]{grid-template-columns:1fr}.quality-grid[data-v-e14504ea]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.quality-grid[data-v-e14504ea],.row.two[data-v-e14504ea],.row.three[data-v-e14504ea]{grid-template-columns:1fr}}.login-page[data-v-a992b0a9]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9,#a5d6a7);padding:1rem}.login-card[data-v-a992b0a9]{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 12px 48px #1b5e2026;border:1px solid #c8e6c9}.login-brand[data-v-a992b0a9]{text-align:center;margin-bottom:2rem}.login-logo[data-v-a992b0a9]{width:72px;height:72px;object-fit:contain;margin-bottom:1rem}.login-title[data-v-a992b0a9]{margin:0;font-size:1.5rem;font-weight:700;color:#1b5e20;letter-spacing:-.01em}.login-subtitle[data-v-a992b0a9]{margin:.25rem 0 0;font-size:1rem;font-weight:600;color:#2e7d32;letter-spacing:.06em;text-transform:uppercase}.login-form[data-v-a992b0a9]{display:flex;flex-direction:column;gap:1rem}.form-field[data-v-a992b0a9]{display:flex;flex-direction:column;gap:.35rem}.form-field label[data-v-a992b0a9]{font-size:.85rem;font-weight:600;color:#455a47}.form-field input[data-v-a992b0a9]{padding:.6rem .75rem;border:1px solid #a5d6a7;border-radius:10px;font-size:.95rem;background:#f8fdf8;transition:border-color .15s ease,box-shadow .15s ease}.form-field input[data-v-a992b0a9]:focus{outline:none;border-color:#43a047;box-shadow:0 0 0 3px #43a04726}.password-input-wrapper[data-v-a992b0a9]{position:relative;display:flex;align-items:center}.password-input-wrapper input[data-v-a992b0a9]{width:100%;padding-right:3rem}.toggle-password-btn[data-v-a992b0a9]{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem;line-height:1}.error-msg[data-v-a992b0a9]{margin:0;color:#c62828;font-size:.85rem;font-weight:500}.login-btn[data-v-a992b0a9]{margin-top:.5rem;padding:.75rem 1rem;border:none;border-radius:10px;background:linear-gradient(180deg,#4caf50,#388e3c);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;box-shadow:0 2px 8px #2e7d3233}.login-btn[data-v-a992b0a9]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2e7d324d}.login-btn[data-v-a992b0a9]:active:not(:disabled){transform:translateY(0)}.login-btn[data-v-a992b0a9]:disabled{opacity:.7;cursor:not-allowed}.register-btn[data-v-a992b0a9]{margin-top:.5rem;padding:.75rem 1rem;border:none;border-radius:10px;background:linear-gradient(180deg,#e8f5e9,#c8e6c9);color:#1b5e20;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;box-shadow:0 2px 8px #2e7d321a}.register-btn[data-v-a992b0a9]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2e7d3233}.register-btn[data-v-a992b0a9]:active{transform:translateY(0)}.landing-page[data-v-d9367714]{position:relative;min-height:100vh;background:linear-gradient(135deg,#0f0f1a,#1a1226,#0d1117);overflow:hidden;display:flex;flex-direction:column}.bg-decor[data-v-d9367714]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.glow[data-v-d9367714]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:floatGlow-d9367714 20s ease-in-out infinite}.glow-1[data-v-d9367714]{width:400px;height:400px;background:#ff6b9d;top:-100px;left:-100px;animation-delay:0s}.glow-2[data-v-d9367714]{width:500px;height:500px;background:#7c3aed;top:50%;right:-150px;animation-delay:-5s}.glow-3[data-v-d9367714]{width:350px;height:350px;background:#2d8a4e;bottom:-100px;left:30%;animation-delay:-10s}@keyframes floatGlow-d9367714{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.grid-pattern[data-v-d9367714]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px}.landing-nav[data-v-d9367714]{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 3rem;animation:fadeInDown-d9367714 .8s ease-out}@keyframes fadeInDown-d9367714{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.nav-left[data-v-d9367714]{display:flex;align-items:center;gap:.75rem}.nav-logo[data-v-d9367714]{width:44px;height:44px;object-fit:contain}.nav-brand[data-v-d9367714]{display:flex;flex-direction:column;gap:2px}.brand-name[data-v-d9367714]{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:-.02em}.brand-sub[data-v-d9367714]{font-size:.75rem;font-weight:600;color:#ffffffb3;letter-spacing:.08em;text-transform:uppercase}.nav-right[data-v-d9367714]{display:flex;align-items:center;gap:.75rem}.nav-btn[data-v-d9367714]{padding:.55rem 1.25rem;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.nav-btn-login[data-v-d9367714]{border:1px solid rgba(255,255,255,.15);background:transparent;color:#ffffffd9}.nav-btn-login[data-v-d9367714]:hover{border-color:#ffffff4d;background:#ffffff0d}.nav-btn-register[data-v-d9367714]{border:none;background:linear-gradient(135deg,#ff6b9d,#c44569);color:#fff;box-shadow:0 4px 20px #ff6b9d4d}.nav-btn-register[data-v-d9367714]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #ff6b9d66}.landing-main[data-v-d9367714]{position:relative;z-index:10;flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 3rem}.hero-content[data-v-d9367714]{width:100%;max-width:1400px;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-left[data-v-d9367714]{animation:fadeInUp-d9367714 .8s ease-out .2s both}@keyframes fadeInUp-d9367714{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-tag[data-v-d9367714]{display:inline-block;padding:.35rem .85rem;border-radius:999px;background:linear-gradient(135deg,#7c3aed33,#ff6b9d1a);border:1px solid rgba(255,107,157,.2);color:#ffb3c6;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.5rem}.hero-title[data-v-d9367714]{margin:0 0 1rem;font-size:3.25rem;font-weight:800;line-height:1.15;color:#fff;letter-spacing:-.03em}.highlight[data-v-d9367714]{background:linear-gradient(135deg,#ff6b9d,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle[data-v-d9367714]{margin:0 0 2rem;font-size:1.05rem;line-height:1.7;color:#ffffffbf}.hero-buttons[data-v-d9367714]{display:flex;gap:1rem;margin-bottom:2rem}.cta-btn[data-v-d9367714]{padding:.85rem 1.75rem;border-radius:14px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s ease}.cta-btn-primary[data-v-d9367714]{border:none;background:linear-gradient(135deg,#ff6b9d,#c44569);color:#fff;box-shadow:0 4px 20px #ff6b9d59}.cta-btn-primary[data-v-d9367714]:hover{transform:translateY(-2px);box-shadow:0 8px 28px #ff6b9d73}.cta-btn-secondary[data-v-d9367714]{border:1px solid rgba(255,255,255,.2);background:#ffffff08;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cta-btn-secondary[data-v-d9367714]:hover{border-color:#ffffff59;background:#ffffff14}.feature-tags[data-v-d9367714]{display:flex;flex-wrap:wrap;gap:.75rem}.feature-tag[data-v-d9367714]{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ffffffd9;font-size:.85rem;font-weight:600}.tag-icon[data-v-d9367714]{font-size:1rem}.hero-right[data-v-d9367714]{animation:fadeInUp-d9367714 .8s ease-out .4s both}.visual-container[data-v-d9367714]{position:relative;width:100%;height:500px}.glass-card[data-v-d9367714]{position:absolute;background:#ffffff0f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 8px 32px #0003}.main-card[data-v-d9367714]{width:380px;height:280px;left:50%;top:50%;transform:translate(-50%,-50%);animation:floatMain-d9367714 6s ease-in-out infinite}@keyframes floatMain-d9367714{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-10px)}}.card-header[data-v-d9367714]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.card-dots[data-v-d9367714]{display:flex;gap:6px}.dot[data-v-d9367714]{width:10px;height:10px;border-radius:50%}.dot-red[data-v-d9367714]{background:#ff6b6b}.dot-yellow[data-v-d9367714]{background:#ffd93d}.dot-green[data-v-d9367714]{background:#6bcb77}.card-title[data-v-d9367714]{font-size:.82rem;font-weight:600;color:#ffffffb3}.card-body[data-v-d9367714]{padding:1rem;display:flex;flex-direction:column;gap:.85rem}.panel-row[data-v-d9367714]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mini-panel[data-v-d9367714]{padding:.75rem;border-radius:12px;background:#0003;border:1px solid rgba(255,255,255,.06)}.panel-label[data-v-d9367714]{font-size:.72rem;font-weight:600;color:#fff9;margin-bottom:.5rem}.panel-chart[data-v-d9367714]{display:flex;align-items:flex-end;gap:4px;height:50px}.chart-bar[data-v-d9367714]{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#ff6b9d,#7c3aed)}.chart-1[data-v-d9367714]{height:40%}.chart-2[data-v-d9367714]{height:70%}.chart-3[data-v-d9367714]{height:55%}.chart-4[data-v-d9367714]{height:85%}.chart-5[data-v-d9367714]{height:60%}.progress-bar[data-v-d9367714]{position:relative;height:10px;border-radius:999px;background:#ffffff1a;overflow:hidden}.progress-fill[data-v-d9367714]{position:absolute;left:0;top:0;bottom:0;width:87%;border-radius:999px;background:linear-gradient(90deg,#ff6b9d,#7c3aed)}.progress-text[data-v-d9367714]{display:block;margin-top:.25rem;font-size:.75rem;font-weight:700;color:#ffb3c6}.prediction-value[data-v-d9367714]{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#ff6b9d,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.monitor-line[data-v-d9367714]{width:100%;height:50px}.monitor-line svg[data-v-d9367714]{width:100%;height:100%}.float-card[data-v-d9367714]{width:130px;padding:.85rem;display:flex;align-items:center;gap:.65rem}.card-1[data-v-d9367714]{left:0;top:10%;animation:floatCard1-d9367714 7s ease-in-out infinite}.card-2[data-v-d9367714]{right:0;top:20%;animation:floatCard2-d9367714 6s ease-in-out infinite}.card-3[data-v-d9367714]{left:5%;bottom:15%;animation:floatCard3-d9367714 8s ease-in-out infinite}.card-4[data-v-d9367714]{right:8%;bottom:25%;animation:floatCard4-d9367714 6.5s ease-in-out infinite}@keyframes floatCard1-d9367714{0%,to{transform:translate(0)}50%{transform:translate(10px,-15px)}}@keyframes floatCard2-d9367714{0%,to{transform:translate(0)}50%{transform:translate(-12px,12px)}}@keyframes floatCard3-d9367714{0%,to{transform:translate(0)}50%{transform:translate(15px,10px)}}@keyframes floatCard4-d9367714{0%,to{transform:translate(0)}50%{transform:translate(-8px,-10px)}}.float-icon[data-v-d9367714]{font-size:1.5rem}.float-content[data-v-d9367714]{flex:1;min-width:0}.float-label[data-v-d9367714]{font-size:.68rem;font-weight:600;color:#fff9;margin-bottom:2px}.float-value[data-v-d9367714]{font-size:1.1rem;font-weight:800;color:#fff}.landing-footer[data-v-d9367714]{position:relative;z-index:10;padding:.75rem 3rem;border-top:1px solid rgba(255,255,255,.06);background:#00000026;animation:fadeInUp-d9367714 .8s ease-out .6s both}.footer-strip[data-v-d9367714]{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.8rem;font-weight:600;color:#ffffff80;letter-spacing:.1em;text-transform:uppercase}.separator[data-v-d9367714]{opacity:.3}@media(max-width:1100px){.hero-content[data-v-d9367714]{grid-template-columns:1fr;gap:3rem}.hero-right[data-v-d9367714]{order:-1}.visual-container[data-v-d9367714]{height:400px;max-width:500px;margin:0 auto}.main-card[data-v-d9367714]{width:320px;height:240px}.float-card[data-v-d9367714]{width:110px;padding:.7rem}}@media(max-width:768px){.landing-nav[data-v-d9367714]{padding:1rem 1.5rem}.hero-title[data-v-d9367714]{font-size:2.25rem}.hero-subtitle[data-v-d9367714]{font-size:.95rem}.hero-buttons[data-v-d9367714]{flex-direction:column}.cta-btn[data-v-d9367714]{width:100%}.landing-main[data-v-d9367714]{padding:1.5rem}.visual-container[data-v-d9367714]{height:350px}.main-card[data-v-d9367714]{width:280px;height:220px}.float-card[data-v-d9367714]{display:none}.landing-footer[data-v-d9367714]{padding:.75rem 1.5rem}.footer-strip[data-v-d9367714]{font-size:.7rem}}:root{--pf-bg: #f3f7f4;--pf-surface: #ffffff;--pf-text: #26352a;--pf-muted: #6b7f70;--pf-border: #d5e5d8;--pf-primary: #2e7d32;--pf-primary-soft: #e8f5e9;--pf-info: #1565c0;--pf-info-soft: #e3f2fd;--pf-warn: #ef6c00;--pf-warn-soft: #fff3e0;--pf-danger: #c62828;--pf-danger-soft: #ffebee}html,body,#app{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{background:linear-gradient(180deg,#ecf4ee 0%,var(--pf-bg) 40%,#f6faf7 100%);color:var(--pf-text)}*{scrollbar-width:thin;scrollbar-color:rgba(93,122,99,.26) transparent}*::-webkit-scrollbar-thumb{background:#5d7a6342;border-radius:999px}*::-webkit-scrollbar-button{display:none;width:0;height:0}.platform-page{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:14px;box-shadow:0 6px 24px #1b5e200f}.platform-card{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:12px;box-shadow:0 2px 10px #1b5e200a;padding:.9rem 1rem}.platform-title{margin:0;font-size:1.1rem;color:var(--pf-primary)}.platform-subtitle{margin:.35rem 0 0;color:var(--pf-muted);font-size:.9rem}.platform-btn{border:1px solid #7cbf80;background:var(--pf-primary-soft);color:#1b5e20;border-radius:8px;padding:.4rem .75rem;font-weight:600;cursor:pointer}.platform-btn:hover{background:#ddf1df}.platform-btn:disabled{opacity:.6;cursor:not-allowed}.platform-tag{display:inline-flex;align-items:center;border-radius:999px;font-size:.78rem;font-weight:700;padding:.2rem .55rem;border:1px solid transparent}.platform-tag.ok{color:#1b5e20;background:var(--pf-primary-soft);border-color:#9ccc9f}.platform-tag.info{color:var(--pf-info);background:var(--pf-info-soft);border-color:#90caf9}.platform-tag.warn{color:var(--pf-warn);background:var(--pf-warn-soft);border-color:#ffcc80}.platform-tag.bad{color:var(--pf-danger);background:var(--pf-danger-soft);border-color:#ef9a9a}.platform-empty{border:1px dashed #d9e6db;background:#fafdfa;color:#739077;border-radius:10px;padding:.7rem;text-align:center;font-size:.86rem}.section-card{background:#fff;border:1px solid #dbe8dc;border-radius:12px;padding:.8rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.metric-card{background:#fff;border:1px solid #dbe8dc;border-radius:10px;padding:.65rem .75rem;display:grid;gap:.24rem}.metric-card .label{font-size:.78rem;color:#6d8470}.metric-card .value{font-size:1.02rem;font-weight:700;color:#1f5d2a}.toolbar-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.data-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.thin-scroll{scrollbar-width:thin;scrollbar-color:rgba(93,122,99,.28) transparent}.thin-scroll::-webkit-scrollbar{width:6px;height:6px}.thin-scroll::-webkit-scrollbar-track{background:transparent}.thin-scroll::-webkit-scrollbar-thumb{background:#5d7a6347;border-radius:999px}.thin-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}*{scrollbar-width:thin;scrollbar-color:rgba(96,125,103,.48) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#607d677a;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#607d679e}*::-webkit-scrollbar-button{width:0;height:0;display:none}
