*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#17233d;background:#f3f6fb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif}.app-shell{min-height:100vh}.app-sider{z-index:10;inset:0 auto 0 0;overflow:hidden;background:linear-gradient(#0b1739 0%,#071026 100%)!important;position:fixed!important}.app-sider .ant-layout-sider-children{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.app-menu{flex:1;min-height:0;overflow:hidden auto}.sider-mask{z-index:9;background:#0710266b;border:0;position:fixed;inset:0}.brand{color:#fff;white-space:nowrap;align-items:center;gap:12px;height:64px;padding:0 20px;font-size:17px;font-weight:700;display:flex;overflow:hidden}.brand-mark,.login-logo{color:#fff;background:linear-gradient(135deg,#4d93ff,#2852d8);border-radius:11px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;box-shadow:0 6px 18px #2d68ff5c}.collapse-btn{text-align:left;flex:none;width:calc(100% - 24px);height:40px;margin:12px;color:#ffffffb8!important}.app-header{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #e8edf5;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.nav-toggle{display:none}.app-content{min-height:calc(100vh - 64px);padding:24px}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.page-heading h3{margin:0 0 4px!important}.filter-card{margin-bottom:16px}.filter-card .ant-card-body{padding:16px}.tag-wrap{flex-wrap:wrap;gap:4px;display:flex}.tag-wrap .ant-tag{margin:0}.positive{color:#168754;font-weight:600}.negative{color:#d33b43;font-weight:600}.json-editor{font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.json-preview{color:#26344d;white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8fc;border:1px solid #e1e9f7;border-radius:10px;margin:0;padding:16px;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:auto}.participant-detail{flex-direction:column;gap:14px;display:flex}.participant-detail-heading{margin-bottom:24px}.participant-detail-heading h3{margin-top:8px!important}.participant-back{height:auto;padding:0}.participant-stage{background:#fff;border:1px solid #dbe4f2;border-radius:14px;margin-top:10px;padding:24px;box-shadow:0 8px 24px #2038600d}.participant-stage-heading{border-bottom:1px solid #e8edf5;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.participant-stage-heading h3{margin:0 0 4px!important}.participant-stage-heading .ant-tag{margin:0}.participant-section+.participant-section{border-top:1px solid #e8edf5;margin-top:28px;padding-top:24px}.participant-section-heading{margin-bottom:14px}.participant-section-heading h4{margin:0 0 2px!important}.participant-card{margin-bottom:14px}.participant-section>.participant-card:last-child{margin-bottom:0}.chest-progress-card .ant-card-body{padding:24px}.chest-progress-steps{padding:6px 4px 18px;overflow-x:auto}.chest-progress-steps .ant-steps{min-width:780px}.chest-progress-steps .ant-steps-item-title{padding-inline-end:12px}.chest-progress-steps .ant-steps-item-description{padding-top:5px}.chest-progress-steps .ant-steps-item-process .ant-steps-item-icon{box-shadow:0 0 0 5px #1677ff1f}.chest-progress-steps .ant-steps-item-finish .ant-steps-item-icon{color:#168754;background:#effaf5;border-color:#168754}.chest-progress-steps .ant-steps-item-finish .ant-steps-item-tail:after{background-color:#7bc5a5}.chest-progress-steps .ant-steps-item-wait{opacity:.58}.chest-progress-steps .ant-steps-item-wait .ant-steps-item-icon{color:#8994a6;background:#f2f4f7;border-color:#c9d0dc}.chest-stage-title{color:#17233d;flex-direction:column;gap:2px;line-height:1.35;display:flex}.chest-stage-title small{color:#8a96a8;font-size:12px;font-weight:400}.chest-stage-locked{color:#8a96a8}.chest-current-progress{background:linear-gradient(135deg,#f5f9ff 0%,#fbfdff 100%);border:1px solid #d9e7ff;border-radius:12px;margin-top:6px;padding:18px 20px}.chest-current-progress.is-complete{background:linear-gradient(135deg,#f2fbf7 0%,#fbfefc 100%);border-color:#ccebdc}.chest-current-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px;display:flex}.chest-current-heading h5{margin:2px 0 0!important}.chest-current-percent{color:#1677ff;font-size:22px;line-height:1.2}.chest-current-progress.is-complete .chest-current-percent{color:#168754}.chest-progress-meta{color:#6f7b8f;flex-wrap:wrap;gap:8px 28px;margin-top:10px;font-size:13px;display:flex}.chest-progress-meta span{gap:6px;display:inline-flex}.chest-progress-meta strong{color:#27354d;font-weight:600}.participant-raw{margin-top:14px}.participant-raw summary{cursor:pointer;color:#275cc6}.participant-raw .json-preview{margin-top:8px}.page-loading{place-items:center;min-height:55vh;display:grid}.switch-grid{grid-template-columns:repeat(4,minmax(100px,1fr));gap:0 12px;display:grid}.config-row-list{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.config-row-list>.ant-card{background:#f8faff;border-color:#e1e9f7}.login-page{background:radial-gradient(circle at 20% 15%,#387cff33,#0000 35%),linear-gradient(145deg,#081329,#10275b);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(420px,100%);padding:18px;box-shadow:0 24px 60px #00000047}.login-logo{width:52px;height:52px;margin-bottom:16px;font-size:24px}.ant-table-row{transition:background .15s}@media (width<=991px){.nav-toggle{display:inline-flex}}@media (width<=768px){.app-content{padding:16px}.app-header{padding:0 10px}.app-header h4{font-size:16px}.app-header .ant-tag,.profile-name{display:none}.page-heading{flex-direction:column}.participant-stage{padding:16px}.participant-stage-heading{align-items:flex-start}.chest-progress-card .ant-card-body{padding:18px 16px}.chest-current-heading{align-items:flex-start}.chest-current-percent{font-size:18px}.chest-progress-meta{flex-direction:column;gap:5px}.switch-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}}
