:root{color:#17212b;background:#f5f7fb;font-family:Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid #c8d1dc;background:#fff;border-radius:8px;padding:10px 14px;cursor:pointer}button:hover{border-color:#2878d9}button.primary{background:#1167d8;border-color:#1167d8;color:#fff}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;background:#fff;color:#17212b}textarea{resize:vertical;line-height:1.55}label{display:grid;gap:6px;color:#475569}code,pre{background:#eef2f7;border-radius:8px;padding:2px 6px}pre{white-space:pre-wrap;padding:12px;max-height:260px;overflow:auto}.loading{padding:48px;font-size:20px}.shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}aside{background:#101a28;color:#fff;padding:22px 16px;display:flex;flex-direction:column;gap:8px}.brand{display:grid;gap:4px;margin-bottom:16px}.brand b{font-size:24px}.brand span{color:#a9b8cc}aside button{text-align:left;border:0;background:transparent;color:#c8d4e5}aside button.active,aside button:hover{background:#20334f;color:#fff}main{padding:22px;overflow:auto}header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;font-size:28px}h2{font-size:20px}header p,.muted{color:#64748b}.top-actions{min-width:420px;display:grid;grid-template-columns:1fr auto auto;gap:8px}.message{background:#fff7dd;border:1px solid #f3d47d;border-radius:8px;padding:12px 14px;margin-bottom:16px}.panel,.card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:18px;box-shadow:0 6px 20px #1428460f}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.card{display:grid;gap:10px}.card span{color:#64748b}.card b{font-size:30px}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.toolbar,.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar>*{min-width:160px;flex:1}.actions{margin:12px 0}.flow,.chips{display:flex;flex-wrap:wrap;gap:10px}.flow span,.flow button,.chip{background:#eef6ff;color:#1456a8;border:1px solid #cfe4ff;border-radius:999px;padding:8px 12px}.analysis-card{display:grid;gap:6px;background:#f8fafc;border:1px solid #dbe4f0;border-radius:8px;padding:12px;margin:12px 0}.analysis-card span{color:#64748b}.risk{background:#ffecec;color:#b42318;border:1px solid #ffc6c2;border-radius:999px;padding:6px 10px}.table-wrap{max-height:620px;overflow:auto}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{border-bottom:1px solid #e2e8f0;padding:10px;text-align:left;vertical-align:top}th{background:#f8fafc;color:#475569;position:sticky;top:0}td select{min-width:92px}.category-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.category-preview div{border:1px solid #e2e8f0;border-radius:8px;padding:10px}.category-preview b{display:block;margin-bottom:6px}.category-preview span{color:#64748b;line-height:1.5}.result{border:1px solid #dbe4f0;border-radius:8px;padding:14px;margin-top:14px;display:grid;gap:10px}.result h3{margin-bottom:0}.export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.change{border-left:3px solid #1167d8;padding-left:12px;margin-top:12px}.call-box{border:1px solid #dbe4f0;border-radius:8px;padding:12px;margin:12px 0;display:grid;gap:10px;background:#fbfdff}.check-grid{display:flex;flex-wrap:wrap;gap:10px 16px}.deleted{opacity:.55;background:#f8fafc}.result-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.table-wrap input,.table-wrap select{min-width:110px}@media(max-width:980px){.shell,.grid-2{grid-template-columns:1fr}aside{position:sticky;top:0;z-index:2;flex-direction:row;overflow-x:auto}.brand{min-width:160px}header,.top-actions{display:grid;grid-template-columns:1fr}.stats,.form-grid,.category-preview,.export-grid{grid-template-columns:1fr}}
