html,body,#root{height:100%;margin:0}body{background:#f0f2f5}.brand{color:#fff;font-weight:700;font-size:16px;padding:16px;display:flex;align-items:center;gap:8px;letter-spacing:.3px}.brand small{font-weight:400;font-size:11px;color:#cfe5f7}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #eee}.stat-card{background:#fff;border-radius:10px;padding:16px;border:1px solid #eef2f5;width:100%;height:100%;box-sizing:border-box}.stat-card .label{color:#8a8a8a;font-size:12px;text-transform:uppercase;letter-spacing:.4px}.stat-card .value{font-size:24px;font-weight:700;color:#006b68;margin-top:4px}.stat-card .extra{color:#888;font-size:12px;margin-top:4px}.module-tile{background:#fff;border-radius:12px;padding:18px;border:1px solid #eef2f5;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;height:100%}.module-tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px #005a9c1f}.module-tile .title{font-weight:700;font-size:15px;color:#006b68;margin-top:8px}.module-tile .desc{color:#666;font-size:12px;margin-top:4px}.rack-grid{display:grid;grid-template-columns:40px 1fr;gap:0;background:#f5f8fb;border:1px solid #d8dee5;border-radius:6px;padding:6px;font-family:monospace}.rack-unit{border-bottom:1px solid #eef0f3;font-size:11px;display:flex;align-items:center;padding:0 4px;height:18px;background:#fff}.rack-unit-num{color:#999;border-right:1px solid #ddd;padding-right:4px;text-align:right;background:#fafbfd}.rack-unit.filled{background:linear-gradient(90deg,#e6f4ff,#c0e3ff);border-bottom-color:#99c8ee;font-weight:600;color:#006b68}.rack-unit.filled.high{background:linear-gradient(90deg,#fff1f0,#ffd1cc);border-bottom-color:#ffa49a;color:#8b1a13}.rack-unit.filled.medium{background:linear-gradient(90deg,#fff7e6,#ffe7ba);border-bottom-color:#fc6}.chat-bubble-user{background:#006b68;color:#fff;padding:10px 14px;border-radius:14px 14px 0;align-self:flex-end;max-width:80%}.chat-bubble-ai{background:#fff;color:#2b2b2b;padding:10px 14px;border-radius:14px 14px 14px 0;align-self:flex-start;max-width:85%;border:1px solid #eee;white-space:pre-wrap}.workflow-step{background:#fff;border:1px solid #eee;border-radius:8px;padding:12px 14px;margin-bottom:8px}.workflow-step.active{border-color:#006b68;background:#f0f7fd}.workflow-step.done{border-color:#52c41a;background:#f6ffed}
