:root{--brand-primary:#0b5d3b;--brand-primary-dark:#094a2f;--brand-primary-soft:#1d6d4b;--brand-success:#2fa84f;--brand-info:#0f6b8f;--brand-warning:#f6b737;--brand-text:#10231b}html,body,#root,.ant-app{min-height:100vh;background-color:#f5f7fa!important}.ant-layout-sider{background-color:var(--brand-primary)!important}.ant-layout-sider-trigger{background-color:var(--brand-primary-dark)!important;color:#fff!important;border-top:1px solid #ffffff14!important}.ant-layout-sider-trigger .ant-btn,.ant-layout-sider-trigger .ant-btn:hover,.ant-layout-sider-trigger .ant-btn:focus,.ant-layout-sider-trigger .ant-btn:active{background-color:var(--brand-primary-dark)!important;color:#fff!important;box-shadow:none!important;border:none!important}.ant-layout-sider-trigger svg,.ant-layout-sider-trigger span{color:#fff!important}.ant-layout-sider,.ant-layout-sider-children,.ant-layout-sider-zero-width-trigger{background-color:var(--brand-primary)!important}.ant-menu{background:0 0!important}.ant-menu-item .ant-menu-title-content,.ant-menu-submenu-title .ant-menu-title-content,.ant-menu-item .anticon,.ant-menu-submenu-title .anticon,.ant-menu-submenu-arrow,.ant-menu-submenu-expand-icon{color:#fff!important}.ant-menu-submenu-title .ant-menu-submenu-arrow:before,.ant-menu-submenu-title .ant-menu-submenu-arrow:after{background-color:#fff!important}.ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:1!important;visibility:visible!important;color:#fff!important;display:inline-block!important}.ant-menu-item:hover,.ant-menu-submenu-title:hover{color:#fff!important;background-color:#ffffff1a!important}.ant-menu-item-selected{background-color:var(--brand-success)!important}.ant-menu-item-selected .ant-menu-title-content,.ant-menu-item-selected .anticon{color:#fff!important}.ant-menu-submenu-popup .ant-menu{background-color:var(--brand-primary)!important}.ant-layout-sider-children>div:first-child,.ant-layout-sider-children a{background-color:#0000!important}.ant-layout-sider,.ant-menu,.ant-layout-sider-children{border-right:none!important;border-inline-end:none!important}.pulse-logo{filter:drop-shadow(0 4px 6px #0b5d3b33);animation:1.5s ease-in-out infinite alternate pulse}@keyframes pulse{0%{opacity:.8;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.ant-layout.ant-layout-has-sider{flex-direction:row!important;height:100vh!important;display:flex!important;overflow:hidden!important}.ant-layout-has-sider>.ant-layout{flex-direction:column!important;height:100vh!important;display:flex!important;overflow:hidden!important}.ant-layout-sider{z-index:100!important;align-self:stretch!important;height:100vh!important;min-height:100vh!important;position:sticky!important;top:0!important;left:0!important}.ant-layout-sider-children{flex-direction:column!important;height:100%!important;min-height:100vh!important;display:flex!important}.ant-layout-sider-children:after{content:"";flex:auto;display:block;background:var(--brand-primary)!important}.ant-layout-sider-children>*{flex-shrink:0}.ant-layout-sider-children .ant-menu{flex:none}.ant-layout.ant-layout-has-sider,.ant-layout-has-sider>.ant-layout{background-color:#f5f7fa!important}.ant-layout-header{z-index:99!important;flex-shrink:0!important;position:sticky!important;top:0!important}.ant-layout-content{background-color:#f5f7fa!important;flex:1!important;padding:24px!important;overflow-y:auto!important}.ant-layout-content:has(.dashboard-builder-page){background:#eee!important;min-height:calc(100vh - 64px)!important;padding:0!important;overflow:hidden!important}.ant-layout-content:has(.dashboard-builder-page)>div{max-width:none!important;height:100%!important;margin:0!important;padding:0!important}.ant-layout-content:has(.rule-editor-page){background:#f5f7fa!important;min-height:calc(100vh - 64px)!important;padding:0!important;overflow:hidden!important}.ant-layout-content:has(.rule-editor-page)>div{max-width:none!important;height:100%!important;margin:0!important;padding:0!important}.ant-layout-content:has(.system-resources-detail-page){min-height:calc(100vh - 64px)!important;padding:0!important;overflow:hidden!important}.ant-layout-content:has(.system-resources-detail-page)>div{max-width:none!important;height:100%!important;margin:0!important;padding:0!important}.ant-layout-content:has(.system-resources-page){background:#f5f7fa!important;min-height:calc(100vh - 64px)!important;padding:0!important;overflow:hidden!important}.ant-layout-content:has(.system-resources-page)>div{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.ant-layout-content:has(.system-payments-page){background:#f5f7fa!important;min-height:calc(100vh - 64px)!important;padding:0!important;overflow:hidden!important}.ant-layout-content:has(.system-payments-page)>div{width:100%!important;max-width:none!important;height:100%!important;margin:0!important;padding:0!important}:is(.ant-layout-content:has(.system-payments-page.is-narrow),.ant-layout-content:has(.billing-page.is-narrow)){overflow:hidden auto!important}.system-payments-page{box-sizing:border-box;gap:6px;min-width:0;height:calc(100vh - 64px);padding:8px;display:grid;overflow:hidden}.system-payments-page.is-wide{grid-template:"head head""errors errors""config ops"minmax(0,1fr)/minmax(0,.95fr) minmax(0,1.35fr)}.system-payments-page.is-narrow{grid-template-columns:minmax(0,1fr);height:auto;overflow:visible}.system-payments-head{flex-wrap:wrap;grid-area:head;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}@media (width<=1499px){.system-payments-hint{display:none}}.system-payments-errors{grid-area:errors;max-height:92px;overflow:auto}.system-payments-col{grid-area:config;grid-template-rows:repeat(3,min-content);align-content:start;gap:6px;min-width:0;min-height:0;display:grid;overflow:hidden auto}.system-payments-col--ops{grid-area:ops;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.system-payments-page.is-narrow .system-payments-head,.system-payments-page.is-narrow .system-payments-errors,.system-payments-page.is-narrow .system-payments-col{grid-area:auto}.system-payments-page.is-narrow .system-payments-col,.system-payments-page.is-narrow .system-payments-col--ops{grid-template-rows:none;align-content:normal;overflow:visible}.system-payments-bank{align-items:flex-start;gap:12px;min-width:0;display:flex}.system-payments-bank-fields{flex:auto;min-width:0}.system-payments-qr{flex-direction:column;flex:0 0 148px;align-items:center;gap:6px;padding-top:2px;display:flex}.system-payments-qr-frame{background:#fff;border:1px solid #eef0f3;border-radius:12px;padding:5px;box-shadow:0 2px 8px #0f281e0f}.system-payments-qr-empty{background:#fafbfc;border:1px dashed #dfe4ea;border-radius:12px;flex-direction:column;align-items:center;gap:6px;width:100%;padding:14px 10px;display:flex}.payments-card-spacer{flex:auto;min-height:0}.payments-card-summary{color:#6b7280;background:#fafbfc;border-top:1px solid #f0f2f5;flex:none;padding:6px 12px;font-size:12px}.system-payments-page .ant-table-wrapper,.system-payments-page .ant-table{min-width:0}.system-payments-page .ant-table-cell{padding:6px 8px!important}.payments-table-scroll{flex:0 auto;min-height:0;overflow:auto}.plan-form .ant-form-item-label,.aligned-label-form .ant-form-item-label{white-space:normal;overflow:visible}.plan-form .ant-form-item-label>label,.aligned-label-form .ant-form-item-label>label{white-space:normal;align-items:flex-start;height:auto;min-height:24px;padding-bottom:2px;line-height:20px}.aligned-label-form .ant-form-item{margin-bottom:12px}.form-section+.form-section{border-top:1px solid #0000000f;margin-top:4px;padding-top:10px}.form-section-title{text-transform:uppercase;letter-spacing:.02em;color:#0000008c!important}.ant-layout-content:has(.roles-page){background:#f5f7fa!important;min-height:calc(100vh - 64px)!important;padding:0!important;overflow:hidden!important}.ant-layout-content:has(.roles-page)>div{width:100%!important;max-width:none!important;height:100%!important;margin:0!important;padding:0!important}.roles-page{box-sizing:border-box;flex-direction:column;gap:8px;min-width:0;height:calc(100vh - 64px);padding:8px;display:flex;overflow:hidden}.roles-page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.roles-page-card{flex-direction:column;flex:0 auto;min-height:0;max-height:100%;display:flex;overflow:hidden}.roles-page-card .ant-table-wrapper{flex:0 auto;min-height:0;overflow:auto}.roles-page .ant-table-cell{padding:8px 10px!important}.ant-layout-content:has(.billing-page){background:#f5f7fa!important;min-height:calc(100vh - 64px)!important;padding:0!important;overflow:hidden!important}.ant-layout-content:has(.billing-page)>div{width:100%!important;max-width:none!important;height:100%!important;margin:0!important;padding:0!important}.billing-page{box-sizing:border-box;flex-direction:column;gap:6px;min-width:0;padding:6px;display:flex}.billing-page.is-wide{grid-template:"head head""current current""plans side"minmax(0,1fr)/minmax(0,1.3fr) minmax(0,1fr);gap:6px;height:calc(100vh - 64px);display:grid;overflow:hidden}.billing-page-head{flex-wrap:wrap;grid-area:head;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}@media (width<=1499px){.billing-page-hint{display:none}}.billing-page .billing-current{grid-area:current}.billing-current-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.billing-current-note{text-align:right}.billing-page .billing-plans{grid-area:plans;align-self:stretch;min-height:0}.billing-side{grid-area:side;grid-template-rows:auto auto;align-content:start;gap:6px;min-width:0;min-height:0;display:grid}.billing-page .billing-history{min-height:0;max-height:320px}.billing-page .billing-limits{min-height:0}.billing-page.is-narrow .billing-side{flex-direction:column;gap:8px;display:flex}.billing-page.is-narrow .billing-page-head,.billing-page.is-narrow .billing-current,.billing-page.is-narrow .billing-plans,.billing-page.is-narrow .billing-side{grid-area:auto}.billing-page .ant-card-body{min-width:0}.billing-page .ant-table-cell{padding:6px 8px!important}.billing-page .billing-limits .ant-table-cell{padding:5px 8px!important}.billing-plans-scroll{flex:auto;min-height:0;padding:10px;overflow:auto}.billing-card-note{color:#6b7280;background:#fafbfc;border-top:1px solid #f0f2f5;flex:none;padding:6px 12px;font-size:12px}.billing-plan-price{align-items:baseline;gap:4px;display:flex}.billing-plan-amount{color:#0f7a4f;letter-spacing:-.2px;font-size:20px;font-weight:800}.billing-plan-unit{color:#8c8c8c;font-size:12px}.billing-empty{flex:auto;justify-content:center;align-items:center;padding:16px;display:flex}.rule-builder-palette-item{cursor:grab;background:#fafcfb;border:1px dashed #b7c6bf;border-radius:10px;padding:12px}.rule-builder-canvas{flex-direction:column;gap:8px;display:flex}.rule-builder-dropzone{color:#6a7d74;background:#f8fbf9;border:1px dashed #c8d7cf;border-radius:8px;justify-content:center;align-items:center;min-height:36px;font-size:12px;display:flex}.rule-builder-node-card{border-radius:12px}.rule-builder-arrow{text-align:center;color:var(--brand-primary);font-size:20px;line-height:1}.rule-section-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.rule-studio-root{flex-direction:column;gap:16px;width:100%;min-width:0;height:100%;min-height:0;display:flex}.rule-editor-page{box-sizing:border-box;height:calc(100vh - 64px);min-height:calc(100vh - 64px);padding:8px;overflow:hidden}.rule-editor-page-form{flex-direction:column;gap:8px;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.rule-editor-layout{flex-direction:column;flex:auto;min-height:0;display:flex}.rule-editor-graph-host{flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.rule-editor-graph-host>*{flex:auto;min-width:0;min-height:0}.rule-editor-meta-card .ant-card-body{padding:12px!important}.rule-studio-shell{grid-template-columns:minmax(320px,360px) minmax(0,1fr);align-items:stretch;gap:12px;height:100%;min-height:0;display:grid;overflow:hidden}.rule-studio-sidebar,.rule-studio-main{min-width:0;min-height:0}.rule-studio-sidebar{overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff;border:1px solid #e5ece8;border-radius:18px;flex-direction:column;height:100%;min-height:0;padding:16px;display:flex;overflow:hidden auto;box-shadow:0 10px 30px #10231b0d}.rule-studio-sidebar-section{flex-direction:column;flex:none;gap:12px;display:flex}.rule-studio-sidebar-divider{background:#e8efeb;height:1px;margin:16px 0}.rule-studio-node-panel{flex-direction:column;flex:none;gap:12px;min-height:auto;padding-right:0;display:flex;overflow:visible}.rule-editor-sidebar-sections{flex-direction:column;gap:14px;display:flex}.rule-editor-sidebar-section{background:linear-gradient(#fff 0%,#f8fbf9 100%);border:1px solid #e5ece8;border-radius:14px;padding:12px}.rule-editor-sidebar-section-title{text-transform:uppercase;letter-spacing:.08em;color:#6d8177;margin-bottom:12px;font-size:12px;font-weight:800}.rule-editor-sidebar-fields{flex-direction:column;gap:12px;display:flex}.rule-editor-sidebar-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.rule-studio-sidebar-header,.rule-studio-inspector-header{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.rule-studio-template-list{flex-direction:column;flex:none;gap:18px;min-height:min-content;padding-right:0;display:flex;overflow:visible}.rule-studio-template-group,.rule-studio-template-items{flex-direction:column;gap:10px;display:flex}.rule-studio-template-group-title{text-transform:uppercase;letter-spacing:.08em;color:#6d8177;font-size:12px;font-weight:700}.rule-studio-template-card{cursor:grab;background:linear-gradient(#fff 0%,#f7fbf9 100%);border:1px solid #dbe6e0;border-radius:14px;padding:12px;transition:transform .15s,box-shadow .15s,border-color .15s}.rule-studio-template-card:hover{border-color:#a7c5b4;transform:translateY(-1px);box-shadow:0 10px 20px #0b5d3b14}.rule-studio-main{flex-direction:column;flex:auto;gap:16px;min-height:0;display:flex;position:relative;overflow:hidden}.rule-studio-toolbar{background:#fff;border:1px solid #e5ece8;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex;box-shadow:0 10px 30px #10231b0d}.rule-studio-canvas-shell{flex:auto;width:100%;height:100%;min-height:0;position:relative}.rule-studio-canvas{background:#fcfefd;border:1px solid #d9e4de;border-radius:22px;flex:auto;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:auto;box-shadow:inset 0 1px #fffc,0 10px 30px #10231b0d}.rule-studio-floating-actions{z-index:1000;pointer-events:none;flex-direction:row;align-items:center;gap:12px;display:flex;position:fixed;bottom:32px;right:40px}.rule-studio-floating-actions .ant-btn{pointer-events:auto}.rule-studio-action-button{transition:transform .18s,box-shadow .18s,filter .18s}.rule-studio-action-button:hover,.rule-studio-action-button:focus-visible{filter:brightness(1.02);transform:translateY(-3px)scale(1.03)}.rule-studio-action-button:not(.is-primary):hover,.rule-studio-action-button:not(.is-primary):focus-visible{box-shadow:0 14px 28px #0f172a2e!important}.rule-studio-action-button.is-primary:hover,.rule-studio-action-button.is-primary:focus-visible{box-shadow:0 18px 34px #f7672c6b!important}.rule-studio-canvas-grid{pointer-events:none;z-index:0;background-image:linear-gradient(#0b5d3b14 1px,#0000 1px),linear-gradient(90deg,#0b5d3b14 1px,#0000 1px);background-size:32px 32px;width:100%;height:100%;position:absolute;inset:0}.rule-studio-board{z-index:1;min-width:100%;min-height:100%;position:relative}.rule-studio-edges{pointer-events:none;z-index:1;position:absolute;inset:0}.rule-studio-edge-badge{text-align:center;color:#1554b3;background:#fff;border:1px solid #cfe0ff;border-radius:999px;height:28px;font-size:11px;font-weight:700;line-height:28px;box-shadow:0 6px 16px #1677ff14}.rule-studio-node{z-index:2;cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;box-shadow:0 10px 24px #10231b14;border:2px solid #0000!important;border-radius:16px!important;position:absolute!important}.rule-studio-node.is-selected{box-shadow:0 0 0 4px #0b5d3b1f,0 12px 30px #10231b1f;border-color:#0b5d3b!important}.rule-studio-node .ant-card-body{padding:10px 12px!important}.rule-studio-node-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.rule-studio-node-body{flex-direction:column;gap:8px;display:flex}.rule-studio-node-summary{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;display:grid}.rule-studio-node-icon{color:#0b5d3b;background:#ecf6f0;border-radius:10px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex}.rule-studio-node-title{color:#10231b;margin-bottom:2px;font-size:13px;font-weight:700}.rule-studio-drawer-stack{flex-direction:column;gap:16px;display:flex}.rule-studio-drawer-group{flex-direction:column;gap:8px;display:flex}.rule-studio-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=1100px){.rule-editor-page-form{height:auto;min-height:0;overflow:visible}.rule-editor-layout,.rule-editor-graph-host{min-height:0}.rule-editor-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-studio-shell{grid-template-columns:1fr;height:auto}.rule-editor-sidebar-toggle-grid{grid-template-columns:1fr}.rule-studio-canvas{height:540px;min-height:540px}}.dashboard-builder-page{background:#e9e9e9;border-radius:0;flex-direction:column;gap:0;width:100%;min-width:0;height:100%;min-height:0;margin:0;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 28px #10231b0d}.dashboard-builder-page:fullscreen{width:100vw;height:100vh}.dashboard-builder-page.is-embedded{height:100dvh;min-height:100vh}.dashboard-builder-header{z-index:5;background:var(--brand-primary);color:#fff;box-shadow:none;border:none;border-radius:0;flex-shrink:0;padding:0;display:block;position:relative}.dashboard-builder-titlebar{background:var(--brand-primary);border-bottom:1px solid #ffffff29;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:0 12px;display:flex;overflow:hidden}.dashboard-builder-left,.dashboard-builder-center,.dashboard-builder-actions{min-width:0}.dashboard-builder-left{flex:auto;justify-content:flex-start;align-items:center;display:flex;overflow:hidden}.dashboard-builder-actions{z-index:6;flex:none;justify-content:flex-end;gap:6px;position:relative;overflow:visible}.dashboard-builder-inline-status{text-overflow:ellipsis;white-space:nowrap;color:#ffffffdb;max-width:360px;font-size:13px;font-weight:700;overflow:hidden}.dashboard-builder-status-dirty{color:#fff2b8}.dashboard-builder-status-saving{color:#d6f4ff;animation:.9s ease-in-out infinite alternate dashboard-save-pulse}.dashboard-builder-status-saved{color:#d9f7be}.dashboard-builder-status-error{color:#ffd6d6}.dashboard-builder-breadcrumb,.dashboard-builder-breadcrumb strong{color:#fff;white-space:nowrap;font-size:15px}.dashboard-builder-dashboard-title{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:min(680px,100%);font-size:19px;font-weight:800;line-height:1.15;overflow:hidden}.dashboard-builder-ghost-button,.dashboard-builder-ghost-button:hover,.dashboard-builder-ghost-button:focus{color:#fff!important}.dashboard-builder-header .ant-btn-default{color:#fff;background:0 0;border-color:#fffc;height:32px;padding-inline:10px}.dashboard-builder-header .ant-btn-default:hover{color:#fff!important;background:#ffffff1f!important;border-color:#fff!important}.dashboard-builder-header .ant-btn-primary{color:var(--brand-primary);background:#fff;border-color:#fff;height:32px;padding-inline:12px}.dashboard-builder-header .ant-btn-primary:hover{color:var(--brand-primary)!important;background:#edf8f3!important;border-color:#edf8f3!important}.dashboard-builder-save-button{min-width:118px;font-weight:700}.dashboard-builder-save-status{white-space:nowrap;border-radius:999px;align-items:center;min-height:32px;padding:0 10px;font-size:13px;line-height:1;display:inline-flex}.dashboard-builder-save-status-idle{color:#ffffffb8}.dashboard-builder-save-status-dirty{color:#ffe58f;background:#ffe58f1f}.dashboard-builder-save-status-saving{color:#91caff;background:#91caff1f}.dashboard-builder-save-status-saved{color:#d9f7be;background:#b7eb8f1f}.dashboard-builder-save-status-error{color:#ffccc7;background:#ff78751f}.dashboard-builder-toolbar-meta{color:#ffffffe0;white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.dashboard-builder-toolbar-meta .anticon{font-size:14px}.dashboard-builder-compact-button{min-width:32px;padding-inline:8px!important}.dashboard-builder-save-button-saving{box-shadow:0 0 0 4px #d6f4ff47}.dashboard-builder-save-button-saved{box-shadow:0 0 0 4px #b7eb8f3d;color:#0b5d3b!important;background:#d9f7be!important;border-color:#b7eb8f!important}.dashboard-builder-save-button-error{box-shadow:0 0 0 4px #ff4d4f2e}@keyframes dashboard-save-pulse{0%{opacity:.72}to{opacity:1}}.dashboard-builder-shell{flex:auto;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;height:auto;min-height:0;display:grid;overflow:hidden}.dashboard-builder-powered-by{z-index:30;box-sizing:border-box;color:#1f1f1f;letter-spacing:.01em;pointer-events:none;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;min-height:0;padding:0;font-size:14px;line-height:1.2;display:flex;position:absolute;bottom:14px;right:22px}.dashboard-builder-powered-by strong{color:#1677d2;font-weight:700}.dashboard-builder-palette,.dashboard-builder-inspector,.dashboard-builder-canvas{min-width:0;min-height:0}.dashboard-builder-palette .ant-card-body,.dashboard-builder-inspector .ant-card-body{max-height:calc(100vh - 260px);overflow:auto}.dashboard-widget-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,18px);width:100%;display:grid}.dashboard-widget-template-group-title{color:#0b5d3b;margin:8px 0 10px;font-size:15px;font-weight:700}.dashboard-widget-template-library{width:100%;display:block}.dashboard-widget-template-grid-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.dashboard-widget-bundle-card{aspect-ratio:1;text-align:left;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #dbe6e0;border-radius:18px;flex-direction:column;align-items:stretch;gap:12px;width:100%;min-height:0;margin-bottom:14px;padding:18px;display:flex;overflow:hidden}.dashboard-widget-bundle-search{margin-bottom:16px}.dashboard-widget-bundle-grid{gap:14px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-widget-bundle-grid .dashboard-widget-bundle-card{min-width:0;margin-bottom:0}.dashboard-widget-bundle-image{object-fit:contain;background:#f5f8f7;border-radius:10px;margin:0 auto;display:block;overflow:hidden;width:100%!important;max-width:100%!important;height:150px!important;max-height:150px!important}.dashboard-widget-bundle-card>.dashboard-widget-bundle-placeholder{flex:0 0 150px;width:100%;height:150px}.dashboard-widget-bundle-header{justify-content:space-between;align-items:center;font-size:18px;display:flex}.dashboard-widget-bundle-badge{color:#777;background:#f0f0f0;border-radius:7px;padding:3px 8px;font-size:12px}.dashboard-widget-bundle-preview-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.dashboard-widget-bundle-preview-grid img,.dashboard-widget-bundle-preview-grid .dashboard-widget-bundle-placeholder{object-fit:contain;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;width:100%;height:72px}.dashboard-widget-bundle-count{color:#777;font-size:13px}.dashboard-widget-bundle-card img,.dashboard-widget-bundle-placeholder{object-fit:contain;color:#0b5d3b;background:#f2f8f5;border-radius:12px;place-items:center;width:92px;height:72px;font-size:32px;display:grid}.dashboard-widget-bundle-card span:last-child{color:#8c8c8c;font-size:13px}.dashboard-widget-template-image{object-fit:contain;background:#f2f8f5;border-radius:12px;width:100%;height:112px}.dashboard-widget-palette-preview{box-sizing:border-box;pointer-events:none;-webkit-user-select:none;user-select:none;background:#f2f8f5;border:1px solid #e3ece8;border-radius:12px;flex:none;width:100%;height:112px;padding:4px;display:block;overflow:hidden;container-type:size}.dashboard-widget-bundle-card .dashboard-widget-palette-preview{background:#f5f8f7;height:150px}.dashboard-widget-palette-preview .dashboard-widget-content{width:100%;height:100%}.widget-preview-capture-host{z-index:-1;pointer-events:none;position:fixed;top:0;left:-10000px}.widget-preview-capture-frame{background:#fff;width:480px;height:360px;overflow:hidden;container-type:size}.dashboard-widget-template{text-align:center;cursor:pointer;aspect-ratio:1;box-sizing:border-box;background:#fff;border:1px solid #dbe6e0;border-radius:clamp(24px,4vw,32px);flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,1.8vw,16px);width:100%;padding:clamp(16px,2.8vw,22px);transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden;container-type:inline-size}.dashboard-widget-template:hover{border-color:#0b5d3b;transform:translateY(-1px);box-shadow:0 12px 24px #0b5d3b1a}.dashboard-widget-template-content{text-align:center;box-sizing:border-box;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:0;width:100%;min-width:0;max-width:100%;padding:0 clamp(8px,2cqw,14px);display:flex}.dashboard-widget-template-preview{aspect-ratio:1;flex-shrink:0;justify-content:center;align-items:center;width:min(100%,170px);display:flex}.dashboard-widget-template-category,.dashboard-widget-template-badge{display:none}.dashboard-widget-template-icon{color:#0b5d3b;background:#ecf6f0;border-radius:clamp(18px,7cqw,26px);flex-shrink:0;justify-content:center;align-items:center;width:clamp(64px,24cqw,96px);height:clamp(64px,24cqw,96px);font-size:clamp(24px,9cqw,38px);display:flex}.dashboard-widget-template-preview-rpc-circle{aspect-ratio:1;color:#fff;letter-spacing:.04em;background:linear-gradient(#188754 0%,#0b5d3b 100%);border:clamp(8px,3.5cqw,14px) solid #d7d7d7;border-radius:50%;justify-content:center;align-items:center;width:min(100%,144px);font-size:clamp(20px,8cqw,34px);font-weight:700;display:flex;box-shadow:0 16px 30px #1887542e}.dashboard-widget-template-preview-action-button{color:#fff;background:linear-gradient(#0f7a4e 0%,#0b5d3b 100%);border-radius:clamp(16px,6cqw,24px);justify-content:center;align-items:center;min-width:min(100%,150px);max-width:100%;min-height:clamp(48px,18cqw,70px);padding:0 clamp(18px,5cqw,28px);font-size:clamp(18px,7cqw,30px);font-weight:700;display:inline-flex;box-shadow:0 14px 28px #0b5d3b2e}.dashboard-widget-template-preview-chart,.dashboard-widget-template-preview-table,.dashboard-widget-template-preview-value{background:#f5faf7;border:1px solid #e0ece5;border-radius:clamp(22px,8cqw,28px)}.dashboard-widget-template-preview-chart{position:relative;overflow:hidden}.dashboard-widget-template-preview-chart-grid{border-bottom:1px dashed #0b5d3b2e;border-left:1px dashed #0b5d3b2e;position:absolute;inset:14% 12%}.dashboard-widget-template-preview-chart-line{width:78%;height:auto}.dashboard-widget-template-preview-chart-line path{fill:none;stroke:#0b5d3b;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.dashboard-widget-template-preview-table{box-sizing:border-box;flex-direction:column;gap:8%;padding:12% 10%}.dashboard-widget-template-preview-table-row{grid-template-columns:1.3fr 1fr 1fr;gap:6%;width:100%;display:grid}.dashboard-widget-template-preview-table-row span{background:#bfd8ca;border-radius:999px;height:clamp(10px,3.2cqw,14px);display:block}.dashboard-widget-template-preview-table-row.header span{opacity:.88;background:#0b5d3b}.dashboard-widget-template-preview-value{flex-direction:column;gap:6%}.dashboard-widget-template-preview-value-number{color:#111827;font-size:clamp(28px,11cqw,42px);font-weight:800;line-height:1}.dashboard-widget-template-preview-value-unit{color:#1118278c;font-size:clamp(13px,4.5cqw,18px);font-weight:600}.dashboard-widget-template strong{-webkit-line-clamp:2;text-wrap:balance;word-break:break-word;-webkit-box-orient:vertical;max-width:100%;margin-top:0;font-size:clamp(15px,5.2cqw,20px);line-height:1.2;display:-webkit-box;overflow:hidden}.dashboard-widget-template .ant-typography{-webkit-line-clamp:2;text-wrap:pretty;word-break:break-word;-webkit-box-orient:vertical;max-width:100%;margin-bottom:0;font-size:clamp(12px,4.2cqw,15px);line-height:1.32;display:-webkit-box;overflow:hidden;color:#00000085!important}.dashboard-time-settings-modal .ant-modal-body{padding-top:12px}.dashboard-time-settings-section{box-shadow:none;border:1px solid #e5ece8;border-radius:24px}.dashboard-time-settings-section .ant-card-body{padding:18px 20px}.dashboard-time-settings-modal .ant-segmented{background:#f2f4f3;border-radius:999px}.dashboard-time-settings-modal .ant-segmented-group{gap:4px}.dashboard-time-settings-modal .ant-segmented-item{border-radius:999px}.dashboard-time-settings-modal .ant-segmented-item-selected{color:#fff;background:#0b7a69}.dashboard-time-settings-modal .ant-slider .ant-slider-track{background:#0b7a69}.dashboard-time-settings-modal .ant-slider .ant-slider-handle:after{box-shadow:0 0 0 2px #0b7a69}.dashboard-time-settings-modal .ant-slider:hover .ant-slider-track,.dashboard-time-settings-modal .ant-slider:hover .ant-slider-handle:after{background:#0a6b5c;box-shadow:0 0 0 2px #0a6b5c}@media (width<=480px){.dashboard-widget-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-widget-template{border-radius:26px;gap:12px;padding:14px 12px}.dashboard-widget-template strong{font-size:clamp(14px,5cqw,17px);line-height:1.2}.dashboard-widget-template-preview{width:min(100%,132px)}.dashboard-widget-template .ant-typography{font-size:clamp(11px,4cqw,13px);line-height:1.3}}.dashboard-builder-canvas{overscroll-behavior:contain;scrollbar-width:none;background:#f4f4f4;border:none;border-radius:0;flex:auto;min-height:0;padding:0;position:relative;overflow:auto}.dashboard-builder-canvas::-webkit-scrollbar{width:0;height:0}.dashboard-builder-saving-overlay{z-index:20;color:#0b5d3b;background:#fffffff5;border:1px solid #0b5d3b29;border-radius:999px;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 360px);padding:12px 18px;display:flex;position:sticky;top:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #10231b2e}.dashboard-builder-empty{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;min-height:420px;display:flex}.dashboard-builder-board{min-width:100%;min-height:100%;position:relative}.dashboard-widget-frame{box-sizing:border-box;border-radius:var(--widget-radius,0);-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;--widget-text-size:clamp(11px, min(5cqw, 8cqh), 44px);--widget-icon-size:clamp(14px, min(8cqw, 13cqh), 72px);min-width:0;min-height:0;position:absolute;overflow:visible;container-type:size}.dashboard-widget-control,.dashboard-widget-control-placeholder{box-sizing:border-box;width:100%;min-width:0;height:100%;min-height:0}.dashboard-widget-control-placeholder{overflow-wrap:anywhere;background:0 0;border:clamp(1px,min(.8cqw,.8cqh),3px) solid;border-radius:clamp(8px,min(4cqw,4cqh),18px);place-items:center;padding:clamp(6px,min(3cqw,6cqh),18px);font-size:clamp(12px,min(8cqw,14cqh),64px);font-weight:700;line-height:1.15;display:grid}.dashboard-widget-action-control{justify-content:stretch;align-items:stretch;padding:0;display:flex;overflow:visible}.dashboard-widget-action-control-button{box-sizing:border-box;white-space:normal;appearance:none;border-radius:clamp(12px,min(4cqw,4cqh),24px);outline:none;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:clamp(4px,min(2cqw,2cqh),16px);font-family:inherit;line-height:1.1;transition:transform .16s,box-shadow .16s,opacity .16s;display:flex;position:relative;overflow:hidden}.dashboard-widget-action-control-button:not(:disabled):active{transform:translateY(1px)scale(.99)}.dashboard-widget-action-control-content{z-index:1;justify-content:center;align-items:center;gap:clamp(4px,min(1.8cqw,2cqh),14px);min-width:0;max-width:100%;max-height:100%;display:flex;position:relative}.dashboard-widget-action-control-icon{flex:none;font-size:clamp(22px,min(17cqw,58cqh),132px);line-height:1}.dashboard-widget-action-control-label{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;font-size:clamp(20px,min(14cqw,52cqh),112px);font-weight:800;line-height:1.1}.dashboard-widget-action-control-progress{opacity:.75;border:2px solid;border-top-color:#0000;border-radius:50%;width:clamp(12px,min(5cqw,7cqh),34px);height:clamp(12px,min(5cqw,7cqh),34px);animation:.8s linear infinite dashboard-widget-spin;position:absolute;bottom:clamp(6px,min(2.4cqw,3cqh),18px);right:clamp(6px,min(2.4cqw,3cqh),18px)}@keyframes dashboard-widget-spin{to{transform:rotate(360deg)}}.dashboard-widget-toggle-control{justify-content:center;align-items:center;gap:clamp(6px,min(3cqw,3cqh),24px);padding:clamp(4px,min(2cqw,2cqh),14px);display:flex}.dashboard-widget-toggle-control-switch{--toggle-gap:clamp(3px, min(1.2cqw, 1.2cqh), 8px);flex:none;width:clamp(54px,min(34cqw,42cqh),180px);height:clamp(28px,min(17cqw,21cqh),90px);padding:var(--toggle-gap)!important}.dashboard-widget-toggle-control-knob{width:calc(50% - var(--toggle-gap));background:#fff;border-radius:50%;height:100%;transition:transform .2s;display:block;box-shadow:0 2px 8px #00000038}.dashboard-widget-toggle-control-label{overflow-wrap:anywhere;min-width:0;font-size:clamp(12px,min(7cqw,13cqh),72px);line-height:1.1}.dashboard-widget-rpc-control{place-items:center;padding:0;display:grid}.dashboard-widget-rpc-control-surface{width:min(100cqw,100cqh);min-width:0;height:min(100cqw,100cqh);min-height:0}.dashboard-widget-rpc-control-button{border-style:solid;border-width:clamp(4px,min(4cqw,4cqh),18px);place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;font-size:clamp(14px,min(8cqw,14cqh),72px);line-height:1;display:grid;overflow:hidden}.dashboard-widget-frame.is-dragging{cursor:grabbing;z-index:100!important}.dashboard-widget-frame.is-action-button,.dashboard-widget-frame.is-action-button .dashboard-widget-card.ant-card{min-height:0;border-radius:0!important}.dashboard-widget-frame.is-action-button{min-width:0;overflow:visible}.dashboard-widget-frame.is-action-button .dashboard-widget-card.ant-card,.dashboard-widget-frame.is-action-button .dashboard-widget-card.ant-card .ant-card-body{overflow:visible!important}.dashboard-widget-frame.is-edit-mode .dashboard-widget-hover-actions{opacity:1;pointer-events:auto;transition:opacity .16s,transform .16s;transform:translateY(0)}.dashboard-widget-card.ant-card{box-sizing:border-box;cursor:default;width:100%;min-width:0;height:100%;min-height:0;box-shadow:inherit;flex-direction:column;transition:transform .15s,opacity .15s,box-shadow .15s;display:flex;border-radius:var(--widget-radius,0)!important;overflow:visible!important}.dashboard-widget-frame:not(.is-control-widget) .dashboard-widget-card.ant-card,.dashboard-widget-frame:not(.is-control-widget) .dashboard-widget-card.ant-card .ant-card-body{overflow:hidden!important}.dashboard-builder-page.is-edit-mode .dashboard-widget-card{cursor:pointer}.dashboard-widget-card .ant-card-extra{padding:0}.dashboard-widget-runtime-title{z-index:5;box-sizing:border-box;pointer-events:none;flex:none;justify-content:center;align-items:center;width:100%;min-width:0;min-height:clamp(18px,min(6cqw,7cqh),30px);padding:clamp(1px,min(.8cqw,1cqh),4px) clamp(6px,min(3cqw,4cqh),16px);display:flex;position:relative;overflow:hidden}.dashboard-widget-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(11px,min(5cqw,7.5cqh),22px);font-weight:700;line-height:1.15;overflow:hidden}.dashboard-widget-runtime-title.is-timeseries-title{min-height:clamp(24px,min(8cqw,9cqh),38px);padding:clamp(4px,min(2cqw,2cqh),12px) clamp(8px,min(3cqw,4cqh),18px)}.dashboard-widget-runtime-title.is-timeseries-title .dashboard-widget-title-text{font-size:clamp(12px,min(4.5cqw,5.5cqh),22px);font-weight:600}.dashboard-widget-hover-actions .ant-btn{border-radius:10px;justify-content:center;align-items:center;min-width:30px;height:30px;display:inline-flex}.dashboard-widget-view-actions{z-index:6;opacity:0;pointer-events:none;transition:opacity .16s;position:absolute;top:6px;right:6px}.dashboard-widget-frame:hover .dashboard-widget-view-actions,.dashboard-widget-view-actions:focus-within{opacity:1;pointer-events:auto}.dashboard-widget-view-actions .ant-btn{background:#ffffffeb;border-radius:8px;box-shadow:0 1px 4px #0f172a29}.dashboard-widget-card.ant-card .ant-card-head{border-bottom:none;min-height:48px;overflow:hidden;border-top-left-radius:var(--widget-radius,0)!important;border-top-right-radius:var(--widget-radius,0)!important}.dashboard-widget-card.ant-card .ant-card-body{box-sizing:border-box;flex:auto;width:100%;min-width:0;min-height:0;position:relative;overflow:hidden;border-bottom-left-radius:var(--widget-radius,0)!important;border-bottom-right-radius:var(--widget-radius,0)!important;height:100%!important;padding:0!important}.dashboard-widget-card.is-selected{box-shadow:0 0 0 2px #00786559,0 4px 14px #0000003d;border-color:#0b5d3b!important}.dashboard-widget-card.is-dragging{opacity:.55;transform:scale(.985)}.dashboard-widget-drag-handle{color:#8aa096;cursor:grab;letter-spacing:-3px;padding:4px 8px 4px 2px;font-weight:700}.dashboard-widget-resize-handle{right:var(--widget-handle-right,calc((100% - var(--widget-visual-w,100%)) / 2 + 4px));bottom:var(--widget-handle-bottom,calc((100% - var(--widget-visual-h,100%)) / 2 + 4px));z-index:6;cursor:nwse-resize;background:linear-gradient(135deg,#0000 0 50%,#007865b8 50% 62%,#0000 62%),linear-gradient(135deg,#0000 0 68%,#007865b8 68% 80%,#0000 80%),#ffffffd6;border:none;border-radius:6px;width:22px;height:22px;position:absolute;box-shadow:0 1px 5px #00000029}.dashboard-widget-latest-value{flex-direction:column;justify-content:center;align-items:center;gap:clamp(4px,min(2cqw,2cqh),12px);min-width:0;height:100%;min-height:0;display:flex;overflow:auto}.dashboard-widget-latest-value>div:first-child{color:inherit;font-size:clamp(20px,min(13cqw,22cqh),96px);font-weight:800}.dashboard-widget-table{flex-direction:column;gap:clamp(4px,min(2cqw,2cqh),10px);min-width:0;height:100%;min-height:0;font-size:clamp(11px,min(4cqw,7cqh),20px);display:flex;overflow:auto}.dashboard-widget-table>div{border-bottom:1px solid #edf2ef;justify-content:space-between;gap:clamp(6px,min(3cqw,3cqh),16px);padding-bottom:clamp(4px,min(2cqw,2cqh),10px);display:flex}.dashboard-widget-content,.dashboard-widget-chart{box-sizing:border-box;width:100%;min-width:0;height:100%;min-height:0}.dashboard-widget-chart-donut{position:relative}.dashboard-widget-donut-center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.dashboard-widget-donut-center small{color:#00000073;font-size:clamp(9px,min(3.6cqw,5cqh),15px)}.dashboard-widget-donut-center strong{color:#000000de;font-size:clamp(13px,min(7cqw,11cqh),34px);font-weight:600}.dashboard-widget-donut-legend{color:#000000b8;pointer-events:none;flex-direction:column;gap:clamp(3px,1.6cqh,10px);max-width:44%;font-size:clamp(9px,min(3.8cqw,5.5cqh),16px);display:flex;position:absolute;top:50%;right:clamp(4px,2cqw,14px);transform:translateY(-50%)}.dashboard-widget-donut-legend>span{white-space:nowrap;align-items:center;gap:6px;display:flex}.dashboard-widget-donut-legend i{border-radius:50%;flex:none;width:clamp(6px,2cqw,11px);height:clamp(6px,2cqw,11px)}.dashboard-widget-donut-legend b{margin-left:2px;font-weight:600}.dashboard-widget-radar{--radar-legend-height:clamp(20px, 9cqh, 40px);position:relative}.dashboard-widget-radar-plot{inset:0 0 var(--radar-legend-height) 0;min-width:0;min-height:0;position:absolute}.dashboard-widget-radar-legend{height:var(--radar-legend-height);color:#000000b3;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(4px,2cqw,16px);font-size:clamp(9px,min(3.6cqw,5cqh),15px);line-height:1.25;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.dashboard-widget-radar-legend>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.dashboard-widget-radar-legend i{border-radius:50%;flex:none;width:clamp(6px,2cqw,11px);height:clamp(6px,2cqw,11px)}.dashboard-widget-radar-legend em{text-overflow:ellipsis;max-width:40cqw;font-style:normal;overflow:hidden}.dashboard-widget-radar-legend b{color:#000000de;font-weight:600}.dashboard-timeseries-chart{box-sizing:border-box;flex-direction:column;gap:clamp(3px,min(1.5cqw,1.5cqh),8px);width:100%;min-width:0;height:100%;min-height:0;display:flex}.dashboard-timeseries-summary{flex-wrap:wrap;flex:none;gap:clamp(4px,min(2cqw,2cqh),12px);padding:clamp(2px,min(1.5cqw,1.5cqh),8px) clamp(4px,min(2cqw,2cqh),12px) 0;display:flex}.dashboard-timeseries-series{flex:min(100%,180px);justify-content:space-between;align-items:center;gap:clamp(6px,min(2cqw,2cqh),14px);min-width:0;display:flex}.dashboard-timeseries-legend{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:clamp(4px,min(1.5cqw,1.5cqh),8px);min-width:0;font-size:clamp(11px,min(4cqw,5cqh),18px);display:inline-flex;overflow:hidden}.dashboard-timeseries-legend i{border-radius:50%;flex:none;width:clamp(7px,min(2.5cqw,3cqh),12px);height:clamp(7px,min(2.5cqw,3cqh),12px)}.dashboard-timeseries-average{flex-direction:column;flex:none;align-items:flex-end;line-height:1.15;display:flex}.dashboard-timeseries-average small{color:#8c8c8c;font-size:clamp(9px,min(3cqw,4cqh),14px)}.dashboard-timeseries-average strong{font-size:clamp(11px,min(3.8cqw,5cqh),18px)}.dashboard-timeseries-plot{flex:auto;min-width:0;min-height:0}.dashboard-widget-display-anchor{flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%;min-width:0;height:100%;min-height:0;margin:0;padding:0;display:flex;position:relative}.dashboard-widget-display-surface{overflow:hidden}.dashboard-widget-render-area{flex:auto;place-items:center;width:100%;min-width:0;height:auto;min-height:0;margin:0;padding:0;display:grid;position:relative}.dashboard-widget-has-title .dashboard-widget-render-area{padding:0}.dashboard-widget-render-area>*{min-width:0;min-height:0}.dashboard-widget-content{text-align:center;font-size:var(--widget-text-size);place-content:center;place-items:center;margin:0;padding:0;display:grid;overflow:auto}.dashboard-widget-content .ant-typography,.dashboard-widget-content .anticon{font-size:inherit}.dashboard-widget-content .anticon{line-height:1;font-size:var(--widget-icon-size)}.dashboard-widget-date-time{gap:clamp(4px,min(2cqw,2cqh),12px)}.dashboard-widget-date-time strong{font-size:clamp(18px,min(12cqw,20cqh),88px);line-height:1}.dashboard-widget-date-time span{font-size:clamp(11px,min(5cqw,8cqh),28px)}.dashboard-widget-attribute-input,.dashboard-widget-progress,.dashboard-widget-value-chart{text-align:left;flex-direction:column;justify-content:center;align-items:stretch;gap:clamp(6px,min(3cqw,3cqh),14px);display:flex}.dashboard-widget-attribute-input .ant-input,.dashboard-widget-attribute-input .ant-btn{min-height:clamp(28px,min(12cqw,16cqh),48px);font-size:clamp(11px,min(4cqw,7cqh),18px)}.dashboard-widget-digital-gauge{gap:clamp(3px,min(1.5cqw,1.5cqh),10px)}.dashboard-widget-digital-gauge>strong{font-size:clamp(20px,min(15cqw,24cqh),96px);line-height:1}.dashboard-widget-status{gap:clamp(6px,min(3cqw,3cqh),14px)}.dashboard-widget-lamp{background:radial-gradient(circle at 34% 27%, #ffffffeb 0%, #ffffff47 24%, transparent 44%), radial-gradient(circle at 50% 58%, var(--lamp-color) 0%, var(--lamp-color) 58%, #0003 100%);width:clamp(24px,min(42cqw,42cqh),120px);height:clamp(24px,min(42cqw,42cqh),120px);box-shadow:0 0 0 clamp(3px, 2.4cqw, 10px) var(--lamp-glow), 0 0 clamp(10px, 9cqw, 44px) clamp(2px, 2cqw, 12px) var(--lamp-halo), inset 0 -4px 10px #0003;border-radius:50%;flex:none}.dashboard-widget-status strong{font-size:clamp(12px,min(7cqw,10cqh),34px);font-weight:600;line-height:1.2}.dashboard-widget-tank-wave{animation:7s linear infinite gq-tank-wave}.dashboard-widget-tank-meniscus{transform-box:fill-box;transform-origin:50%;animation:4.5s ease-in-out infinite gq-tank-meniscus}@keyframes gq-tank-wave{0%{transform:translate(0)}to{transform:translate(-120px)}}@keyframes gq-tank-meniscus{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.22)}}@media (prefers-reduced-motion:reduce){.dashboard-widget-tank-wave,.dashboard-widget-tank-meniscus{animation:none}}.dashboard-widget-status strong,.dashboard-widget-progress,.dashboard-widget-map{font-size:clamp(11px,min(4cqw,7cqh),20px)}.dashboard-widget-value-chart-value{flex:none;font-size:clamp(16px,min(8cqw,13cqh),52px);font-weight:700;line-height:1.15}.dashboard-widget-value-chart>div:last-child{min-height:0}@media (width<=1280px){.dashboard-builder-shell{grid-template-columns:minmax(0,1fr)}.dashboard-builder-toolbar-meta{display:none}}@media (width<=900px){.dashboard-builder-page{width:100%;height:100%;margin:0}.dashboard-builder-shell{grid-template-columns:1fr}.dashboard-builder-palette .ant-card-body,.dashboard-builder-inspector .ant-card-body{max-height:none}.dashboard-builder-titlebar{min-height:auto;padding:8px 10px}.dashboard-builder-breadcrumb{display:none}}.dashboard-widget-inspector .ant-drawer-content-wrapper{max-width:100vw;width:clamp(520px,30vw,760px)!important}.dashboard-widget-inspector .dashboard-compact-color-field{min-width:0;display:flex}.dashboard-widget-library-loading{place-items:center;min-height:260px;display:grid}.dashboard-widget-inspector .dashboard-compact-color-control{color:#1c3025;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #e3e8e5;border-radius:7px;align-items:center;gap:8px;width:100%;min-height:36px;padding:5px 8px;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.dashboard-widget-inspector .dashboard-compact-color-control:hover{border-color:#78ae95}.dashboard-widget-inspector .dashboard-compact-field{min-width:0;display:flex}.dashboard-widget-inspector .dashboard-compact-field-control{box-sizing:border-box;background:#fff;border:1px solid #e3e8e5;border-radius:7px;align-items:center;gap:8px;width:100%;min-height:36px;padding:5px 8px;display:flex}.dashboard-widget-inspector .dashboard-compact-field-label{color:#1c3025;flex:auto;min-width:0;font-size:13px;font-weight:600;line-height:1.2}.dashboard-widget-inspector .dashboard-compact-field-control>.ant-select,.dashboard-widget-inspector .dashboard-compact-field-control>.ant-input-number,.dashboard-widget-inspector .dashboard-compact-field-control>.ant-input,.dashboard-widget-inspector .dashboard-compact-field-control>.ant-space-compact{flex:0 56%;min-width:94px}.dashboard-widget-inspector .dashboard-compact-field-control>.ant-input-number{width:56%!important}.dashboard-widget-inspector .dashboard-compact-size-field .dashboard-compact-field-label{flex:0 140px}.dashboard-widget-inspector .dashboard-compact-size-pair{background:#fff;border:1px solid #d9d9d9;border-radius:7px;flex:230px;grid-template-columns:auto minmax(58px,1fr) auto minmax(58px,1fr);align-items:stretch;min-width:0;display:grid;overflow:hidden}.dashboard-widget-inspector .dashboard-compact-size-pair>span{color:#1c3025;border-right:1px solid #d9d9d9;place-items:center;min-width:30px;padding:0 7px;font-size:13px;font-weight:700;display:grid}.dashboard-widget-inspector .dashboard-compact-size-pair .ant-input-number{min-width:0;box-shadow:none;border:0;border-radius:0;width:100%!important}.dashboard-widget-inspector .dashboard-compact-size-pair .ant-input-number:first-of-type{border-right:1px solid #d9d9d9}.dashboard-widget-inspector .dashboard-compact-size-field .dashboard-compact-field-control{flex-wrap:wrap}.system-widget-dashboard-preview{background:#f5f7f6;border:1px solid #e3e8e5;border-radius:12px;min-height:0;padding:12px}.system-widget-preview-frame{background:#fff;border:1px solid #d9d9d9;border-radius:16px;margin:0;position:relative;overflow:hidden;box-shadow:0 4px 14px #10231b1f}.system-widget-preview-frame .dashboard-widget-display-anchor{width:100%;height:100%}.system-resources-detail-page{width:100%;max-width:none;height:100%;min-height:0;padding:0;overflow:hidden}.system-resources-page{width:100%;height:100%;min-height:0;padding:0;overflow:hidden}.system-resources-page-card{width:100%;height:100%;min-height:0;box-shadow:none;border:0;border-radius:0}.system-resources-page-card .ant-card-head{min-height:0;padding:12px 16px 0}.system-resources-page-card .ant-card-head-title{padding:0}.system-resources-page-card .ant-card-body{padding:12px 16px 16px}.system-resources-page-card .ant-table-wrapper .ant-table-thead>tr>th,.system-resources-page-card .ant-table-wrapper .ant-table-tbody>tr>td{padding:10px 12px}.system-resources-page-card .ant-table-pagination{margin:10px 0 0}.system-image-gallery-pagination{justify-content:center;margin-top:12px;display:flex}.system-resources-detail-card{border:0;border-radius:0;width:100%;height:100%;min-height:0;overflow:hidden}.system-resources-detail-card .ant-card-body{box-sizing:border-box;height:100%;min-height:0;overflow:hidden;padding:12px 16px!important}.system-resources-detail-content{height:100%;min-height:0}.system-widget-preview-canvas{box-sizing:border-box;background-color:#f8faf9;background-image:radial-gradient(#d9e5de 1px,#0000 1px);background-size:16px 16px;border:1px solid #d7e3dc;border-radius:10px;justify-content:center;align-items:center;width:100%;height:clamp(280px,100vh - 340px,620px);min-height:0;padding:54px 24px 24px;display:flex;position:relative;overflow:hidden}.system-widget-preview-toolbar{z-index:2;background:#fffffff0;border:1px solid #d7e3dc;border-radius:8px;align-items:center;gap:8px;padding:4px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #10231b1a}.system-widget-preview-size-inputs .ant-input-number{width:76px}.system-widget-preview-frame[style*=resize]{min-width:160px;max-width:100%;min-height:80px;max-height:100%}.system-widget-preview-frame.is-square-preview{aspect-ratio:1}.system-widget-preview-frame.is-square-preview[style*=resize]{min-width:80px}.dashboard-widget-inspector .dashboard-widget-title-field{margin-bottom:12px}.dashboard-widget-inspector .dashboard-compact-switch-field{min-width:0;display:flex}.dashboard-widget-inspector .dashboard-compact-switch-control{color:#1c3025;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #e3e8e5;border-radius:7px;align-items:center;gap:8px;width:100%;min-height:36px;padding:5px 8px;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.dashboard-widget-inspector .dashboard-compact-switch-control:hover{border-color:#78ae95}.dashboard-widget-inspector .dashboard-compact-color-control input[type=color]{cursor:pointer;background:0 0;border:1px solid #14251c4d;border-radius:4px;flex:0 0 22px;width:22px;height:22px;padding:0}.dashboard-widget-inspector .dashboard-inspector-fields>.ant-col{min-width:0}.dashboard-widget-inspector .dashboard-inspector-property-groups{gap:12px;display:grid}.dashboard-widget-inspector .dashboard-inspector-property-group{box-shadow:none;border-color:#e3e8e5;border-radius:9px}.dashboard-widget-inspector .dashboard-inspector-property-group .ant-card-head{border-bottom-color:#edf1ee;min-height:38px;padding:0 10px}.dashboard-widget-inspector .dashboard-inspector-property-group .ant-card-head-title{padding:8px 0;font-size:13px;font-weight:700}.dashboard-widget-inspector .dashboard-inspector-property-group .ant-card-body{padding:10px}.dashboard-widget-inspector .dashboard-code-editor{background:#fff;border:1px solid #d9d9d9;border-radius:6px;transition:border-color .2s;overflow:hidden}.dashboard-widget-inspector .dashboard-code-editor:focus-within{border-color:#0b5d3b;box-shadow:0 0 0 2px #0b5d3b1f}.dashboard-widget-inspector .dashboard-code-editor .cm-editor{height:100%}.dashboard-widget-inspector .dashboard-code-editor .cm-scroller{overflow:auto}.dashboard-widget-inspector .dashboard-code-editor-loading{justify-content:center;align-items:center;display:flex}.dashboard-widget-inspector .dashboard-code-editor-issues{margin-top:10px}.dashboard-widget-inspector .dashboard-code-editor-issues ul{margin:0;padding-left:18px}.dashboard-widget-inspector .dashboard-widget-inspector-actions{z-index:3;background:#fff;border-bottom:1px solid #edf1ee;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:-8px -4px 12px;padding:8px 4px;display:flex;position:sticky;top:0}.dashboard-widget-preview-shell{flex-direction:column;gap:10px;display:flex}.dashboard-widget-preview-stage-scroll{background-color:#fafbfa;border:1px solid #e3e8e5;border-radius:9px;max-height:60vh;padding:12px;overflow:auto}.dashboard-widget-preview-stage{background:#fff;border:1px solid #e3e8e5;margin:0 auto;position:relative;overflow:hidden}.dashboard-html-preview-frame{background-color:#fff;background-image:linear-gradient(45deg,#f5f7f6 25%,#0000 25%),linear-gradient(-45deg,#f5f7f6 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#f5f7f6 75%),linear-gradient(-45deg,#0000 75%,#f5f7f6 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;border:1px solid #e3e8e5;border-radius:9px;height:360px;margin-top:10px;padding:8px}@media (width<=640px){.dashboard-widget-inspector .ant-drawer-content-wrapper{width:100vw!important}}.ant-layout-sider{height:100vh;position:sticky;top:0;overflow:hidden}.ant-layout-sider .ant-layout-sider-children{flex-direction:column;height:100%;min-height:0;display:flex}.ant-layout-sider .ant-menu{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff59 transparent;flex:auto;min-height:0;padding-bottom:56px;overflow-y:auto}.ant-layout-sider .ant-menu::-webkit-scrollbar{width:6px}.ant-layout-sider .ant-menu::-webkit-scrollbar-track{background:0 0}.ant-layout-sider .ant-menu::-webkit-scrollbar-thumb{background-color:#ffffff47;border-radius:3px}.ant-layout-sider .ant-menu::-webkit-scrollbar-thumb:hover{background-color:#ffffff73}@media (height<=800px){.ant-layout-sider .ant-menu-item,.ant-layout-sider .ant-menu-submenu-title{height:38px!important;margin-top:2px!important;margin-bottom:2px!important;line-height:38px!important}.ant-layout-sider .ant-menu{font-size:13px}}@media (height<=640px){.ant-layout-sider .ant-menu-item,.ant-layout-sider .ant-menu-submenu-title{height:34px!important;line-height:34px!important}}.device-detail-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.device-detail-actions>*{flex:190px;min-width:0}.device-detail-actions .ant-btn{white-space:normal;width:100%;height:auto;min-height:32px;padding-block:4px;line-height:20px}@media (width<=480px){.device-detail-actions>*{flex-basis:100%}}.device-detail-tabs .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping])>.ant-tabs-nav-list{width:100%}.device-detail-tabs .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]) .ant-tabs-tab{flex:1 0 auto;justify-content:center}.account-page{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);align-items:start;gap:16px;max-width:1180px;margin:24px auto 0;display:grid}.account-page-column{gap:16px;min-width:0;display:grid}@media (width<=1100px){.account-page{grid-template-columns:minmax(0,1fr)}}.public-dashboard-page{background:#f5f7fa;flex-direction:column;min-height:100vh;display:flex}.public-dashboard-page.is-centered{justify-content:center;align-items:center;padding:24px}.public-dashboard-error{text-align:center;background:#fff;border-radius:12px;max-width:520px;padding:32px;box-shadow:0 6px 24px #0f172a14}.public-dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.public-dashboard-identity{align-items:center;gap:10px;min-width:0;display:flex}.public-dashboard-actions{align-items:center;gap:10px;display:flex}.public-dashboard-banner{margin:12px 16px 0}.public-dashboard-canvas{flex:1;min-width:0;padding:12px 16px 24px}html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}
