*{box-sizing:border-box}body{margin:0;font-family:system-ui,Microsoft YaHei,sans-serif;background:#f5f7fb;color:#2b3446}.card{background:#fff;border-radius:12px;padding:20px 24px;border:1px solid #e6ebf3;margin-bottom:16px}.card h2{margin:0 0 14px;font-size:17px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#8b97ab;font-weight:600;padding:8px 10px;border-bottom:1px solid #edf1f7}td{padding:9px 10px;border-bottom:1px solid #f2f5fa}tr:last-child td{border-bottom:0}.btn{padding:6px 14px;border:1px solid #d7dee8;background:#fff;border-radius:7px;cursor:pointer;font-size:13px}.btn.primary{background:#2f6fed;border-color:#2f6fed;color:#fff}.btn.danger{color:#d64545;border-color:#efc4c4}.btn:disabled{opacity:.5;cursor:default}.tag{display:inline-block;padding:2px 9px;border-radius:10px;font-size:12px}.filters{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.filters .btn.active{background:#e8f0fe;border-color:#2f6fed;color:#2f6fed}input,select,textarea{padding:8px 10px;border:1px solid #d7dee8;border-radius:7px;font-size:13px}.form-row{display:flex;gap:10px;margin-bottom:10px;align-items:center}.form-row label{width:90px;color:#5a6678;font-size:13px}.muted{color:#98a4b8}.err-text{color:#d64545;font-size:13px}.ok-text{color:#1f9d61;font-size:13px}
