html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-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;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}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{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}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{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}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{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[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{padding:.2em;background-color:#feffe6}:root{--dhos-primary: #1677ff;--dhos-primary-active: #0958d9;--dhos-bg-layout: #f5f5f5;--dhos-bg-container: #ffffff;--dhos-bg-container-secondary: #fafafa;--dhos-text: rgba(0, 0, 0, .88);--dhos-text-secondary: rgba(0, 0, 0, .65);--dhos-text-tertiary: rgba(0, 0, 0, .45);--dhos-border: #d9d9d9;--dhos-border-secondary: #f0f0f0;--dhos-bg: var(--dhos-bg-layout);--dhos-card: var(--dhos-bg-container);--dhos-accent: var(--dhos-primary);--dhos-accent-cyan: #13c2c2}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--dhos-bg-layout);color:var(--dhos-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}.glass-card{border:1px solid var(--dhos-border-secondary);border-radius:8px;background:var(--dhos-bg-container)}.metric-card{padding:24px}.metric-card .metric-label{color:var(--dhos-text-secondary);font-size:14px}.metric-card .metric-value{margin-top:8px;color:var(--dhos-text);font-size:30px;font-weight:600;line-height:38px}.external-config-page{width:100%;color:#172033}.external-config-page .page-header{padding:6px 2px 18px}.external-config-page .page-header>.ant-row{width:100%}.external-config-page .page-header h1{margin:0;color:#111827;font-size:26px;line-height:1.3;letter-spacing:0}.external-config-page .page-header p{margin:6px 0 0;color:#64748b}.external-config-page .header-actions,.external-config-page .scope-identity,.external-config-page .scope-metrics,.external-config-page .scope-metrics span{display:flex;align-items:center}.external-config-page .header-actions{justify-content:flex-end;flex-wrap:wrap;gap:12px}.external-config-page .scope-card{border:1px solid #dbe4ee;border-radius:8px;background:#ffffffe6}.external-config-page .scope-card .ant-card-body{padding:12px 16px}.external-config-page .scope-identity{min-width:0;gap:9px;color:#334155;font-weight:600}.external-config-page .scope-metrics{gap:10px 22px;color:#64748b;font-size:13px}.external-config-page .scope-metrics span{gap:7px;white-space:nowrap}.external-config-page .metric-dot{width:7px;height:7px;border-radius:50%}.external-config-page .metric-dot--active{background:#22c55e}.external-config-page .metric-dot--credential{background:#0ea5e9}.external-config-page .inheritance-alert{margin-top:12px}.external-config-page .config-workspace{min-height:560px;margin-top:16px;overflow:hidden;border:1px solid #dbe4ee;border-radius:8px;background:#fff;box-shadow:0 8px 24px #1e293b0d}.external-config-page .workspace-row,.external-config-page .config-panel{min-height:560px}.external-config-page .provider-column{border-right:1px solid #e2e8f0;background:#f8fafc}.external-config-page .provider-nav{padding:14px 10px}.external-config-page .provider-nav__heading{display:flex;height:36px;align-items:center;justify-content:space-between;padding:0 12px;color:#64748b;font-size:12px;font-weight:600}.external-config-page .provider-menu{border-inline-end:0!important;background:transparent}.external-config-page .provider-menu .ant-menu-item{position:relative;height:44px;margin:4px 0;padding-inline:14px!important;border-radius:6px}.external-config-page .provider-menu .ant-menu-item-selected{color:#1d4ed8;font-weight:600;background:#eaf2ff}.external-config-page .menu-status{position:absolute;right:14px;top:50%;display:inline-flex;align-items:center;line-height:1;transform:translateY(-50%)}.external-config-page .config-panel{display:flex;min-width:0;flex-direction:column;padding:28px 32px 0}.external-config-page .panel-heading,.external-config-page .panel-title-row,.external-config-page .enable-control,.external-config-page .credential-heading,.external-config-page .credential-heading>div,.external-config-page .save-bar,.external-config-page .save-state{display:flex;align-items:center}.external-config-page .panel-heading{align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #e8edf3}.external-config-page .panel-title-row{flex-wrap:wrap;gap:8px}.external-config-page .panel-title-row h2{margin:0 4px 0 0;color:#0f172a;font-size:21px;letter-spacing:0}.external-config-page .panel-heading p{margin:7px 0 0;color:#64748b}.external-config-page .enable-control{flex:0 0 auto;gap:10px;color:#475569;font-size:13px;font-weight:600}.external-config-page .provider-form{width:100%;max-width:920px;flex:1;padding:24px 0 30px}.external-config-page .form-grid{display:grid;max-width:720px;grid-template-columns:minmax(0,1fr);gap:0 22px}.external-config-page .form-grid--two{max-width:920px;grid-template-columns:repeat(2,minmax(0,1fr))}.external-config-page .provider-form .ant-input-number{width:100%}.external-config-page .credential-section{max-width:920px;margin-top:8px;padding:18px;border:1px solid #dbe4ee;border-radius:8px;background:#f8fafc}.external-config-page .credential-heading{justify-content:space-between;gap:12px;margin-bottom:13px}.external-config-page .credential-heading>div,.external-config-page .save-state{gap:8px}.external-config-page .save-bar{position:sticky;bottom:0;min-height:70px;justify-content:space-between;gap:16px;margin:auto -32px 0;padding:14px 32px;border-top:1px solid #dbe4ee;background:#fffffff5}.external-config-page .save-state{color:#64748b;font-size:13px}@media (max-width: 760px){.external-config-page .workspace-row{flex-direction:column!important}.external-config-page .provider-column{width:100%;max-width:100%;flex:0 0 auto!important;border-right:0;border-bottom:1px solid #e2e8f0}.external-config-page .provider-nav{padding:8px}.external-config-page .provider-nav__heading{display:none}.external-config-page .provider-menu{display:grid;grid-template-columns:repeat(5,minmax(138px,1fr));overflow-x:auto}.external-config-page .provider-menu .ant-menu-item{width:auto;margin:0 2px}.external-config-page .config-panel{padding:22px 18px 0}.external-config-page .form-grid--two{grid-template-columns:1fr}.external-config-page .save-bar{align-items:stretch;flex-direction:column;margin-right:-18px;margin-left:-18px;padding:14px 18px}}:root{--dhos-primary-hover: #4096ff;--dhos-success: #52c41a;--dhos-warning: #faad14;--dhos-error: #ff4d4f;--dhos-info-bg: #e6f4ff;--dhos-success-bg: #f6ffed;--dhos-warning-bg: #fffbe6;--dhos-error-bg: #fff2f0;--dhos-focus-ring: rgba(22, 119, 255, .16);--dhos-motion-fast: .1s;--dhos-motion-mid: .2s}body{line-height:1.5715}button,input,textarea,select{font:inherit}#app :where(h1,h2,h3,h4,p){letter-spacing:0}#app :where(h1,h2,h3,h4,strong,b){font-weight:600}#app :where(.glass-card,.ant-card){border:1px solid var(--dhos-border-secondary);border-radius:8px;background:var(--dhos-bg-container);box-shadow:none}#app .ant-card-bordered{border-color:var(--dhos-border-secondary)}#app .ant-card-head{min-height:56px;border-bottom-color:var(--dhos-border-secondary)}#app .ant-card-head-title{color:var(--dhos-text);font-size:16px;font-weight:600}#app .page-title-card>.ant-card-head .ant-card-head-title,#app .page-title{color:var(--dhos-text);font-size:24px;font-weight:600;line-height:32px}#app .page-title-card>.ant-card-head .ant-card-head-title small{line-height:20px}#app .ant-btn{box-shadow:none;font-weight:400;transition-duration:var(--dhos-motion-fast)}#app .ant-tag{border-radius:4px;font-size:12px}#app .ant-alert{border-radius:8px}#app .ant-empty{margin-block:32px}#app .ant-btn:focus-visible,#app :where(.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,.ant-input-number):focus-visible{outline:2px solid var(--dhos-focus-ring);outline-offset:1px}#app .ant-table-wrapper{min-width:0;overflow-x:auto}#app .ant-table-wrapper .ant-table{color:var(--dhos-text);background:var(--dhos-bg-container)}#app .ant-table-wrapper .ant-table-thead>tr>th{border-bottom-color:var(--dhos-border-secondary);background:var(--dhos-bg-container-secondary);color:var(--dhos-text);font-weight:600}#app .ant-table-wrapper .ant-table-tbody>tr>td{border-bottom-color:var(--dhos-border-secondary)}#app .ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--dhos-bg-container-secondary)}#app :where(.toolbar,.filters,.detail-toolbar){display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:12px 16px;border:1px solid var(--dhos-border-secondary);border-radius:6px;background:var(--dhos-bg-container-secondary)}#app :where(.toolbar,.filters,.detail-toolbar) .ant-space{width:100%;min-width:0;flex-wrap:wrap;margin-bottom:0!important}#app .page-heading{position:relative;display:flex;min-height:0;min-width:0;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;margin-bottom:16px;padding:24px;overflow:visible;border:1px solid var(--dhos-border-secondary);border-radius:8px;color:var(--dhos-text);background:var(--dhos-bg-container);box-shadow:none}#app .page-heading:before{display:none}#app .page-heading>.filters{margin:0;padding:0;border:0;background:transparent}#app .page-heading>div{min-width:0}#app .page-heading h1{margin:4px 0;color:var(--dhos-text);font-size:24px;font-weight:600;line-height:32px}#app .page-heading h1+p,#app .page-heading>div>p{max-width:650px;margin:0;color:var(--dhos-text-secondary);line-height:22px;overflow-wrap:anywhere}#app .page-heading :where(.eyebrow,.kicker){color:var(--dhos-primary);font-size:11px;font-weight:600;letter-spacing:0}#app :where(.page-header,.page-heading,.dashboard-header) h1{margin:0;color:var(--dhos-text);font-size:24px;line-height:32px}#app :where(.section-head,.section-heading,.panel-heading) h2,#app .section-title{margin:0;color:var(--dhos-text);font-size:16px;font-weight:600;line-height:24px}#app :where(.page-header,.page-heading,.dashboard-header,.section-heading,.panel-heading) p,#app :where(.page-header,.page-heading,.dashboard-header,.section-heading,.panel-heading) span:not(.anticon){color:var(--dhos-text-secondary)}#app :where(.eyebrow,.panel-kicker,.kicker){color:var(--dhos-primary);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}#app :where(.muted,.field-hint,.form-tip,.hint){color:var(--dhos-text-tertiary);font-size:12px}#app .ant-form-item-label>label{color:var(--dhos-text);font-weight:400}#app :where(.ant-modal-content,.ant-drawer-content,.ant-popover-inner,.ant-dropdown-menu){border-radius:8px}#app .ant-modal-content,#app .ant-drawer-content,#app .ant-popover-inner,#app .ant-dropdown-menu{box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d}#app .dashboard-page{gap:16px}#app .dashboard-header:not(.page-heading){align-items:center;padding:0 0 8px}#app .dashboard-header:not(.page-heading) p{margin-top:4px}#app .metric-grid{gap:16px}#app .metric-panel{padding:16px;border:1px solid var(--dhos-border-secondary);border-radius:8px;background:var(--dhos-bg-container);box-shadow:none}#app .metric-icon{border-radius:6px}#app .metric-value{color:var(--dhos-text);font-size:24px;font-weight:600;line-height:32px}#app .metric-label,#app .metric-note{color:var(--dhos-text-secondary)}#app .panel{padding:24px}#app :where(.asset-page,.audit-page,.security-page,.infrastructure-page,.reports-page,.external-receipts-page){display:flex;min-width:0;flex-direction:column;gap:16px}#app :where(.dashboard-page,.asset-page,.audit-page,.security-page,.infrastructure-page,.reports-page,.external-config-page,.external-receipts-page,.ranking-page)>.page-heading{margin-bottom:0}#app :where(.orders-page,.members-page,.member-cards-page,.stores-page,.product-page,.categories-page,.wheel-prizes-page,.coupon-templates-page,.banners-page,.tournaments-page,.printers-page,.audit-page,.asset-page,.infrastructure-page){width:100%;max-width:100%;min-width:0;padding:0}#app :where(.orders-page,.members-page,.product-page,.categories-page,.wheel-prizes-page,.coupon-templates-page,.banners-page,.tournaments-page,.printers-page,.audit-page)>*{min-width:0;max-width:100%}#app :where(.ranking-toolbar,.ranking-content,.audit-page .filter-deck,.audit-page .ledger-panel,.security-page .manager-strip,.security-page .risk-card,.security-page .response-panel){padding:24px}#app .audit-page .filter-deck{gap:16px}#app :where(.security-page .manager-strip,.security-page .response-panel){gap:24px}#app :where(.asset-page,.infrastructure-page)>:where(.permission-alert,.notice,.scope-panel,.terminal-panel,.rule-panel){margin-block:0}#app :where(.asset-hero,.audit-hero,.security-hero,.terminal-hero,.signin-hero){position:relative;display:flex;min-height:0;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;padding:24px;overflow:visible;border:1px solid var(--dhos-border-secondary);border-radius:8px;background:var(--dhos-bg-container);color:var(--dhos-text);box-shadow:none}#app :where(.asset-hero,.audit-hero,.security-hero,.terminal-hero,.signin-hero):before,#app :where(.asset-hero,.audit-hero,.security-hero,.terminal-hero,.signin-hero):after,#app :where(.asset-orbit,.hero-grid){display:none}#app :where(.asset-hero,.audit-hero,.security-hero,.terminal-hero,.signin-hero) h1{margin:4px 0;color:var(--dhos-text);font-size:24px;line-height:32px}#app :where(.asset-hero,.audit-hero,.security-hero,.terminal-hero,.signin-hero) p{max-width:760px;margin:0;color:var(--dhos-text-secondary);line-height:22px}#app :where(.hero-control,.hero-tools){position:static;padding:0;background:transparent}#app :where(.hero-stats,.hero-metrics){display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:0;padding-top:16px;border-top:1px solid var(--dhos-border-secondary)}#app :where(.hero-stats,.hero-metrics)>div{min-width:0;padding:0 16px;border-right:1px solid var(--dhos-border-secondary)}#app :where(.hero-stats,.hero-metrics)>div:first-child{padding-left:0}#app :where(.hero-stats,.hero-metrics)>div:last-child{border-right:0}#app :where(.hero-stats,.hero-metrics) span{color:var(--dhos-text-secondary);font-size:12px}#app :where(.hero-stats,.hero-metrics) strong{overflow:hidden;color:var(--dhos-text);font-size:20px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}#app .hero-badge{border-color:var(--dhos-border);border-radius:6px;background:var(--dhos-bg-container-secondary);color:var(--dhos-text-secondary)}#app :where(.terminal-panel,.scope-panel,.rule-panel,.manager-strip,.response-panel,.log-panel){padding:24px;border-color:var(--dhos-border-secondary);box-shadow:none}#app :where(.asset-card,.terminal-card,.risk-card,.rule-card,.stat-card,.breakdown-block){border:1px solid var(--dhos-border-secondary);border-radius:8px;background:var(--dhos-bg-container);box-shadow:none}#app .rule-card{padding:0 16px;border:0;border-radius:0;background:transparent}#app .rule-card+.rule-card{border-left:1px solid var(--dhos-border-secondary)}#app :where(.asset-card,.terminal-card,.risk-card,.rule-card):hover{transform:none;box-shadow:none}#app :where(.terminal-card--default,.risk-card.danger){border-color:var(--dhos-primary);box-shadow:inset 3px 0 var(--dhos-primary)}#app .risk-card.danger{border-color:var(--dhos-error);box-shadow:inset 3px 0 var(--dhos-error)}#app :where(.asset-glyph,.terminal-icon,.section-icon,.identity-mark){border-radius:6px;background:var(--dhos-info-bg);color:var(--dhos-primary)}#app :where(.scope-readout,.credential-block>div,.switch-row,.formula-summary,.drawer-intro,.system-active-row){border:1px solid var(--dhos-border-secondary);border-radius:6px;background:var(--dhos-bg-container-secondary)}#app .report-section{padding:24px}#app .overview-cards{gap:16px}#app .stat-card{padding:16px;color:var(--dhos-text)}#app .stat-card:first-child{background:var(--dhos-bg-container);color:var(--dhos-text);box-shadow:none}#app .stat-card:first-child :where(.card-header,.stat-value,.stat-label){color:inherit}#app .stat-value{font-weight:600}#app .audit-hero .audit-icon{color:var(--dhos-primary);opacity:1}#app .audit-filter-panel,#app .audit-table-panel,#app .detail-section{border-color:var(--dhos-border-secondary);border-radius:8px;background:var(--dhos-bg-container);box-shadow:none}#app .snapshot-grid pre{border-radius:6px;background:var(--dhos-bg-container-secondary)}#app .external-config-page .scope-card,#app .external-config-page .config-workspace{border-color:var(--dhos-border-secondary);border-radius:8px;background:var(--dhos-bg-container);box-shadow:none}#app .external-config-page .provider-column,#app .external-config-page .credential-section{background:var(--dhos-bg-container-secondary)}#app .external-config-page .provider-menu .ant-menu-item-selected{color:var(--dhos-primary);background:var(--dhos-info-bg)}#app .satisfaction-view .metrics-grid,#app .satisfaction-view .detail-section{border-color:var(--dhos-border-secondary);border-radius:8px}#app .satisfaction-view .metric-item strong{color:var(--dhos-text);font-size:24px;font-weight:600}#app .satisfaction-view .metric-grid{margin:0 0 16px}#app .catalog-heading h2,#app .ranking-heading h2{color:var(--dhos-text);font-size:24px;line-height:32px;letter-spacing:0}#app .catalog-heading .eyebrow{color:var(--dhos-primary)}#app .product-page .toolbar{padding:12px 16px;border-radius:6px;background:var(--dhos-bg-container-secondary)}#app .login-wrap{min-height:100vh;padding:24px;background:var(--dhos-bg-layout)}#app .login-card{width:min(400px,100%);padding:32px;border-color:var(--dhos-border-secondary);box-shadow:0 1px 2px #0000000d}#app .login-title{color:var(--dhos-text);font-size:20px;font-weight:600}#app .brand-dot{width:10px;height:10px;background:var(--dhos-primary)}#app .login-sub{color:var(--dhos-text-secondary)}#app .captcha-panel{border-color:var(--dhos-border);border-radius:6px;background:var(--dhos-bg-container-secondary)}#app .captcha-refresh{background:transparent;color:var(--dhos-primary)}#app .security-note{border-color:#91caff;border-radius:8px;background:var(--dhos-info-bg);color:var(--dhos-text)}#app .security-note .anticon{color:var(--dhos-primary)}@media (max-width: 1100px){#app .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#app :where(.dashboard-grid-main,.dashboard-grid-secondary){grid-template-columns:minmax(0,1fr)}#app :where(.asset-grid,.terminal-grid,.risk-grid,.settings-grid,.breakdown-grid){grid-template-columns:minmax(0,1fr)}#app .rule-card{padding:0}#app .rule-card+.rule-card{padding-top:24px;border-top:1px solid var(--dhos-border-secondary);border-left:0}}@media (max-width: 760px){#app :where(.dashboard-header,.section-head,.section-heading,.panel-heading,.scope-heading,.manager-strip,.response-panel){align-items:stretch;flex-direction:column}#app .page-heading{align-items:stretch;flex-direction:column;padding:16px}#app .metric-grid{grid-template-columns:minmax(0,1fr)}#app :where(.hero-stats,.hero-metrics){grid-template-columns:minmax(0,1fr);gap:12px}#app :where(.hero-stats,.hero-metrics)>div{padding:0;border-right:0}#app :where(.glass-card,.panel,.report-section,.terminal-panel,.scope-panel,.rule-panel,.manager-strip,.response-panel,.log-panel){padding:16px}#app .ant-card-head{padding-inline:16px}#app .ant-card-body{padding:16px}#app :where(.toolbar,.filters,.detail-toolbar)>*{max-width:100%}#app .login-wrap{padding:16px}#app .login-card{padding:24px}#app .captcha-row{grid-template-columns:minmax(0,1fr)}}
