:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#172033;background:#f4f6f9}*{box-sizing:border-box}body{margin:0}.login{min-height:100vh;display:grid;place-items:center}.login form{width:380px;background:white;padding:38px;border:1px solid #dfe4ec;border-radius:10px;box-shadow:0 12px 40px #23314d18}.login h1{font-size:24px;margin:0}.login p{color:#748096}.login input,.login button,.composer textarea,.composer select{width:100%;padding:12px;border:1px solid #ccd4df;border-radius:6px;margin-top:12px}.login button,.composer button{background:#2457d6;color:white;border:0;padding:12px;border-radius:6px;cursor:pointer}#shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}aside{background:#17233b;color:#cad3e3;padding:24px 14px;display:flex;flex-direction:column}.brand{padding:0 12px 24px;font-size:13px;line-height:1.5}.brand b{font-size:20px;color:white}nav button{width:100%;text-align:left;border:0;background:none;color:#aeb9cc;padding:11px 14px;border-radius:6px;margin:2px 0;cursor:pointer}nav button.active,nav button:hover{background:#2a3b5e;color:white}.status{margin-top:auto;font-size:12px;padding:12px}.status i{display:inline-block;width:7px;height:7px;background:#29b36b;border-radius:50%;margin-right:8px}main{padding:0 30px 40px;min-width:0}header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe4ec}header h1{font-size:22px;margin:0 0 6px}header p{margin:0;color:#788398;font-size:13px}.env{background:#e8eefc;color:#3159bd;padding:7px 10px;border-radius:4px;font-size:12px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:24px 0}.card,.panel{background:white;border:1px solid #dfe4ec;border-radius:8px;padding:18px}.card label{display:block;color:#788398;font-size:12px}.card b{display:block;font-size:27px;margin-top:10px}.panel h2{font-size:16px;margin:0 0 16px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px;border-bottom:1px solid #edf0f4;vertical-align:top}th{color:#68758c;background:#f8f9fb}.pill{padding:3px 7px;border-radius:10px;background:#e8f7ef;color:#198754;font-size:11px}.workbench{display:grid;grid-template-columns:180px minmax(360px,1fr) 360px;gap:12px;height:calc(100vh - 130px)}.apps button{display:block;width:100%;padding:10px;text-align:left;border:0;background:white;border-bottom:1px solid #eee}.chat,.trace,.apps{background:#fff;border:1px solid #dfe4ec;border-radius:8px;overflow:auto}.chat{display:flex;flex-direction:column}.messages{padding:18px;flex:1;overflow:auto}.bubble{padding:11px 13px;border-radius:8px;margin:8px 0;max-width:85%;white-space:pre-wrap}.user{background:#e9efff;margin-left:auto}.assistant{background:#f1f3f6}.composer{padding:12px;border-top:1px solid #e5e8ed}.composer textarea{height:70px}.trace{padding:16px}.trace h3{font-size:14px}.step{border-left:2px solid #2e63dc;padding:7px 10px;margin:8px 0;background:#f8faff;font-size:12px}.step pre{white-space:pre-wrap;word-break:break-all;max-height:160px;overflow:auto}.empty{padding:50px;text-align:center;color:#8a94a7}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.workbench{grid-template-columns:140px 1fr}.trace{grid-column:1/-1;height:320px}}
