:root{font-family:Inter,"Noto Sans SC","Microsoft YaHei",sans-serif;color:#17202a;background:#f4f7f8;line-height:1.5}*{box-sizing:border-box}body{margin:0;background:#f4f7f8}.topbar{background:#12252c;color:#fff}.topbar-inner{max-width:1120px;margin:auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.brand{color:#fff;text-decoration:none;font-size:20px;font-weight:800}.brand span{font-size:13px;font-weight:500;color:#9dc7c0;margin-left:8px}nav{display:flex;gap:18px}nav a{color:#d4e5e2;text-decoration:none;font-size:14px}.page-shell{max-width:1120px;margin:0 auto;padding:32px 24px 64px}.auth-shell{min-height:calc(100vh - 170px);display:grid;place-items:center}.auth-panel,.panel{background:#fff;border:1px solid #dce7e6;border-radius:8px;box-shadow:0 8px 24px #17353b0d}.auth-panel{width:min(440px,100%);padding:32px}.auth-panel.wide{width:min(520px,100%)}.auth-panel.center{text-align:center}.eyebrow{letter-spacing:1.5px;font-size:11px;font-weight:800;color:#0e8778;margin:0 0 6px}.auth-panel h1,.hero-row h1{margin:0 0 8px;font-size:28px;line-height:1.2}.muted{color:#65757b;font-size:14px}.auth-panel form,.panel form{display:grid;gap:14px;margin-top:22px}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#33434a}input,select{width:100%;padding:11px 12px;border:1px solid #cbd9d7;border-radius:5px;font:inherit;color:#17202a;background:#fff}input:focus,select:focus{outline:2px solid #91d4ca;border-color:#0e8778}.button{border:0;border-radius:5px;padding:11px 16px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;text-align:center}.button.primary{background:#0e8778;color:#fff}.button.secondary{background:#e5f3f0;color:#086e63}.button.small{padding:6px 9px;font-size:12px;background:#e5f3f0;color:#086e63}.button.danger{background:#fce9e7;color:#b4382e}.form-foot{font-size:13px;color:#65757b;text-align:center;margin:22px 0 0}.form-foot a,.text-link{color:#087c71;font-weight:700}.notice{padding:11px 13px;border-radius:5px;margin:0 0 18px;font-size:13px;white-space:pre-line}.notice.error{background:#fff0ee;color:#a52f28;border:1px solid #f1c2bd}.notice.success{background:#eaf8f2;color:#166b4a;border:1px solid #b7e3ce}.hero-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.status-pill{padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800}.status-pill.good{background:#e6f7ef;color:#16704d}.status-pill.bad{background:#fff0ee;color:#a52f28}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:22px}.panel h2{font-size:18px;margin:0}.panel p{font-size:13px}.panel dl{display:grid;grid-template-columns:110px 1fr;gap:8px;margin:20px 0 0;font-size:14px}.panel dt{color:#73848a}.panel dd{margin:0;font-weight:700}.code-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.code-row label{min-width:0}.code-row .button{height:44px;white-space:nowrap}.center .text-link{display:inline-block;margin-top:22px}.checkmark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e4f7ed;color:#0e8778;font-size:32px;font-weight:800}.device-box{background:#f0f7f5;border-left:3px solid #0e8778;padding:13px;text-align:left;font-size:13px;margin:20px 0}.table-panel{margin-top:16px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;min-width:680px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #e4eceb;white-space:nowrap}th{color:#6b7a80;font-weight:700}.inline{display:inline!important;margin:0!important}.inline+.inline{margin-left:5px!important}pre{background:#12252c;color:#d8f5ef;padding:16px;border-radius:5px;white-space:pre-wrap;word-break:break-all}small{color:#74858a;font-weight:400}footer{text-align:center;color:#829197;font-size:12px;padding:22px}.code-result{margin-bottom:16px}@media(max-width:700px){.page-shell{padding:24px 14px 48px}.topbar-inner{padding:14px}.grid.two{grid-template-columns:1fr}.hero-row{display:block}.status-pill{display:inline-block;margin-top:14px}.auth-panel{padding:24px}.brand{font-size:18px}nav{gap:10px}}
