:root{--ink:#202338;--muted:#85899d;--line:#e9eaf2;--bg:#f6f7fb;--purple:#7561e9;--purple-soft:#efecff;--green:#1c9974;--red:#d14b62;--amber:#b58123;--radius:16px;--shadow:0 5px 24px #25274d05;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px;line-height:1.6}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a{touch-action:manipulation}a{color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}button{border:0;background:none;color:inherit}svg{vertical-align:middle}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible{outline:3px solid #b6aafa;outline-offset:3px}.skip{position:fixed;top:-70px;left:20px;z-index:50;background:#fff;padding:12px}.skip:focus{top:10px}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;justify-items:center;color:var(--muted)}.logo-mark{display:grid;place-items:center;background:var(--purple);color:#fff;border-radius:13px;width:44px;height:44px;font-size:24px;font-weight:800}.brand{display:flex;align-items:center;gap:11px}.brand img{width:38px;height:38px}.brand strong{font-size:20px;letter-spacing:-.7px}.brand small{display:block;color:#a0a2b6;font-size:10px;letter-spacing:2px;line-height:1.2}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;padding:30px 20px;background:#202137;color:#d6d7e6;display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding:0 12px 35px;color:#fff}.nav-caption{font-size:10px;letter-spacing:1.6px;color:#7c7f99;padding:13px 17px 8px}.nav-item{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:12px 16px;margin:3px 0;border-radius:10px;color:#aeb1c9;font-size:13px;transition:background .15s,color .15s}.nav-item:hover{background:#ffffff09;color:#fff}.nav-item.active{background:#7561e9;color:#fff;box-shadow:0 4px 15px #0001}.nav-item .count{margin-left:auto;font-size:11px;background:#ffffff12;padding:0 7px;border-radius:5px}.sidebar-foot{margin-top:auto;padding:20px 14px 0;border-top:1px solid #ffffff0b;font-size:11px;color:#9094ae}.sidebar-foot .dot{margin-right:6px}.sidebar-foot p{margin:6px 0}.shell{margin-left:236px}.topbar{height:76px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:16px}.crumb{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:12px}.crumb strong{font-weight:500;color:#52566e}.top-right{display:flex;align-items:center;gap:18px}.top-right .timezone{font-size:11px;color:var(--muted)}.avatar{width:32px;height:32px;display:grid;place-items:center;background:var(--purple-soft);color:var(--purple);border-radius:50%;font-size:12px;font-weight:700}.user-menu{display:flex;align-items:center;gap:9px;font-size:12px}.user-menu span{max-width:100px;overflow:hidden;text-overflow:ellipsis}.icon-button{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px;color:#8c90a5}.icon-button:hover{background:var(--purple-soft);color:var(--purple)}.menu-button{display:none}.content{max-width:1650px;margin:auto;padding:31px 36px 36px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--purple);margin-bottom:6px}.page-heading h1{margin:0;font-size:25px;font-weight:650;letter-spacing:-.6px;line-height:1.4}.page-heading p{margin:6px 0 0;color:var(--muted);font-size:12px}.heading-actions{display:flex;gap:9px;align-items:center;padding-top:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;min-height:39px;border-radius:9px;font-size:12px;font-weight:550;white-space:nowrap;transition:background .15s,transform .15s}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn.primary{background:var(--purple);color:#fff;box-shadow:0 4px 10px #7561e91d}.btn.primary:hover{background:#6551d4}.btn.secondary{background:#fff;border:1px solid #e3e4ed;color:#64687e}.btn.soft{background:var(--purple-soft);color:var(--purple)}.btn.danger{background:#fff0f2;color:var(--red)}.btn.small{padding:6px 10px;min-height:30px;font-size:11px}.btn .icon{width:15px;height:15px}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.filters{display:flex;align-items:end;gap:12px;padding:16px 19px;margin-bottom:22px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:11px;color:#81859a;font-weight:500}.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid #e3e5ef;border-radius:8px;padding:9px 11px;color:#42475e;outline:0;min-height:39px;transition:box-shadow .15s,border .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#9582f0;box-shadow:0 0 0 3px #7561e912}.field textarea{min-height:88px;resize:vertical}.field input:disabled,.field select:disabled{background:#f6f7fb;color:#9295a6}.field small,.help{font-size:11px;color:var(--muted);line-height:1.7}.filters .field{flex:1;min-width:120px}.filters .date-field{flex:.9;min-width:133px}.filters .btn{margin-left:auto}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:20px}.metric{position:relative;padding:21px 21px 19px;overflow:hidden}.metric.featured{background:var(--purple);border-color:var(--purple);color:#fff}.metric-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#81859b}.metric.featured .metric-top{color:#e4ddff}.metric-icon{height:30px;width:30px;display:grid;place-items:center;border-radius:9px;background:#f4f2ff;color:#8975ed}.metric.featured .metric-icon{background:#ffffff20;color:#fff}.metric-value{font-size:31px;line-height:1.5;letter-spacing:-1px;font-weight:650;margin-top:10px;font-variant-numeric:tabular-nums}.metric-bottom{font-size:10px;display:flex;align-items:center;gap:7px;color:#969aad;min-height:20px}.metric.featured .metric-bottom{color:#e5dcff}.delta{color:var(--green);font-weight:600}.delta.negative{color:var(--red)}.metric.featured .delta{color:#daffcd}.metric.featured .delta.negative{color:#ffe0ac}.health-strip{padding:15px 21px;display:flex;gap:27px;align-items:center;margin-bottom:21px;font-size:11px;flex-wrap:wrap}.health-strip .label{color:var(--muted);margin-right:7px}.health-strip strong{font-variant-numeric:tabular-nums;font-size:12px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:#29b88c;vertical-align:middle}.dot.amber{background:#e7b550}.dot.red{background:#df6479}.health-strip .queue-health{margin-left:auto;color:var(--muted)}.grid-chart{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;margin-bottom:21px}.card-head{display:flex;justify-content:space-between;align-items:center;padding:21px 23px 0;gap:12px}.card-head h2{font-size:14px;margin:0;font-weight:650}.card-head p{font-size:10px;color:var(--muted);margin:3px 0 0}.chart-wrap{padding:12px 19px 8px;min-height:258px}.chart{width:100%;height:235px;overflow:visible}.chart text{font-size:10px;fill:#a0a3b6}.chart line{stroke:#eff0f6;stroke-dasharray:4 4}.legend{display:flex;gap:14px;font-size:10px;color:#84889d}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--purple);margin-right:5px}.legend i.mint{background:#61c9b2}.segmented{display:flex;background:#f5f6fa;border-radius:7px;padding:3px}.segmented button{font-size:10px;padding:4px 9px;color:var(--muted);border-radius:5px}.segmented button.selected{background:#fff;color:var(--purple);box-shadow:0 1px 5px #2023380b}.quality{padding:21px 23px}.quality h2{font-size:14px;margin:0 0 5px}.quality p{font-size:10px;color:var(--muted);margin:0}.ring{display:block;width:156px;height:156px;margin:11px auto 13px}.ring .bg{stroke:#f0edf9}.ring .progress{stroke:var(--purple);stroke-linecap:round;transform:rotate(-90deg);transform-origin:80px 80px}.ring text{fill:var(--ink);font-size:25px;font-weight:600}.ring text.caption{font-size:10px;fill:var(--muted);font-weight:400}.quality-row{display:flex;justify-content:space-between;border-top:1px solid #f1f2f7;padding:8px 0;font-size:11px}.quality-row span{color:var(--muted)}.table-card{overflow:hidden;margin-bottom:21px}.table-card .card-head{padding-bottom:16px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:10px;color:#9599ac;font-weight:500;background:#fafbfe;padding:12px 22px;border-top:1px solid #f0f1f7;border-bottom:1px solid #f0f1f7}td{padding:15px 22px;font-size:12px;border-bottom:1px solid #f0f1f7}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fdfcff}td small{display:block;color:#989cb0;font-size:10px;margin-top:3px}.entity{display:flex;align-items:center;gap:10px}.entity-icon{display:grid;place-items:center;width:33px;height:33px;background:var(--purple-soft);color:var(--purple);border-radius:9px;font-size:12px;font-weight:650}.entity strong{font-size:12px;font-weight:550}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.1px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:500;background:#f1f2f7;color:#9296aa}.badge.green{background:#eaf9f1;color:#299576}.badge.purple{background:var(--purple-soft);color:var(--purple)}.badge.red{background:#fff0f2;color:var(--red)}.badge.amber{background:#fff8e8;color:var(--amber)}.row-actions{display:flex;gap:6px}.row-actions button{font-size:11px;padding:4px 6px;color:var(--purple)}.row-actions button:hover{background:var(--purple-soft);border-radius:5px}.row-actions .muted{color:#9598a8}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.empty-symbol{display:grid;place-items:center;width:52px;height:52px;background:#f3f1fe;color:#9a8ae7;border-radius:16px;margin:0 auto 14px}.empty h3{color:#6e738b;font-size:13px;margin:0 0 6px;font-weight:550}.empty p{font-size:11px;margin:0 0 16px}.two-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.info-banner{padding:13px 17px;display:flex;align-items:flex-start;gap:10px;background:#efecff80;border:1px solid #e9e3ff;border-radius:10px;margin-bottom:20px;font-size:11px;color:#7a6ca7}.info-banner .icon{width:16px;height:16px;margin-top:2px}.info-banner.warning{background:#fff9ec;border-color:#f7ebcd;color:#9b803c}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.search{max-width:340px;flex:1}.search input{width:100%;padding:10px 13px;border:1px solid #e0e2ed;border-radius:9px;outline:0}.search input:focus{border-color:#a391ec}.subtle{color:var(--muted);font-size:11px}.pager{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.pager div{display:flex;gap:9px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px}.form-card{padding:25px}.form-card h2{font-size:14px;margin:0 0 6px}.form-card>.help{margin:0 0 23px}.form-card .field{margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row .field{min-width:0}.form-actions{display:flex;gap:10px;margin-top:23px;justify-content:flex-end}.form-error{font-size:12px;color:var(--red);background:#fff2f4;padding:10px 13px;border-radius:8px;margin-top:12px}.form-error:empty{display:none}.checkline{display:flex;align-items:center;gap:9px;font-size:12px;color:#62677d;margin-top:15px}.checkline input{accent-color:var(--purple);width:16px;height:16px}.code{width:100%;resize:vertical;min-height:112px;padding:17px;border:1px solid #dedfee;border-radius:10px;background:#f7f8fc;color:#666082;font:11px/1.9 ui-monospace,Menlo,monospace;outline:none;word-break:break-all}.install-steps{padding:23px}.step{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.step:last-child{border:0}.step-number{display:grid;place-items:center;width:27px;height:27px;background:var(--purple-soft);color:var(--purple);border-radius:8px;font-size:12px;flex-shrink:0}.step h3{margin:0 0 5px;font-size:12px}.step p{margin:0;font-size:11px;color:var(--muted)}.steps-code{padding:13px 16px;border-radius:8px;background:#f7f8fc;font-size:11px;color:#706e8b;overflow:auto}.error-list{padding:10px 22px 20px}.error-item{padding:12px 0;border-bottom:1px solid var(--line);font-size:11px;display:flex;gap:10px;align-items:start}.error-item:last-child{border:0}.error-item p{margin:0;color:#8a8da1;white-space:normal;word-break:break-word}.error-item strong{display:block;font-weight:500;margin-bottom:3px}.error-item .badge{margin-left:auto;flex-shrink:0}dialog{border:0;padding:0;width:min(580px,calc(100% - 32px));max-height:90vh;border-radius:17px;box-shadow:0 30px 100px #19163235;color:var(--ink)}dialog::backdrop{background:#20213765;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 25px 17px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:16px;margin:0}.modal-head p{font-size:11px;margin:4px 0 0;color:var(--muted)}.modal-body{padding:22px 25px}.modal-body .field{margin-bottom:16px}.detail-json{font-size:11px;line-height:1.8;white-space:pre-wrap;word-break:break-all;background:#f6f7fb;padding:15px;border-radius:10px;max-height:330px;overflow:auto}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:11px;margin-bottom:18px}.detail-meta span{color:var(--muted);display:block}#toast{position:fixed;bottom:28px;left:calc(50% + 110px);transform:translateX(-50%) translateY(20px);background:#27283f;color:#fff;border-radius:10px;padding:12px 20px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100;box-shadow:0 5px 25px #0002;max-width:calc(100vw - 32px)}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#toast.error{background:#a84055}.footer{display:flex;justify-content:space-between;font-size:10px;color:#a2a6b8;margin-top:25px;gap:12px}.auth-screen{min-height:100vh;display:grid;grid-template-columns:.85fr 1.15fr}.auth-aside{background:#25233e;color:#fff;padding:45px 55px;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-aside .brand strong{font-size:24px}.auth-art{margin:auto 0;padding:70px 0}.auth-art .eyebrow{color:#b6a7ff}.auth-art h1{font-size:40px;line-height:1.45;letter-spacing:-1px;position:relative;z-index:1;margin:15px 0 20px}.auth-art p{font-size:13px;line-height:2;color:#b3aecf;max-width:340px}.auth-visual{height:165px;display:flex;align-items:center;gap:14px;margin-top:45px}.auth-node{width:75px;height:75px;border-radius:19px;background:#ffffff09;border:1px solid #ffffff12;display:grid;place-items:center;color:#b6a5ff}.auth-node.main{background:#7960e8;color:#fff;width:94px;height:94px;box-shadow:0 0 65px #8067e64d}.auth-node .icon{width:30px;height:30px}.auth-line{height:1px;flex:1;background:#a38be64d;max-width:45px}.auth-aside>small{color:#88839f;font-size:10px}.auth-main{display:flex;align-items:center;justify-content:center;padding:48px 35px;background:#fafbfe}.auth-box{width:100%;max-width:480px}.auth-box h2{font-size:26px;font-weight:650;margin:0 0 8px;letter-spacing:-.6px}.auth-box>.help{margin-bottom:30px}.auth-box form .field{margin-bottom:17px}.auth-box .btn.primary{width:100%;margin-top:8px}.auth-box .section-label{font-size:11px;letter-spacing:1px;color:var(--purple);margin:24px 0 14px;border-bottom:1px solid var(--line);padding-bottom:8px}.auth-note{font-size:10px;color:#a1a4b6;margin-top:22px;text-align:center}.auth-box .form-row{gap:13px}.auth-box .form-row .field{margin-bottom:10px}.loading{padding:90px;text-align:center;color:var(--muted)}.status-note{display:flex;gap:9px;align-items:center}.link-output{margin-top:18px}.link-output:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs button{padding:10px 2px;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--purple);border-bottom-color:var(--purple)}.mobile-overlay{display:none}
@media(min-width:1550px){.metric-value{font-size:36px}.chart{height:270px}.chart-wrap{min-height:295px}}
@media(max-width:1200px){.sidebar{width:210px;padding:26px 14px}.shell{margin-left:210px}.topbar{padding:0 25px}.content{padding:26px 25px}.metrics{gap:12px}.metric{padding:17px}.metric-value{font-size:27px}.grid-chart{grid-template-columns:minmax(0,1fr) 240px}.filters{gap:9px}.filters .field{min-width:115px}.settings-grid{grid-template-columns:1fr 1fr}.top-right .timezone{display:none}}
@media(max-width:960px){.sidebar{width:190px;padding:23px 10px}.sidebar .brand{padding:0 10px 28px}.brand strong{font-size:18px}.shell{margin-left:190px}.content{padding:24px 20px}.topbar{padding:0 20px}.metrics{grid-template-columns:1fr 1fr}.grid-chart{grid-template-columns:1fr}.quality{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 20px}.quality h2,.quality>p{grid-column:1}.quality .ring{grid-column:2;grid-row:1/6;margin:0 auto;width:145px;height:145px}.quality-row{grid-column:1}.settings-grid,.two-cols{grid-template-columns:1fr}.auth-aside{padding:35px}.auth-art h1{font-size:32px}.auth-visual{gap:8px}.auth-node{width:60px;height:60px}.auth-node.main{width:75px;height:75px}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);visibility:hidden;transition:transform .2s;width:236px}.sidebar.open{transform:translateX(0);visibility:visible}.sidebar.open~.mobile-overlay{display:block;position:fixed;inset:0;background:#15192b70;z-index:19}.shell{margin-left:0}.menu-button{display:grid}.crumb .home-crumb{display:none}.topbar{height:62px;padding:0 17px}.top-right{gap:8px}.user-menu span{display:none}.content{padding:23px 16px}.page-heading h1{font-size:23px}.page-heading{margin-bottom:19px}.heading-actions{gap:6px}.heading-actions .btn{padding:8px 10px;font-size:11px}.page-heading p{max-width:250px;line-height:1.8}.filters{padding:13px;gap:10px}.filters .field{flex:1 1 calc(50% - 10px);min-width:0}.filters .btn{flex:1}.metrics{gap:11px}.metric{padding:15px}.metric-value{font-size:28px}.metric-top{font-size:11px}.metric-bottom{font-size:9px;gap:4px}.metric-icon{width:26px;height:26px}.health-strip{padding:13px 16px;gap:12px 19px}.health-strip .queue-health{margin-left:0;flex-basis:100%}.card-head{padding:18px 17px 0}.chart-wrap{padding:8px 8px 0}.grid-chart{gap:15px}.chart{height:220px}.quality{padding:18px}.table-card .card-head{padding-bottom:15px}th,td{padding:12px 16px}.footer{font-size:9px;flex-wrap:wrap}.form-card{padding:20px}.form-row{grid-template-columns:1fr}.auth-screen{display:block}.auth-aside{padding:23px 25px}.auth-art{padding:20px 0 0}.auth-art h1{font-size:25px;margin:7px 0}.auth-art p,.auth-visual,.auth-aside>small{display:none}.auth-main{padding:30px 24px}.auth-box h2{font-size:23px}.auth-box .form-row{grid-template-columns:1fr 1fr}.auth-box .form-row.stack-mobile{grid-template-columns:1fr}.modal-head,.modal-body{padding:18px 20px}#toast{left:50%}.legend{gap:8px}.chart-head{align-items:flex-start}.card-head .segmented{flex-shrink:0}.info-banner{font-size:10px}.toolbar{align-items:stretch;flex-wrap:wrap}.search{max-width:100%}.detail-meta{grid-template-columns:1fr}.heading-actions .hide-mobile{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Keep vertically stacked setup panels visually separate at every breakpoint. */
.card-stack{display:flex;flex-direction:column;gap:20px;min-width:0}.settings-grid{align-items:start}
@media(max-width:700px){.card-stack{gap:16px}}

[hidden]{display:none!important}
#test-output .quality-row>div{text-align:right;min-width:0;max-width:75%}#test-output small{display:block;overflow-wrap:anywhere;font-size:10px;margin-top:5px}#test-output .quality-row{gap:16px}

#deployment-output:empty{display:none}#deployment-output{margin-top:20px}.deployment-check{padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.deployment-check>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.deployment-check p{margin:7px 0 0;overflow-wrap:anywhere;color:var(--muted)}.deployment-check .help{font-size:11px}#deployment-output .steps-code{white-space:pre-wrap;overflow-wrap:anywhere}

.entity-icon.pixel-verified{background:#e6f7ee;color:#20996b}

.entity .pixel-success-label{color:#bd861f;font-size:10px;margin-top:5px}

.entity-icon.pixel-untested{background:#eef0f5;color:#8b94a7}.entity .pixel-success-label{color:#798299}

.pixel-notes{display:block;min-width:120px;max-width:240px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);line-height:1.7}

.pixel-success-count{font-variant-numeric:tabular-nums;color:var(--ink)}

.pixel-table th,.pixel-table td{padding-left:16px;padding-right:16px}
