*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root,.fdcms-layout{min-height:100vh}.fdcms-header{background:#fff;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px;line-height:64px;box-shadow:0 1px 4px #00152914}.fdcms-logo{color:#fff;font-size:20px;font-weight:700}.fdcms-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%;overflow:hidden}.fdcms-menu-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.fdcms-content{flex:1;padding:24px;background:#f5f5f5;height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.fdcms-content::-webkit-scrollbar{width:6px}.fdcms-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.fdcms-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.fdcms-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media(max-width:768px){.ant-layout-sider-collapsed+.ant-layout{margin-left:80px!important}.ant-layout-sider:not(.ant-layout-sider-collapsed)+.ant-layout{margin-left:256px!important}.fdcms-content{padding:16px}}@media(max-width:576px){.fdcms-content{padding:12px}}.rack-container{border:2px solid #d9d9d9;border-radius:8px;background:#fafafa;padding:16px;margin:16px 0}.rack-unit{height:20px;border:1px solid #e8e8e8;margin:1px 0;display:flex;align-items:center;padding:0 8px;background:#fff;font-size:12px}.rack-unit.occupied{background:#e6f7ff;border-color:#1890ff;color:#1890ff}.rack-unit.empty{background:#f5f5f5;color:#999}.device-card{margin-bottom:16px}.device-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.device-status.active{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.device-status.inactive{background:#fff2e8;color:#fa8c16;border:1px solid #ffd591}.device-status.maintenance{background:#fff1f0;color:#ff4d4f;border:1px solid #ffadd2}.cable-diagram{background:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:16px;margin:16px 0}.cable-connection{display:flex;align-items:center;margin:8px 0;padding:8px;background:#fafafa;border-radius:4px}.cable-type-power{border-left:4px solid #ff4d4f}.cable-type-data{border-left:4px solid #1890ff}.highlighted-row{background-color:#fff7e6!important;animation:highlightFade 5s ease-in-out;border:2px solid #faad14!important}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-form{background-color:var(#ffffff);border-radius:12px;box-shadow:0 8px 32px #0000001a;width:100%;max-width:400px}@keyframes highlightFade{0%{background-color:#fff7e6;border-color:#faad14}20%{background-color:#fffbe6;border-color:#ffc53d}to{background-color:transparent;border-color:transparent}}@media(max-width:768px){.fdcms-content{padding:16px}.rack-container{padding:12px}}:root{--freport-bg:#0f1117;--freport-surface:#1a1f2e;--freport-surface-2:#252d3d;--freport-surface-3:#2e3a4e;--freport-text:#e8eaf0;--freport-text-muted:#8892a4;--freport-primary:#3b82f6;--freport-primary-hover:#2563eb;--freport-accent:#10b981;--freport-danger:#ef4444;--freport-warning:#f59e0b;--freport-border:#2e3a4e;--freport-border-focus:#3b82f6;--freport-spacing:16px;--freport-spacing-sm:8px;--freport-spacing-xs:4px;--freport-radius:6px;--freport-radius-lg:10px;--freport-gap:10px;--freport-toolbar-height:52px;--freport-variable-bar-height:40px;--freport-widget-header-height:38px;--freport-widget-min-height:100px;--freport-shadow-sm:0 1px 4px #0006;--freport-shadow-md:0 4px 16px #00000080;--freport-shadow-lg:0 8px 32px #0009;--freport-transition:.15s ease;--freport-font-family:system-ui, -apple-system, sans-serif;--freport-font-size:13px;--freport-font-size-sm:11px;--freport-font-weight-medium:500;--freport-icon-size-sm:14px;--freport-icon-size-md:16px;--freport-icon-size-lg:24px;--freport-icon-btn-size:30px;--freport-icon-color:var(--freport-text-muted);--freport-icon-color-active:var(--freport-text);--freport-icon-color-accent:var(--freport-accent);--freport-z-dropdown:100;--freport-z-modal:200;--freport-z-overlay:300;--freport-z-fullscreen:400;--freport-z-tooltip:500;--freport-panel-width:400px;--freport-panel-header-h:48px;--freport-panel-body-padding:18px;--freport-panel-footer-padding:var(--freport-spacing);--freport-panel-backdrop:#00000080;--freport-panel-shadow:-4px 0 24px #0006;--freport-panel-close-size:28px;--freport-panel-close-font:18px;--freport-form-field-gap:4px;--freport-form-field-mb:var(--freport-spacing-sm);--freport-form-section-mb:var(--freport-spacing);--freport-form-section-label-size:var(--freport-font-size-sm);--freport-form-label-size:var(--freport-font-size-sm);--freport-form-input-py:6px;--freport-form-input-px:8px;--freport-form-input-focus-ring:3px;--freport-form-hint-size:11px;--freport-form-textarea-min-h:80px;--freport-form-color-swatch-w:36px;--freport-form-color-swatch-h:28px;--freport-metric-search-dropdown-shadow:0 4px 12px #00000026;--freport-metric-search-dropdown-max-h:300px;--freport-metric-search-list-max-h:260px;--freport-metric-search-dropdown-btn-w:32px;--freport-metric-search-dropdown-btn-h:34px;--freport-metric-search-scroll-threshold:50px}[data-freport-theme=light]{--freport-bg:#f4f6f9;--freport-surface:#fff;--freport-surface-2:#f0f2f5;--freport-surface-3:#e8ecf0;--freport-text:#1a1f2e;--freport-text-muted:#6b7280;--freport-primary:#2563eb;--freport-primary-hover:#1d4ed8;--freport-border:#dde2ea;--freport-border-focus:#2563eb;--freport-shadow-sm:0 1px 4px #00000014;--freport-shadow-md:0 4px 16px #0000001f;--freport-shadow-lg:0 8px 32px #00000029}.freport-root{font-family:var(--freport-font-family);font-size:var(--freport-font-size);color:var(--freport-text);background-color:var(--freport-bg);box-sizing:border-box;height:100%;position:relative;overflow:hidden}.freport-root *,.freport-root :before,.freport-root :after{box-sizing:inherit}.freport-dashboard{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.freport-dashboard__grid{padding:var(--freport-gap);scrollbar-width:thin;scrollbar-color:var(--freport-border) transparent;flex:1;overflow:auto}.freport-dashboard__grid::-webkit-scrollbar{width:6px;height:6px}.freport-dashboard__grid::-webkit-scrollbar-track{background:0 0}.freport-dashboard__grid::-webkit-scrollbar-thumb{background:var(--freport-border);border-radius:3px}.freport-dashboard__grid .grid-stack-item-content{border-radius:var(--freport-radius);overflow:visible}.freport-root--edit .grid-stack>.grid-stack-item>.grid-stack-item-content{outline:1px dashed color-mix(in srgb,var(--freport-primary) 40%,transparent);outline-offset:-1px}.freport-dashboard__error-banner{padding:8px var(--freport-spacing);background:color-mix(in srgb,var(--freport-danger) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--freport-danger) 30%,transparent);color:var(--freport-danger);font-size:var(--freport-font-size-sm);flex-shrink:0}.freport-dashboard__warning-banner{padding:8px var(--freport-spacing);background:color-mix(in srgb,var(--freport-warning) 10%,transparent);border-bottom:1px solid color-mix(in srgb,var(--freport-warning) 25%,transparent);color:var(--freport-warning);font-size:var(--freport-font-size-sm);flex-shrink:0}.freport-dashboard__empty-state{min-height:120px;color:var(--freport-text-muted);font-size:var(--freport-font-size);padding:var(--freport-spacing);flex:1;justify-content:center;align-items:center;display:flex}.freport-toolbar{z-index:5;background:color-mix(in srgb,var(--freport-surface) 90%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--freport-border);padding:10px var(--freport-spacing);flex-direction:column;flex-shrink:0;gap:10px;display:flex;position:sticky;top:0;box-shadow:0 1px #ffffff08}.freport-toolbar__row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.freport-toolbar__spacer{flex:1}.freport-toolbar__btn{border:1px solid var(--freport-border);border-radius:var(--freport-radius);background:var(--freport-surface-2);height:30px;color:var(--freport-text);font-size:var(--freport-font-size-sm);cursor:pointer;white-space:nowrap;transition:background var(--freport-transition),border-color var(--freport-transition),transform .1s;letter-spacing:.01em;align-items:center;gap:5px;padding:0 12px;font-weight:500;display:inline-flex}.freport-toolbar__btn:hover{background:var(--freport-surface-3);border-color:var(--freport-primary)}.freport-toolbar__btn:active{transform:scale(.97)}.freport-toolbar__btn--primary{background:var(--freport-primary);border-color:var(--freport-primary);color:#fff}.freport-toolbar__btn--primary:hover{background:var(--freport-primary-hover);border-color:var(--freport-primary-hover)}.freport-toolbar__btn--icon{width:var(--freport-icon-btn-size);font-size:var(--freport-icon-size-md);color:var(--freport-icon-color-active);padding:0 8px}.freport-picker{display:inline-block;position:relative}.freport-picker__trigger{border:1px solid var(--freport-border);border-radius:var(--freport-radius);background:var(--freport-surface-2);height:30px;color:var(--freport-text);font-size:var(--freport-font-size-sm);cursor:pointer;white-space:nowrap;transition:border-color var(--freport-transition),background var(--freport-transition);align-items:center;gap:5px;padding:0 12px;font-weight:500;display:inline-flex}.freport-picker__trigger:hover{border-color:var(--freport-primary);background:var(--freport-surface-3)}.freport-picker__dropdown{z-index:var(--freport-z-dropdown);background:var(--freport-surface);border:1px solid var(--freport-border);border-radius:var(--freport-radius);min-width:200px;box-shadow:var(--freport-shadow-md);transform-origin:0 0;padding:4px 0;animation:.12s freport-dropdown-in;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.freport-picker__dropdown--right{left:auto;right:0}.freport-picker__option{text-align:left;width:100%;color:var(--freport-text);font-size:var(--freport-font-size-sm);cursor:pointer;transition:background var(--freport-transition),color var(--freport-transition);background:0 0;border:none;padding:6px 12px;display:block}.freport-picker__option:hover,.freport-picker__option--active{background:var(--freport-primary)}.freport-picker__divider{border:none;border-top:1px solid var(--freport-border);margin:4px 0}.freport-toolbar__spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite freport-spin;display:inline-block}@keyframes freport-spin{to{transform:rotate(360deg)}}@keyframes freport-dropdown-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.freport-form-section{margin-bottom:var(--freport-form-section-mb)}.freport-form-section__label{font-size:var(--freport-form-section-label-size);color:var(--freport-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--freport-form-field-gap);font-weight:500;display:block}.freport-form-field{gap:var(--freport-form-field-gap);margin-bottom:var(--freport-form-field-mb);flex-direction:column;display:flex}.freport-form-field--inline{flex-direction:row;align-items:center}.freport-form-field__label{font-size:var(--freport-form-label-size);color:var(--freport-text)}.freport-form-field__input,.freport-form-field__select,.freport-form-field__textarea{width:100%;padding:var(--freport-form-input-py) var(--freport-form-input-px);background:var(--freport-bg);border:1px solid var(--freport-border);border-radius:var(--freport-radius);color:var(--freport-text);font-size:var(--freport-form-label-size);transition:border-color var(--freport-transition),box-shadow var(--freport-transition),background var(--freport-transition);outline:none;font-family:inherit}.freport-form-field__input:focus,.freport-form-field__select:focus,.freport-form-field__textarea:focus{border-color:var(--freport-accent);box-shadow:0 0 0 var(--freport-form-input-focus-ring) color-mix(in srgb,var(--freport-accent) 22%,transparent)}.freport-form-field__select{cursor:pointer}.freport-form-field__textarea{resize:vertical;min-height:var(--freport-form-textarea-min-h);font-family:monospace}.freport-form-field__color{width:var(--freport-form-color-swatch-w);height:var(--freport-form-color-swatch-h);border:1px solid var(--freport-border);border-radius:var(--freport-radius);background:var(--freport-bg);cursor:pointer;padding:2px}.freport-form-row__sep{color:var(--freport-text-muted);font-size:var(--freport-font-size-sm)}.freport-radio-group{gap:var(--freport-spacing-sm);display:flex}.freport-radio-group__option{cursor:pointer;font-size:var(--freport-font-size-sm);color:var(--freport-text);align-items:center;gap:4px;display:flex}.freport-threshold-row__remove{border:1px solid var(--freport-border);border-radius:var(--freport-radius);height:26px;color:var(--freport-text-muted);cursor:pointer;background:0 0;flex-shrink:0;padding:0 6px;font-size:12px}.freport-threshold-row__remove:hover{border-color:var(--freport-accent);color:var(--freport-accent)}.freport-form-field__hint{font-size:var(--freport-form-hint-size);color:var(--freport-text-muted);font-style:italic;font-weight:400}.freport-form-field__hint--error{color:var(--freport-danger);font-style:normal}.freport-metric-select{border:1px solid var(--freport-border);border-radius:var(--freport-radius);background:var(--freport-bg);flex-direction:column;gap:2px;max-height:180px;padding:4px 0;display:flex;overflow-y:auto}.freport-metric-select__option{align-items:center;gap:var(--freport-spacing-sm);padding:var(--freport-form-input-py) var(--freport-form-input-px);cursor:pointer;font-size:var(--freport-form-label-size);color:var(--freport-text);transition:background var(--freport-transition);display:flex}.freport-metric-select__option:hover{background:var(--freport-surface-2)}.freport-metric-select__option input[type=checkbox],.freport-metric-select__option input[type=radio]{accent-color:var(--freport-primary);cursor:pointer}.freport-metric-select__name{flex:1}.freport-metric-select__unit{font-size:var(--freport-form-hint-size);color:var(--freport-text-muted)}.freport-metric-search{width:100%;position:relative}.freport-metric-search__control{align-items:center;gap:4px;display:flex}.freport-metric-search__input{cursor:text;flex:1}.freport-metric-search__dropdown-btn{border:1px solid var(--freport-border);border-radius:var(--freport-radius);background:var(--freport-bg);height:34px;color:var(--freport-text-muted);cursor:pointer;transition:border-color var(--freport-transition);flex-shrink:0;padding:0 8px;font-size:10px}.freport-metric-search__dropdown-btn:hover{border-color:var(--freport-accent);color:var(--freport-accent)}.freport-metric-search__dropdown{z-index:1000;background:var(--freport-bg);border:1px solid var(--freport-border);border-radius:var(--freport-radius);box-shadow:var(--freport-metric-search-dropdown-shadow);max-height:var(--freport-metric-search-dropdown-max-h);margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow:hidden}.freport-metric-search__list{max-height:var(--freport-metric-search-list-max-h);margin:0;padding:0;list-style:none;overflow-y:auto}.freport-metric-search__item{align-items:center;gap:var(--freport-spacing-sm);padding:var(--freport-form-input-py) var(--freport-form-input-px);cursor:pointer;font-size:var(--freport-form-label-size);color:var(--freport-text);transition:background var(--freport-transition);display:flex}.freport-metric-search__item:hover,.freport-metric-search__item--selected{background:var(--freport-surface-2)}.freport-metric-search__item--active{background:color-mix(in srgb,var(--freport-accent) 15%,transparent)}.freport-metric-search__item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.freport-metric-search__item-unit{color:var(--freport-text-muted);font-size:var(--freport-font-size-sm);flex-shrink:0}.freport-metric-search__message{padding:var(--freport-form-input-py) var(--freport-form-input-px);text-align:center;color:var(--freport-text-muted);font-size:var(--freport-form-label-size)}.freport-metric-search__load-more{padding:var(--freport-form-input-py) var(--freport-form-input-px);text-align:center;color:var(--freport-accent);font-size:var(--freport-form-label-size);cursor:pointer;border-top:1px solid var(--freport-border);transition:background var(--freport-transition)}.freport-metric-search__load-more:hover{background:var(--freport-surface-2)}@keyframes freport-widget-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.freport-widget{background:var(--freport-surface);border:1px solid var(--freport-border);border-radius:var(--freport-radius);height:100%;transition:border-color var(--freport-transition),box-shadow var(--freport-transition);box-shadow:var(--freport-shadow-sm);flex-direction:column;animation:.25s both freport-widget-in;display:flex;position:relative;overflow:visible}.freport-widget:hover{box-shadow:0 0 0 1px #3b82f626,var(--freport-shadow-sm);border-color:#3b82f680}.freport-widget--fullscreen{z-index:calc(var(--freport-z-fullscreen) + 1);border-radius:var(--freport-radius-lg);box-shadow:var(--freport-shadow-lg);position:fixed;inset:16px}.freport-widget__header{border-bottom:1px solid var(--freport-border);background:var(--freport-surface-2);flex-shrink:0;align-items:center;gap:6px;height:40px;padding:0 12px;display:flex}.freport-widget__drag-handle{cursor:grab;color:var(--freport-text-muted);padding:0 2px;font-size:12px;display:none}.freport-widget__drag-handle:active{cursor:grabbing}.freport-root--edit .freport-widget__drag-handle{display:flex}.freport-widget__title{color:var(--freport-text-muted);white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.04em;flex:1;font-size:11px;font-weight:600;overflow:hidden}.freport-widget__title--link{cursor:pointer;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s}.freport-widget__title--link:hover{-webkit-text-decoration-color:var(--freport-text);text-decoration-color:var(--freport-text)}.freport-widget__links-dropdown{white-space:normal;min-width:180px;font-size:var(--freport-font-size-sm);text-transform:none;letter-spacing:normal;font-weight:400;position:absolute;top:calc(100% + 4px);left:0}.freport-widget__info-btn{border:1px solid var(--freport-text-muted);width:18px;height:18px;color:var(--freport-text-muted);cursor:default;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex;position:relative}.freport-widget__tooltip{z-index:var(--freport-z-tooltip);background:var(--freport-surface);border:1px solid var(--freport-border);border-radius:var(--freport-radius);max-width:240px;font-size:var(--freport-font-size-sm);color:var(--freport-text);pointer-events:none;white-space:pre-wrap;padding:6px 8px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #0006}.freport-widget__menu-btn{border-radius:var(--freport-radius);width:22px;height:22px;color:var(--freport-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.freport-widget__menu-btn:hover{background:var(--freport-primary);color:var(--freport-text)}.freport-widget__menu-wrap{position:relative}.freport-widget__menu-wrap--open{z-index:calc(var(--freport-z-dropdown) + 1)}.freport-widget__body{border-radius:0 0 var(--freport-radius) var(--freport-radius);flex:1;min-height:0;position:relative;overflow:hidden}.freport-widget__renderer{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.freport-widget__loading{z-index:1;background:#00000040;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.freport-widget__loading-dot{border:3px solid var(--freport-border);border-top-color:var(--freport-accent);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite freport-spin}.freport-error-card{justify-content:center;align-items:center;gap:var(--freport-spacing-sm);padding:var(--freport-spacing);height:100%;color:var(--freport-text-muted);text-align:center;flex-direction:column;display:flex}.freport-error-card__icon{font-size:var(--freport-icon-size-lg);color:var(--freport-icon-color-accent)}.freport-error-card__message{font-size:var(--freport-font-size-sm);color:var(--freport-text)}.freport-error-card__code{color:var(--freport-text-muted);font-family:monospace;font-size:10px}.freport-error-card__retry{border:1px solid var(--freport-border);border-radius:var(--freport-radius);color:var(--freport-text);font-size:var(--freport-font-size-sm);cursor:pointer;background:0 0;padding:4px 10px}.freport-error-card__retry:hover{border-color:var(--freport-accent)}.freport-fullscreen{z-index:var(--freport-z-fullscreen);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070a12b8;position:fixed;inset:0}@keyframes freport-slide-in-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes freport-fade-backdrop{0%{opacity:0}to{opacity:1}}@keyframes freport-scale-in{0%{opacity:0;transform:scale(.96)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.freport-panel-backdrop{z-index:var(--freport-z-modal);background:var(--freport-panel-backdrop);animation:.15s freport-fade-backdrop;position:absolute;inset:0}.freport-config-panel{z-index:calc(var(--freport-z-modal) + 1);width:var(--freport-panel-width);background:var(--freport-surface);border-left:1px solid var(--freport-border);max-width:100%;box-shadow:var(--freport-panel-shadow);flex-direction:column;animation:.22s freport-slide-in-right;display:flex;position:absolute;top:0;bottom:0;right:0}.freport-config-panel__header{padding:0 var(--freport-spacing);height:var(--freport-panel-header-h);border-bottom:1px solid var(--freport-border);flex-shrink:0;align-items:center;display:flex}.freport-config-panel__title{font-size:var(--freport-font-size);flex:1;font-weight:600}.freport-config-panel__close{width:var(--freport-panel-close-size);height:var(--freport-panel-close-size);border-radius:var(--freport-radius);color:var(--freport-text);font-size:var(--freport-panel-close-font);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.freport-config-panel__close:hover{background:var(--freport-primary)}.freport-config-panel__body{padding:var(--freport-panel-body-padding);flex:1;overflow-y:auto}.freport-config-panel__footer{gap:var(--freport-spacing-xs);padding:var(--freport-panel-footer-padding);border-top:1px solid var(--freport-border);flex-direction:column;display:flex}.freport-config-panel__footer-actions{justify-content:flex-end;gap:var(--freport-spacing-sm);display:flex}.freport-add-widget-panel{z-index:var(--freport-z-modal);background:#0009;justify-content:center;align-items:center;animation:.15s freport-fade-backdrop;display:flex;position:absolute;inset:0}.freport-add-widget-panel__dialog{z-index:1;background:var(--freport-surface);border:1px solid var(--freport-border);border-radius:var(--freport-radius-lg);width:480px;max-width:90vw;max-height:80vh;box-shadow:var(--freport-shadow-lg);flex-direction:column;animation:.18s freport-scale-in;display:flex;position:relative}.freport-add-widget-panel__header{padding:0 var(--freport-spacing);border-bottom:1px solid var(--freport-border);align-items:center;height:48px;display:flex}.freport-add-widget-panel__title{flex:1;font-weight:600}.freport-add-widget-panel__body{padding:var(--freport-spacing);flex:1;overflow-y:auto}.freport-template-grid{gap:var(--freport-spacing-sm);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.freport-template-card{padding:var(--freport-spacing-sm);background:var(--freport-surface-2);border:1px solid var(--freport-border);border-radius:var(--freport-radius);cursor:pointer;transition:border-color var(--freport-transition),background var(--freport-transition),transform var(--freport-transition),box-shadow var(--freport-transition);text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.freport-template-card:hover{border-color:var(--freport-primary);background:var(--freport-surface-3);box-shadow:var(--freport-shadow-sm);transform:translateY(-2px)}.freport-template-card__icon{font-size:var(--freport-icon-size-lg);color:var(--freport-icon-color)}.freport-template-card__label{font-size:var(--freport-font-size-sm);color:var(--freport-text)}.freport-form-field--inline{flex-direction:row;align-items:center;gap:8px}.freport-form-field--inline input[type=checkbox]{cursor:pointer;width:14px;height:14px;margin:0}.freport-form-field__color{border:1px solid var(--freport-border);border-radius:var(--freport-radius);background:var(--freport-bg);cursor:pointer;width:40px;height:28px;padding:2px}.freport-form-row{align-items:center;gap:8px;display:flex}.freport-form-row__sep{font-size:var(--freport-font-size-sm);color:var(--freport-text-muted)}.freport-threshold-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.freport-threshold-row__value{flex-shrink:0;width:80px}.freport-threshold-row__label{flex:1}.freport-threshold-row__remove{color:var(--freport-text-muted);cursor:pointer;border-radius:var(--freport-radius);background:0 0;border:none;padding:4px;font-size:12px;line-height:1}.freport-threshold-row__remove:hover{color:var(--freport-accent);background:color-mix(in srgb,var(--freport-accent) 15%,transparent)}.freport-variable-bar{padding:6px var(--freport-spacing,16px);background:var(--freport-surface,#1e2235);border-bottom:1px solid var(--freport-border,#2e3250);font-size:var(--freport-font-size-sm,.8125rem);flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.freport-variable-bar__item{align-items:center;gap:6px;display:flex}.freport-variable-bar__label{color:var(--freport-text-muted,#8b92b8);white-space:nowrap;font-size:inherit}.freport-variable-bar__select,.freport-variable-bar__input{background:var(--freport-bg,#141626);border:1px solid var(--freport-border,#2e3250);border-radius:var(--freport-radius,4px);color:var(--freport-text,#e0e6f0);font-size:inherit;min-width:96px;transition:border-color var(--freport-transition,.15s ease);padding:3px 8px}.freport-variable-bar__select:focus,.freport-variable-bar__input:focus{border-color:var(--freport-accent,#5c7de0);box-shadow:0 0 0 2px color-mix(in srgb,var(--freport-accent,#5c7de0) 20%,transparent);outline:none}[data-freport-theme=light] .freport-variable-bar{background:var(--freport-surface,#f8f9fa);border-bottom-color:var(--freport-border,#d1d5db)}[data-freport-theme=light] .freport-variable-bar__label{color:var(--freport-text-muted,#6b7280)}[data-freport-theme=light] .freport-variable-bar__select,[data-freport-theme=light] .freport-variable-bar__input{border-color:var(--freport-border,#d1d5db);color:var(--freport-text,#111827);background:#fff}.grid-stack{position:relative}.grid-stack-rtl{direction:ltr}.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;margin:0;position:absolute;width:auto;z-index:0!important}.grid-stack>.grid-stack-item{position:absolute;padding:0;top:0;width:var(--gs-column-width);height:var(--gs-cell-height)}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle,.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-repeat:no-repeat;background-position:center}.grid-stack-item>.ui-resizable-ne{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px #0003;opacity:.8}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing,.grid-stack-animate .grid-stack-item.grid-stack-placeholder{transition:left 0s,right 0s,top 0s,height 0s,width 0s}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0%}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0%}.fdcms-header .trigger:hover{background-color:#f5f5f5;color:#1890ff!important}.ant-menu-light .ant-menu-item:hover{background-color:#f0f9ff;color:#1890ff}.ant-menu-light .ant-menu-item-selected{background-color:#e6f7ff;color:#1890ff;border-right:3px solid #1890ff}.ant-menu-light .ant-menu-item-selected .anticon{color:#1890ff}.ant-card{border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #f0f0f0}.ant-card-head{border-bottom:1px solid #f0f0f0;background:#fafafa}.ant-pro-card{border-radius:12px;box-shadow:0 2px 8px #0000000f}.ant-pro-card-header{background:#fafafa;border-bottom:1px solid #f0f0f0}.ant-btn-primary{background:#1890ff;border-color:#1890ff;border-radius:8px;box-shadow:0 2px 4px #1890ff33}.ant-btn-primary:hover{background:#40a9ff;border-color:#40a9ff;box-shadow:0 4px 8px #1890ff4d}.ant-table-thead>tr>th{background:#fafafa;border-bottom:2px solid #f0f0f0;font-weight:600;color:#262626}.ant-table-tbody>tr:hover>td{background:#f0f9ff}.ant-statistic-card{border-radius:12px;transition:all .3s ease}.ant-statistic-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.ant-progress-bg{border-radius:8px}.ant-modal{border-radius:12px}.ant-modal-header{border-radius:12px 12px 0 0;background:#fafafa;border-bottom:1px solid #f0f0f0}.ant-tag{border-radius:6px;border:none;font-weight:500}.ant-input,.ant-select-selector{border-radius:8px;border:1px solid #d9d9d9}.ant-input:focus,.ant-select-focused .ant-select-selector{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.fdcms-content{background:linear-gradient(135deg,#f8f9fa,#f0f2f5)}.fdcms-logo{background:linear-gradient(135deg,#fafafa,#f0f0f0);border-bottom:1px solid #e8e8e8;height:64px}.tenant-card{transition:all .3s ease;border:1px solid #f0f0f0}.tenant-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#1890ff}.tenant-card .ant-card-actions{background:#fafafa;border-top:1px solid #f0f0f0}.tenant-card .ant-card-actions>li{margin:8px 0}.tenant-card .ant-card-actions>li>span:hover{color:#1890ff;transform:scale(1.1)}.tenant-card-actions{border-radius:0 0 12px 12px;overflow:hidden}.tenant-card-actions>div{position:relative}.tenant-card-actions>div:hover{background-color:#1890ff0d!important}.tenant-card-actions>div:active{background-color:#1890ff1a!important}.tenant-detail-header{background:linear-gradient(135deg,#f0f9ff,#e6f7ff);border-radius:12px;padding:24px;margin-bottom:24px}.tenant-stats-card{text-align:center;padding:20px;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #f0f0f0;border-radius:12px;transition:all .3s ease}.tenant-stats-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}@media(max-width:768px){.ant-card{margin-bottom:16px}.fdcms-content{padding:16px}.tenant-card{margin-bottom:16px}.tenant-detail-header{padding:16px}}.avatar-uploader .ant-upload{width:104px;height:104px;border-radius:8px}.avatar-uploader .ant-upload-select{width:104px;height:104px;border-radius:8px;border:1px dashed #d9d9d9;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s}.avatar-uploader .ant-upload-select .anticon{font-size:24px;color:#999;margin-bottom:8px}.ant-radio-group .ant-radio-wrapper{padding:8px 12px;border-radius:6px;transition:all .2s;border:1px solid transparent}.ant-radio-group .ant-radio-wrapper:hover{background-color:#f0f9ff;border-color:#e6f7ff}.ant-radio-group .ant-radio-wrapper-checked{background-color:#e6f7ff;border-color:#1890ff}.ant-radio-group .ant-radio-wrapper-checked:hover{background-color:#bae7ff}
