.app-shell{--f2d-bg:#f4f5f7;--f2d-surface:#fff;--f2d-surface-2:#f9fafb;--f2d-border:#e5e7eb;--f2d-border-strong:#d1d5db;--f2d-text:#111827;--f2d-text-2:#6b7280;--f2d-text-3:#9ca3af;--f2d-primary:#1b64da;--f2d-primary-hover:#1550b5;--f2d-primary-soft:#eff4ff;--f2d-primary-border:#c7d9ff;--f2d-navy:#002c5f;--f2d-danger:#dc2626;--f2d-radius:6px;--f2d-focus-ring:0 0 0 3px rgba(27,100,218,.18);position:relative;display:grid;grid-template-rows:minmax(0,1fr);width:100%;height:100%;overflow:hidden;min-width:980px;background:var(--f2d-bg);color:var(--f2d-text);color-scheme:light;font-family:Pretendard,Noto Sans KR,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif;font-size:var(--f2d-font-size,10px)}.app-shell,.app-shell *{box-sizing:border-box}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{font:inherit}.app-shell .compact-select,.app-shell .tool-button{height:30px;border:1px solid var(--f2d-border-strong);border-radius:var(--f2d-radius);color:#374151;background:var(--f2d-surface)}.app-shell .tool-button{padding:0 10px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.app-shell .compact-select:hover,.app-shell .tool-button:hover{border-color:var(--f2d-primary);color:var(--f2d-primary)}.app-shell .tool-button.primary{color:#fff;background:var(--f2d-primary);border-color:var(--f2d-primary)}.app-shell .tool-button.primary:hover{color:#fff;background:var(--f2d-primary-hover);border-color:var(--f2d-primary-hover)}.app-shell .tool-button.danger{border-color:#f0b4b4;color:var(--f2d-danger)}.app-shell .tool-button.danger:hover{border-color:var(--f2d-danger);color:var(--f2d-danger)}.app-shell .compact-select{min-width:84px;padding:0 8px}.app-shell .tool-button.icon{flex:0 0 auto;width:30px;padding:0;text-align:center;line-height:1}.app-shell .toggle-row{display:inline-flex;align-items:center;gap:6px;height:30px;color:var(--f2d-text-2);font-size:.93em}.app-shell .toggle-row input[type=checkbox]{accent-color:var(--f2d-primary)}.app-shell .workbench{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0}.app-shell .panel{min-height:0;background:var(--f2d-surface);border-color:var(--f2d-border)}.app-shell .right-panel{border-left:1px solid var(--f2d-border)}.app-shell .panel-section,.app-shell .right-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.app-shell .panel-section{flex:1 1 50%}.app-shell .objects-section{border-bottom:1px solid var(--f2d-border);min-height:96px}.app-shell .properties-section{min-height:96px}.app-shell .devices-toolbar,.app-shell .objects-section .search-input,.app-shell .panel-section .panel-header{flex:0 0 auto}.app-shell .devices-toolbar{display:flex;flex-direction:column;gap:8px;padding:12px 12px 0}.app-shell .devices-toolbar .drawer-field{flex-direction:row;align-items:center;gap:8px}.app-shell .devices-toolbar .compact-select{flex:0 0 auto;width:auto}.app-shell .section-toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-shell .section-title{display:inline-flex;align-items:center;gap:6px}.app-shell .caret{display:inline-block;font-size:.72em;color:var(--f2d-text-3);transition:transform .15s ease}.app-shell .panel-section.collapsed{flex:0 0 auto;min-height:0}.app-shell .panel-section.collapsed>:not(.panel-header){display:none}.app-shell .panel-section.collapsed .caret{transform:rotate(-90deg)}.app-shell .properties-section .empty-state,.app-shell .properties-section .property-form{flex:1 1 auto;min-height:0;overflow:auto}.app-shell .panel-header{display:flex;align-items:center;justify-content:space-between;height:42px;padding:0 12px;color:var(--f2d-text);background:var(--f2d-surface-2);border-bottom:1px solid var(--f2d-border);font-weight:650}.app-shell .badge{min-width:28px;padding:2px 7px;border-radius:999px;background:var(--f2d-primary-soft);color:var(--f2d-primary);text-align:center;font-size:.86em;font-weight:600}.app-shell .search-input{width:calc(100% - 24px);height:32px;margin:12px;padding:0 9px;border:1px solid var(--f2d-border-strong);border-radius:var(--f2d-radius);color:var(--f2d-text);background:var(--f2d-surface)}.app-shell .search-input::-moz-placeholder{color:var(--f2d-text-3)}.app-shell .search-input::placeholder{color:var(--f2d-text-3)}.app-shell .search-input:focus{outline:none;border-color:var(--f2d-primary);box-shadow:var(--f2d-focus-ring)}.app-shell .object-list{display:flex;flex-direction:column;gap:0;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 8px 12px}.app-shell .object-row{display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:8px;width:100%;flex:0 0 auto;min-height:25px;padding:0 6px;border:1px solid transparent;border-bottom:1px solid var(--f2d-border);border-radius:var(--f2d-radius);color:#374151;background:transparent;text-align:left;cursor:pointer}.app-shell .object-row:last-child{border-bottom-color:transparent}.app-shell .object-row.selected,.app-shell .object-row:hover{border-color:var(--f2d-primary-border);background:var(--f2d-primary-soft);color:var(--f2d-primary)}.app-shell .object-row.group-row{grid-template-columns:14px minmax(0,1fr) 76px;font-weight:600}.app-shell .object-row.child-row{padding-left:20px;font-size:.93em}.app-shell .group-caret{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:center;font-size:.86em}.app-shell .group-caret,.app-shell .object-row.group-row .object-type{color:var(--f2d-primary)}.app-shell .object-type{color:var(--f2d-text-3);font-size:.86em;text-align:right}.app-shell .object-row.selected .object-type{color:var(--f2d-primary)}.app-shell .object-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .scene-region{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:0;min-height:0;background:var(--f2d-bg)}.app-shell .panel-toggle{position:absolute;top:10px;right:10px;z-index:5;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--f2d-primary-border);border-radius:50%;background:var(--f2d-primary-soft);color:var(--f2d-primary);font-size:1.3em;line-height:1;cursor:pointer;box-shadow:0 2px 6px #11182729;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .1s ease}.app-shell .panel-toggle:hover{background:var(--f2d-primary);border-color:var(--f2d-primary);color:#fff}.app-shell .panel-toggle:active{transform:scale(.94)}.app-shell.panel-collapsed .workbench{grid-template-columns:minmax(0,1fr)}.app-shell.panel-collapsed .right-panel{display:none}.app-shell.panel-hidden .workbench{grid-template-columns:minmax(0,1fr)}.app-shell.panel-hidden .right-panel{display:none}.app-shell .scene-host{width:100%;height:100%}.app-shell .scene-host canvas{display:block;width:100%;height:100%;cursor:crosshair}.app-shell .notifications{position:absolute;top:50px;right:12px;display:flex;flex-direction:column;gap:6px;width:260px;pointer-events:none}.app-shell .notification{padding:8px 10px;border:1px solid var(--f2d-border);border-left:3px solid var(--f2d-primary);border-radius:var(--f2d-radius);background:var(--f2d-surface);color:var(--f2d-text);font-size:.86em;box-shadow:0 4px 12px #1118271f}.app-shell .notification.warn{border-left-color:#f59e0b}.app-shell .notification.error{border-left-color:var(--f2d-danger)}.app-shell .property-form{display:flex;flex-direction:column;gap:12px;padding:12px;overflow:auto}.app-shell .property-form label{display:flex;flex-direction:column;gap:5px;color:var(--f2d-text-2);font-size:.86em}.app-shell .property-form input,.app-shell .property-form textarea{width:100%;min-height:30px;border:1px solid var(--f2d-border-strong);border-radius:var(--f2d-radius);color:var(--f2d-text);background:var(--f2d-surface);padding:6px 8px}.app-shell .compact-select:focus,.app-shell .drawer-field input:focus,.app-shell .drawer-field select:focus,.app-shell .property-form input:focus,.app-shell .property-form textarea:focus{outline:none;border-color:var(--f2d-primary);box-shadow:var(--f2d-focus-ring)}.app-shell .property-form textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.app-shell .property-form .field-inline{display:flex;align-items:center;gap:8px;color:var(--f2d-text);font-size:.93em}.app-shell .property-form .field-inline__label{flex:1 1 auto}.app-shell .property-form .field-inline input[type=checkbox]{flex:none;width:auto;min-height:0;accent-color:var(--f2d-primary)}.app-shell .property-form .field-inline input[type=color]{flex:none;width:36px;padding:2px}.app-shell .property-form .field-inline input[type=number]{flex:none;width:62px}.app-shell .property-form .field-inline input:disabled{opacity:.45;cursor:not-allowed;background:var(--f2d-surface-2,var(--f2d-surface))}.app-shell .property-form .field-inline.is-off .field-inline__label{color:var(--f2d-text-3)}.app-shell .field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-shell .empty-state{padding:24px 12px;color:var(--f2d-text-3)}.app-shell .hidden{display:none!important}.app-shell.auto-height .scene-region{min-height:420px}.app-shell.auto-height .right-panel{max-height:80vh}.app-shell.auto-height .object-list{max-height:40vh}.app-shell.auto-height .menu-body{max-height:30vh}.app-shell.auto-height .properties-section .empty-state,.app-shell.auto-height .properties-section .property-form{max-height:40vh}.app-shell.readonly .editing-only{display:none!important}.app-shell.readonly .object-row{cursor:default;pointer-events:none}.app-shell .content-overlay{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:1}.app-shell .content-host{position:absolute;top:0;left:0;transform-origin:center center;box-sizing:border-box;pointer-events:none}.app-shell .drawer-field{display:flex;flex-direction:column;gap:4px;color:var(--f2d-text-2);font-size:.93em}.app-shell .menu-section{flex:0 0 auto}.app-shell .menu-body{display:flex;flex-direction:column;gap:8px;padding:12px;max-height:38vh;overflow:auto}.app-shell .menu-body .compact-select,.app-shell .menu-body .tool-button{width:100%}.app-shell .menu-row{display:flex;align-items:center;gap:8px}.app-shell .menu-row .compact-select,.app-shell .menu-row .drawer-field,.app-shell .menu-row .tool-button{flex:1 1 0;width:auto;min-width:0}.app-shell .menu-row .tool-button.icon{flex:0 0 auto;width:30px}.app-shell .drawer-field input,.app-shell .drawer-field select{width:100%;min-width:0;box-sizing:border-box;height:30px;border:1px solid var(--f2d-border-strong);border-radius:var(--f2d-radius);color:var(--f2d-text);background:var(--f2d-surface);padding:0 8px}.app-shell .field-label{color:var(--f2d-text-2)}.app-shell .file-field{display:flex;align-items:center;gap:6px;min-width:0}.app-shell .file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.app-shell .file-button{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;height:26px;padding:0 10px;border:1px solid var(--f2d-border-strong);border-radius:var(--f2d-radius);background:var(--f2d-surface);color:#374151;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,color .15s ease,background .15s ease}.app-shell .file-button:hover{border-color:var(--f2d-primary);color:var(--f2d-primary);background:var(--f2d-primary-soft)}.app-shell .file-input:focus-visible+.file-button{outline:none;border-color:var(--f2d-primary);box-shadow:var(--f2d-focus-ring)}.app-shell .file-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--f2d-text-3)}.app-shell .file-name.has-file{color:var(--f2d-text)}.app-shell .file-clear{flex:0 0 auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--f2d-border-strong);border-radius:50%;background:var(--f2d-surface);color:var(--f2d-text-2);line-height:1;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.app-shell .file-clear:hover{border-color:var(--f2d-danger);color:var(--f2d-danger);background:#fef2f2}.app-shell .bg-preview{width:100%;max-height:96px;-o-object-fit:contain;object-fit:contain;margin-top:2px;border:1px solid var(--f2d-border-strong);border-radius:var(--f2d-radius);background:var(--f2d-surface-2)}.app-shell.readonly .scene-host canvas{cursor:default}.app-icon[data-v-2d93e5a9]{flex-shrink:0;vertical-align:middle}.app-icon[data-v-2d93e5a9],.app-icon__inner[data-v-2d93e5a9]{display:inline-flex;align-items:center;justify-content:center;line-height:0}.app-icon__inner[data-v-2d93e5a9]{width:100%;height:100%}.app-icon__inner[data-v-2d93e5a9] svg{width:100%;height:100%;display:block}.app-icon__fallback[data-v-2d93e5a9]{display:block;width:100%;height:100%;background:currentColor;opacity:.1;border-radius:2px}.gnb-header[data-v-1974e832]{height:64px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;padding:0 16px;color:var(--gray-black);z-index:100;box-sizing:border-box;margin:0}.gnb-left[data-v-1974e832]{display:flex;align-items:center;gap:16px}.icon-apps-btn[data-v-1974e832]{color:var(--gray-600);transition:color .15s ease}.icon-apps-btn[data-v-1974e832]:hover{color:var(--gray-black)}.gnb-nav-group[data-v-1974e832]{display:flex;align-items:center;gap:32px}.gnb-logo[data-v-1974e832]{display:flex;align-items:center;gap:6px;font-family:var(--font-family);-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#002c5f}.logo-emblem[data-v-1974e832]{height:14px;width:auto;flex-shrink:0}.logo-text[data-v-1974e832]{font-size:16px;font-weight:700;letter-spacing:-.01em;color:inherit}.system-title[data-v-1974e832]{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--gray-black)}.gnb-nav[data-v-1974e832]{display:flex;align-items:center;gap:32px}.gnb-nav-item[data-v-1974e832]{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--gray-600);font-weight:var(--font-weight-medium);text-decoration:none;transition:color .15s ease}.gnb-nav-item[data-v-1974e832]:hover{color:var(--primary-500)}.gnb-nav-item.active[data-v-1974e832]{color:var(--primary-500);font-weight:var(--font-weight-bold)}.gnb-right[data-v-1974e832]{display:flex;align-items:center;gap:8px}.gnb-tool-btn[data-v-1974e832]{width:40px;height:40px;border-radius:50%;background:transparent;border:none;color:var(--gray-600);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.gnb-tool-btn[data-v-1974e832]:hover{color:var(--gray-black);background-color:var(--gray-150)}.relative-alert-btn[data-v-1974e832]{position:relative}.line-name-label[data-v-1974e832]{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--gray-black)}.vertical-divider[data-v-1974e832]{width:1px;height:16px;background-color:var(--gray-250)}.gnb-profile[data-v-1974e832]{display:flex;align-items:center;gap:8px}.gnb-avatar[data-v-1974e832]{width:24px;height:24px;border-radius:50%;background-color:var(--primary-500);display:flex;align-items:center;justify-content:center}.profile-username[data-v-1974e832]{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--gray-black)}.snb-sidebar[data-v-d513c752]{width:210px;background:var(--gray-white);border-radius:var(--radius-lg);box-shadow:0 0 20px 0 rgba(35,55,106,.1);display:flex;flex-direction:column;height:90vh;max-height:90vh;flex-shrink:0;transition:width .2s cubic-bezier(.4,0,.2,1);overflow:hidden}.snb-sidebar.is-collapsed[data-v-d513c752]{width:64px}.snb-tabs-wrapper[data-v-d513c752]{display:flex;align-items:center;justify-content:space-between;padding:4px var(--spacing-sm);border-bottom:1px solid var(--gray-150);margin-bottom:var(--spacing-sm)}.snb-tabs[data-v-d513c752]{display:flex;background:var(--gray-white);border-radius:var(--radius-md);padding:2px;width:130px}.tab-btn[data-v-d513c752]{flex:1;font-size:11px;font-weight:var(--font-weight-medium);color:var(--gray-500);background:transparent;border:none;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:all .15s ease}.tab-btn.is-active[data-v-d513c752]{background:var(--gray-150);color:var(--gray-black);font-weight:var(--font-weight-bold)}.tab-controls[data-v-d513c752]{display:flex;align-items:center;gap:4px}.sidebar-control-btn[data-v-d513c752]:hover{color:var(--gray-900)!important}.nav-menu[data-v-d513c752]{flex:1;padding:var(--spacing-xs) var(--spacing-sm);overflow-y:auto}.nav-list[data-v-d513c752]{list-style:none;padding:0;margin:0;gap:8px}.nav-item-wrapper[data-v-d513c752],.nav-list[data-v-d513c752]{display:flex;flex-direction:column}.nav-item[data-v-d513c752]{display:flex;align-items:center;justify-content:space-between;padding:4px 16px;border-radius:var(--radius-md);color:var(--gray-black);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;height:32px}.nav-item[data-v-d513c752]:hover{background:var(--gray-150)}.nav-item.is-active[data-v-d513c752]{color:var(--primary-500);font-weight:var(--font-weight-bold)}.nav-item-left[data-v-d513c752]{display:flex;align-items:center;gap:12px;overflow:hidden}.icon-svg[data-v-d513c752]{flex-shrink:0}.nav-label[data-v-d513c752]{font-size:13px;font-weight:var(--font-weight-medium);white-space:nowrap}.submenu-list[data-v-d513c752]{list-style:none;padding:4px 0 4px 16px;margin:0;display:flex;flex-direction:column;gap:2px}.submenu-item[data-v-d513c752]{display:flex;align-items:center;gap:10px;padding:0 var(--spacing-md);border-radius:var(--radius-md);color:var(--gray-600);cursor:pointer;transition:all .15s ease;height:32px}.submenu-item[data-v-d513c752]:hover{background:var(--gray-150);color:var(--gray-black)}.submenu-item.is-child-active[data-v-d513c752]{color:var(--primary-blue-500,#1c63cd);font-weight:var(--font-weight-bold,700);background:var(--primary-blue-100,#e8effa)}.submenu-dot[data-v-d513c752]{width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0}.submenu-label[data-v-d513c752]{font-size:11px;white-space:nowrap}.snb-footer[data-v-d513c752]{padding:var(--spacing-md);display:flex;justify-content:center;border-top:1px solid var(--gray-150)}.collapse-btn[data-v-d513c752]{width:40px;height:40px;border-radius:var(--radius-full);border:1px solid var(--gray-200);background:var(--gray-white);color:var(--gray-700);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s,box-shadow .15s}.collapse-btn[data-v-d513c752]:hover{background:var(--gray-120);box-shadow:var(--shadow-md)}.app-tabbar[data-v-32939506]{height:48px;background:var(--gray-white);border-radius:var(--radius-lg);box-shadow:0 0 20px 0 rgba(35,55,106,.1);display:flex;align-items:center;justify-content:space-between;padding:6px 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;box-sizing:border-box}.tabs-list-container[data-v-32939506]{display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;height:100%;flex:1;scrollbar-width:none}.tabs-list-container[data-v-32939506]::-webkit-scrollbar{display:none}.tab-item[data-v-32939506]{display:flex;align-items:center;gap:4px;height:34px;padding:8px 12px;background:var(--gray-150);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;flex-shrink:0;box-sizing:border-box}.tab-item[data-v-32939506]:hover{background:var(--gray-250)}.tab-label[data-v-32939506]{font-size:13px;font-weight:var(--font-weight-medium);color:var(--gray-600);line-height:18px}.tab-close-icon[data-v-32939506]{width:13px;height:13px;color:var(--gray-500);transition:color .15s,transform .15s;flex-shrink:0}.tab-close-icon[data-v-32939506]:hover{color:var(--red-500);transform:scale(1.15)}.tab-item.is-active[data-v-32939506]{background:var(--primary-100)}.tab-item.is-active .tab-label[data-v-32939506],.tab-item.is-active[data-v-32939506]{color:var(--primary-500);font-weight:var(--font-weight-bold)}.tab-item.is-active .tab-close-icon[data-v-32939506]{color:var(--primary-500)}.tab-item.is-active .tab-close-icon[data-v-32939506]:hover{color:var(--red-500)}.tabs-paging-controls[data-v-32939506]{display:flex;align-items:center;gap:8px;padding:8px;height:100%;flex-shrink:0}.paging-btn[data-v-32939506]{width:32px;height:32px;border-radius:var(--radius-md);border:none;background:var(--gray-white);color:var(--gray-600);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.paging-btn svg[data-v-32939506]{width:14px;height:14px}.paging-btn[data-v-32939506]:hover{background:var(--gray-120);color:var(--gray-black)}.paging-btn.close-all[data-v-32939506]:hover{background:var(--red-100);color:var(--red-500)}.app-breadcrumb[data-v-3c78e064]{display:flex;align-items:center;justify-content:space-between;width:100%;height:28px}.app-breadcrumb__left[data-v-3c78e064]{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.app-breadcrumb__right[data-v-3c78e064],.app-breadcrumb__teleport-target[data-v-3c78e064]{display:flex;align-items:center;gap:var(--spacing-xs)}.app-breadcrumb__icons[data-v-3c78e064]{display:flex;align-items:center;gap:1.33px}.app-breadcrumb__btn[data-v-3c78e064],.app-breadcrumb__teleport-target[data-v-3c78e064] .app-breadcrumb__btn,.app-breadcrumb__teleport-target[data-v-3c78e064] button{background:transparent;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm,4px);outline:none;transition:background-color .15s ease}.app-breadcrumb__btn[data-v-3c78e064]:hover,.app-breadcrumb__teleport-target[data-v-3c78e064] .app-breadcrumb__btn:hover,.app-breadcrumb__teleport-target[data-v-3c78e064] button:hover{background-color:var(--primary-100,rgba(28,99,205,.08))}.app-breadcrumb__btn--active[data-v-3c78e064]:hover{background-color:rgba(28,99,205,.08)}.app-breadcrumb__label[data-v-3c78e064]{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--neutral-black);-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:.25px;line-height:20px}.app-tabs-container[data-v-5fb72bc8]{display:inline-flex;box-sizing:border-box}.app-tabs-container--card[data-v-5fb72bc8]{padding:var(--spacing-sm);background-color:var(--gray-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.app-tabs-container--line[data-v-5fb72bc8]{display:flex;width:100%;padding:0;background-color:transparent;border-radius:0;box-shadow:none;border-bottom:1px solid var(--neutral-gray-300)}.app-tabs-container--line.app-tabs-container--borderless[data-v-5fb72bc8]{border-bottom:none}.app-tabs[data-v-5fb72bc8]{display:flex;align-items:center}.app-tabs--card[data-v-5fb72bc8]{gap:var(--spacing-sm);height:32px}.app-tabs--line[data-v-5fb72bc8]{gap:4px;height:auto}.app-tabs__item[data-v-5fb72bc8]{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;outline:none;transition:all .15s ease;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-tabs__item--card[data-v-5fb72bc8]{font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-medium);height:32px;padding:0 var(--spacing-md);background-color:var(--gray-150);border:none;border-radius:var(--radius-md);color:var(--gray-700)}.app-tabs__item--card[data-v-5fb72bc8]:not(:disabled):hover{background-color:var(--gray-200);color:var(--gray-black)}.app-tabs__item--line-page[data-v-5fb72bc8]{min-height:24px;padding:0 12px;background-color:transparent;border:none;border-bottom:1px solid transparent;border-radius:0;color:var(--neutral-gray-500);margin-bottom:-1px}.app-tabs__item--line-page[data-v-5fb72bc8]:not(:disabled):hover{background-color:transparent;color:var(--neutral-gray-700)}.app-tabs__item--line-page.app-tabs__item--active[data-v-5fb72bc8]{background-color:transparent!important;border-bottom:2px solid var(--primary-500)!important}.app-tabs__item--line-section[data-v-5fb72bc8]{height:34px;padding:0 12px;background-color:var(--neutral-white);border:none;border-bottom:1px solid var(--neutral-gray-300);border-radius:8px 8px 0 0;color:var(--neutral-gray-700);margin-bottom:-1px}.app-tabs__item--line-section[data-v-5fb72bc8]:not(:disabled):hover{background-color:var(--neutral-gray-120);color:var(--neutral-gray-900)}.app-tabs__item--line-section.app-tabs__item--active[data-v-5fb72bc8]{border-bottom:1px solid var(--primary-300)!important}.app-tabs__item--active[data-v-5fb72bc8]{background-color:var(--primary-100)!important;color:var(--primary-500)!important;cursor:default}.app-tabs__item--card.app-tabs__item--active[data-v-5fb72bc8]{font-weight:var(--font-weight-bold)!important}.app-tabs__item--disabled[data-v-5fb72bc8]{opacity:.5;cursor:not-allowed}.app-tabs-container--disabled[data-v-5fb72bc8]{opacity:.6;pointer-events:none}.app-page-header[data-v-30646e9c]{margin-bottom:0}.layout[data-v-bdf42ea6]{height:100vh;display:flex;flex-direction:column;background:var(--color-bg);overflow:hidden}.layout__header[data-v-bdf42ea6]{flex-shrink:0}.layout__body[data-v-bdf42ea6]{flex:1 1 auto;height:calc(100vh - 64px);padding:0 var(--spacing-md) 0;align-items:flex-start}.layout__body[data-v-bdf42ea6],.layout__main[data-v-bdf42ea6]{display:flex;overflow:hidden;gap:var(--spacing-md);min-height:0}.layout__main[data-v-bdf42ea6]{flex:1;height:100%;flex-direction:column;min-width:0}.layout__content[data-v-bdf42ea6]{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;min-height:0;overscroll-behavior:contain}.layout__toast[data-v-bdf42ea6]{position:fixed;bottom:var(--space-6);left:50%;transform:translateX(-50%);padding:var(--space-3) var(--space-6);border-radius:var(--radius);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000}.layout__toast--success[data-v-bdf42ea6]{background:var(--color-success)}.layout__toast--error[data-v-bdf42ea6]{background:var(--color-danger)}.layout__toast--info[data-v-bdf42ea6]{background:var(--color-text)}.app-btn[data-v-0d86c9df]{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);border:none;cursor:pointer;font-family:var(--font-family);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);transition:background-color .15s ease,opacity .15s ease,box-shadow .15s ease;white-space:nowrap;outline:none;text-decoration:none;position:relative;overflow:hidden}.app-btn[data-v-0d86c9df]:focus-visible{box-shadow:0 0 0 3px rgba(28,99,205,.3)}.app-btn--lg[data-v-0d86c9df]{height:60px;padding:0 var(--spacing-xl);font-size:22px;line-height:1}.app-btn--md[data-v-0d86c9df]{height:40px;font-size:16px;font-weight:700;line-height:1;border-radius:var(--radius-md)}.app-btn--md.app-btn--has-icon[data-v-0d86c9df],.app-btn--md.app-btn--text-only[data-v-0d86c9df]{padding:0 16px}.app-btn--sm[data-v-0d86c9df]{height:32px;font-size:13px;font-weight:700;line-height:1;border-radius:var(--radius-md)}.app-btn--sm.app-btn--text-only[data-v-0d86c9df]{padding:0 16px}.app-btn--sm.app-btn--has-icon[data-v-0d86c9df]{padding:0 8px}.app-btn--xs[data-v-0d86c9df]{height:28px;font-size:12px;font-weight:500;line-height:1;border-radius:var(--radius-md,8px)}.app-btn--xs.app-btn--has-icon[data-v-0d86c9df],.app-btn--xs.app-btn--text-only[data-v-0d86c9df]{padding:0 8px}.app-btn--icon-only.app-btn--lg[data-v-0d86c9df]{width:60px;padding:0}.app-btn--icon-only.app-btn--md[data-v-0d86c9df]{width:40px;padding:0}.app-btn--icon-only.app-btn--sm[data-v-0d86c9df]{width:32px;padding:0}.app-btn--icon-only.app-btn--xs[data-v-0d86c9df]{width:28px;padding:0}.app-btn--circle[data-v-0d86c9df]{border-radius:50%;width:40px;height:40px;padding:0;border:1px solid var(--neutral-gray-400);background:var(--gray-white);color:var(--neutral-black)}.app-btn--circle[data-v-0d86c9df]:active:not(:disabled),.app-btn--circle[data-v-0d86c9df]:hover:not(:disabled){background:var(--gray-150);border-color:var(--primary-500);color:var(--primary-500)}.app-btn--primary[data-v-0d86c9df]{background:var(--primary-500);color:var(--gray-white)}.app-btn--primary[data-v-0d86c9df]:hover:not(:disabled){background:var(--navy-800)}.app-btn--primary[data-v-0d86c9df]:active:not(:disabled){background:var(--navy-900)}.app-btn--secondary[data-v-0d86c9df]{background:var(--navy-800);color:var(--gray-white)}.app-btn--secondary[data-v-0d86c9df]:hover:not(:disabled){background:var(--navy-700)}.app-btn--secondary[data-v-0d86c9df]:active:not(:disabled){background:var(--navy-800);opacity:.85}.app-btn--outline[data-v-0d86c9df]{background:var(--gray-white);color:var(--gray-600);border:1px solid var(--neutral-gray-350)}.app-btn--outline[data-v-0d86c9df]:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-500)}.app-btn--outline[data-v-0d86c9df]:active:not(:disabled){border-color:var(--primary-500);color:var(--primary-500);background:var(--gray-150)}.app-btn--icon-only.app-btn--outline[data-v-0d86c9df]{border:1px solid var(--neutral-gray-400);color:var(--neutral-black);background:var(--gray-white)}.app-btn--icon-only.app-btn--outline[data-v-0d86c9df]:active:not(:disabled),.app-btn--icon-only.app-btn--outline[data-v-0d86c9df]:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-500);background:var(--gray-150)}.app-btn--ghost[data-v-0d86c9df]{background:transparent;color:var(--gray-600);border:1px solid transparent}.app-btn--ghost[data-v-0d86c9df]:hover:not(:disabled){background:var(--navy-400);border-radius:var(--radius-md)}.app-btn--ghost[data-v-0d86c9df]:active:not(:disabled){color:var(--gray-black);background:transparent}.app-btn--danger[data-v-0d86c9df]{background:var(--red-500);color:var(--gray-white)}.app-btn--danger[data-v-0d86c9df]:hover:not(:disabled){background:var(--red-400)}.app-btn--disabled[data-v-0d86c9df],.app-btn[data-v-0d86c9df]:disabled{background:var(--gray-250)!important;color:var(--gray-white)!important;border-color:transparent!important;cursor:not-allowed!important;pointer-events:none}.app-btn--outline.app-btn--disabled[data-v-0d86c9df]{background:var(--gray-white)!important;color:var(--gray-250)!important;border-color:var(--gray-250)!important}.app-btn--ghost.app-btn--disabled[data-v-0d86c9df]{background:transparent!important;color:var(--gray-300)!important}.app-btn--circle.app-btn--disabled[data-v-0d86c9df]{background:var(--gray-white)!important;color:var(--gray-250)!important;border-color:var(--gray-250)!important}.app-btn__spinner[data-v-0d86c9df]{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:var(--gray-white);border-radius:50%;animation:btn-spin-0d86c9df .6s linear infinite;flex-shrink:0}.app-btn--ghost .app-btn__spinner[data-v-0d86c9df],.app-btn--outline .app-btn__spinner[data-v-0d86c9df]{border-color:rgba(28,99,205,.2);border-top-color:var(--primary-500)}@keyframes btn-spin-0d86c9df{to{transform:rotate(1turn)}}.app-btn__icon[data-v-0d86c9df]{display:inline-flex;align-items:center;flex-shrink:0}.app-modal-overlay[data-v-336a40dd]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-md);box-sizing:border-box}.app-modal-overlay--fullscreen[data-v-336a40dd]{padding:0}.app-modal[data-v-336a40dd]{background-color:var(--neutral-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xl);box-sizing:border-box;overflow:hidden}.app-modal--fullscreen[data-v-336a40dd]{width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;border-radius:0!important;margin:0!important}.app-modal--fullscreen .app-modal__content-container[data-v-336a40dd]{height:100%}.app-modal--fullscreen .app-modal__body[data-v-336a40dd]{height:100%;flex:1}.app-modal__content-container[data-v-336a40dd]{display:flex;flex-direction:column;gap:var(--spacing-lg)}.app-modal__header[data-v-336a40dd]{display:flex;align-items:center;justify-content:space-between;min-height:26px}.app-modal__title[data-v-336a40dd]{font-family:var(--font-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--neutral-black);margin:0;line-height:1.4}.app-modal__close-btn[data-v-336a40dd]{background:transparent;border:none;padding:0;cursor:pointer;outline:none;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s ease}.app-modal__close-btn[data-v-336a40dd]:hover{opacity:.7}.app-modal__body[data-v-336a40dd]{font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--neutral-black);line-height:1.5;word-break:break-all;overflow-y:auto}.app-modal__footer[data-v-336a40dd]{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm)}.modal-fade-enter-active[data-v-336a40dd],.modal-fade-leave-active[data-v-336a40dd]{transition:opacity .2s ease}.modal-fade-enter-from[data-v-336a40dd],.modal-fade-leave-to[data-v-336a40dd]{opacity:0}.modal-fade-enter-active .app-modal[data-v-336a40dd],.modal-fade-leave-active .app-modal[data-v-336a40dd]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.modal-fade-enter-from .app-modal[data-v-336a40dd],.modal-fade-leave-to .app-modal[data-v-336a40dd]{transform:scale(.95) translateY(10px)}.layout-error-content[data-v-2d7376af]{display:flex;align-items:flex-start;gap:var(--spacing-md,16px);padding:var(--spacing-xs,4px) 0}.layout-error-content__icon[data-v-2d7376af]{flex-shrink:0;display:flex;align-items:center;justify-content:center}.layout-error-content__text[data-v-2d7376af]{display:flex;flex-direction:column;gap:var(--spacing-xs,8px)}.layout-error-content__message[data-v-2d7376af]{margin:0;font-size:var(--font-size-md,16px);font-weight:var(--font-weight-medium,500);color:var(--neutral-black,#1e293b);line-height:1.5;white-space:pre-line}.layout-error-content__sub-message[data-v-2d7376af]{margin:0;font-size:var(--font-size-sm,14px);font-weight:var(--font-weight-regular,400);color:var(--neutral-gray-500,#64748b);line-height:1.4}*{box-sizing:border-box}button{font-family:inherit;cursor:pointer}a{color:var(--color-primary);text-decoration:none}:root{--fems-chart-font-family:"Pretendard","Malgun Gothic",sans-serif;--fems-chart-font-size-title:13px;--fems-chart-font-size-sub-title:12px;--fems-chart-font-size-legend:12px;--fems-chart-font-size-xs:11px;--fems-chart-font-size-sm:12px;--fems-chart-font-size-md:14px;--fems-chart-font-size-lg:16px;--fems-chart-font-size-xl:18px;--fems-chart-font-size-base:var(--fems-chart-font-size-md);--fems-chart-color-red:#e88179;--fems-chart-color-yellow:#edc268;--fems-chart-color-blue:#1e6dc1;--fems-chart-color-green:#64b97f;--fems-chart-color-primary:#2f70d7;--fems-chart-color-secondary:#ee921a;--fems-chart-color-success:#10b981;--fems-chart-color-danger:#ef4444;--fems-chart-color-high-bg:#2f70d7;--fems-chart-color-high-text:#74a9df;--fems-chart-color-bar-text:#2f70d7;--fems-chart-text-main:#1e293b;--fems-chart-text-medium:#4a5568;--fems-chart-text-light:#718096;--fems-chart-text-white:#fff;--fems-chart-border-axis:#cbd5e0;--fems-chart-border-split:#e2e8f0;--fems-chart-border-dummy:#777;--fems-chart-bg-card:#fff;--fems-chart-border-card:#eaeaea;--fems-chart-bg-container:#f8fafc;--fems-chart-bg-header:#7e7e7e;--fems-chart-bg-tooltip:rgba(30,41,59,.9);--fems-chart-border-tooltip:#334155;--fems-chart-bg-mark-area:rgba(226,232,240,.25);--fems-chart-transition-fast:all 0.15s ease;--fems-chart-transition-normal:all 0.25s ease;--fems-chart-border-radius:12px;--fems-ui-hover-bg:var(--gray-150);--fems-chart-color-gauge-bg:#e2e8f0;--gray-white:#fff;--gray-black:#000;--white:var(--gray-white);--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-120:#fafafa;--gray-140:#f9f9f9;--gray-150:#f5f5f5;--gray-200:#efefef;--gray-250:#e8e8e8;--gray-300:#dfdfdf;--gray-400:#b7b7b7;--gray-500:#949494;--gray-600:#777;--gray-700:#555;--gray-800:#2a2a2a;--gray-870:#1a1a1a;--gray-900:#111;--primary-100:#e8effa;--primary-200:#d2e0f5;--primary-300:#a4c1eb;--primary-400:#4982d7;--primary-500:#1c63cd;--primary-25:#f4f8ff;--primary-50:#eff6ff;--primary-600:#1570ef;--primary-700:#175cd3;--primary-800:#0a40a4;--navy-200:#f3f5f7;--navy-300:#ebeff2;--navy-400:#ccd8e5;--navy-500:#9ab2cb;--navy-600:#678bb0;--navy-700:#356596;--navy-800:#023e7c;--navy-900:#01254a;--red-100:#fcebea;--red-200:#f8d7d5;--red-300:#f1afab;--red-400:#e35e58;--red-500:#dc362e;--red-600:#c72b25;--green-100:#e6fceb;--green-200:#bee4c7;--green-300:#9dd7ab;--green-400:#7dc98f;--green-500:#5cbc73;--green-600:#3d9d59;--yellow-100:#fff7e6;--yellow-200:#ffeec8;--yellow-300:#f8dfa6;--yellow-400:#f7d483;--yellow-500:#edc846;--purple-100:#e9e8f6;--purple-200:#d2d1e9;--purple-300:#b6b4d7;--purple-400:#9491d9;--purple-500:#7974de;--skyblue-100:#eaf4fe;--skyblue-200:#d0e2f1;--skyblue-300:#b8cfe2;--skyblue-400:#8bbde6;--skyblue-500:#58a8ea;--orange-100:#f8eadf;--orange-200:#f2d7c2;--orange-300:#edc3a4;--orange-400:#eda38d;--orange-500:#eb8473;--orange-600:#d96d5f;--mint-100:#ddf6f3;--mint-200:#c2e6e2;--mint-300:#a3d4ce;--mint-400:#86c2ba;--mint-500:#49b5a6;--neutral-white:#fff;--neutral-black:#000;--neutral-gray-100:#fcfcfc;--neutral-gray-120:#fafafa;--neutral-gray-140:#f9f9f9;--neutral-gray-150:#f5f5f5;--neutral-gray-200:#efefef;--neutral-gray-250:#e8e8e8;--neutral-gray-300:#dfdfdf;--neutral-gray-350:#c8c8c8;--neutral-gray-400:#b7b7b7;--neutral-gray-500:#949494;--neutral-gray-450:#a5a5a5;--neutral-gray-600:#777;--neutral-gray-650:#616161;--neutral-gray-700:#555;--neutral-gray-750:#3f3f3f;--neutral-gray-770:#383838;--neutral-gray-800:#2a2a2a;--neutral-gray-850:#1f1f1f;--neutral-gray-870:#1a1a1a;--neutral-gray-900:#111;--primary-blue-100:#e8effa;--primary-blue-200:#d2e0f5;--primary-blue-300:#a4c1eb;--primary-blue-400:#4982d7;--primary-blue-500:#1c63cd;--primary-blue-50:var(--primary-50);--primary-blue-600:var(--primary-600);--primary-blue-700:var(--primary-700);--secondary-navy-200:#f3f5f7;--secondary-navy-300:#ebeff2;--secondary-navy-400:#ccd8e5;--secondary-navy-500:#9ab2cb;--secondary-navy-600:#678bb0;--secondary-navy-700:#356596;--secondary-navy-800:#023e7c;--secondary-navy-900:#01254a;--secondary-red-100:#fcebea;--secondary-red-200:#f8d7d5;--secondary-red-300:#f1afab;--secondary-red-400:#e35e58;--secondary-red-500:#dc362e;--chart-blue-100:#efefef;--chart-blue-200:#d2e0f5;--chart-blue-300:#a4c1eb;--chart-blue-400:#4982d7;--chart-blue-500:#1c63cd;--chart-blue-charcoal:#2a2a2a;--chart-blue-gray:#efefef;--chart-navy-100:#efefef;--chart-navy-200:#9ab2cb;--chart-navy-300:#678bb0;--chart-navy-400:#356596;--chart-navy-500:#023e7c;--chart-navy-charcoal:#2a2a2a;--chart-navy-gray:#efefef;--chart-red-100:#efefef;--chart-red-200:#f8d7d5;--chart-red-300:#f1afab;--chart-red-400:#e35e58;--chart-red-500:#dc362e;--chart-red-charcoal:#2a2a2a;--chart-red-gray:#efefef;--chart-green-100:#e6fceb;--chart-green-200:#bee4c7;--chart-green-300:#9dd7ab;--chart-green-400:#7dc98f;--chart-green-500:#5cbc73;--chart-green-charcoal:#2a2a2a;--chart-green-600:var(--green-600);--chart-green-gray:#efefef;--chart-yellow-100:#fff7e6;--chart-yellow-200:#ffeec8;--chart-yellow-300:#f8dfa6;--chart-yellow-400:#f7d483;--chart-yellow-500:#edc846;--chart-yellow-charcoal:#2a2a2a;--chart-yellow-gray:#efefef;--chart-purple-100:#e9e8f6;--chart-purple-200:#d2d1e9;--chart-purple-300:#b6b4d7;--chart-purple-400:#9491d9;--chart-purple-500:#7974de;--chart-purple-charcoal:#2a2a2a;--chart-purple-gray:#efefef;--chart-skyblue-100:#eaf4fe;--chart-skyblue-200:#d0e2f1;--chart-skyblue-300:#b8cfe2;--chart-skyblue-400:#8bbde6;--chart-skyblue-500:#58a8ea;--chart-skyblue-charcoal:#2a2a2a;--chart-skyblue-gray:#efefef;--chart-orange-100:#f8eadf;--chart-orange-200:#f2d7c2;--chart-orange-300:#edc3a4;--chart-orange-400:#eda38d;--chart-orange-500:#eb8473;--chart-orange-charcoal:#2a2a2a;--chart-orange-gray:#efefef;--chart-mint-100:#ddf6f3;--chart-mint-200:#c2e6e2;--chart-mint-300:#a3d4ce;--chart-mint-400:#86c2ba;--chart-mint-500:#49b5a6;--chart-mint-charcoal:#2a2a2a;--chart-mint-gray:#efefef;--text-gray-white:var(--gray-white);--text-gray-black:var(--gray-black);--text-gray-120:var(--gray-120);--text-gray-150:var(--gray-150);--text-gray-200:var(--gray-200);--text-gray-250:var(--gray-250);--text-gray-300:var(--gray-300);--text-gray-400:var(--gray-400);--text-gray-500:var(--gray-500);--text-gray-600:var(--gray-600);--text-gray-700:var(--gray-700);--text-gray-800:var(--gray-800);--text-gray-870:var(--gray-870);--text-gray-900:var(--gray-900);--text-primary-100:var(--primary-100);--text-primary-200:var(--primary-200);--text-primary-300:var(--primary-300);--text-primary-400:var(--primary-400);--text-primary-500:var(--primary-500);--text-blue-100:var(--primary-100);--text-blue-200:var(--primary-200);--text-blue-300:var(--primary-300);--text-blue-400:var(--primary-400);--text-blue-500:var(--primary-500);--text-navy-200:var(--navy-200);--text-navy-300:var(--navy-300);--text-navy-400:var(--navy-400);--text-navy-500:var(--navy-500);--text-navy-600:var(--navy-600);--text-navy-700:var(--navy-700);--text-navy-800:var(--navy-800);--text-navy-900:var(--navy-900);--text-red-100:var(--red-100);--text-red-200:var(--red-200);--text-red-300:var(--red-300);--text-red-400:var(--red-400);--text-red-500:var(--red-500);--text-green-100:var(--green-100);--text-green-200:var(--green-200);--text-green-300:var(--green-300);--text-green-400:var(--green-400);--text-green-500:var(--green-500);--text-yellow-100:var(--yellow-100);--text-yellow-200:var(--yellow-200);--text-yellow-300:var(--yellow-300);--text-yellow-400:var(--yellow-400);--text-yellow-500:var(--yellow-500);--text-purple-100:var(--purple-100);--text-purple-200:var(--purple-200);--text-purple-300:var(--purple-300);--text-purple-400:var(--purple-400);--text-purple-500:var(--purple-500);--text-skyblue-100:var(--skyblue-100);--text-skyblue-200:var(--skyblue-200);--text-skyblue-300:var(--skyblue-300);--text-skyblue-400:var(--skyblue-400);--text-skyblue-500:var(--skyblue-500);--text-orange-100:var(--orange-100);--text-orange-200:var(--orange-200);--text-orange-300:var(--orange-300);--text-orange-400:var(--orange-400);--text-orange-500:var(--orange-500);--text-mint-100:var(--mint-100);--text-mint-200:var(--mint-200);--text-mint-300:var(--mint-300);--text-mint-400:var(--mint-400);--text-mint-500:var(--mint-500);--color-bg:#f3f5f7;--color-surface:var(--gray-white);--color-border:var(--gray-300);--color-text:var(--gray-870);--color-text-sub:var(--gray-400);--color-text-muted:var(--color-text-sub);--text-color:var(--color-text);--text-color-sub:var(--color-text-sub);--color-primary:var(--primary-500);--color-primary-hover:var(--primary-400);--color-danger:var(--red-500);--color-danger-hover:var(--red-400);--color-success:var(--green-500);--color-warning:var(--yellow-500);--color-error:var(--red-500);--color-info:var(--skyblue-500);--color-neutral-black:var(--neutral-black);--color-neutral-gray-140:var(--neutral-gray-140);--color-neutral-gray-150:var(--neutral-gray-150);--color-neutral-gray-200:var(--neutral-gray-200);--color-neutral-gray-300:var(--neutral-gray-300);--color-neutral-gray-400:var(--neutral-gray-400);--color-neutral-gray-600:var(--neutral-gray-600);--color-neutral-gray-700:var(--neutral-gray-700);--color-neutral-gray-800:var(--neutral-gray-800);--color-primary-100:var(--primary-100);--color-primary-500:var(--primary-500);--chips-green-pri:#5cbc73;--chips-yellow-pri:#edc846;--chips-skyblue-pri:#58a8ea;--chips-mint-pri:#49b5a6;--chips-purple-pri:#7974de;--dim-01:rgba(0,0,0,.2);--dim-02:rgba(0,0,0,.4);--plan-black:#2a2a2a;--plan-black-fff:#fff;--plan-black-333:#333;--color-annotation:#ff3d00;--font-family:"Pretendard","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-base:var(--font-family);--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-md:var(--font-size-base);--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:34px;--font-size-xxs:11px;--font-size-sm2:13px;--font-size-base2:15px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-normal:1.4;--line-height-relaxed:1.6}.font-title-1{font-size:22px;line-height:28px}.font-title-1,.font-title-2{font-family:var(--font-family);font-weight:var(--font-weight-bold);letter-spacing:0}.font-title-2{font-size:18px;line-height:26px}.font-title-3{font-size:14px;line-height:20px}.font-body-bold-1,.font-title-3{font-family:var(--font-family);font-weight:var(--font-weight-bold);letter-spacing:0}.font-body-bold-1{font-size:16px;line-height:24px}.font-body-bold-2{font-size:14px;line-height:20px;letter-spacing:.25px}.font-body-bold-2,.font-body-bold-3{font-family:var(--font-family);font-weight:var(--font-weight-bold)}.font-body-bold-3{font-size:12px;line-height:16px;letter-spacing:.4px}.font-body-md-1{font-size:16px;line-height:24px}.font-body-md-1,.font-body-md-2{font-family:var(--font-family);font-weight:var(--font-weight-medium);letter-spacing:0}.font-body-md-2{font-size:14px;line-height:20px}.font-body-md-3{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:12px;line-height:16px;letter-spacing:0}.font-body-rg-1{font-size:16px;line-height:24px}.font-body-rg-1,.font-body-rg-2{font-family:var(--font-family);font-weight:var(--font-weight-regular);letter-spacing:0}.font-body-rg-2{font-size:14px;line-height:20px}.font-body-rg-3{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:12px;line-height:16px;letter-spacing:0}.font-label-bold-1{font-size:15px;line-height:22px;letter-spacing:.1px}.font-label-bold-1,.font-label-bold-2{font-family:var(--font-family);font-weight:var(--font-weight-bold)}.font-label-bold-2{font-size:13px;line-height:18px;letter-spacing:0}.font-label-bold-3{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:11px;line-height:14px;letter-spacing:0}.font-label-md-1{font-size:15px;line-height:22px;letter-spacing:.1px}.font-label-md-1,.font-label-md-2{font-family:var(--font-family);font-weight:var(--font-weight-medium)}.font-label-md-2{font-size:13px;line-height:18px;letter-spacing:0}.font-label-md-3{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:11px;line-height:14px;letter-spacing:0}.font-label-rg-1{font-size:15px;line-height:22px;letter-spacing:.1px}.font-label-rg-1,.font-label-rg-2{font-family:var(--font-family);font-weight:var(--font-weight-regular)}.font-label-rg-2{font-size:13px;line-height:18px;letter-spacing:0}.font-label-rg-3{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:11px;line-height:14px;letter-spacing:0}:root{--small-4:4px;--medium-8:8px;--standard-16:16px;--spacing-xs:var(--small-4);--spacing-sm:var(--medium-8);--spacing-md:var(--standard-16);--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-4:4px;--spacing-6:6px;--spacing-8:8px;--spacing-10:10px;--spacing-12:12px;--spacing-14:14px;--spacing-16:16px;--spacing-20:20px;--spacing-24:24px;--spacing-32:32px;--spacing-48:48px;--space-1:var(--spacing-4);--space-2:var(--spacing-8);--space-3:var(--spacing-12);--space-4:var(--spacing-16);--space-6:var(--spacing-24);--space-8:var(--spacing-32);--radius-sm:var(--small-4);--radius-md:var(--medium-8);--radius-lg:var(--standard-16);--radius-xl:24px;--radius-full:9999px;--radius:var(--radius-md);--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.08);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.12);--shadow-card:0px 0px 20px 0px rgba(35,55,106,.05);--shadow-scrim-03:0 0 30px rgba(0,0,0,.2);--shadow-scrim-02:0 0 20px rgba(0,0,0,.2);--shadow-scrim-01:0 0 10px rgba(0,0,0,.2);--shadow-scrim-00:0 0 5px rgba(0,0,0,.2);--shadow-figma-small:0 0 4px rgba(0,0,0,.1);--transition-fast:0.15s ease;--transition-normal:0.2s ease;--z-dropdown:100;--z-modal:1000;--z-modal-stack:1100;--z-popover:1200;--z-toast:2000;--z-tooltip:3000}body,html{margin:0;padding:0;min-height:100%;background-color:var(--color-bg)}.page-wrapper{min-height:100vh;background:transparent;padding:0;padding-bottom:60px;box-sizing:border-box}.page-inner,.page-wrapper{width:100%;display:flex;flex-direction:column}.page-inner{max-width:1700px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-sub);margin-top:4px}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:8px 16px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border:none;transition:background .15s,opacity .15s;font-family:var(--font-family)}.btn-primary{background:var(--primary-500);color:var(--gray-white)}.btn-primary:hover{background:var(--primary-400)}.btn-outline{background:transparent;color:var(--gray-700);border:1px solid var(--color-border)}.btn-outline:hover{background:var(--gray-150)}.btn-ghost{background:transparent;color:var(--gray-600)}.btn-ghost:hover{background:var(--gray-200)}.btn-danger{background:var(--red-500);color:var(--gray-white)}.btn-danger:hover{background:var(--red-400)}.btn-icon{padding:6px;border-radius:var(--radius-md)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.badge-success{background:var(--green-100);color:var(--green-500)}.badge-error{background:var(--red-100);color:var(--red-500)}.badge-warning{background:var(--yellow-100);color:var(--yellow-500)}.badge-info{background:var(--primary-100);color:var(--primary-500)}.badge-neutral{background:var(--gray-200);color:var(--gray-600)}.table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:14px 24px;text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-120);border-bottom:1px solid var(--color-border)}.data-table td{padding:12px 24px;font-size:var(--font-size-sm);color:var(--gray-700);border-bottom:1px solid var(--gray-200)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--gray-120)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--gray-700)}.field-input,.field-select{padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);transition:border-color .15s,box-shadow .15s;outline:none;font-family:var(--font-family)}.field-input:focus,.field-select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(28,99,205,.15)}.field-error{font-size:var(--font-size-xs);color:var(--red-500)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:480px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.modal-body{padding:24px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:16px 24px;border-top:1px solid var(--color-border)}.empty-state{flex-direction:column;gap:var(--spacing-md)}.empty-state,.loading-state{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-sub);font-size:var(--font-size-sm)}.divider{height:1px;margin:var(--spacing-md) 0}.divider,.divider-vertical{background:var(--color-border)}.divider-vertical{width:1px;align-self:stretch}.app-section-layout{display:flex;flex-direction:column;width:100%}.grid-2col{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.grid-2col,.grid-2to1{display:grid;width:100%}.grid-2to1{grid-template-columns:2fr 1fr}.grid-1to2,.grid-2to1{-moz-column-gap:var(--spacing-md);column-gap:var(--spacing-md);row-gap:0}.grid-1to2{display:grid;grid-template-columns:1fr 2fr;width:100%}.grid-3col{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3col,.grid-4col{display:grid;gap:var(--spacing-md);width:100%}.grid-4col{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5col{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--spacing-md);width:100%}.summary-cards-layout{display:flex;gap:var(--spacing-md);width:100%}.summary-cards-layout>*{flex:1;min-width:0}.d-flex,.flex{display:flex}.d-grid,.grid{display:grid}.d-inline-flex,.inline-flex{display:inline-flex}.block,.d-block{display:block}.d-none,.hidden{display:none}.flex-col,.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1 0%}.flex-grow-1,.grow{flex-grow:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.w-full{width:100%}.h-full{height:100%}.align-center,.items-center{align-items:center}.align-baseline,.items-baseline{align-items:baseline}.align-start,.items-start{align-items:flex-start}.align-end,.items-end{align-items:flex-end}.align-stretch{align-items:stretch}.justify-between,.justify-space-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-space-around{justify-content:space-around}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.self-auto{align-self:auto}.gap-1{gap:var(--spacing-4)}.gap-2{gap:var(--spacing-8)}.gap-3{gap:var(--spacing-12)}.gap-4{gap:var(--spacing-16)}.gap-5{gap:var(--spacing-20)}.gap-6{gap:var(--spacing-24)}.p-1{padding:var(--spacing-4)}.p-2{padding:var(--spacing-8)}.p-3{padding:var(--spacing-12)}.p-4{padding:var(--spacing-16)}.p-6{padding:var(--spacing-24)}.pr-1{padding-right:var(--spacing-4)}.pr-2{padding-right:var(--spacing-8)}.pr-3{padding-right:var(--spacing-12)}.pr-4{padding-right:var(--spacing-16)}.pl-1{padding-left:var(--spacing-4)}.pl-2{padding-left:var(--spacing-8)}.pl-3{padding-left:var(--spacing-12)}.pl-4{padding-left:var(--spacing-16)}.pa-1{padding:var(--spacing-4)}.pa-2{padding:var(--spacing-8)}.pa-3{padding:var(--spacing-12)}.pa-4{padding:var(--spacing-16)}.pa-5{padding:var(--spacing-20)}.pa-6{padding:var(--spacing-24)}.px-1{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-2{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.px-3{padding-left:var(--spacing-12);padding-right:var(--spacing-12)}.px-4{padding-left:var(--spacing-16);padding-right:var(--spacing-16)}.px-5{padding-left:var(--spacing-20);padding-right:var(--spacing-20)}.px-6{padding-left:var(--spacing-24);padding-right:var(--spacing-24)}.py-1{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-2{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.py-3{padding-top:var(--spacing-12);padding-bottom:var(--spacing-12)}.py-4{padding-top:var(--spacing-16);padding-bottom:var(--spacing-16)}.py-5{padding-top:var(--spacing-20);padding-bottom:var(--spacing-20)}.py-6{padding-top:var(--spacing-24);padding-bottom:var(--spacing-24)}.pt-1{padding-top:var(--spacing-4)}.pt-2{padding-top:var(--spacing-8)}.pt-3{padding-top:var(--spacing-12)}.pt-4{padding-top:var(--spacing-16)}.pt-5{padding-top:var(--spacing-20)}.pt-6{padding-top:var(--spacing-24)}.pb-1{padding-bottom:var(--spacing-4)}.pb-2{padding-bottom:var(--spacing-8)}.pb-3{padding-bottom:var(--spacing-12)}.pb-4{padding-bottom:var(--spacing-16)}.pb-5{padding-bottom:var(--spacing-20)}.pb-6{padding-bottom:var(--spacing-24)}.ps-1{padding-left:var(--spacing-4)}.ps-2{padding-left:var(--spacing-8)}.ps-3{padding-left:var(--spacing-12)}.ps-4{padding-left:var(--spacing-16)}.pe-1{padding-right:var(--spacing-4)}.pe-2{padding-right:var(--spacing-8)}.pe-3{padding-right:var(--spacing-12)}.pe-4{padding-right:var(--spacing-16)}.mt-1{margin-top:var(--spacing-4)}.mt-2{margin-top:var(--spacing-8)}.mt-3{margin-top:var(--spacing-12)}.mt-4{margin-top:var(--spacing-16)}.mt-6{margin-top:var(--spacing-24)}.mb-1{margin-bottom:var(--spacing-4)}.mb-2{margin-bottom:var(--spacing-8)}.mb-3{margin-bottom:var(--spacing-12)}.mb-4{margin-bottom:var(--spacing-16)}.mb-5{margin-bottom:var(--spacing-20)}.mb-6{margin-bottom:var(--spacing-24)}.mr-1{margin-right:var(--spacing-4)}.mr-2{margin-right:var(--spacing-8)}.mr-3{margin-right:var(--spacing-12)}.mr-4{margin-right:var(--spacing-16)}.mr-5{margin-right:var(--spacing-20)}.mr-6{margin-right:var(--spacing-24)}.ml-1{margin-left:var(--spacing-4)}.ml-2{margin-left:var(--spacing-8)}.ml-3{margin-left:var(--spacing-12)}.ml-4{margin-left:var(--spacing-16)}.ml-5{margin-left:var(--spacing-20)}.ml-6{margin-left:var(--spacing-24)}.ml-auto{margin-left:auto}.ma-1{margin:var(--spacing-4)}.ma-2{margin:var(--spacing-8)}.ma-3{margin:var(--spacing-12)}.ma-4{margin:var(--spacing-16)}.ma-5{margin:var(--spacing-20)}.ma-6{margin:var(--spacing-24)}.mx-1{margin-left:var(--spacing-4);margin-right:var(--spacing-4)}.mx-2{margin-left:var(--spacing-8);margin-right:var(--spacing-8)}.mx-3{margin-left:var(--spacing-12);margin-right:var(--spacing-12)}.mx-4{margin-left:var(--spacing-16);margin-right:var(--spacing-16)}.mx-5{margin-left:var(--spacing-20);margin-right:var(--spacing-20)}.mx-6{margin-left:var(--spacing-24);margin-right:var(--spacing-24)}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:var(--spacing-4);margin-bottom:var(--spacing-4)}.my-2{margin-top:var(--spacing-8);margin-bottom:var(--spacing-8)}.my-3{margin-top:var(--spacing-12);margin-bottom:var(--spacing-12)}.my-4{margin-top:var(--spacing-16);margin-bottom:var(--spacing-16)}.my-5{margin-top:var(--spacing-20);margin-bottom:var(--spacing-20)}.my-6{margin-top:var(--spacing-24);margin-bottom:var(--spacing-24)}.ms-1{margin-left:var(--spacing-4)}.ms-2{margin-left:var(--spacing-8)}.ms-3{margin-left:var(--spacing-12)}.ms-4{margin-left:var(--spacing-16)}.ms-auto{margin-left:auto}.me-1{margin-right:var(--spacing-4)}.me-2{margin-right:var(--spacing-8)}.me-3{margin-right:var(--spacing-12)}.me-4{margin-right:var(--spacing-16)}.me-auto{margin-right:auto}.border{border:1px solid var(--gray-200)}.border-t{border-top:1px solid var(--gray-150)}.border-b{border-bottom:1px solid var(--gray-150)}.border-gray-250{border-color:var(--gray-250)}.border-gray-200{border-color:var(--gray-200)}.border-gray-150{border-color:var(--gray-150)}.rounded-lg{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-xl{box-shadow:var(--shadow-lg)}.text-muted{color:var(--color-text-sub)}.text-dark{color:var(--color-text)}.text-primary{color:var(--color-primary)}.text-primary-blue{color:var(--primary-500)}.text-danger{color:var(--secondary-red-500)}.interactive{cursor:pointer;transition:var(--transition-fast)}.bg-white{background-color:var(--gray-white)}.bg-gray-120{background-color:var(--gray-120)}.bg-gray-150{background-color:var(--gray-150)}.bg-gray-250{background-color:var(--gray-250)}.text-gray-400{color:var(--gray-400)}.text-gray-500{color:var(--gray-500)}.text-gray-600{color:var(--gray-600)}.text-gray-700{color:var(--gray-700)}.text-gray-870{color:var(--gray-870)}.text-gray-900{color:var(--gray-900)}.text-red-500{color:var(--red-500)}.text-green-500{color:var(--green-500)}.text-yellow-500{color:var(--yellow-500)}.font-mono{font-family:monospace}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-2to1{grid-template-columns:2fr 1fr}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.overflow-hidden{overflow:hidden}.app-shell .content-host{overflow:visible}.tip{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:.8em;box-shadow:0 .2em .6em rgba(17,24,39,.18);color:#111827;line-height:1.25}.tip .dot{width:.7em;height:.7em;border-radius:50%;flex:none;background:var(--f2d-state-color,#9ca3af)}.tip--gauge{height:100%;padding:.8em .9em;display:flex;flex-direction:column;gap:.45em}.tip__head{display:flex;align-items:center;gap:.5em}.tip__id{font-size:1.15em}.chip{padding:.15em .5em;border-radius:.4em;background:#f3f4f6;color:#4b5563;font-size:.85em}.chip--accent{background:#fef3c7;color:#b45309}.tip__value{font-size:2.2em;font-weight:700;letter-spacing:-.02em}.tip__value .unit{margin-left:.15em;font-size:.45em;font-weight:500;color:#6b7280}.bar{height:.5em;border-radius:.25em;background:#e5e7eb;overflow:hidden}.bar__fill{display:block;height:100%;width:0;background:#16a34a;border-radius:inherit;transition:width .3s ease}.bar__fill.warn{background:#eab308}.bar__fill.danger{background:#ef4444}.tip__foot{gap:.4em;margin-top:auto;padding:.35em .5em;border-radius:.4em;background:#f9fafb;font-size:.95em;color:#374151}.tip--marker,.tip__foot{display:flex;align-items:center}.tip--marker{height:100%;padding:0 .7em;gap:.5em}.tip__icon{width:1.2em;height:1.2em;color:#334155;flex:none}.tip__icon svg{width:100%;height:100%;display:block}.tip__name{display:flex;align-items:center;gap:.4em}.tip__metric{margin-left:auto;color:#6b7280;font-size:.95em}.tip--panel{height:100%;padding:.6em .75em;display:flex;flex-direction:column;gap:.5em;border-left:.25em solid transparent;border-radius:.5em}.tip__title{display:flex;align-items:center;gap:.4em;font-size:1.05em;color:#111827}.tip__title b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tip--panel .dot{width:.55em;height:.55em}.tip__alert{display:inline-flex;align-items:center;gap:.25em;margin-left:auto;flex:none;color:#b91c1c;font-size:.8em;white-space:nowrap}.tip__alert svg{width:1.15em;height:1.15em;flex:none}.grid{grid-template-columns:1fr 1fr}.grid,.metric{display:grid;gap:.3em}.metric{grid-template-columns:1.05em minmax(0,1fr) 2.6em;align-items:center;min-height:1.7em;padding:.1em 0}.metric svg{width:1.05em;height:1.05em;color:#6b7280}.metric b{text-align:right;font-size:1.05em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.metric i{color:#6b7280;font-style:normal;font-size:.78em;white-space:nowrap;overflow:hidden}.content-host[data-state] .tip--panel{border-left-color:var(--f2d-state-color)}.content-host[data-state=alarm] .tip--panel{background:#fef2f2;border-color:var(--f2d-state-color)}.content-host[data-state=alarm] .tip__title{color:#b91c1c}.content-host[data-state=warn] .tip--panel{background:#fffbeb}.content-host[data-state=warn] .tip__alert{color:#92400e}.content-host[data-state=offline] .tip--panel .metric b{color:#9ca3af}.content-host[data-state=offline] .tip__title{color:#6b7280}.content-host[data-state=alarm] .tip--gauge,.content-host[data-state=alarm] .tip--marker{border-color:var(--f2d-state-color)}.zone{height:100%;box-sizing:border-box;border:1px solid #3b82f6;border-radius:.5em;background:rgba(59,130,246,.1);position:relative}.zone.zone--neutral{border-color:#9ca3af;background:rgba(156,163,175,.12)}.zone.zone--warm{border-color:#f59e0b;background:rgba(245,158,11,.12)}.zone__head{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.3em;max-width:calc(100% - 1em)}.zone__label,.zone__switch{font:inherit;line-height:inherit;pointer-events:auto;cursor:pointer;box-shadow:0 .1em .3em rgba(17,24,39,.12)}.zone__label:focus-visible,.zone__switch:focus-visible{outline:2px solid #1b64da;outline-offset:2px}.zone__label{max-width:100%;padding:.25em .7em;background:#fff;border:1px solid #e5e7eb;border-radius:.5em;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zone__label:hover{border-color:#94a3b8}.zone__switch{display:flex;align-items:center;gap:.35em;flex:none;padding:.25em .8em;border-radius:.5em;background:#fff;border:1px solid #e5e7eb;color:#4b5563}.zone__switch:hover{border-color:#94a3b8}.zone__dot{width:.55em;height:.55em;border-radius:50%;background:#111827;flex:none}.zone__switch.on{background:#1b64da;border-color:#1b64da;color:#fff}.zone__switch.on .zone__dot{background:#fff}.room{height:100%;display:flex;align-items:center;justify-content:center;padding:0 .7em;border:1px solid #e5e7eb;border-radius:.5em;box-shadow:0 .1em .3em rgba(17,24,39,.12);white-space:nowrap}.room,.zone-popup{background:#fff;color:#111827}.zone-popup{position:absolute;top:0;left:0;z-index:20;min-width:210px;border:1px solid #d6dee8;border-radius:10px;box-shadow:0 8px 24px rgba(17,24,39,.18);font-size:12px}.zone-popup[hidden]{display:none}.zone-popup__head{display:flex;align-items:center;gap:8px;padding:9px 10px 9px 12px;border-bottom:1px solid #eef1f5}.zone-popup__head b{font-size:13px}.zone-popup__state{padding:1px 8px;border-radius:5px;background:#eff4ff;color:#1b64da;font-size:11px}.zone-popup__close{margin-left:auto;width:22px;height:22px;padding:0;font:inherit;color:#6b7280;background:transparent;border:0;border-radius:5px;cursor:pointer}.zone-popup__close:hover{background:#f3f4f6;color:#111827}.zone-popup__table{width:100%;border-collapse:collapse}.zone-popup__table td,.zone-popup__table th{padding:6px 12px;text-align:left;font-weight:400}.zone-popup__table th{color:#6b7280;white-space:nowrap}.zone-popup__table td{text-align:right}.zone-popup__table tr+tr td,.zone-popup__table tr+tr th{border-top:1px solid #f3f4f6}