*{box-sizing:border-box}body{color:#171717;background:#faf9f7;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,Microsoft YaHei,sans-serif}button,input{font:inherit}button{cursor:pointer}.login-page{background:#faf9f7;place-items:center;min-height:100vh;display:grid}.login-card{text-align:center;background:#fff;border-radius:7px;width:268px;padding:31px 27px 27px;box-shadow:0 18px 45px #0000001c}.logo-box{background:#f6f3f8;border-radius:9px;place-items:center;width:33px;height:33px;margin:0 auto 13px;display:grid}.login-card h1{margin:0 0 8px;font-size:15px;font-weight:800}.subtitle{color:#777;margin:0 0 22px;font-size:9px}.tabs{background:#f3f2f1;border-radius:6px;grid-template-columns:1fr 1fr;margin-bottom:16px;padding:1px;display:grid}.tabs button{color:#666;background:0 0;border:0;border-radius:5px;height:29px;font-size:10px}.tabs button.active{color:#111;background:#fff;box-shadow:0 1px 2px #0000000a}label{text-align:left;color:#555;margin:12px 0 6px;font-size:10px;display:block}input{background:#eaf2ff;border:1px solid #d7e1f2;border-radius:4px;outline:none;width:100%;height:31px;padding:0 10px;font-size:11px}input:focus{border-color:#8eb8ff}.primary{color:#fff;background:#171717;border:0;border-radius:6px;width:100%;height:35px;margin-top:13px;font-size:11px;font-weight:800}.hint{color:#aaa;margin:17px 0 0;font-size:9px}.error{color:#b42318;background:#fff0ee;border:1px solid #ffd1ca;border-radius:6px;margin-top:10px;padding:8px;font-size:12px}.open-page{background:#faf9f7;min-height:100vh;padding:22px 0 60px}.topbar{justify-content:space-between;align-items:center;width:524px;margin:0 auto 12px;display:flex}.crumb{color:#777;font-size:10px}.crumb span{color:#bbb;margin:0 12px}.top-actions{gap:10px;display:flex}.top-actions button{color:#333;background:#fff;border:1px solid #eee;border-radius:7px;align-items:center;gap:5px;height:28px;padding:0 12px;font-size:10px;display:flex;box-shadow:0 2px 8px #00000008}.top-actions .danger{color:#d92d20}.open-card{text-align:center;background:#fff;border:1px solid #eee;border-radius:8px;width:524px;margin:0 auto;padding:30px 28px 26px;box-shadow:0 12px 35px #00000014}.open-card h1{margin:0 0 12px;font-size:19px;font-weight:900}.open-subtitle{color:#555;margin:0 0 22px;font-size:11px}.status{color:#777;background:#f3f2f1;border-radius:5px;height:28px;margin-bottom:18px;font-size:11px;line-height:28px}.status.ok{color:#067647;background:#ecfdf3}.qr-box{background:#fff;border:1px dashed #e7e7e7;border-radius:7px;place-items:center;width:148px;height:148px;margin:0 auto 9px;display:grid}.qr-box img{width:132px;height:132px}.qr-box span{color:#999;font-size:11px}.qr-tip{color:#777;margin:0 0 16px;font-size:10px}.open-primary{color:#fff;background:#191919;border:0;border-radius:5px;justify-content:center;align-items:center;gap:7px;width:100%;height:34px;font-size:12px;font-weight:800;display:flex}.mock-button{color:#777;background:#fff;border:1px dashed #ddd;border-radius:5px;width:100%;height:30px;margin-top:8px;font-size:11px}.log-title{text-align:left;color:#555;margin:18px 0 9px;font-size:11px}.open-terminal{color:#d4d4d8;text-align:left;background:#18181b;border-radius:5px;height:98px;padding:10px 12px;font-family:Consolas,monospace;font-size:10px;overflow:auto}.open-terminal p{margin:0 0 5px;line-height:1.45}.open-terminal .info{color:#86efac}.open-terminal .error{color:#fca5a5;background:0 0;border:0;padding:0}.floating-settings{color:#fff;background:#191919;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 25px #0003}.quota-pill{background:#fff;border:1px solid #eee;border-radius:999px;align-items:center;gap:6px;padding:9px 13px;font-size:12px;display:flex;position:fixed;bottom:24px;left:24px;box-shadow:0 10px 25px #00000014}@media (width<=640px){.topbar,.open-card{width:92vw}.topbar{align-items:flex-start;gap:10px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.open-page{padding-top:14px}}.section-title{text-align:left;color:#333;margin:18px 0 10px;font-size:12px;font-weight:800}.open-row{gap:8px;margin-bottom:10px;display:flex}.open-row input{background:#fff;flex:1;height:34px}.developer-grid,.bot-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px;display:grid}.developer-card,.bot-card{text-align:left;background:#fff;border:1px solid #eee;border-radius:8px;min-height:74px;padding:12px;box-shadow:0 2px 8px #00000008}.developer-card strong,.bot-card strong{color:#222;margin-bottom:6px;font-size:12px;display:block}.developer-card span,.bot-card span{color:#666;word-break:break-all;font-size:10px;display:block}.developer-card small,.bot-card small{color:#b45309;background:#fff7ed;border-radius:999px;margin-top:8px;padding:2px 6px;font-size:10px;display:inline-block}.bot-card img{object-fit:cover;border-radius:8px;width:34px;height:34px;margin-bottom:8px}.empty-text{color:#999;text-align:left;grid-column:1/-1;margin:6px 0;font-size:11px}.callback-input{background:#fff;border:1px solid #d7e1f2;border-radius:6px;width:100%;height:38px;margin:0 0 12px;padding:0 12px;font-size:11px}.apps-import{resize:vertical;background:#fff;border:1px solid #d7e1f2;border-radius:6px;width:100%;height:88px;margin:10px 0;padding:10px 12px;font-size:11px}.bot-card.selected{border-color:#111;box-shadow:0 0 0 2px #00000014}.review-panel{grid-template-columns:1fr 160px;gap:10px;margin-bottom:12px;display:grid}.review-panel select{background:#fff;border:1px solid #d7e1f2;border-radius:6px;height:40px;padding:0 10px;font-size:12px}.job-card{text-align:left;background:#fff;border:1px solid #eee;border-radius:8px;margin:12px 0;padding:12px}.job-card>strong{margin-bottom:6px;font-size:13px;display:block}.job-card>span{color:#666;font-size:11px}.step-list{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;display:grid}.step-item{background:#fafafa;border:1px solid #eee;border-radius:7px;padding:8px}.step-item span{color:#222;font-size:11px;display:block}.step-item small{color:#777;margin-top:4px;font-size:10px;display:block}.step-item.running{background:#eff6ff;border-color:#93c5fd}.step-item.success{background:#f0fdf4;border-color:#86efac}.step-item.failed{background:#fff1f2;border-color:#fca5a5}
